From Christian.Grundmann at fabasoft.com Wed Mar 30 03:13:38 2016 Content-Type: multipart/mixed; boundary="===============1014891270325314811==" MIME-Version: 1.0 From: Grundmann, Christian To: users at ovirt.org Subject: [ovirt-users] Reclaim disk space of thin disks Date: Wed, 30 Mar 2016 07:04:51 +0000 Message-ID: <6A17C71B52524C408E7AAF69103E9E490F698411@fabamailserver.fabagl.fabasoft.com> --===============1014891270325314811== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ------=3D_NextPart_000_0014_01D18A63.37CCD060 Content-Type: multipart/alternative; boundary=3D"----=3D_NextPart_001_0015_01D18A63.37CCD060" ------=3D_NextPart_001_0015_01D18A63.37CCD060 Content-Type: text/plain; charset=3D"us-ascii" Content-Transfer-Encoding: 7bit Hi, is there a way to "shrink" a thin disk image to reclaim deleted space like using virt-sparsify? Or can it be done by making a snapshot and clone the VM to a new one? = Thanks a lot Christian ------=3D_NextPart_001_0015_01D18A63.37CCD060 Content-Type: text/html; charset=3D"us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

is there a way to =3D „shrink“ a thin disk image to reclaim deleted space like =3D using virt-sparsify?

Or can it be done by making a snapshot and clone the VM to = =3D a new one?

 

Thanks a lot

Christian

------=3D_NextPart_001_0015_01D18A63.37CCD060-- ------=3D_NextPart_000_0014_01D18A63.37CCD060 Content-Type: application/pkcs7-signature; name=3D"smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=3D"smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIISkjCCBR0w ggQFoAMCAQICECuNLnuZVUx6dsyG0RuZk70wDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCSUwx FjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g QXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQTAeFw0xNjAyMDkx NDAyMDNaFw0xNzAyMDkxNDAyMDNaMFwxKTAnBgNVBAMMIGNocmlzdGlhbi5ncnVuZG1hbm5AZmFi YXNvZnQuY29tMS8wLQYJKoZIhvcNAQkBFiBjaHJpc3RpYW4uZ3J1bmRtYW5uQGZhYmFzb2Z0LmNv bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMSXN+Y9o0GeYdHtPJMREJ8RKlJKPKv+ 9IQGXFUkCmo3e2TdExbAVeckzKSHLyKQp7dUDNkTbH3fIEAsrl4MHasJ885dI9vwoF/j8D43SmvK e2CfG5C5CG5mHoilx8OfKeun0uRoQ3HYz3rg8Bw7xWZ7OcR3FKMNHkQj3AAcs7SXsgTQ5zMm5siI QnKQxeKt4CP9+3y598FQka7l+HggIvM58ufaGBLbQjlC1qNjSObxMQbtSBlVFxDr3Lbol5N560iQ zvNn/0zti1H6nRqZwfMtHFe8uLAIn2V09WC8m8qL7gN5GpfthVHRUSXta3FnFu0Ux3dXG+CdqkFR g+MQZ2kCAwEAAaOCAcAwggG8MAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB BQUHAwQwCQYDVR0TBAIwADAdBgNVHQ4EFgQUuxqfYToDcp+2hlegIBv/4UOIAzEwHwYDVR0jBBgw FoAUJIFsOWG+SQ+PtxtGK8kotSdIbWgwbwYIKwYBBQUHAQEEYzBhMCQGCCsGAQUFBzABhhhodHRw Oi8vb2NzcC5zdGFydHNzbC5jb20wOQYIKwYBBQUHMAKGLWh0dHA6Ly9haWEuc3RhcnRzc2wuY29t L2NlcnRzL3NjYS5jbGllbnQxLmNydDA4BgNVHR8EMTAvMC2gK6AphidodHRwOi8vY3JsLnN0YXJ0 c3NsLmNvbS9zY2EtY2xpZW50MS5jcmwwKwYDVR0RBCQwIoEgY2hyaXN0aWFuLmdydW5kbWFubkBm YWJhc29mdC5jb20wIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMEYGA1UdIAQ/ MD0wOwYLKwYBBAGBtTcBAgQwLDAqBggrBgEFBQcCARYeaHR0cDovL3d3dy5zdGFydHNzbC5jb20v cG9saWN5MA0GCSqGSIb3DQEBCwUAA4IBAQALbgNP3IjDHG+7Gt+grj1LpmAfqe47LtP4p8Qze3VU qowcg+pKhdFMyLpvEMdDf873N7RHSQG927zSkN3FikHKiAbZGS0c3wdZvLuKLgqRDVoG/5rgeU45 Ai0hjNwOodbAbUWfl2frWFVOAQdWThjUSulBL3go9J1Ws8VT+VxRFEcsc3J8OtuNfzdG5DHejt5l PBZ91RkJN487WSG5scamKEG0bOHrBvClOtmhNs8GZt5Gjk6dqmYZ8MfVW0ZxVBnNrbwZGIlP0Z/q +MplyxQeO+6O7uH1SArQ2smTaIFWcs24d/JMLGLO1sw6ITRjMyxJm1HYbtf+01TRdiW4UV+kMIIF 4jCCA8qgAwIBAgIQa6eKfQrXiNZRCvlZ5Oe04TANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJ TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlm aWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMTUxMjE2MDEwMDA1WhcNMzAxMjE2MDEwMDA1WjB1MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx IzAhBgNVBAMTGlN0YXJ0Q29tIENsYXNzIDEgQ2xpZW50IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAvX3a98OifYP2W4L921tfrh4bdcC1Ga+YJKy7V3nYNewJHnzMlBsK0Hb8Dm4W o3FZpylcYa1MJGT10QMGWaLER3xCIuRR+8eklf/EqeZWRLojJ7zBRtjMywPOCelrOU+DX12dKp+E z4J6919rz1UudTO1GvZyCYJ/I7062uHsskM8b7gPxmcCoO1UHwwpgkvpCArJWGFoFzjLdsZbErJc S3HtAhlkbE/BKTMrdYg35Uo12SLBO5tbk8h2imbKTC8iMs+pskrvI/AVlh6QoTTXk6xboVX6zgMg zxSVVLymQiygYYm0y5aMsvi2raFhC643SOGvErWWPPnSEfbeAD1xswIDAQABo4IBZDCCAWAwDgYD VR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDASBgNVHRMBAf8ECDAG AQH/AgEAMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL3Nmc2NhLmNy bDBmBggrBgEFBQcBAQRaMFgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTAw BggrBgEFBQcwAoYkaHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvY2EuY3J0MB0GA1UdDgQW BBQkgWw5Yb5JD4+3G0YrySi1J0htaDAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jA/ BgNVHSAEODA2MDQGBFUdIAAwLDAqBggrBgEFBQcCARYeaHR0cDovL3d3dy5zdGFydHNzbC5jb20v cG9saWN5MA0GCSqGSIb3DQEBCwUAA4ICAQCL4/eH7AGLhK0PAQJbnOEjJyMEvTTwcAJuUh/bodjQ l06u4putYOxdSyIjSP/sKt+31LmjG8+IO1WqykE4H/Lm7NKezWVnCHuwb3ptgFmlwbMbGkU2MOZB twzfKXdYUhFLhaE2uw5jXhXvLYitQay962wP5uPI6eAIhV4L8aaya1u4s7MnrTq0Rz25FuGNO79v THYWj797tSRC8rM16js4yGKOLFpQvIg0F8IElv57b1stp+C7omqM5Qn15dePbSnqr8Jb65WtmJJb nv6rlqfY/aLuE/zmNAlzLmPgfMDStKIXdg+EoYBZTEo8wBUaBxihfNbJ069ndQOxMNNqBelEMgpA tmjTbCuXFjqIwWq+XOx6ZV/Wh2FAmaLsSHlNvEjjSQMZwE4EeHCdo66ZmEs/5JYlCeOkulKVQ6P3 m5/XOj2jP17Q2AgmjP+11+sHN7PvrG0OwrQp9QMe3X+rn0G8MjtFfqBWvR9CgLIxzM3MJNxFdgdj S2rYnShP5uxvqwfZvhZVYCIkqdJhpYON0DvSodfiar0wiM79mySZJjzC0CTbiisBzS/BeBhqeo2w Ffli/iw3hn1XKvAx0ty6w/scmBF0AYqmRHYj1TjMSw0lAl7AztLglqWjUPI+sukvadMRPxmtKXlS 2nVR4an/Z16imsZ69+fFYH68c1CK7zmjozCCB4cwggVvoAMCAQICAS0wDQYJKoZIhvcNAQELBQAw fTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBE aWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MB4XDTA2MDkxNzE5NDYzN1oXDTM2MDkxNzE5NDYzNlowfTELMAkGA1UEBhMC SUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRp ZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwYjbCbxsRnx4n5V7tTOQ8nJi1sE2ICIk Xs7pd/JDCqIGZKTMjjb4OOYj8G5tsTzdcqOFHKHTPbQzK9Mvr/7qsEFZZ7bEBn0KnnSF1nlMgDd6 3zkFUln39BtGQ6TShYXSw3HzdWI0uiyKfx6P7u000BHHls1SPboz1t1N3gs7SkufwiYv+rUWHHI1 d8o8XebK4SaLGjZ2XAHbdBQl/u21oIgP3XjKLR8HlzABLXJ5+kbWEyqouaarg0kd5fLv3eQBjhgK j2NTFoViqQ4ZOsy1ZqbCa3QH5Cvhdj60bdj2ROFzYh87xL6gU1YlbFEJ96qryr92/W2b853bvz1m vAxWqq+YSJU6S9+nWFDZOHWpW+pDDAL/mevobE1wWyllnN2qXcyvATHsDOvSjejqnHvmbvcnZgwa SNduQuM/3iE+e+ENcPtjqqhsGlS0XCV6yaLJixamuyx+F14FTVhuEh0B7hIQDcYyfxj//PT6zW6R 6DZJvhpIaYvClk0aErJpF8EKkNb6eSJIv7p7afhwx/p6N9jYDdJ2T1f/kLfjkdLd78Jgt2c63f6q nPDUi39yIs7Gn5e2+K+KoBCo2fsYxra1XFI8ibYZKnMBCg8DsxJg8novgdujbv8mMJf1i92JV7at PbOvK8W3dgLwpdYrmoYUKnL24zOMXQlLE9+7jHQTUksCAwEAAaOCAhAwggIMMA8GA1UdEwEB/wQF MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBROC+8apEBbpRdphzDKNGhD0EGu8jAfBgNV HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jCCAVoGA1UdIASCAVEwggFNMIIBSQYLKwYBBAGB tTcBAQEwggE4MC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRm MDQGCCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIHP BggrBgEFBQcCAjCBwjAnFiBTdGFydCBDb21tZXJjaWFsIChTdGFydENvbSkgTHRkLjADAgEBGoGW TGltaXRlZCBMaWFiaWxpdHksIHJlYWQgdGhlIHNlY3Rpb24gKkxlZ2FsIExpbWl0YXRpb25zKiBv ZiB0aGUgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUG9saWN5IGF2YWlsYWJsZSBh dCBodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMBEGCWCGSAGG+EIBAQQEAwIABzA4 BglghkgBhvhCAQ0EKxYpU3RhcnRDb20gRnJlZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw DQYJKoZIhvcNAQELBQADggIBAI6P59yUeXzxhX+fSW9ryl37jP4ExcFi0X1CirxTt5QDZjA/secK p1AgVSV/dnoUDesEDkDmPtiIqwcng6l1pjdzx/1L0k2tF0DIRr47f1H8w7YFMdzNhSJOcbfycV6w Gsa6k4t4kkqF+HgPg/4vrSz35KS7LdDnDTq4Ps72ePauRyTKozU2zsfGh5ja7Pvpss4nm4jDBKH2 C1lor8nbEA9N9mRjXKUSb5Kyk5THiBcOk7Z+YouQf6tOn/zjdRRPKjLfWw3g9XuTDauhz4fhpQRF 6DwSpQnFsNG3U/NgFLqFaWohfB91YRcgF3tsO0EpXOGsWtHNjJvrYB0Z7PflsNr5eRilRT9JQ1fS 3STVLKP9kY0nteXrFAaaTHshuzqtMAYYwNjBayx/WVxdkbFwIlfrimtIStUPKezGQMAviExoARd3 9CQZT7364bIgIUvdGtgpfaq43lTsIVWAbB71MMijEOWy5ioUMcOFLYyYsYZaT4lZLbnH9xzIin/A nQVK5kJPYqNtKaQfhavb5YHIrSo9TF1bhCZxxIVecSTKpRts2GHTGuBU2866qTK1IvZzQQlduBdd Dg+ZkNZH2m8KOmIoFGeC2fHQgFmbyzHYmw+Md061aIrybPYkDi1scMVz0d4U0HGPttN7AvbjuNQJ bmuedYQ55n8lpfJIAMCkAdo/MYID5DCCA+ACAQEwgYkwdTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT DVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQQIQK40ue5lVTHp2zIbRG5mTvTAJ BgUrDgMCGgUAoIICLzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0x NjAzMzAwNzA0NTFaMCMGCSqGSIb3DQEJBDEWBBSE7Hhe7qx/XOgH0n9cFQJyqAT1GTCBkwYJKoZI hvcNAQkPMYGFMIGCMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCgYIKoZIhvcNAwcwCwYJYIZI AWUDBAECMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCGjALBglghkgBZQME AgMwCwYJYIZIAWUDBAICMAsGCWCGSAFlAwQCATCBmgYJKwYBBAGCNxAEMYGMMIGJMHUxCzAJBgNV BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECuN LnuZVUx6dsyG0RuZk70wgZwGCyqGSIb3DQEJEAILMYGMoIGJMHUxCzAJBgNVBAYTAklMMRYwFAYD VQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECuNLnuZVUx6dsyG0RuZ k70wDQYJKoZIhvcNAQEBBQAEggEARQbmivZYqW8JUGkSiINi9McHI6r8X8Ude/KsmI6KabXNnDgr EQDtUbO3hlhRnTz4lWnUM0pkW1eeYQvgzQ/crJp+Cy9JjHJsm4Wrfiz4JCsPi9nmMUoRozmUYPjV JG1kSMY/BXNhxAK5eQCxMjotY+tgqMljN69O9ugCiLG6S/VkZ6/w5SMNqnHUDqtRiKd8Q64Pb4d9 6kjhhKYgu1bdpha+o23nU7m7cAXtRzLaljeZZtWkRdxo3u7BLuJtn+rIXSEMAb4X5LpC7aDG5WGg gDP21oDeVJ0j4MsDar2FFKWyA6ELWXPB8aB6v7Cbs7URGF9Xf4LyeprIsGCd0ArVhQAAAAAAAA= =3D=3D ------=3D_NextPart_000_0014_01D18A63.37CCD060-- --===============1014891270325314811== Content-Type: multipart/signed MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS0tLS0tPV9OZXh0UGFydF8wMDBfMDAxNF8wMUQxOEE2My4zN0NDRDA2MApDb250ZW50LVR5cGU6 IG11bHRpcGFydC9hbHRlcm5hdGl2ZTsKCWJvdW5kYXJ5PSItLS0tPV9OZXh0UGFydF8wMDFfMDAx NV8wMUQxOEE2My4zN0NDRDA2MCIKCgotLS0tLS09X05leHRQYXJ0XzAwMV8wMDE1XzAxRDE4QTYz LjM3Q0NEMDYwCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsKCWNoYXJzZXQ9InVzLWFzY2lpIgpD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CgpIaSwKCmlzIHRoZXJlIGEgd2F5IHRvICJz aHJpbmsiIGEgdGhpbiBkaXNrIGltYWdlIHRvIHJlY2xhaW0gZGVsZXRlZCBzcGFjZSBsaWtlCnVz aW5nIHZpcnQtc3BhcnNpZnk/CgpPciBjYW4gaXQgYmUgZG9uZSBieSBtYWtpbmcgYSBzbmFwc2hv dCBhbmQgY2xvbmUgdGhlIFZNIHRvIGEgbmV3IG9uZT8KCiAKClRoYW5rcyBhIGxvdAoKQ2hyaXN0 aWFuCgoKLS0tLS0tPV9OZXh0UGFydF8wMDFfMDAxNV8wMUQxOEE2My4zN0NDRDA2MApDb250ZW50 LVR5cGU6IHRleHQvaHRtbDsKCWNoYXJzZXQ9InVzLWFzY2lpIgpDb250ZW50LVRyYW5zZmVyLUVu Y29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCgo8aHRtbCB4bWxuczp2PTNEInVybjpzY2hlbWFzLW1p Y3Jvc29mdC1jb206dm1sIiA9CnhtbG5zOm89M0QidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpv ZmZpY2U6b2ZmaWNlIiA9CnhtbG5zOnc9M0QidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZp Y2U6d29yZCIgPQp4bWxuczptPTNEImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNl LzIwMDQvMTIvb21tbCIgPQp4bWxucz0zRCJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQw Ij48aGVhZD48TUVUQSA9CkhUVFAtRVFVSVY9M0QiQ29udGVudC1UeXBlIiBDT05URU5UPTNEInRl eHQvaHRtbDsgPQpjaGFyc2V0PTNEdXMtYXNjaWkiPjxtZXRhIG5hbWU9M0RHZW5lcmF0b3IgY29u dGVudD0zRCJNaWNyb3NvZnQgV29yZCAxNSA9CihmaWx0ZXJlZCBtZWRpdW0pIj48c3R5bGU+PCEt LQovKiBGb250IERlZmluaXRpb25zICovCkBmb250LWZhY2UKCXtmb250LWZhbWlseToiQ2FtYnJp YSBNYXRoIjsKCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQpAZm9udC1mYWNlCgl7Zm9u dC1mYW1pbHk6Q2FsaWJyaTsKCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30KLyogU3R5 bGUgRGVmaW5pdGlvbnMgKi8KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1h bAoJe21hcmdpbjowY207CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cglmb250LXNpemU6MTEuMHB0 OwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7Cgltc28tZmFyZWFzdC1sYW5ndWFn ZTpFTi1VUzt9CmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsKCXttc28tc3R5bGUtcHJpb3JpdHk6 OTk7Cgljb2xvcjojMDU2M0MxOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CmE6dmlzaXRl ZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZAoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCWNv bG9yOiM5NTRGNzI7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30Kc3Bhbi5FLU1haWxGb3Jt YXR2b3JsYWdlMTcKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1jb21wb3NlOwoJZm9udC1mYW1p bHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7Cgljb2xvcjp3aW5kb3d0ZXh0O30KLk1zb0NocERlZmF1 bHQKCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsKCW1zby1mYXJlYXN0LWxhbmd1YWdlOkVO LVVTO30KQHBhZ2UgV29yZFNlY3Rpb24xCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7CgltYXJnaW46 NzAuODVwdCA3MC44NXB0IDIuMGNtIDcwLjg1cHQ7fQpkaXYuV29yZFNlY3Rpb24xCgl7cGFnZTpX b3JkU2VjdGlvbjE7fQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgo8bzpzaGFw ZWRlZmF1bHRzIHY6ZXh0PTNEImVkaXQiIHNwaWRtYXg9M0QiMTAyNiIgLz4KPC94bWw+PCFbZW5k aWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+CjxvOnNoYXBlbGF5b3V0IHY6ZXh0PTNEImVk aXQiPgo8bzppZG1hcCB2OmV4dD0zRCJlZGl0IiBkYXRhPTNEIjEiIC8+CjwvbzpzaGFwZWxheW91 dD48L3htbD48IVtlbmRpZl0tLT48L2hlYWQ+PGJvZHkgbGFuZz0zRERFLUFUID0KbGluaz0zRCIj MDU2M0MxIiB2bGluaz0zRCIjOTU0RjcyIj48ZGl2IGNsYXNzPTNEV29yZFNlY3Rpb24xPjxwID0K Y2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gbGFuZz0zREVOLVVTPkhpLDxvOnA+PC9vOnA+PC9zcGFu PjwvcD48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxzcGFuIGxhbmc9M0RFTi1VUz5pcyB0aGVyZSBh IHdheSB0byA9CiYjODIyMjtzaHJpbmsmIzgyMjA7IGEgdGhpbiBkaXNrIGltYWdlIHRvIHJlY2xh aW0gZGVsZXRlZCBzcGFjZSBsaWtlID0KdXNpbmcgdmlydC1zcGFyc2lmeT88bzpwPjwvbzpwPjwv c3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpsYW5nPTNERU4tVVM+T3IgY2Fu IGl0IGJlIGRvbmUgYnkgbWFraW5nIGEgc25hcHNob3QgYW5kIGNsb25lIHRoZSBWTSB0byA9CmEg bmV3IG9uZT88bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4g PQpsYW5nPTNERU4tVVM+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNv Tm9ybWFsPjxzcGFuID0KbGFuZz0zREVOLVVTPlRoYW5rcyBhIGxvdDxvOnA+PC9vOnA+PC9zcGFu PjwvcD48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxzcGFuID0KbGFuZz0zREVOLVVTPkNocmlzdGlh bjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48L2Rpdj48L2JvZHk+PC9odG1sPgotLS0tLS09X05leHRQ YXJ0XzAwMV8wMDE1XzAxRDE4QTYzLjM3Q0NEMDYwLS0KCi0tLS0tLT1fTmV4dFBhcnRfMDAwXzAw MTRfMDFEMThBNjMuMzdDQ0QwNjAKQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1zaWdu YXR1cmU7IG5hbWU9InNtaW1lLnA3cyIKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0 CkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSJzbWltZS5wN3MiCgpN SUFHQ1NxR1NJYjNEUUVIQXFDQU1JQUNBUUV4Q3pBSkJnVXJEZ01DR2dVQU1JQUdDU3FHU0liM0RR RUhBUUFBb0lJU2tqQ0NCUjB3CmdnUUZvQU1DQVFJQ0VDdU5MbnVaVlV4NmRzeUcwUnVaazcwd0RR WUpLb1pJaHZjTkFRRUxCUUF3ZFRFTE1Ba0dBMVVFQmhNQ1NVd3gKRmpBVUJnTlZCQW9URFZOMFlY SjBRMjl0SUV4MFpDNHhLVEFuQmdOVkJBc1RJRk4wWVhKMFEyOXRJRU5sY25ScFptbGpZWFJwYjI0 ZwpRWFYwYUc5eWFYUjVNU013SVFZRFZRUURFeHBUZEdGeWRFTnZiU0JEYkdGemN5QXhJRU5zYVdW dWRDQkRRVEFlRncweE5qQXlNRGt4Ck5EQXlNRE5hRncweE56QXlNRGt4TkRBeU1ETmFNRnd4S1RB bkJnTlZCQU1NSUdOb2NtbHpkR2xoYmk1bmNuVnVaRzFoYm01QVptRmkKWVhOdlpuUXVZMjl0TVM4 d0xRWUpLb1pJaHZjTkFRa0JGaUJqYUhKcGMzUnBZVzR1WjNKMWJtUnRZVzV1UUdaaFltRnpiMlow TG1OdgpiVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNU1hOK1k5 bzBHZVlkSHRQSk1SRUo4UktsSktQS3YrCjlJUUdYRlVrQ21vM2UyVGRFeGJBVmVja3pLU0hMeUtR cDdkVUROa1RiSDNmSUVBc3JsNE1IYXNKODg1ZEk5dndvRi9qOEQ0M1NtdksKZTJDZkc1QzVDRzVt SG9pbHg4T2ZLZXVuMHVSb1EzSFl6M3JnOEJ3N3hXWjdPY1IzRktNTkhrUWozQUFjczdTWHNnVFE1 ek1tNXNpSQpRbktReGVLdDRDUDkrM3k1OThGUWthN2wrSGdnSXZNNTh1ZmFHQkxiUWpsQzFxTmpT T2J4TVFidFNCbFZGeERyM0xib2w1TjU2MGlRCnp2Tm4vMHp0aTFINm5ScVp3Zk10SEZlOHVMQUlu MlYwOVdDOG04cUw3Z041R3BmdGhWSFJVU1h0YTNGbkZ1MFV4M2RYRytDZHFrRlIKZytNUVoya0NB d0VBQWFPQ0FjQXdnZ0c4TUFzR0ExVWREd1FFQXdJRXNEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJR Y0RBZ1lJS3dZQgpCUVVIQXdRd0NRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVV1eHFmWVRvRGNw KzJobGVnSUJ2LzRVT0lBekV3SHdZRFZSMGpCQmd3CkZvQVVKSUZzT1dHK1NRK1B0eHRHSzhrb3RT ZEliV2d3YndZSUt3WUJCUVVIQVFFRVl6QmhNQ1FHQ0NzR0FRVUZCekFCaGhob2RIUncKT2k4dmIy TnpjQzV6ZEdGeWRITnpiQzVqYjIwd09RWUlLd1lCQlFVSE1BS0dMV2gwZEhBNkx5OWhhV0V1YzNS aGNuUnpjMnd1WTI5dApMMk5sY25SekwzTmpZUzVqYkdsbGJuUXhMbU55ZERBNEJnTlZIUjhFTVRB dk1DMmdLNkFwaGlkb2RIUndPaTh2WTNKc0xuTjBZWEowCmMzTnNMbU52YlM5elkyRXRZMnhwWlc1 ME1TNWpjbXd3S3dZRFZSMFJCQ1F3SW9FZ1kyaHlhWE4wYVdGdUxtZHlkVzVrYldGdWJrQm0KWVdK aGMyOW1kQzVqYjIwd0l3WURWUjBTQkJ3d0dvWVlhSFIwY0RvdkwzZDNkeTV6ZEdGeWRITnpiQzVq YjIwdk1FWUdBMVVkSUFRLwpNRDB3T3dZTEt3WUJCQUdCdFRjQkFnUXdMREFxQmdnckJnRUZCUWND QVJZZWFIUjBjRG92TDNkM2R5NXpkR0Z5ZEhOemJDNWpiMjB2CmNHOXNhV041TUEwR0NTcUdTSWIz RFFFQkN3VUFBNElCQVFBTGJnTlAzSWpESEcrN0d0K2dyajFMcG1BZnFlNDdMdFA0cDhRemUzVlUK cW93Y2crcEtoZEZNeUxwdkVNZERmODczTjdSSFNRRzkyN3pTa04zRmlrSEtpQWJaR1MwYzN3ZFp2 THVLTGdxUkRWb0cvNXJnZVU0NQpBaTBoak53T29kYkFiVVdmbDJmcldGVk9BUWRXVGhqVVN1bEJM M2dvOUoxV3M4VlQrVnhSRkVjc2MzSjhPdHVOZnpkRzVESGVqdDVsClBCWjkxUmtKTjQ4N1dTRzVz Y2FtS0VHMGJPSHJCdkNsT3RtaE5zOEdadDVHams2ZHFtWVo4TWZWVzBaeFZCbk5yYndaR0lsUDBa L3EKK01wbHl4UWVPKzZPN3VIMVNBclEyc21UYUlGV2NzMjRkL0pNTEdMTzFzdzZJVFJqTXl4Sm0x SFlidGYrMDFUUmRpVzRVVitrTUlJRgo0akNDQThxZ0F3SUJBZ0lRYTZlS2ZRclhpTlpSQ3ZsWjVP ZTA0VEFOQmdrcWhraUc5dzBCQVFzRkFEQjlNUXN3Q1FZRFZRUUdFd0pKClRERVdNQlFHQTFVRUNo TU5VM1JoY25SRGIyMGdUSFJrTGpFck1Da0dBMVVFQ3hNaVUyVmpkWEpsSUVScFoybDBZV3dnUTJW eWRHbG0KYVdOaGRHVWdVMmxuYm1sdVp6RXBNQ2NHQTFVRUF4TWdVM1JoY25SRGIyMGdRMlZ5ZEds bWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrdwpIaGNOTVRVeE1qRTJNREV3TURBMVdoY05NekF4TWpF Mk1ERXdNREExV2pCMU1Rc3dDUVlEVlFRR0V3SkpUREVXTUJRR0ExVUVDaE1OClUzUmhjblJEYjIw Z1RIUmtMakVwTUNjR0ExVUVDeE1nVTNSaGNuUkRiMjBnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJv YjNKcGRIa3gKSXpBaEJnTlZCQU1UR2xOMFlYSjBRMjl0SUVOc1lYTnpJREVnUTJ4cFpXNTBJRU5C TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQwpBUThBTUlJQkNnS0NBUUVBdlgzYTk4T2lmWVAy VzRMOTIxdGZyaDRiZGNDMUdhK1lKS3k3VjNuWU5ld0pIbnpNbEJzSzBIYjhEbTRXCm8zRlpweWxj WWExTUpHVDEwUU1HV2FMRVIzeENJdVJSKzhla2xmL0VxZVpXUkxvako3ekJSdGpNeXdQT0NlbHJP VStEWDEyZEtwK0UKejRKNjkxOXJ6MVV1ZFRPMUd2WnlDWUovSTcwNjJ1SHNza004YjdnUHhtY0Nv TzFVSHd3cGdrdnBDQXJKV0dGb0Z6akxkc1piRXJKYwpTM0h0QWhsa2JFL0JLVE1yZFlnMzVVbzEy U0xCTzV0Yms4aDJpbWJLVEM4aU1zK3Bza3J2SS9BVmxoNlFvVFRYazZ4Ym9WWDZ6Z01nCnp4U1ZW THltUWl5Z1lZbTB5NWFNc3ZpMnJhRmhDNjQzU09HdkVyV1dQUG5TRWZiZUFEMXhzd0lEQVFBQm80 SUJaRENDQVdBd0RnWUQKVlIwUEFRSC9CQVFEQWdFR01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3 TUNCZ2dyQmdFRkJRY0RCREFTQmdOVkhSTUJBZjhFQ0RBRwpBUUgvQWdFQU1ESUdBMVVkSHdRck1D a3dKNkFsb0NPR0lXaDBkSEE2THk5amNtd3VjM1JoY25SemMyd3VZMjl0TDNObWMyTmhMbU55CmJE Qm1CZ2dyQmdFRkJRY0JBUVJhTUZnd0pBWUlLd1lCQlFVSE1BR0dHR2gwZEhBNkx5OXZZM053TG5O MFlYSjBjM05zTG1OdmJUQXcKQmdnckJnRUZCUWN3QW9Za2FIUjBjRG92TDJGcFlTNXpkR0Z5ZEhO emJDNWpiMjB2WTJWeWRITXZZMkV1WTNKME1CMEdBMVVkRGdRVwpCQlFrZ1d3NVliNUpENCszRzBZ cnlTaTFKMGh0YURBZkJnTlZIU01FR0RBV2dCUk9DKzhhcEVCYnBSZHBoekRLTkdoRDBFR3U4akEv CkJnTlZIU0FFT0RBMk1EUUdCRlVkSUFBd0xEQXFCZ2dyQmdFRkJRY0NBUlllYUhSMGNEb3ZMM2Qz ZHk1emRHRnlkSE56YkM1amIyMHYKY0c5c2FXTjVNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUNM NC9lSDdBR0xoSzBQQVFKYm5PRWpKeU1FdlRUd2NBSnVVaC9ib2RqUQpsMDZ1NHB1dFlPeGRTeUlq U1Avc0t0KzMxTG1qRzgrSU8xV3F5a0U0SC9MbTdOS2V6V1ZuQ0h1d2IzcHRnRm1sd2JNYkdrVTJN T1pCCnR3emZLWGRZVWhGTGhhRTJ1dzVqWGhYdkxZaXRRYXk5NjJ3UDV1UEk2ZUFJaFY0TDhhYXlh MXU0czdNbnJUcTBSejI1RnVHTk83OXYKVEhZV2o3OTd0U1JDOHJNMTZqczR5R0tPTEZwUXZJZzBG OElFbHY1N2Ixc3RwK0M3b21xTTVRbjE1ZGVQYlNucXI4SmI2NVd0bUpKYgpudjZybHFmWS9hTHVF L3ptTkFsekxtUGdmTURTdEtJWGRnK0VvWUJaVEVvOHdCVWFCeGloZk5iSjA2OW5kUU94TU5OcUJl bEVNZ3BBCnRtalRiQ3VYRmpxSXdXcStYT3g2WlYvV2gyRkFtYUxzU0hsTnZFampTUU1ad0U0RWVI Q2RvNjZabUVzLzVKWWxDZU9rdWxLVlE2UDMKbTUvWE9qMmpQMTdRMkFnbWpQKzExK3NITjdQdnJH ME93clFwOVFNZTNYK3JuMEc4TWp0RmZxQld2UjlDZ0xJeHpNM01KTnhGZGdkagpTMnJZblNoUDV1 eHZxd2ZadmhaVllDSWtxZEpocFlPTjBEdlNvZGZpYXIwd2lNNzlteVNaSmp6QzBDVGJpaXNCelMv QmVCaHFlbzJ3CkZmbGkvaXczaG4xWEt2QXgwdHk2dy9zY21CRjBBWXFtUkhZajFUak1TdzBsQWw3 QXp0TGdscVdqVVBJK3N1a3ZhZE1SUHhtdEtYbFMKMm5WUjRhbi9aMTZpbXNaNjkrZkZZSDY4YzFD Szd6bWpvekNDQjRjd2dnVnZvQU1DQVFJQ0FTMHdEUVlKS29aSWh2Y05BUUVMQlFBdwpmVEVMTUFr R0ExVUVCaE1DU1V3eEZqQVVCZ05WQkFvVERWTjBZWEowUTI5dElFeDBaQzR4S3pBcEJnTlZCQXNU SWxObFkzVnlaU0JFCmFXZHBkR0ZzSUVObGNuUnBabWxqWVhSbElGTnBaMjVwYm1jeEtUQW5CZ05W QkFNVElGTjBZWEowUTI5dElFTmxjblJwWm1sallYUnAKYjI0Z1FYVjBhRzl5YVhSNU1CNFhEVEEy TURreE56RTVORFl6TjFvWERUTTJNRGt4TnpFNU5EWXpObG93ZlRFTE1Ba0dBMVVFQmhNQwpTVXd4 RmpBVUJnTlZCQW9URFZOMFlYSjBRMjl0SUV4MFpDNHhLekFwQmdOVkJBc1RJbE5sWTNWeVpTQkVh V2RwZEdGc0lFTmxjblJwClptbGpZWFJsSUZOcFoyNXBibWN4S1RBbkJnTlZCQU1USUZOMFlYSjBR Mjl0SUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjUKTUlJQ0lqQU5CZ2txaGtpRzl3MEJB UUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF3WWpiQ2J4c1JueDRuNVY3dFRPUThuSmkxc0UySUNJawpY czdwZC9KRENxSUdaS1RNampiNE9PWWo4RzV0c1R6ZGNxT0ZIS0hUUGJReks5TXZyLzdxc0VGWlo3 YkVCbjBLbm5TRjFubE1nRGQ2CjN6a0ZVbG4zOUJ0R1E2VFNoWVhTdzNIemRXSTB1aXlLZng2UDd1 MDAwQkhIbHMxU1Bib3oxdDFOM2dzN1NrdWZ3aVl2K3JVV0hISTEKZDhvOFhlYks0U2FMR2paMlhB SGJkQlFsL3UyMW9JZ1AzWGpLTFI4SGx6QUJMWEo1K2tiV0V5cW91YWFyZzBrZDVmTHYzZVFCamhn SwpqMk5URm9WaXFRNFpPc3kxWnFiQ2EzUUg1Q3ZoZGo2MGJkajJST0Z6WWg4N3hMNmdVMVlsYkZF Sjk2cXJ5cjkyL1cyYjg1M2J2ejFtCnZBeFdxcStZU0pVNlM5K25XRkRaT0hXcFcrcEREQUwvbWV2 b2JFMXdXeWxsbk4ycVhjeXZBVEhzRE92U2planFuSHZtYnZjblpnd2EKU05kdVF1TS8zaUUrZStF TmNQdGpxcWhzR2xTMFhDVjZ5YUxKaXhhbXV5eCtGMTRGVFZodUVoMEI3aElRRGNZeWZ4ai8vUFQ2 elc2Ugo2RFpKdmhwSWFZdkNsazBhRXJKcEY4RUtrTmI2ZVNKSXY3cDdhZmh3eC9wNk45allEZEoy VDFmL2tMZmprZExkNzhKZ3QyYzYzZjZxCm5QRFVpMzl5SXM3R241ZTIrSytLb0JDbzJmc1l4cmEx WEZJOGliWVpLbk1CQ2c4RHN4Smc4bm92Z2R1amJ2OG1NSmYxaTkySlY3YXQKUGJPdks4VzNkZ0x3 cGRZcm1vWVVLbkwyNHpPTVhRbExFOSs3akhRVFVrc0NBd0VBQWFPQ0FoQXdnZ0lNTUE4R0ExVWRF d0VCL3dRRgpNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0VHTUIwR0ExVWREZ1FXQkJST0MrOGFw RUJicFJkcGh6REtOR2hEMEVHdThqQWZCZ05WCkhTTUVHREFXZ0JST0MrOGFwRUJicFJkcGh6REtO R2hEMEVHdThqQ0NBVm9HQTFVZElBU0NBVkV3Z2dGTk1JSUJTUVlMS3dZQkJBR0IKdFRjQkFRRXdn Z0U0TUM0R0NDc0dBUVVGQndJQkZpSm9kSFJ3T2k4dmQzZDNMbk4wWVhKMGMzTnNMbU52YlM5d2Iy eHBZM2t1Y0dSbQpNRFFHQ0NzR0FRVUZCd0lCRmlob2RIUndPaTh2ZDNkM0xuTjBZWEowYzNOc0xt TnZiUzlwYm5SbGNtMWxaR2xoZEdVdWNHUm1NSUhQCkJnZ3JCZ0VGQlFjQ0FqQ0J3akFuRmlCVGRH RnlkQ0JEYjIxdFpYSmphV0ZzSUNoVGRHRnlkRU52YlNrZ1RIUmtMakFEQWdFQkdvR1cKVEdsdGFY UmxaQ0JNYVdGaWFXeHBkSGtzSUhKbFlXUWdkR2hsSUhObFkzUnBiMjRnS2t4bFoyRnNJRXhwYlds MFlYUnBiMjV6S2lCdgpaaUIwYUdVZ1UzUmhjblJEYjIwZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhS b2IzSnBkSGtnVUc5c2FXTjVJR0YyWVdsc1lXSnNaU0JoCmRDQm9kSFJ3T2k4dmQzZDNMbk4wWVhK MGMzTnNMbU52YlM5d2IyeHBZM2t1Y0dSbU1CRUdDV0NHU0FHRytFSUJBUVFFQXdJQUJ6QTQKQmds Z2hrZ0JodmhDQVEwRUt4WXBVM1JoY25SRGIyMGdSbkpsWlNCVFUwd2dRMlZ5ZEdsbWFXTmhkR2x2 YmlCQmRYUm9iM0pwZEhrdwpEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBSTZQNTl5VWVYenhoWCtm U1c5cnlsMzdqUDRFeGNGaTBYMUNpcnhUdDVRRFpqQS9zZWNLCnAxQWdWU1YvZG5vVURlc0VEa0Rt UHRpSXF3Y25nNmwxcGpkengvMUwwazJ0RjBESVJyNDdmMUg4dzdZRk1kek5oU0pPY2JmeWNWNncK R3NhNms0dDRra3FGK0hnUGcvNHZyU3ozNUtTN0xkRG5EVHE0UHM3MmVQYXVSeVRLb3pVMnpzZkdo NWphN1B2cHNzNG5tNGpEQktIMgpDMWxvcjhuYkVBOU45bVJqWEtVU2I1S3lrNVRIaUJjT2s3WitZ b3VRZjZ0T24vempkUlJQS2pMZld3M2c5WHVURGF1aHo0ZmhwUVJGCjZEd1NwUW5Gc05HM1UvTmdG THFGYVdvaGZCOTFZUmNnRjN0c08wRXBYT0dzV3RITmpKdnJZQjBaN1BmbHNOcjVlUmlsUlQ5SlEx ZlMKM1NUVkxLUDlrWTBudGVYckZBYWFUSHNodXpxdE1BWVl3TmpCYXl4L1dWeGRrYkZ3SWxmcmlt dElTdFVQS2V6R1FNQXZpRXhvQVJkMwo5Q1FaVDczNjRiSWdJVXZkR3RncGZhcTQzbFRzSVZXQWJC NzFNTWlqRU9XeTVpb1VNY09GTFl5WXNZWmFUNGxaTGJuSDl4eklpbi9BCm5RVks1a0pQWXFOdEth UWZoYXZiNVlISXJTbzlURjFiaENaeHhJVmVjU1RLcFJ0czJHSFRHdUJVMjg2NnFUSzFJdlp6UVFs ZHVCZGQKRGcrWmtOWkgybThLT21Jb0ZHZUMyZkhRZ0ZtYnl6SFltdytNZDA2MWFJcnliUFlrRGkx c2NNVnowZDRVMEhHUHR0TjdBdmJqdU5RSgpibXVlZFlRNTVuOGxwZkpJQU1Da0Fkby9NWUlENURD Q0ErQUNBUUV3Z1lrd2RURUxNQWtHQTFVRUJoTUNTVXd4RmpBVUJnTlZCQW9UCkRWTjBZWEowUTI5 dElFeDBaQzR4S1RBbkJnTlZCQXNUSUZOMFlYSjBRMjl0SUVObGNuUnBabWxqWVhScGIyNGdRWFYw YUc5eWFYUjUKTVNNd0lRWURWUVFERXhwVGRHRnlkRU52YlNCRGJHRnpjeUF4SUVOc2FXVnVkQ0JE UVFJUUs0MHVlNWxWVEhwMnpJYlJHNW1UdlRBSgpCZ1VyRGdNQ0dnVUFvSUlDTHpBWUJna3Foa2lH OXcwQkNRTXhDd1lKS29aSWh2Y05BUWNCTUJ3R0NTcUdTSWIzRFFFSkJURVBGdzB4Ck5qQXpNekF3 TnpBME5URmFNQ01HQ1NxR1NJYjNEUUVKQkRFV0JCU0U3SGhlN3F4L1hPZ0gwbjljRlFKeXFBVDFH VENCa3dZSktvWkkKaHZjTkFRa1BNWUdGTUlHQ01Bc0dDV0NHU0FGbEF3UUJLakFMQmdsZ2hrZ0Ja UU1FQVJZd0NnWUlLb1pJaHZjTkF3Y3dDd1lKWUlaSQpBV1VEQkFFQ01BNEdDQ3FHU0liM0RRTUNB Z0lBZ0RBTkJnZ3Foa2lHOXcwREFnSUJRREFIQmdVckRnTUNHakFMQmdsZ2hrZ0JaUU1FCkFnTXdD d1lKWUlaSUFXVURCQUlDTUFzR0NXQ0dTQUZsQXdRQ0FUQ0JtZ1lKS3dZQkJBR0NOeEFFTVlHTU1J R0pNSFV4Q3pBSkJnTlYKQkFZVEFrbE1NUll3RkFZRFZRUUtFdzFUZEdGeWRFTnZiU0JNZEdRdU1T a3dKd1lEVlFRTEV5QlRkR0Z5ZEVOdmJTQkRaWEowYVdacApZMkYwYVc5dUlFRjFkR2h2Y21sMGVU RWpNQ0VHQTFVRUF4TWFVM1JoY25SRGIyMGdRMnhoYzNNZ01TQkRiR2xsYm5RZ1EwRUNFQ3VOCkxu dVpWVXg2ZHN5RzBSdVprNzB3Z1p3R0N5cUdTSWIzRFFFSkVBSUxNWUdNb0lHSk1IVXhDekFKQmdO VkJBWVRBa2xNTVJZd0ZBWUQKVlFRS0V3MVRkR0Z5ZEVOdmJTQk1kR1F1TVNrd0p3WURWUVFMRXlC VGRHRnlkRU52YlNCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodgpjbWwwZVRFak1DRUdBMVVFQXhN YVUzUmhjblJEYjIwZ1EyeGhjM01nTVNCRGJHbGxiblFnUTBFQ0VDdU5MbnVaVlV4NmRzeUcwUnVa Cms3MHdEUVlKS29aSWh2Y05BUUVCQlFBRWdnRUFSUWJtaXZaWXFXOEpVR2tTaUlOaTlNY0hJNnI4 WDhVZGUvS3NtSTZLYWJYTm5EZ3IKRVFEdFViTzNobGhSblR6NGxXblVNMHBrVzFlZVlRdmd6US9j ckpwK0N5OUpqSEpzbTRXcmZpejRKQ3NQaTlubU1Vb1Jvem1VWVBqVgpKRzFrU01ZL0JYTmh4QUs1 ZVFDeE1qb3RZK3RncU1sak42OU85dWdDaUxHNlMvVmtaNi93NVNNTnFuSFVEcXRSaUtkOFE2NFBi NGQ5CjZramhoS1lndTFiZHBoYStvMjNuVTdtN2NBWHRSekxhbGplWlp0V2tSZHhvM3U3Qkx1SnRu K3JJWFNFTUFiNFg1THBDN2FERzVXR2cKZ0RQMjFvRGVWSjBqNE1zRGFyMkZGS1d5QTZFTFdYUEI4 YUI2djdDYnM3VVJHRjlYZjRMeWVwcklzR0NkMEFyVmhRQUFBQUFBQUE9PQoKLS0tLS0tPV9OZXh0 UGFydF8wMDBfMDAxNF8wMUQxOEE2My4zN0NDRDA2MC0tCg== --===============1014891270325314811==-- From ykaul at redhat.com Wed Mar 30 16:30:04 2016 Content-Type: multipart/mixed; boundary="===============6531686407019716766==" MIME-Version: 1.0 From: Yaniv Kaul To: users at ovirt.org Subject: Re: [ovirt-users] Reclaim disk space of thin disks Date: Wed, 30 Mar 2016 23:29:22 +0300 Message-ID: In-Reply-To: 6A17C71B52524C408E7AAF69103E9E490F698411@fabamailserver.fabagl.fabasoft.com --===============6531686407019716766== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Wed, Mar 30, 2016 at 10:04 AM, Grundmann, Christian < Christian.Grundmann(a)fabasoft.com> wrote: > Hi, > > is there a way to =E2=80=9Eshrink=E2=80=9C a thin disk image to reclaim d= eleted space like > using virt-sparsify? > Yes, if the underlying file system supports it (NFS, for example, might need to be 4.2 and above). > Or can it be done by making a snapshot and clone the VM to a new one? > Another suggestion: use the VDSM hooks for discard ('diskunmap') and run 'fstrim' from within the guest. Y. > > Thanks a lot > > Christian > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > > --===============6531686407019716766== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPk9uIFdlZCwgTWFyIDMwLCAyMDE2IGF0IDEwOjA0IEFNLCBHcnVuZG1h bm4sIENocmlzdGlhbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpDaHJpc3Rp YW4uR3J1bmRtYW5uQGZhYmFzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPkNocmlzdGlhbi5HcnVu ZG1hbm5AZmFiYXNvZnQuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDox cHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2IGxhbmc9IkRFLUFUIiBsaW5rPSIj MDU2M0MxIiB2bGluaz0iIzk1NEY3MiI+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBs YW5nPSJFTi1VUyI+SGksPHU+PC91Pjx1PjwvdT48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5pcyB0aGVyZSBhIHdheSB0byDigJ5zaHJpbmvigJwgYSB0 aGluIGRpc2sgaW1hZ2UgdG8gcmVjbGFpbSBkZWxldGVkIHNwYWNlIGxpa2UgdXNpbmcgdmlydC1z cGFyc2lmeT88L3NwYW4+PC9wPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rp dj48ZGl2PlllcywgaWYgdGhlIHVuZGVybHlpbmcgZmlsZSBzeXN0ZW0gc3VwcG9ydHMgaXQgKE5G UywgZm9yIGV4YW1wbGUsIG1pZ2h0IG5lZWQgdG8gYmUgNC4yIGFuZCBhYm92ZSkuPC9kaXY+PGRp dj7CoDwvZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjow IDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxk aXYgbGFuZz0iREUtQVQiIGxpbms9IiMwNTYzQzEiIHZsaW5rPSIjOTU0RjcyIj48ZGl2PjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48dT48L3U+PHU+PC91Pjwvc3Bhbj48 L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPk9yIGNhbiBpdCBiZSBk b25lIGJ5IG1ha2luZyBhIHNuYXBzaG90IGFuZCBjbG9uZSB0aGUgVk0gdG8gYSBuZXcgb25lPzwv c3Bhbj48L3A+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjxkaXY+QW5v dGhlciBzdWdnZXN0aW9uOiB1c2UgdGhlIFZEU00gaG9va3MgZm9yIGRpc2NhcmQgKCYjMzk7ZGlz a3VubWFwJiMzOTspIGFuZCBydW4gJiMzOTtmc3RyaW0mIzM5OyBmcm9tIHdpdGhpbiB0aGUgZ3Vl c3QuwqA8L2Rpdj48ZGl2PlkuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9 ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNj Y2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+PGRpdiBsYW5nPSJERS1BVCIgbGluaz0iIzA1NjND MSIgdmxpbms9IiM5NTRGNzIiPjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i RU4tVVMiPjx1PjwvdT48dT48L3U+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBsYW5nPSJFTi1VUyI+PHU+PC91PsKgPHU+PC91Pjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoYW5rcyBhIGxvdDxzcGFuIGNsYXNzPSJIT0VuWmIi Pjxmb250IGNvbG9yPSIjODg4ODg4Ij48dT48L3U+PHU+PC91PjwvZm9udD48L3NwYW4+PC9zcGFu PjwvcD48c3BhbiBjbGFzcz0iSE9FblpiIj48Zm9udCBjb2xvcj0iIzg4ODg4OCI+PHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPkNocmlzdGlhbjx1PjwvdT48dT48L3U+PC9z cGFuPjwvcD48L2ZvbnQ+PC9zcGFuPjwvZGl2PjwvZGl2Pjxicj5fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KVXNlcnMgbWFpbGluZyBsaXN0PGJyPgo8 YSBocmVmPSJtYWlsdG86VXNlcnNAb3ZpcnQub3JnIj5Vc2Vyc0BvdmlydC5vcmc8L2E+PGJyPgo8 YSBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMiIHJl bD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFp bG1hbi9saXN0aW5mby91c2VyczwvYT48YnI+Cjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwv ZGl2PjwvZGl2Pgo= --===============6531686407019716766==-- From Christian.Grundmann at fabasoft.com Thu Mar 31 06:05:13 2016 Content-Type: multipart/mixed; boundary="===============5563199162482244771==" MIME-Version: 1.0 From: Grundmann, Christian To: users at ovirt.org Subject: Re: [ovirt-users] Reclaim disk space of thin disks Date: Thu, 31 Mar 2016 10:05:08 +0000 Message-ID: <6A17C71B52524C408E7AAF69103E9E490F69C38A@fabamailserver.fabagl.fabasoft.com> In-Reply-To: CAJgorsY-cj_VRUcxUUuUDKvZsJRHYsopiUXbFVNA3Y3VynLD+A@mail.gmail.com --===============5563199162482244771== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ------=3D_NextPart_000_0009_01D18B45.90D7C880 Content-Type: multipart/alternative; boundary=3D"----=3D_NextPart_001_000A_01D18B45.90D7C880" ------=3D_NextPart_001_000A_01D18B45.90D7C880 Content-Type: text/plain; charset=3D"utf-8" Content-Transfer-Encoding: quoted-printable Hi, seems not to work with FC Storage, =3D20 I Zero filled the Disk with dd, removed the file and did a fstrim which =3D told me it trimmed the right amount of space, But the disk Image stays full size. =3D20 Thx=3D20 Christian =3D20 Von: Yaniv Kaul [mailto:ykaul(a)redhat.com]=3D20 Gesendet: Mittwoch, 30. M=3DC3=3DA4rz 2016 22:29 An: Grundmann, Christian Cc: users(a)ovirt.org Betreff: Re: [ovirt-users] Reclaim disk space of thin disks =3D20 =3D20 =3D20 On Wed, Mar 30, 2016 at 10:04 AM, Grundmann, Christian =3D > wrote: Hi, is there a way to =3DE2=3D80=3D9Eshrink=3DE2=3D80=3D9C a thin disk image to= reclaim =3D deleted space like using virt-sparsify? =3D20 Yes, if the underlying file system supports it (NFS, for example, might =3D need to be 4.2 and above). =3D20 Or can it be done by making a snapshot and clone the VM to a new one? =3D20 Another suggestion: use the VDSM hooks for discard ('diskunmap') and run = =3D 'fstrim' from within the guest.=3D20 Y. =3D20 =3D20 Thanks a lot Christian _______________________________________________ Users mailing list Users(a)ovirt.org =3D20 http://lists.ovirt.org/mailman/listinfo/users =3D20 ------=3D_NextPart_001_000A_01D18B45.90D7C880 Content-Type: text/html; charset=3D"utf-8" Content-Transfer-Encoding: quoted-printable

Hi,

seems not to work with FC Storage,

 

I Zero filled the Disk with dd, removed the file and did a = =3D fstrim which told me it trimmed the right amount of =3D space,

But the disk Image stays full =3D size.

 

Thx

Christian

 

Von: Yaniv Kaul = =3D [mailto:ykaul(a)redhat.com]
Gesendet: Mittwoch, 30. M=3DC3=3DA4r= z =3D 2016 22:29
An: Grundmann, Christian =3D <Christian.Grundmann(a)fabasoft.com>
Cc: =3D users(a)ovirt.org
Betreff: Re: [ovirt-users] Reclaim disk space = =3D of thin disks

 

 

 

On Wed= , =3D Mar 30, 2016 at 10:04 AM, Grundmann, Christian <Christian.Grundmann(a)fabasoft.com> =3D wrote:

Hi,

is there a way to =3DE2=3D80=3D9Eshrink=3DE2=3D80=3D9C a thi= n disk =3D image to reclaim deleted space like using =3D virt-sparsify?

 

Yes, if the underlying file system supports it (NFS, = =3D for example, might need to be 4.2 and =3D above).

 

Or can it be done by making a snapshot and clone the VM to = =3D a new one?

 

Another suggestion: use the VDSM hooks for discard =3D ('diskunmap') and run 'fstrim' from within the =3D guest. 

Y.

 

 

Thanks a lot

Christian


______________________________________= =3D _________
Users mailing list
Users(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/users<= =3D /o:p>

 

------=3D_NextPart_001_000A_01D18B45.90D7C880-- ------=3D_NextPart_000_0009_01D18B45.90D7C880 Content-Type: application/pkcs7-signature; name=3D"smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=3D"smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIISkjCCBR0w ggQFoAMCAQICECuNLnuZVUx6dsyG0RuZk70wDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCSUwx FjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g QXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQTAeFw0xNjAyMDkx NDAyMDNaFw0xNzAyMDkxNDAyMDNaMFwxKTAnBgNVBAMMIGNocmlzdGlhbi5ncnVuZG1hbm5AZmFi YXNvZnQuY29tMS8wLQYJKoZIhvcNAQkBFiBjaHJpc3RpYW4uZ3J1bmRtYW5uQGZhYmFzb2Z0LmNv bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMSXN+Y9o0GeYdHtPJMREJ8RKlJKPKv+ 9IQGXFUkCmo3e2TdExbAVeckzKSHLyKQp7dUDNkTbH3fIEAsrl4MHasJ885dI9vwoF/j8D43SmvK e2CfG5C5CG5mHoilx8OfKeun0uRoQ3HYz3rg8Bw7xWZ7OcR3FKMNHkQj3AAcs7SXsgTQ5zMm5siI QnKQxeKt4CP9+3y598FQka7l+HggIvM58ufaGBLbQjlC1qNjSObxMQbtSBlVFxDr3Lbol5N560iQ zvNn/0zti1H6nRqZwfMtHFe8uLAIn2V09WC8m8qL7gN5GpfthVHRUSXta3FnFu0Ux3dXG+CdqkFR g+MQZ2kCAwEAAaOCAcAwggG8MAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB BQUHAwQwCQYDVR0TBAIwADAdBgNVHQ4EFgQUuxqfYToDcp+2hlegIBv/4UOIAzEwHwYDVR0jBBgw FoAUJIFsOWG+SQ+PtxtGK8kotSdIbWgwbwYIKwYBBQUHAQEEYzBhMCQGCCsGAQUFBzABhhhodHRw Oi8vb2NzcC5zdGFydHNzbC5jb20wOQYIKwYBBQUHMAKGLWh0dHA6Ly9haWEuc3RhcnRzc2wuY29t L2NlcnRzL3NjYS5jbGllbnQxLmNydDA4BgNVHR8EMTAvMC2gK6AphidodHRwOi8vY3JsLnN0YXJ0 c3NsLmNvbS9zY2EtY2xpZW50MS5jcmwwKwYDVR0RBCQwIoEgY2hyaXN0aWFuLmdydW5kbWFubkBm YWJhc29mdC5jb20wIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMEYGA1UdIAQ/ MD0wOwYLKwYBBAGBtTcBAgQwLDAqBggrBgEFBQcCARYeaHR0cDovL3d3dy5zdGFydHNzbC5jb20v cG9saWN5MA0GCSqGSIb3DQEBCwUAA4IBAQALbgNP3IjDHG+7Gt+grj1LpmAfqe47LtP4p8Qze3VU qowcg+pKhdFMyLpvEMdDf873N7RHSQG927zSkN3FikHKiAbZGS0c3wdZvLuKLgqRDVoG/5rgeU45 Ai0hjNwOodbAbUWfl2frWFVOAQdWThjUSulBL3go9J1Ws8VT+VxRFEcsc3J8OtuNfzdG5DHejt5l PBZ91RkJN487WSG5scamKEG0bOHrBvClOtmhNs8GZt5Gjk6dqmYZ8MfVW0ZxVBnNrbwZGIlP0Z/q +MplyxQeO+6O7uH1SArQ2smTaIFWcs24d/JMLGLO1sw6ITRjMyxJm1HYbtf+01TRdiW4UV+kMIIF 4jCCA8qgAwIBAgIQa6eKfQrXiNZRCvlZ5Oe04TANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJ TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlm aWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMTUxMjE2MDEwMDA1WhcNMzAxMjE2MDEwMDA1WjB1MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx IzAhBgNVBAMTGlN0YXJ0Q29tIENsYXNzIDEgQ2xpZW50IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAvX3a98OifYP2W4L921tfrh4bdcC1Ga+YJKy7V3nYNewJHnzMlBsK0Hb8Dm4W o3FZpylcYa1MJGT10QMGWaLER3xCIuRR+8eklf/EqeZWRLojJ7zBRtjMywPOCelrOU+DX12dKp+E z4J6919rz1UudTO1GvZyCYJ/I7062uHsskM8b7gPxmcCoO1UHwwpgkvpCArJWGFoFzjLdsZbErJc S3HtAhlkbE/BKTMrdYg35Uo12SLBO5tbk8h2imbKTC8iMs+pskrvI/AVlh6QoTTXk6xboVX6zgMg zxSVVLymQiygYYm0y5aMsvi2raFhC643SOGvErWWPPnSEfbeAD1xswIDAQABo4IBZDCCAWAwDgYD VR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDASBgNVHRMBAf8ECDAG AQH/AgEAMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL3Nmc2NhLmNy bDBmBggrBgEFBQcBAQRaMFgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTAw BggrBgEFBQcwAoYkaHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvY2EuY3J0MB0GA1UdDgQW BBQkgWw5Yb5JD4+3G0YrySi1J0htaDAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jA/ BgNVHSAEODA2MDQGBFUdIAAwLDAqBggrBgEFBQcCARYeaHR0cDovL3d3dy5zdGFydHNzbC5jb20v cG9saWN5MA0GCSqGSIb3DQEBCwUAA4ICAQCL4/eH7AGLhK0PAQJbnOEjJyMEvTTwcAJuUh/bodjQ l06u4putYOxdSyIjSP/sKt+31LmjG8+IO1WqykE4H/Lm7NKezWVnCHuwb3ptgFmlwbMbGkU2MOZB twzfKXdYUhFLhaE2uw5jXhXvLYitQay962wP5uPI6eAIhV4L8aaya1u4s7MnrTq0Rz25FuGNO79v THYWj797tSRC8rM16js4yGKOLFpQvIg0F8IElv57b1stp+C7omqM5Qn15dePbSnqr8Jb65WtmJJb nv6rlqfY/aLuE/zmNAlzLmPgfMDStKIXdg+EoYBZTEo8wBUaBxihfNbJ069ndQOxMNNqBelEMgpA tmjTbCuXFjqIwWq+XOx6ZV/Wh2FAmaLsSHlNvEjjSQMZwE4EeHCdo66ZmEs/5JYlCeOkulKVQ6P3 m5/XOj2jP17Q2AgmjP+11+sHN7PvrG0OwrQp9QMe3X+rn0G8MjtFfqBWvR9CgLIxzM3MJNxFdgdj S2rYnShP5uxvqwfZvhZVYCIkqdJhpYON0DvSodfiar0wiM79mySZJjzC0CTbiisBzS/BeBhqeo2w Ffli/iw3hn1XKvAx0ty6w/scmBF0AYqmRHYj1TjMSw0lAl7AztLglqWjUPI+sukvadMRPxmtKXlS 2nVR4an/Z16imsZ69+fFYH68c1CK7zmjozCCB4cwggVvoAMCAQICAS0wDQYJKoZIhvcNAQELBQAw fTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBE aWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MB4XDTA2MDkxNzE5NDYzN1oXDTM2MDkxNzE5NDYzNlowfTELMAkGA1UEBhMC SUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRp ZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwYjbCbxsRnx4n5V7tTOQ8nJi1sE2ICIk Xs7pd/JDCqIGZKTMjjb4OOYj8G5tsTzdcqOFHKHTPbQzK9Mvr/7qsEFZZ7bEBn0KnnSF1nlMgDd6 3zkFUln39BtGQ6TShYXSw3HzdWI0uiyKfx6P7u000BHHls1SPboz1t1N3gs7SkufwiYv+rUWHHI1 d8o8XebK4SaLGjZ2XAHbdBQl/u21oIgP3XjKLR8HlzABLXJ5+kbWEyqouaarg0kd5fLv3eQBjhgK j2NTFoViqQ4ZOsy1ZqbCa3QH5Cvhdj60bdj2ROFzYh87xL6gU1YlbFEJ96qryr92/W2b853bvz1m vAxWqq+YSJU6S9+nWFDZOHWpW+pDDAL/mevobE1wWyllnN2qXcyvATHsDOvSjejqnHvmbvcnZgwa SNduQuM/3iE+e+ENcPtjqqhsGlS0XCV6yaLJixamuyx+F14FTVhuEh0B7hIQDcYyfxj//PT6zW6R 6DZJvhpIaYvClk0aErJpF8EKkNb6eSJIv7p7afhwx/p6N9jYDdJ2T1f/kLfjkdLd78Jgt2c63f6q nPDUi39yIs7Gn5e2+K+KoBCo2fsYxra1XFI8ibYZKnMBCg8DsxJg8novgdujbv8mMJf1i92JV7at PbOvK8W3dgLwpdYrmoYUKnL24zOMXQlLE9+7jHQTUksCAwEAAaOCAhAwggIMMA8GA1UdEwEB/wQF MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBROC+8apEBbpRdphzDKNGhD0EGu8jAfBgNV HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jCCAVoGA1UdIASCAVEwggFNMIIBSQYLKwYBBAGB tTcBAQEwggE4MC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRm MDQGCCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIHP BggrBgEFBQcCAjCBwjAnFiBTdGFydCBDb21tZXJjaWFsIChTdGFydENvbSkgTHRkLjADAgEBGoGW TGltaXRlZCBMaWFiaWxpdHksIHJlYWQgdGhlIHNlY3Rpb24gKkxlZ2FsIExpbWl0YXRpb25zKiBv ZiB0aGUgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUG9saWN5IGF2YWlsYWJsZSBh dCBodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMBEGCWCGSAGG+EIBAQQEAwIABzA4 BglghkgBhvhCAQ0EKxYpU3RhcnRDb20gRnJlZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw DQYJKoZIhvcNAQELBQADggIBAI6P59yUeXzxhX+fSW9ryl37jP4ExcFi0X1CirxTt5QDZjA/secK p1AgVSV/dnoUDesEDkDmPtiIqwcng6l1pjdzx/1L0k2tF0DIRr47f1H8w7YFMdzNhSJOcbfycV6w Gsa6k4t4kkqF+HgPg/4vrSz35KS7LdDnDTq4Ps72ePauRyTKozU2zsfGh5ja7Pvpss4nm4jDBKH2 C1lor8nbEA9N9mRjXKUSb5Kyk5THiBcOk7Z+YouQf6tOn/zjdRRPKjLfWw3g9XuTDauhz4fhpQRF 6DwSpQnFsNG3U/NgFLqFaWohfB91YRcgF3tsO0EpXOGsWtHNjJvrYB0Z7PflsNr5eRilRT9JQ1fS 3STVLKP9kY0nteXrFAaaTHshuzqtMAYYwNjBayx/WVxdkbFwIlfrimtIStUPKezGQMAviExoARd3 9CQZT7364bIgIUvdGtgpfaq43lTsIVWAbB71MMijEOWy5ioUMcOFLYyYsYZaT4lZLbnH9xzIin/A nQVK5kJPYqNtKaQfhavb5YHIrSo9TF1bhCZxxIVecSTKpRts2GHTGuBU2866qTK1IvZzQQlduBdd Dg+ZkNZH2m8KOmIoFGeC2fHQgFmbyzHYmw+Md061aIrybPYkDi1scMVz0d4U0HGPttN7AvbjuNQJ bmuedYQ55n8lpfJIAMCkAdo/MYID5DCCA+ACAQEwgYkwdTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT DVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQQIQK40ue5lVTHp2zIbRG5mTvTAJ BgUrDgMCGgUAoIICLzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0x NjAzMzExMDA1MDZaMCMGCSqGSIb3DQEJBDEWBBRaKSqNZAcW8T0nGCRTbR1Kl+N5BTCBkwYJKoZI hvcNAQkPMYGFMIGCMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCgYIKoZIhvcNAwcwCwYJYIZI AWUDBAECMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCGjALBglghkgBZQME AgMwCwYJYIZIAWUDBAICMAsGCWCGSAFlAwQCATCBmgYJKwYBBAGCNxAEMYGMMIGJMHUxCzAJBgNV BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECuN LnuZVUx6dsyG0RuZk70wgZwGCyqGSIb3DQEJEAILMYGMoIGJMHUxCzAJBgNVBAYTAklMMRYwFAYD VQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECuNLnuZVUx6dsyG0RuZ k70wDQYJKoZIhvcNAQEBBQAEggEAXYp3XspJg4F24aF35DTwrfU78LIdXynE927d19D+VSNJM7yG uCHuLBu39LQ+AAMiHhP2EHjfatete475EIXr2y7Bs6eoTP4e4zfj4hnbM060FyLyq4Ttzs6/Exx3 HadP27NszKyk3ad0E4rv1WCo/VbvUKcQEpLWLJQQubtQ4Ss6nW17l2OagcKC3KHwW4z0VfH5mvFR 08y3K4SGw6WOcyeCxa2vdbxkmLTRe1OAoHEK428s3eHKkTAIZAX7kBc3nJFLP6DBUksX3aPXYFtT NasJd54o9Gd+YL33XlBdxq0IFFSyNwlJjbSk3oNNav31xhhajXmBaV7mDQkUN3ZV1wAAAAAAAA= =3D=3D ------=3D_NextPart_000_0009_01D18B45.90D7C880-- --===============5563199162482244771== Content-Type: multipart/signed MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS0tLS0tPV9OZXh0UGFydF8wMDBfMDAwOV8wMUQxOEI0NS45MEQ3Qzg4MApDb250ZW50LVR5cGU6 IG11bHRpcGFydC9hbHRlcm5hdGl2ZTsKCWJvdW5kYXJ5PSItLS0tPV9OZXh0UGFydF8wMDFfMDAw QV8wMUQxOEI0NS45MEQ3Qzg4MCIKCgotLS0tLS09X05leHRQYXJ0XzAwMV8wMDBBXzAxRDE4QjQ1 LjkwRDdDODgwCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsKCWNoYXJzZXQ9InV0Zi04IgpDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCgpIaSwKCnNlZW1zIG5vdCB0 byB3b3JrIHdpdGggRkMgU3RvcmFnZSwKCj0yMAoKSSBaZXJvIGZpbGxlZCB0aGUgRGlzayB3aXRo IGRkLCByZW1vdmVkIHRoZSBmaWxlIGFuZCBkaWQgYSBmc3RyaW0gd2hpY2ggPQp0b2xkIG1lIGl0 IHRyaW1tZWQgdGhlIHJpZ2h0IGFtb3VudCBvZiBzcGFjZSwKCkJ1dCB0aGUgZGlzayBJbWFnZSBz dGF5cyBmdWxsIHNpemUuCgo9MjAKClRoeD0yMAoKQ2hyaXN0aWFuCgo9MjAKClZvbjogWWFuaXYg S2F1bCBbbWFpbHRvOnlrYXVsQHJlZGhhdC5jb21dPTIwCkdlc2VuZGV0OiBNaXR0d29jaCwgMzAu IE09QzM9QTRyeiAyMDE2IDIyOjI5CkFuOiBHcnVuZG1hbm4sIENocmlzdGlhbiA8Q2hyaXN0aWFu LkdydW5kbWFubkBmYWJhc29mdC5jb20+CkNjOiB1c2Vyc0BvdmlydC5vcmcKQmV0cmVmZjogUmU6 IFtvdmlydC11c2Vyc10gUmVjbGFpbSBkaXNrIHNwYWNlIG9mIHRoaW4gZGlza3MKCj0yMAoKPTIw Cgo9MjAKCk9uIFdlZCwgTWFyIDMwLCAyMDE2IGF0IDEwOjA0IEFNLCBHcnVuZG1hbm4sIENocmlz dGlhbiA9CjxDaHJpc3RpYW4uR3J1bmRtYW5uQGZhYmFzb2Z0LmNvbSA9CjxtYWlsdG86Q2hyaXN0 aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb20+ID4gd3JvdGU6CgpIaSwKCmlzIHRoZXJlIGEgd2F5 IHRvID1FMj04MD05RXNocmluaz1FMj04MD05QyBhIHRoaW4gZGlzayBpbWFnZSB0byByZWNsYWlt ID0KZGVsZXRlZCBzcGFjZSBsaWtlIHVzaW5nIHZpcnQtc3BhcnNpZnk/Cgo9MjAKClllcywgaWYg dGhlIHVuZGVybHlpbmcgZmlsZSBzeXN0ZW0gc3VwcG9ydHMgaXQgKE5GUywgZm9yIGV4YW1wbGUs IG1pZ2h0ID0KbmVlZCB0byBiZSA0LjIgYW5kIGFib3ZlKS4KCj0yMAoKT3IgY2FuIGl0IGJlIGRv bmUgYnkgbWFraW5nIGEgc25hcHNob3QgYW5kIGNsb25lIHRoZSBWTSB0byBhIG5ldyBvbmU/Cgo9 MjAKCkFub3RoZXIgc3VnZ2VzdGlvbjogdXNlIHRoZSBWRFNNIGhvb2tzIGZvciBkaXNjYXJkICgn ZGlza3VubWFwJykgYW5kIHJ1biA9Cidmc3RyaW0nIGZyb20gd2l0aGluIHRoZSBndWVzdC49MjAK ClkuCgo9MjAKCj0yMAoKVGhhbmtzIGEgbG90CgpDaHJpc3RpYW4KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpVc2VycyBtYWlsaW5nIGxpc3QKVXNlcnNA b3ZpcnQub3JnIDxtYWlsdG86VXNlcnNAb3ZpcnQub3JnPj0yMApodHRwOi8vbGlzdHMub3ZpcnQu b3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMKCj0yMAoKCi0tLS0tLT1fTmV4dFBhcnRfMDAxXzAw MEFfMDFEMThCNDUuOTBEN0M4ODAKQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7CgljaGFyc2V0PSJ1 dGYtOCIKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogcXVvdGVkLXByaW50YWJsZQoKPGh0bWwg eG1sbnM6dj0zRCJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCIgPQp4bWxuczpvPTNEInVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgPQp4bWxuczp3PTNEInVybjpz Y2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOndvcmQiID0KeG1sbnM6bT0zRCJodHRwOi8vc2No ZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiID0KeG1sbnM9M0QiaHR0cDov L3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+PGhlYWQ+PG1ldGEgPQpodHRwLWVxdWl2PTNEQ29u dGVudC1UeXBlIGNvbnRlbnQ9M0QidGV4dC9odG1sOyBjaGFyc2V0PTNEdXRmLTgiPjxtZXRhID0K bmFtZT0zREdlbmVyYXRvciBjb250ZW50PTNEIk1pY3Jvc29mdCBXb3JkIDE1IChmaWx0ZXJlZCA9 Cm1lZGl1bSkiPjxzdHlsZT48IS0tCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8KQGZvbnQtZmFjZQoJ e2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOwoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIg NDt9CkBmb250LWZhY2UKCXtmb250LWZhbWlseTpDYWxpYnJpOwoJcGFub3NlLTE6MiAxNSA1IDIg MiAyIDQgMyAyIDQ7fQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLwpwLk1zb05vcm1hbCwgbGkuTXNv Tm9ybWFsLCBkaXYuTXNvTm9ybWFsCgl7bWFyZ2luOjBjbTsKCW1hcmdpbi1ib3R0b206LjAwMDFw dDsKCWZvbnQtc2l6ZToxMi4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJp Zjt9CmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsKCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7Cglj b2xvcjpibHVlOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CmE6dmlzaXRlZCwgc3Bhbi5N c29IeXBlcmxpbmtGb2xsb3dlZAoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCWNvbG9yOnB1cnBs ZTsKCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQpwLm1zb25vcm1hbDAsIGxpLm1zb25vcm1h bDAsIGRpdi5tc29ub3JtYWwwCgl7bXNvLXN0eWxlLW5hbWU6bXNvbm9ybWFsOwoJbXNvLW1hcmdp bi10b3AtYWx0OmF1dG87CgltYXJnaW4tcmlnaHQ6MGNtOwoJbXNvLW1hcmdpbi1ib3R0b20tYWx0 OmF1dG87CgltYXJnaW4tbGVmdDowY207Cglmb250LXNpemU6MTIuMHB0OwoJZm9udC1mYW1pbHk6 IlRpbWVzIE5ldyBSb21hbiIsc2VyaWY7fQpzcGFuLmhvZW56YgoJe21zby1zdHlsZS1uYW1lOmhv ZW56Yjt9CnNwYW4uRS1NYWlsRm9ybWF0dm9ybGFnZTE5Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29u YWwtcmVwbHk7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsKCWNvbG9yOndpbmRv d3RleHQ7fQouTXNvQ2hwRGVmYXVsdAoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5OwoJZm9u dC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7Cgltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1V Uzt9CkBwYWdlIFdvcmRTZWN0aW9uMQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0OwoJbWFyZ2luOjcw Ljg1cHQgNzAuODVwdCAyLjBjbSA3MC44NXB0O30KZGl2LldvcmRTZWN0aW9uMQoJe3BhZ2U6V29y ZFNlY3Rpb24xO30KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVk ZWZhdWx0cyB2OmV4dD0zRCJlZGl0IiBzcGlkbWF4PTNEIjEwMjYiIC8+CjwveG1sPjwhW2VuZGlm XS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgo8bzpzaGFwZWxheW91dCB2OmV4dD0zRCJlZGl0 Ij4KPG86aWRtYXAgdjpleHQ9M0QiZWRpdCIgZGF0YT0zRCIxIiAvPgo8L286c2hhcGVsYXlvdXQ+ PC94bWw+PCFbZW5kaWZdLS0+PC9oZWFkPjxib2R5IGxhbmc9M0RERS1BVCBsaW5rPTNEYmx1ZSA9 CnZsaW5rPTNEcHVycGxlPjxkaXYgY2xhc3M9M0RXb3JkU2VjdGlvbjE+PHAgY2xhc3M9M0RNc29O b3JtYWw+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2Zv bnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhPQpuZ3VhZ2U6RU4t VVMnPkhpLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9 Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNh bGlicmkiLHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGE9Cm5ndWFnZTpFTi1VUyc+c2VlbXMgbm90 IHRvIHdvcmsgd2l0aCBGQyBTdG9yYWdlLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCA9CmNsYXNz PTNETXNvTm9ybWFsPjxzcGFuIGxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4w cHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGE9Cm5ndWFn ZTpFTi1VUyc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFs PjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYT0Kbmd1YWdlOkVOLVVTJz5J IFplcm8gZmlsbGVkIHRoZSBEaXNrIHdpdGggZGQsIHJlbW92ZWQgdGhlIGZpbGUgYW5kIGRpZCBh ID0KZnN0cmltIHdoaWNoIHRvbGQgbWUgaXQgdHJpbW1lZCB0aGUgcmlnaHQgYW1vdW50IG9mID0K c3BhY2UsPG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxzcGFuIGxh bmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGli cmkiLHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGE9Cm5ndWFnZTpFTi1VUyc+QnV0IHRoZSBkaXNr IEltYWdlIHN0YXlzIGZ1bGwgPQpzaXplLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0z RE1zb05vcm1hbD48c3BhbiBsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0 O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhPQpuZ3VhZ2U6 RU4tVVMnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48 c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGE9Cm5ndWFnZTpFTi1VUyc+VGh4 IDxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9Cmxhbmc9 M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmki LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGE9Cm5ndWFnZTpFTi1VUyc+Q2hyaXN0aWFuPG86cD48 L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxzcGFuID0KbGFuZz0zREVOLVVT ID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z ZXJpZjttc28tZmFyZWFzdC1sYT0Kbmd1YWdlOkVOLVVTJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh bj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PGI+PHNwYW4gPQpsYW5nPTNEREUgPQpzdHlsZT0z RCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmJz5Wb246 PC9zcGFuPjwvPQpiPjxzcGFuIGxhbmc9M0RERSA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7 Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWYnPiBZYW5pdiBLYXVsID0KW21haWx0bzp5 a2F1bEByZWRoYXQuY29tXSA8YnI+PGI+R2VzZW5kZXQ6PC9iPiBNaXR0d29jaCwgMzAuIE09QzM9 QTRyeiA9CjIwMTYgMjI6Mjk8YnI+PGI+QW46PC9iPiBHcnVuZG1hbm4sIENocmlzdGlhbiA9CiZs dDtDaHJpc3RpYW4uR3J1bmRtYW5uQGZhYmFzb2Z0LmNvbSZndDs8YnI+PGI+Q2M6PC9iPiA9CnVz ZXJzQG92aXJ0Lm9yZzxicj48Yj5CZXRyZWZmOjwvYj4gUmU6IFtvdmlydC11c2Vyc10gUmVjbGFp bSBkaXNrIHNwYWNlID0Kb2YgdGhpbiBkaXNrczxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCA9CmNs YXNzPTNETXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxkaXY+PHAgPQpjbGFzcz0zRE1z b05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48ZGl2PjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+ PG86cD4mbmJzcDs8L286cD48L3A+PGRpdj48cCBjbGFzcz0zRE1zb05vcm1hbD5PbiBXZWQsID0K TWFyIDMwLCAyMDE2IGF0IDEwOjA0IEFNLCBHcnVuZG1hbm4sIENocmlzdGlhbiAmbHQ7PGEgPQpo cmVmPTNEIm1haWx0bzpDaHJpc3RpYW4uR3J1bmRtYW5uQGZhYmFzb2Z0LmNvbSIgPQp0YXJnZXQ9 M0QiX2JsYW5rIj5DaHJpc3RpYW4uR3J1bmRtYW5uQGZhYmFzb2Z0LmNvbTwvYT4mZ3Q7ID0Kd3Jv dGU6PG86cD48L286cD48L3A+PGJsb2NrcXVvdGUgc3R5bGU9M0QnYm9yZGVyOm5vbmU7Ym9yZGVy LWxlZnQ6c29saWQgPQojQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gPQo2LjBwdDtt YXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtJz48ZGl2PjxkaXY+PHAgY2xhc3M9M0RN c29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4tVVM+SGksPC9zcGFuPjxvOnA+PC9vOnA+ PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1 dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTPmlzIHRo ZXJlIGEgd2F5IHRvID1FMj04MD05RXNocmluaz1FMj04MD05QyBhIHRoaW4gZGlzayA9CmltYWdl IHRvIHJlY2xhaW0gZGVsZXRlZCBzcGFjZSBsaWtlIHVzaW5nID0KdmlydC1zcGFyc2lmeT88L3Nw YW4+PG86cD48L286cD48L3A+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+PHAgPQpjbGFz cz0zRE1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48L2Rpdj48ZGl2PjxwID0KY2xhc3M9 M0RNc29Ob3JtYWw+WWVzLCBpZiB0aGUgdW5kZXJseWluZyBmaWxlIHN5c3RlbSBzdXBwb3J0cyBp dCAoTkZTLCA9CmZvciBleGFtcGxlLCBtaWdodCBuZWVkIHRvIGJlIDQuMiBhbmQgPQphYm92ZSku PG86cD48L286cD48L3A+PC9kaXY+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFsPiZuYnNwOzxv OnA+PC9vOnA+PC9wPjwvZGl2PjxibG9ja3F1b3RlID0Kc3R5bGU9M0QnYm9yZGVyOm5vbmU7Ym9y ZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtID0KNi4wcHQ7 bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBjbSc+PGRpdj48ZGl2PjxwIGNsYXNzPTNE TXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i b3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTPk9yIGNhbiBpdCBiZSBkb25lIGJ5 IG1ha2luZyBhIHNuYXBzaG90IGFuZCBjbG9uZSB0aGUgVk0gdG8gPQphIG5ldyBvbmU/PC9zcGFu PjxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PjxwID0KY2xhc3M9 M0RNc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PC9kaXY+PGRpdj48cCA9CmNsYXNzPTNE TXNvTm9ybWFsPkFub3RoZXIgc3VnZ2VzdGlvbjogdXNlIHRoZSBWRFNNIGhvb2tzIGZvciBkaXNj YXJkID0KKCdkaXNrdW5tYXAnKSBhbmQgcnVuICdmc3RyaW0nIGZyb20gd2l0aGluIHRoZSA9Cmd1 ZXN0LiZuYnNwOzxvOnA+PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgPQpjbGFzcz0zRE1zb05vcm1h bD5ZLjxvOnA+PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48bzpw PiZuYnNwOzwvbzpwPjwvcD48L2Rpdj48YmxvY2txdW90ZSA9CnN0eWxlPTNEJ2JvcmRlcjpub25l O2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA9CjYu MHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20nPjxkaXY+PGRpdj48cCBjbGFz cz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUz4mbmJzcDs8L3NwYW4+PG86 cD48L286cD48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRv cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4t VVM+VGhhbmtzIGEgbG90PC9zcGFuPjxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFs ID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0 OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTIHN0eWxlPTNEJ2NvbG9yOiM4ODg4ODgnPkNocmlz dGlhbjwvc3Bhbj48c3BhbiA9CnN0eWxlPTNEJ2NvbG9yOiM4ODg4ODgnPjxvOnA+PC9vOnA+PC9z cGFuPjwvcD48L2Rpdj48L2Rpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbWFy Z2luLWJvdHRvbToxMi4wcHQnPjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXz0KX19fX19fX19fPGJyPlVzZXJzIG1haWxpbmcgbGlzdDxicj48YSA9CmhyZWY9M0QibWFp bHRvOlVzZXJzQG92aXJ0Lm9yZyI+VXNlcnNAb3ZpcnQub3JnPC9hPjxicj48YSA9CmhyZWY9M0Qi aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzIiA9CnRhcmdldD0z RCJfYmxhbmsiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2Vyczwv YT48bzpwPjw9Ci9vOnA+PC9wPjwvYmxvY2txdW90ZT48L2Rpdj48cCA9CmNsYXNzPTNETXNvTm9y bWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+ Ci0tLS0tLT1fTmV4dFBhcnRfMDAxXzAwMEFfMDFEMThCNDUuOTBEN0M4ODAtLQoKLS0tLS0tPV9O ZXh0UGFydF8wMDBfMDAwOV8wMUQxOEI0NS45MEQ3Qzg4MApDb250ZW50LVR5cGU6IGFwcGxpY2F0 aW9uL3BrY3M3LXNpZ25hdHVyZTsgbmFtZT0ic21pbWUucDdzIgpDb250ZW50LVRyYW5zZmVyLUVu Y29kaW5nOiBiYXNlNjQKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9 InNtaW1lLnA3cyIKCk1JQUdDU3FHU0liM0RRRUhBcUNBTUlBQ0FRRXhDekFKQmdVckRnTUNHZ1VB TUlBR0NTcUdTSWIzRFFFSEFRQUFvSUlTa2pDQ0JSMHcKZ2dRRm9BTUNBUUlDRUN1TkxudVpWVXg2 ZHN5RzBSdVprNzB3RFFZSktvWklodmNOQVFFTEJRQXdkVEVMTUFrR0ExVUVCaE1DU1V3eApGakFV QmdOVkJBb1REVk4wWVhKMFEyOXRJRXgwWkM0eEtUQW5CZ05WQkFzVElGTjBZWEowUTI5dElFTmxj blJwWm1sallYUnBiMjRnClFYVjBhRzl5YVhSNU1TTXdJUVlEVlFRREV4cFRkR0Z5ZEVOdmJTQkRi R0Z6Y3lBeElFTnNhV1Z1ZENCRFFUQWVGdzB4TmpBeU1Ea3gKTkRBeU1ETmFGdzB4TnpBeU1Ea3hO REF5TUROYU1Gd3hLVEFuQmdOVkJBTU1JR05vY21semRHbGhiaTVuY25WdVpHMWhibTVBWm1GaQpZ WE52Wm5RdVkyOXRNUzh3TFFZSktvWklodmNOQVFrQkZpQmphSEpwYzNScFlXNHVaM0oxYm1SdFlX NXVRR1poWW1GemIyWjBMbU52CmJUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FR b0NnZ0VCQU1TWE4rWTlvMEdlWWRIdFBKTVJFSjhSS2xKS1BLdisKOUlRR1hGVWtDbW8zZTJUZEV4 YkFWZWNrektTSEx5S1FwN2RVRE5rVGJIM2ZJRUFzcmw0TUhhc0o4ODVkSTl2d29GL2o4RDQzU212 SwplMkNmRzVDNUNHNW1Ib2lseDhPZktldW4wdVJvUTNIWXozcmc4Qnc3eFdaN09jUjNGS01OSGtR ajNBQWNzN1NYc2dUUTV6TW01c2lJClFuS1F4ZUt0NENQOSszeTU5OEZRa2E3bCtIZ2dJdk01OHVm YUdCTGJRamxDMXFOalNPYnhNUWJ0U0JsVkZ4RHIzTGJvbDVONTYwaVEKenZObi8wenRpMUg2blJx WndmTXRIRmU4dUxBSW4yVjA5V0M4bThxTDdnTjVHcGZ0aFZIUlVTWHRhM0ZuRnUwVXgzZFhHK0Nk cWtGUgpnK01RWjJrQ0F3RUFBYU9DQWNBd2dnRzhNQXNHQTFVZER3UUVBd0lFc0RBZEJnTlZIU1VF RmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCCkJRVUhBd1F3Q1FZRFZSMFRCQUl3QURBZEJnTlZIUTRF RmdRVXV4cWZZVG9EY3ArMmhsZWdJQnYvNFVPSUF6RXdId1lEVlIwakJCZ3cKRm9BVUpJRnNPV0cr U1ErUHR4dEdLOGtvdFNkSWJXZ3did1lJS3dZQkJRVUhBUUVFWXpCaE1DUUdDQ3NHQVFVRkJ6QUJo aGhvZEhSdwpPaTh2YjJOemNDNXpkR0Z5ZEhOemJDNWpiMjB3T1FZSUt3WUJCUVVITUFLR0xXaDBk SEE2THk5aGFXRXVjM1JoY25SemMyd3VZMjl0CkwyTmxjblJ6TDNOallTNWpiR2xsYm5ReExtTnlk REE0QmdOVkhSOEVNVEF2TUMyZ0s2QXBoaWRvZEhSd09pOHZZM0pzTG5OMFlYSjAKYzNOc0xtTnZi Uzl6WTJFdFkyeHBaVzUwTVM1amNtd3dLd1lEVlIwUkJDUXdJb0VnWTJoeWFYTjBhV0Z1TG1keWRX NWtiV0Z1YmtCbQpZV0poYzI5bWRDNWpiMjB3SXdZRFZSMFNCQnd3R29ZWWFIUjBjRG92TDNkM2R5 NXpkR0Z5ZEhOemJDNWpiMjB2TUVZR0ExVWRJQVEvCk1EMHdPd1lMS3dZQkJBR0J0VGNCQWdRd0xE QXFCZ2dyQmdFRkJRY0NBUlllYUhSMGNEb3ZMM2QzZHk1emRHRnlkSE56YkM1amIyMHYKY0c5c2FX TjVNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFMYmdOUDNJakRIRys3R3QrZ3JqMUxwbUFmcWU0 N0x0UDRwOFF6ZTNWVQpxb3djZytwS2hkRk15THB2RU1kRGY4NzNON1JIU1FHOTI3elNrTjNGaWtI S2lBYlpHUzBjM3dkWnZMdUtMZ3FSRFZvRy81cmdlVTQ1CkFpMGhqTndPb2RiQWJVV2ZsMmZyV0ZW T0FRZFdUaGpVU3VsQkwzZ285SjFXczhWVCtWeFJGRWNzYzNKOE90dU5memRHNURIZWp0NWwKUEJa OTFSa0pONDg3V1NHNXNjYW1LRUcwYk9IckJ2Q2xPdG1oTnM4R1p0NUdqazZkcW1ZWjhNZlZXMFp4 VkJuTnJid1pHSWxQMFovcQorTXBseXhRZU8rNk83dUgxU0FyUTJzbVRhSUZXY3MyNGQvSk1MR0xP MXN3NklUUmpNeXhKbTFIWWJ0ZiswMVRSZGlXNFVWK2tNSUlGCjRqQ0NBOHFnQXdJQkFnSVFhNmVL ZlFyWGlOWlJDdmxaNU9lMDRUQU5CZ2txaGtpRzl3MEJBUXNGQURCOU1Rc3dDUVlEVlFRR0V3SkoK VERFV01CUUdBMVVFQ2hNTlUzUmhjblJEYjIwZ1RIUmtMakVyTUNrR0ExVUVDeE1pVTJWamRYSmxJ RVJwWjJsMFlXd2dRMlZ5ZEdsbQphV05oZEdVZ1UybG5ibWx1WnpFcE1DY0dBMVVFQXhNZ1UzUmhj blJEYjIwZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt3CkhoY05NVFV4TWpFMk1ERXdN REExV2hjTk16QXhNakUyTURFd01EQTFXakIxTVFzd0NRWURWUVFHRXdKSlRERVdNQlFHQTFVRUNo TU4KVTNSaGNuUkRiMjBnVEhSa0xqRXBNQ2NHQTFVRUN4TWdVM1JoY25SRGIyMGdRMlZ5ZEdsbWFX TmhkR2x2YmlCQmRYUm9iM0pwZEhreApJekFoQmdOVkJBTVRHbE4wWVhKMFEyOXRJRU5zWVhOeklE RWdRMnhwWlc1MElFTkJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FR RUF2WDNhOThPaWZZUDJXNEw5MjF0ZnJoNGJkY0MxR2ErWUpLeTdWM25ZTmV3Skhuek1sQnNLMEhi OERtNFcKbzNGWnB5bGNZYTFNSkdUMTBRTUdXYUxFUjN4Q0l1UlIrOGVrbGYvRXFlWldSTG9qSjd6 QlJ0ak15d1BPQ2Vsck9VK0RYMTJkS3ArRQp6NEo2OTE5cnoxVXVkVE8xR3ZaeUNZSi9JNzA2MnVI c3NrTThiN2dQeG1jQ29PMVVId3dwZ2t2cENBckpXR0ZvRnpqTGRzWmJFckpjClMzSHRBaGxrYkUv QktUTXJkWWczNVVvMTJTTEJPNXRiazhoMmltYktUQzhpTXMrcHNrcnZJL0FWbGg2UW9UVFhrNnhi b1ZYNnpnTWcKenhTVlZMeW1RaXlnWVltMHk1YU1zdmkycmFGaEM2NDNTT0d2RXJXV1BQblNFZmJl QUQxeHN3SURBUUFCbzRJQlpEQ0NBV0F3RGdZRApWUjBQQVFIL0JBUURBZ0VHTUIwR0ExVWRKUVFX TUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREJEQVNCZ05WSFJNQkFmOEVDREFHCkFRSC9BZ0VB TURJR0ExVWRId1FyTUNrd0o2QWxvQ09HSVdoMGRIQTZMeTlqY213dWMzUmhjblJ6YzJ3dVkyOXRM M05tYzJOaExtTnkKYkRCbUJnZ3JCZ0VGQlFjQkFRUmFNRmd3SkFZSUt3WUJCUVVITUFHR0dHaDBk SEE2THk5dlkzTndMbk4wWVhKMGMzTnNMbU52YlRBdwpCZ2dyQmdFRkJRY3dBb1lrYUhSMGNEb3ZM MkZwWVM1emRHRnlkSE56YkM1amIyMHZZMlZ5ZEhNdlkyRXVZM0owTUIwR0ExVWREZ1FXCkJCUWtn V3c1WWI1SkQ0KzNHMFlyeVNpMUowaHRhREFmQmdOVkhTTUVHREFXZ0JST0MrOGFwRUJicFJkcGh6 REtOR2hEMEVHdThqQS8KQmdOVkhTQUVPREEyTURRR0JGVWRJQUF3TERBcUJnZ3JCZ0VGQlFjQ0FS WWVhSFIwY0RvdkwzZDNkeTV6ZEdGeWRITnpiQzVqYjIwdgpjRzlzYVdONU1BMEdDU3FHU0liM0RR RUJDd1VBQTRJQ0FRQ0w0L2VIN0FHTGhLMFBBUUpibk9Fakp5TUV2VFR3Y0FKdVVoL2JvZGpRCmww NnU0cHV0WU94ZFN5SWpTUC9zS3QrMzFMbWpHOCtJTzFXcXlrRTRIL0xtN05LZXpXVm5DSHV3YjNw dGdGbWx3Yk1iR2tVMk1PWkIKdHd6ZktYZFlVaEZMaGFFMnV3NWpYaFh2TFlpdFFheTk2MndQNXVQ STZlQUloVjRMOGFheWExdTRzN01uclRxMFJ6MjVGdUdOTzc5dgpUSFlXajc5N3RTUkM4ck0xNmpz NHlHS09MRnBRdklnMEY4SUVsdjU3YjFzdHArQzdvbXFNNVFuMTVkZVBiU25xcjhKYjY1V3RtSkpi Cm52NnJscWZZL2FMdUUvem1OQWx6TG1QZ2ZNRFN0S0lYZGcrRW9ZQlpURW84d0JVYUJ4aWhmTmJK MDY5bmRRT3hNTk5xQmVsRU1ncEEKdG1qVGJDdVhGanFJd1dxK1hPeDZaVi9XaDJGQW1hTHNTSGxO dkVqalNRTVp3RTRFZUhDZG82NlptRXMvNUpZbENlT2t1bEtWUTZQMwptNS9YT2oyalAxN1EyQWdt alArMTErc0hON1B2ckcwT3dyUXA5UU1lM1grcm4wRzhNanRGZnFCV3ZSOUNnTEl4ek0zTUpOeEZk Z2RqClMyclluU2hQNXV4dnF3Zlp2aFpWWUNJa3FkSmhwWU9OMER2U29kZmlhcjB3aU03OW15U1pK anpDMENUYmlpc0J6Uy9CZUJocWVvMncKRmZsaS9pdzNobjFYS3ZBeDB0eTZ3L3NjbUJGMEFZcW1S SFlqMVRqTVN3MGxBbDdBenRMZ2xxV2pVUEkrc3VrdmFkTVJQeG10S1hsUwoyblZSNGFuL1oxNmlt c1o2OStmRllINjhjMUNLN3ptam96Q0NCNGN3Z2dWdm9BTUNBUUlDQVMwd0RRWUpLb1pJaHZjTkFR RUxCUUF3CmZURUxNQWtHQTFVRUJoTUNTVXd4RmpBVUJnTlZCQW9URFZOMFlYSjBRMjl0SUV4MFpD NHhLekFwQmdOVkJBc1RJbE5sWTNWeVpTQkUKYVdkcGRHRnNJRU5sY25ScFptbGpZWFJsSUZOcFoy NXBibWN4S1RBbkJnTlZCQU1USUZOMFlYSjBRMjl0SUVObGNuUnBabWxqWVhScApiMjRnUVhWMGFH OXlhWFI1TUI0WERUQTJNRGt4TnpFNU5EWXpOMW9YRFRNMk1Ea3hOekU1TkRZek5sb3dmVEVMTUFr R0ExVUVCaE1DClNVd3hGakFVQmdOVkJBb1REVk4wWVhKMFEyOXRJRXgwWkM0eEt6QXBCZ05WQkFz VElsTmxZM1Z5WlNCRWFXZHBkR0ZzSUVObGNuUnAKWm1sallYUmxJRk5wWjI1cGJtY3hLVEFuQmdO VkJBTVRJRk4wWVhKMFEyOXRJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNQpNSUlDSWpB TkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXdZamJDYnhzUm54NG41Vjd0VE9R OG5KaTFzRTJJQ0lrClhzN3BkL0pEQ3FJR1pLVE1qamI0T09ZajhHNXRzVHpkY3FPRkhLSFRQYlF6 SzlNdnIvN3FzRUZaWjdiRUJuMEtublNGMW5sTWdEZDYKM3prRlVsbjM5QnRHUTZUU2hZWFN3M0h6 ZFdJMHVpeUtmeDZQN3UwMDBCSEhsczFTUGJvejF0MU4zZ3M3U2t1ZndpWXYrclVXSEhJMQpkOG84 WGViSzRTYUxHaloyWEFIYmRCUWwvdTIxb0lnUDNYaktMUjhIbHpBQkxYSjUra2JXRXlxb3VhYXJn MGtkNWZMdjNlUUJqaGdLCmoyTlRGb1ZpcVE0Wk9zeTFacWJDYTNRSDVDdmhkajYwYmRqMlJPRnpZ aDg3eEw2Z1UxWWxiRkVKOTZxcnlyOTIvVzJiODUzYnZ6MW0KdkF4V3FxK1lTSlU2UzkrbldGRFpP SFdwVytwRERBTC9tZXZvYkUxd1d5bGxuTjJxWGN5dkFUSHNET3ZTamVqcW5Idm1idmNuWmd3YQpT TmR1UXVNLzNpRStlK0VOY1B0anFxaHNHbFMwWENWNnlhTEppeGFtdXl4K0YxNEZUVmh1RWgwQjdo SVFEY1l5ZnhqLy9QVDZ6VzZSCjZEWkp2aHBJYVl2Q2xrMGFFckpwRjhFS2tOYjZlU0pJdjdwN2Fm aHd4L3A2TjlqWURkSjJUMWYva0xmamtkTGQ3OEpndDJjNjNmNnEKblBEVWkzOXlJczdHbjVlMitL K0tvQkNvMmZzWXhyYTFYRkk4aWJZWktuTUJDZzhEc3hKZzhub3ZnZHVqYnY4bU1KZjFpOTJKVjdh dApQYk92SzhXM2RnTHdwZFlybW9ZVUtuTDI0ek9NWFFsTEU5KzdqSFFUVWtzQ0F3RUFBYU9DQWhB d2dnSU1NQThHQTFVZEV3RUIvd1FGCk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQjBHQTFV ZERnUVdCQlJPQys4YXBFQmJwUmRwaHpES05HaEQwRUd1OGpBZkJnTlYKSFNNRUdEQVdnQlJPQys4 YXBFQmJwUmRwaHpES05HaEQwRUd1OGpDQ0FWb0dBMVVkSUFTQ0FWRXdnZ0ZOTUlJQlNRWUxLd1lC QkFHQgp0VGNCQVFFd2dnRTRNQzRHQ0NzR0FRVUZCd0lCRmlKb2RIUndPaTh2ZDNkM0xuTjBZWEow YzNOc0xtTnZiUzl3YjJ4cFkza3VjR1JtCk1EUUdDQ3NHQVFVRkJ3SUJGaWhvZEhSd09pOHZkM2Qz TG5OMFlYSjBjM05zTG1OdmJTOXBiblJsY20xbFpHbGhkR1V1Y0dSbU1JSFAKQmdnckJnRUZCUWND QWpDQndqQW5GaUJUZEdGeWRDQkRiMjF0WlhKamFXRnNJQ2hUZEdGeWRFTnZiU2tnVEhSa0xqQURB Z0VCR29HVwpUR2x0YVhSbFpDQk1hV0ZpYVd4cGRIa3NJSEpsWVdRZ2RHaGxJSE5sWTNScGIyNGdL a3hsWjJGc0lFeHBiV2wwWVhScGIyNXpLaUJ2ClppQjBhR1VnVTNSaGNuUkRiMjBnUTJWeWRHbG1h V05oZEdsdmJpQkJkWFJvYjNKcGRIa2dVRzlzYVdONUlHRjJZV2xzWVdKc1pTQmgKZENCb2RIUndP aTh2ZDNkM0xuTjBZWEowYzNOc0xtTnZiUzl3YjJ4cFkza3VjR1JtTUJFR0NXQ0dTQUdHK0VJQkFR UUVBd0lBQnpBNApCZ2xnaGtnQmh2aENBUTBFS3hZcFUzUmhjblJEYjIwZ1JuSmxaU0JUVTB3Z1Ey VnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt3CkRRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFJ NlA1OXlVZVh6eGhYK2ZTVzlyeWwzN2pQNEV4Y0ZpMFgxQ2lyeFR0NVFEWmpBL3NlY0sKcDFBZ1ZT Vi9kbm9VRGVzRURrRG1QdGlJcXdjbmc2bDFwamR6eC8xTDBrMnRGMERJUnI0N2YxSDh3N1lGTWR6 TmhTSk9jYmZ5Y1Y2dwpHc2E2azR0NGtrcUYrSGdQZy80dnJTejM1S1M3TGREbkRUcTRQczcyZVBh dVJ5VEtvelUyenNmR2g1amE3UHZwc3M0bm00akRCS0gyCkMxbG9yOG5iRUE5TjltUmpYS1VTYjVL eWs1VEhpQmNPazdaK1lvdVFmNnRPbi96amRSUlBLakxmV3czZzlYdVREYXVoejRmaHBRUkYKNkR3 U3BRbkZzTkczVS9OZ0ZMcUZhV29oZkI5MVlSY2dGM3RzTzBFcFhPR3NXdEhOakp2cllCMFo3UGZs c05yNWVSaWxSVDlKUTFmUwozU1RWTEtQOWtZMG50ZVhyRkFhYVRIc2h1enF0TUFZWXdOakJheXgv V1Z4ZGtiRndJbGZyaW10SVN0VVBLZXpHUU1BdmlFeG9BUmQzCjlDUVpUNzM2NGJJZ0lVdmRHdGdw ZmFxNDNsVHNJVldBYkI3MU1NaWpFT1d5NWlvVU1jT0ZMWXlZc1laYVQ0bFpMYm5IOXh6SWluL0EK blFWSzVrSlBZcU50S2FRZmhhdmI1WUhJclNvOVRGMWJoQ1p4eElWZWNTVEtwUnRzMkdIVEd1QlUy ODY2cVRLMUl2WnpRUWxkdUJkZApEZytaa05aSDJtOEtPbUlvRkdlQzJmSFFnRm1ieXpIWW13K01k MDYxYUlyeWJQWWtEaTFzY01WejBkNFUwSEdQdHRON0F2Ymp1TlFKCmJtdWVkWVE1NW44bHBmSklB TUNrQWRvL01ZSUQ1RENDQStBQ0FRRXdnWWt3ZFRFTE1Ba0dBMVVFQmhNQ1NVd3hGakFVQmdOVkJB b1QKRFZOMFlYSjBRMjl0SUV4MFpDNHhLVEFuQmdOVkJBc1RJRk4wWVhKMFEyOXRJRU5sY25ScFpt bGpZWFJwYjI0Z1FYVjBhRzl5YVhSNQpNU013SVFZRFZRUURFeHBUZEdGeWRFTnZiU0JEYkdGemN5 QXhJRU5zYVdWdWRDQkRRUUlRSzQwdWU1bFZUSHAyekliUkc1bVR2VEFKCkJnVXJEZ01DR2dVQW9J SUNMekFZQmdrcWhraUc5dzBCQ1FNeEN3WUpLb1pJaHZjTkFRY0JNQndHQ1NxR1NJYjNEUUVKQlRF UEZ3MHgKTmpBek16RXhNREExTURaYU1DTUdDU3FHU0liM0RRRUpCREVXQkJSYUtTcU5aQWNXOFQw bkdDUlRiUjFLbCtONUJUQ0Jrd1lKS29aSQpodmNOQVFrUE1ZR0ZNSUdDTUFzR0NXQ0dTQUZsQXdR QktqQUxCZ2xnaGtnQlpRTUVBUll3Q2dZSUtvWklodmNOQXdjd0N3WUpZSVpJCkFXVURCQUVDTUE0 R0NDcUdTSWIzRFFNQ0FnSUFnREFOQmdncWhraUc5dzBEQWdJQlFEQUhCZ1VyRGdNQ0dqQUxCZ2xn aGtnQlpRTUUKQWdNd0N3WUpZSVpJQVdVREJBSUNNQXNHQ1dDR1NBRmxBd1FDQVRDQm1nWUpLd1lC QkFHQ054QUVNWUdNTUlHSk1IVXhDekFKQmdOVgpCQVlUQWtsTU1SWXdGQVlEVlFRS0V3MVRkR0Z5 ZEVOdmJTQk1kR1F1TVNrd0p3WURWUVFMRXlCVGRHRnlkRU52YlNCRFpYSjBhV1pwClkyRjBhVzl1 SUVGMWRHaHZjbWwwZVRFak1DRUdBMVVFQXhNYVUzUmhjblJEYjIwZ1EyeGhjM01nTVNCRGJHbGxi blFnUTBFQ0VDdU4KTG51WlZVeDZkc3lHMFJ1Wms3MHdnWndHQ3lxR1NJYjNEUUVKRUFJTE1ZR01v SUdKTUhVeEN6QUpCZ05WQkFZVEFrbE1NUll3RkFZRApWUVFLRXcxVGRHRnlkRU52YlNCTWRHUXVN U2t3SndZRFZRUUxFeUJUZEdGeWRFTnZiU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2CmNtbDBl VEVqTUNFR0ExVUVBeE1hVTNSaGNuUkRiMjBnUTJ4aGMzTWdNU0JEYkdsbGJuUWdRMEVDRUN1Tkxu dVpWVXg2ZHN5RzBSdVoKazcwd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ2dFQVhZcDNYc3BKZzRGMjRh RjM1RFR3cmZVNzhMSWRYeW5FOTI3ZDE5RCtWU05KTTd5Rwp1Q0h1TEJ1MzlMUStBQU1pSGhQMkVI amZhdGV0ZTQ3NUVJWHIyeTdCczZlb1RQNGU0emZqNGhuYk0wNjBGeUx5cTRUdHpzNi9FeHgzCkhh ZFAyN05zekt5azNhZDBFNHJ2MVdDby9WYnZVS2NRRXBMV0xKUVF1YnRRNFNzNm5XMTdsMk9hZ2NL QzNLSHdXNHowVmZINW12RlIKMDh5M0s0U0d3NldPY3llQ3hhMnZkYnhrbUxUUmUxT0FvSEVLNDI4 czNlSEtrVEFJWkFYN2tCYzNuSkZMUDZEQlVrc1gzYVBYWUZ0VApOYXNKZDU0bzlHZCtZTDMzWGxC ZHhxMElGRlN5TndsSmpiU2szb05OYXYzMXhoaGFqWG1CYVY3bURRa1VOM1pWMXdBQUFBQUFBQT09 CgotLS0tLS09X05leHRQYXJ0XzAwMF8wMDA5XzAxRDE4QjQ1LjkwRDdDODgwLS0K --===============5563199162482244771==-- From ykaul at redhat.com Thu Mar 31 06:13:56 2016 Content-Type: multipart/mixed; boundary="===============6809424560665115700==" MIME-Version: 1.0 From: Yaniv Kaul To: users at ovirt.org Subject: Re: [ovirt-users] Reclaim disk space of thin disks Date: Thu, 31 Mar 2016 13:13:14 +0300 Message-ID: In-Reply-To: 6A17C71B52524C408E7AAF69103E9E490F69C38A@fabamailserver.fabagl.fabasoft.com --===============6809424560665115700== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Thu, Mar 31, 2016 at 1:05 PM, Grundmann, Christian < Christian.Grundmann(a)fabasoft.com> wrote: > Hi, > > seems not to work with FC Storage, > > > > I Zero filled the Disk with dd, removed the file and did a fstrim which > told me it trimmed the right amount of space, > > But the disk Image stays full size. > 1. Did you use the hook? 2. Where did you see it's the same size? Should be looked at from the storage side (assuming, btw, it supports discard!) Y. > > Thx > > Christian > > > > *Von:* Yaniv Kaul [mailto:ykaul(a)redhat.com] > *Gesendet:* Mittwoch, 30. M=C3=A4rz 2016 22:29 > *An:* Grundmann, Christian > *Cc:* users(a)ovirt.org > *Betreff:* Re: [ovirt-users] Reclaim disk space of thin disks > > > > > > > > On Wed, Mar 30, 2016 at 10:04 AM, Grundmann, Christian < > Christian.Grundmann(a)fabasoft.com> wrote: > > Hi, > > is there a way to =E2=80=9Eshrink=E2=80=9C a thin disk image to reclaim d= eleted space like > using virt-sparsify? > > > > Yes, if the underlying file system supports it (NFS, for example, might > need to be 4.2 and above). > > > > Or can it be done by making a snapshot and clone the VM to a new one? > > > > Another suggestion: use the VDSM hooks for discard ('diskunmap') and run > 'fstrim' from within the guest. > > Y. > > > > > > Thanks a lot > > Christian > > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > > > --===============6809424560665115700== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPk9uIFRodSwgTWFyIDMxLCAyMDE2IGF0IDE6MDUgUE0sIEdydW5kbWFu biwgQ2hyaXN0aWFuIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOkNocmlzdGlh bi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+Q2hyaXN0aWFuLkdydW5k bWFubkBmYWJhc29mdC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNs YXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFw eCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgbGFuZz0iREUtQVQiIGxpbms9ImJs dWUiIHZsaW5rPSJwdXJwbGUiPjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm cXVvdDssc2Fucy1zZXJpZiI+SGksPHU+PC91Pjx1PjwvdT48L3NwYW4+PC9wPjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPnNlZW1zIG5vdCB0byB3b3Jr IHdpdGggRkMgU3RvcmFnZSw8dT48L3U+PHU+PC91Pjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+PHU+PC91PsKgPHU+PC91Pjwvc3Bh bj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250 LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+ SSBaZXJvIGZpbGxlZCB0aGUgRGlzayB3aXRoIGRkLCByZW1vdmVkIHRoZSBmaWxlIGFuZCBkaWQg YSBmc3RyaW0gd2hpY2ggdG9sZCBtZSBpdCB0cmltbWVkIHRoZSByaWdodCBhbW91bnQgb2Ygc3Bh Y2UsPHU+PC91Pjx1PjwvdT48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxh bmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp YnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkJ1dCB0aGUgZGlzayBJbWFnZSBzdGF5cyBmdWxsIHNpemUu PC9zcGFuPjwvcD48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj4x LiBEaWQgeW91IHVzZSB0aGUgaG9vaz88L2Rpdj48ZGl2PjIuIFdoZXJlIGRpZCB5b3Ugc2VlIGl0 JiMzOTtzIHRoZSBzYW1lIHNpemU/IFNob3VsZCBiZSBsb29rZWQgYXQgZnJvbSB0aGUgc3RvcmFn ZSBzaWRlIChhc3N1bWluZywgYnR3LCBpdCBzdXBwb3J0cyBkaXNjYXJkISk8L2Rpdj48ZGl2Plku PC9kaXY+PGRpdj48YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHls ZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1s ZWZ0OjFleCI+PGRpdiBsYW5nPSJERS1BVCIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSI+PGRp dj48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj48dT48 L3U+PHU+PC91Pjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t VVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv dDssc2Fucy1zZXJpZiI+PHU+PC91PsKgPHU+PC91Pjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+VGh4IDx1PjwvdT48dT48L3U+PC9z cGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm Ij5DaHJpc3RpYW48dT48L3U+PHU+PC91Pjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+PHU+PC91PsKgPHU+PC91Pjwvc3Bhbj48L3A+ PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gbGFuZz0iREUiIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+Vm9uOjwv c3Bhbj48L2I+PHNwYW4gbGFuZz0iREUiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IFlhbml2IEthdWwgW21haWx0bzo8 YSBocmVmPSJtYWlsdG86eWthdWxAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnlrYXVsQHJl ZGhhdC5jb208L2E+XSA8YnI+PGI+R2VzZW5kZXQ6PC9iPiBNaXR0d29jaCwgMzAuIE3DpHJ6IDIw MTYgMjI6Mjk8YnI+PGI+QW46PC9iPiBHcnVuZG1hbm4sIENocmlzdGlhbiAmbHQ7PGEgaHJlZj0i bWFpbHRvOkNocmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+ Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb208L2E+Jmd0Ozxicj48Yj5DYzo8L2I+IDxh IGhyZWY9Im1haWx0bzp1c2Vyc0BvdmlydC5vcmciIHRhcmdldD0iX2JsYW5rIj51c2Vyc0Bvdmly dC5vcmc8L2E+PGJyPjxiPkJldHJlZmY6PC9iPiBSZTogW292aXJ0LXVzZXJzXSBSZWNsYWltIGRp c2sgc3BhY2Ugb2YgdGhpbiBkaXNrczx1PjwvdT48dT48L3U+PC9zcGFuPjwvcD48ZGl2PjxkaXYg Y2xhc3M9Img1Ij48cCBjbGFzcz0iTXNvTm9ybWFsIj48dT48L3U+wqA8dT48L3U+PC9wPjxkaXY+ PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHU+PC91PsKgPHU+PC91PjwvcD48ZGl2PjxwIGNsYXNzPSJN c29Ob3JtYWwiPjx1PjwvdT7CoDx1PjwvdT48L3A+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj5P biBXZWQsIE1hciAzMCwgMjAxNiBhdCAxMDowNCBBTSwgR3J1bmRtYW5uLCBDaHJpc3RpYW4gJmx0 OzxhIGhyZWY9Im1haWx0bzpDaHJpc3RpYW4uR3J1bmRtYW5uQGZhYmFzb2Z0LmNvbSIgdGFyZ2V0 PSJfYmxhbmsiPkNocmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tPC9hPiZndDsgd3JvdGU6 PHU+PC91Pjx1PjwvdT48L3A+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1s ZWZ0OnNvbGlkICNjY2NjY2MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4t bGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtIj48ZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gbGFuZz0iRU4tVVMiPkhpLDwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+aXMgdGhlcmUgYSB3YXkgdG8g4oCec2hy aW5r4oCcIGEgdGhpbiBkaXNrIGltYWdlIHRvIHJlY2xhaW0gZGVsZXRlZCBzcGFjZSBsaWtlIHVz aW5nIHZpcnQtc3BhcnNpZnk/PC9zcGFuPjx1PjwvdT48dT48L3U+PC9wPjwvZGl2PjwvZGl2Pjwv YmxvY2txdW90ZT48ZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPjx1PjwvdT7CoDx1PjwvdT48L3A+ PC9kaXY+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj5ZZXMsIGlmIHRoZSB1bmRlcmx5aW5nIGZp bGUgc3lzdGVtIHN1cHBvcnRzIGl0IChORlMsIGZvciBleGFtcGxlLCBtaWdodCBuZWVkIHRvIGJl IDQuMiBhbmQgYWJvdmUpLjx1PjwvdT48dT48L3U+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9Ik1z b05vcm1hbCI+wqA8dT48L3U+PHU+PC91PjwvcD48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9y ZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI2NjY2NjYyAxLjBwdDtwYWRkaW5nOjBjbSAwY20g MGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPjxkaXY+PGRpdj48 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+T3IgY2FuIGl0IGJlIGRvbmUg YnkgbWFraW5nIGEgc25hcHNob3QgYW5kIGNsb25lIHRoZSBWTSB0byBhIG5ldyBvbmU/PC9zcGFu Pjx1PjwvdT48dT48L3U+PC9wPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PjxwIGNsYXNz PSJNc29Ob3JtYWwiPjx1PjwvdT7CoDx1PjwvdT48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0iTXNv Tm9ybWFsIj5Bbm90aGVyIHN1Z2dlc3Rpb246IHVzZSB0aGUgVkRTTSBob29rcyBmb3IgZGlzY2Fy ZCAoJiMzOTtkaXNrdW5tYXAmIzM5OykgYW5kIHJ1biAmIzM5O2ZzdHJpbSYjMzk7IGZyb20gd2l0 aGluIHRoZSBndWVzdC7CoDx1PjwvdT48dT48L3U+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9Ik1z b05vcm1hbCI+WS48dT48L3U+PHU+PC91PjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjx1PjwvdT7CoDx1PjwvdT48L3A+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpu b25lO2JvcmRlci1sZWZ0OnNvbGlkICNjY2NjY2MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2 LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtIj48ZGl2PjxkaXY+PHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPsKgPC9zcGFuPjx1PjwvdT48dT48L3U+ PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGFua3MgYSBsb3Q8 L3NwYW4+PHU+PC91Pjx1PjwvdT48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i RU4tVVMiIHN0eWxlPSJjb2xvcjojODg4ODg4Ij5DaHJpc3RpYW48L3NwYW4+PHNwYW4gc3R5bGU9 ImNvbG9yOiM4ODg4ODgiPjx1PjwvdT48dT48L3U+PC9zcGFuPjwvcD48L2Rpdj48L2Rpdj48cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQiPjxicj5fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj5Vc2VycyBtYWlsaW5n IGxpc3Q8YnI+PGEgaHJlZj0ibWFpbHRvOlVzZXJzQG92aXJ0Lm9yZyIgdGFyZ2V0PSJfYmxhbmsi PlVzZXJzQG92aXJ0Lm9yZzwvYT48YnI+PGEgaHJlZj0iaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3VzZXJzIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xpc3RzLm92aXJ0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzPC9hPjx1PjwvdT48dT48L3U+PC9wPjwvYmxvY2tx dW90ZT48L2Rpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj48dT48L3U+wqA8dT48L3U+PC9wPjwvZGl2 PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9k aXY+PC9kaXY+Cg== --===============6809424560665115700==-- From Christian.Grundmann at fabasoft.com Thu Mar 31 06:16:35 2016 Content-Type: multipart/mixed; boundary="===============3372508955455923365==" MIME-Version: 1.0 From: Grundmann, Christian To: users at ovirt.org Subject: Re: [ovirt-users] Reclaim disk space of thin disks Date: Thu, 31 Mar 2016 10:16:33 +0000 Message-ID: <6A17C71B52524C408E7AAF69103E9E490F69C414@fabamailserver.fabagl.fabasoft.com> In-Reply-To: CAJgorsY3spyLHRSyDaqz=-3qVjXSUXTz7ubQ1wHox37qnqL3aQ@mail.gmail.com --===============3372508955455923365== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ------=3D_NextPart_000_0016_01D18B47.2A0514D0 Content-Type: multipart/alternative; boundary=3D"----=3D_NextPart_001_0017_01D18B47.2A0514D0" ------=3D_NextPart_001_0017_01D18B47.2A0514D0 Content-Type: text/plain; charset=3D"utf-8" Content-Transfer-Encoding: quoted-printable Hi, @1. Did you use the hook? yes, without the hook fstrim would not start, @2. Where did you see it's the same size? Should be looked at from the =3D storage side (assuming, btw, it supports discard!) I looked at the =3DE2=3D80=3D9Cactual Size=3DE2=3D80=3D9D under Storage =3D20 I don=3DE2=3D80=3D99t know how ovirt handles FC storage and if this will al= low =3D discard. =3D20 Thx=3D20 Christian =3D20 =3D20 Von: Yaniv Kaul [mailto:ykaul(a)redhat.com]=3D20 Gesendet: Donnerstag, 31. M=3DC3=3DA4rz 2016 12:13 An: Grundmann, Christian Cc: users(a)ovirt.org Betreff: Re: [ovirt-users] Reclaim disk space of thin disks =3D20 =3D20 =3D20 On Thu, Mar 31, 2016 at 1:05 PM, Grundmann, Christian =3D > wrote: Hi, seems not to work with FC Storage, =3D20 I Zero filled the Disk with dd, removed the file and did a fstrim which =3D told me it trimmed the right amount of space, But the disk Image stays full size. =3D20 1. Did you use the hook? 2. Where did you see it's the same size? Should be looked at from the =3D storage side (assuming, btw, it supports discard!) Y. =3D20 =3D20 Thx=3D20 Christian =3D20 Von: Yaniv Kaul [mailto:ykaul(a)redhat.com ]=3D= 20 Gesendet: Mittwoch, 30. M=3DC3=3DA4rz 2016 22:29 An: Grundmann, Christian > Cc: users(a)ovirt.org =3D20 Betreff: Re: [ovirt-users] Reclaim disk space of thin disks =3D20 =3D20 =3D20 On Wed, Mar 30, 2016 at 10:04 AM, Grundmann, Christian =3D > wrote: Hi, is there a way to =3DE2=3D80=3D9Eshrink=3DE2=3D80=3D9C a thin disk image to= reclaim =3D deleted space like using virt-sparsify? =3D20 Yes, if the underlying file system supports it (NFS, for example, might =3D need to be 4.2 and above). =3D20 Or can it be done by making a snapshot and clone the VM to a new one? =3D20 Another suggestion: use the VDSM hooks for discard ('diskunmap') and run = =3D 'fstrim' from within the guest.=3D20 Y. =3D20 =3D20 Thanks a lot Christian _______________________________________________ Users mailing list Users(a)ovirt.org =3D20 http://lists.ovirt.org/mailman/listinfo/users =3D20 =3D20 ------=3D_NextPart_001_0017_01D18B47.2A0514D0 Content-Type: text/html; charset=3D"utf-8" Content-Transfer-Encoding: quoted-printable

Hi,

@1. Did you use the hook?

yes, without the hook fstrim would not =3D start,

@2. Where did you see it's the same size? Should be looked = =3D at from the storage side (assuming, btw, it supports =3D discard!)

I looked at the =3DE2=3D80=3D9Cactual Size=3DE2=3D80=3D9D und= er =3D Storage

 

I don=3DE2=3D80=3D99t know how ovirt handles FC storage and i= f =3D this will allow discard.

 

Thx

Christian

 

 

Von: Yaniv Kaul = =3D [mailto:ykaul(a)redhat.com]
Gesendet: Donnerstag, 31. M=3DC3=3DA= 4rz =3D 2016 12:13
An: Grundmann, Christian =3D <Christian.Grundmann(a)fabasoft.com>
Cc: =3D users(a)ovirt.org
Betreff: Re: [ovirt-users] Reclaim disk space = =3D of thin disks

 

 

 

On Thu= , =3D Mar 31, 2016 at 1:05 PM, Grundmann, Christian <Christian.Grundmann(a)fabasoft.com> =3D wrote:

Hi,

seems not to = =3D work with FC Storage,

 = =3D

I Zero =3D filled the Disk with dd, removed the file and did a fstrim which told me = =3D it trimmed the right amount of space,

But the disk = =3D Image stays full =3D size.

 

1. Did you use the hook?

2. Where did you see it's the same size? Should be =3D looked at from the storage side (assuming, btw, it supports =3D discard!)

Y.

 

 = =3D

Thx =3D

Christian

 = =3D

Von: Yaniv Kaul = =3D [mailto:ykaul(a)redhat.com]
Gesendet: Mittwoch, = =3D 30. M=3DC3=3DA4rz 2016 22:29
An: Grundmann, Christian <Christian.Grundmann(a)fabasoft.com>
Cc: =3D users(a)ovirt.org
Betreff: Re: =3D [ovirt-users] Reclaim disk space of thin =3D disks

 <= =3D /o:p>

 <= =3D /o:p>

 <= =3D /o:p>

On Wed, Mar = =3D 30, 2016 at 10:04 AM, Grundmann, Christian <Christian.Grundmann(a)fabasoft.com> =3D wrote:

Hi,

is there a way to =3DE2=3D80=3D9Eshrink=3DE2=3D80=3D9C a thi= n disk =3D image to reclaim deleted space like using =3D virt-sparsify?

 <= =3D /o:p>

Yes, if the = =3D underlying file system supports it (NFS, for example, might need to be =3D 4.2 and above).

 <= =3D /o:p>

Or can it be done by making a snapshot and clone the VM to = =3D a new one?

 <= =3D /o:p>

Another =3D suggestion: use the VDSM hooks for discard ('diskunmap') and run =3D 'fstrim' from within the guest. 

Y.

 <= =3D /o:p>

 

Thanks a lot

Christian


______________= =3D _________________________________
Users mailing list
Users(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/users<= =3D /o:p>

 <= =3D /o:p>

 

------=3D_NextPart_001_0017_01D18B47.2A0514D0-- ------=3D_NextPart_000_0016_01D18B47.2A0514D0 Content-Type: application/pkcs7-signature; name=3D"smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=3D"smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIISkjCCBR0w ggQFoAMCAQICECuNLnuZVUx6dsyG0RuZk70wDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCSUwx FjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g QXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQTAeFw0xNjAyMDkx NDAyMDNaFw0xNzAyMDkxNDAyMDNaMFwxKTAnBgNVBAMMIGNocmlzdGlhbi5ncnVuZG1hbm5AZmFi YXNvZnQuY29tMS8wLQYJKoZIhvcNAQkBFiBjaHJpc3RpYW4uZ3J1bmRtYW5uQGZhYmFzb2Z0LmNv bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMSXN+Y9o0GeYdHtPJMREJ8RKlJKPKv+ 9IQGXFUkCmo3e2TdExbAVeckzKSHLyKQp7dUDNkTbH3fIEAsrl4MHasJ885dI9vwoF/j8D43SmvK e2CfG5C5CG5mHoilx8OfKeun0uRoQ3HYz3rg8Bw7xWZ7OcR3FKMNHkQj3AAcs7SXsgTQ5zMm5siI QnKQxeKt4CP9+3y598FQka7l+HggIvM58ufaGBLbQjlC1qNjSObxMQbtSBlVFxDr3Lbol5N560iQ zvNn/0zti1H6nRqZwfMtHFe8uLAIn2V09WC8m8qL7gN5GpfthVHRUSXta3FnFu0Ux3dXG+CdqkFR g+MQZ2kCAwEAAaOCAcAwggG8MAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB BQUHAwQwCQYDVR0TBAIwADAdBgNVHQ4EFgQUuxqfYToDcp+2hlegIBv/4UOIAzEwHwYDVR0jBBgw FoAUJIFsOWG+SQ+PtxtGK8kotSdIbWgwbwYIKwYBBQUHAQEEYzBhMCQGCCsGAQUFBzABhhhodHRw Oi8vb2NzcC5zdGFydHNzbC5jb20wOQYIKwYBBQUHMAKGLWh0dHA6Ly9haWEuc3RhcnRzc2wuY29t L2NlcnRzL3NjYS5jbGllbnQxLmNydDA4BgNVHR8EMTAvMC2gK6AphidodHRwOi8vY3JsLnN0YXJ0 c3NsLmNvbS9zY2EtY2xpZW50MS5jcmwwKwYDVR0RBCQwIoEgY2hyaXN0aWFuLmdydW5kbWFubkBm YWJhc29mdC5jb20wIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMEYGA1UdIAQ/ MD0wOwYLKwYBBAGBtTcBAgQwLDAqBggrBgEFBQcCARYeaHR0cDovL3d3dy5zdGFydHNzbC5jb20v cG9saWN5MA0GCSqGSIb3DQEBCwUAA4IBAQALbgNP3IjDHG+7Gt+grj1LpmAfqe47LtP4p8Qze3VU qowcg+pKhdFMyLpvEMdDf873N7RHSQG927zSkN3FikHKiAbZGS0c3wdZvLuKLgqRDVoG/5rgeU45 Ai0hjNwOodbAbUWfl2frWFVOAQdWThjUSulBL3go9J1Ws8VT+VxRFEcsc3J8OtuNfzdG5DHejt5l PBZ91RkJN487WSG5scamKEG0bOHrBvClOtmhNs8GZt5Gjk6dqmYZ8MfVW0ZxVBnNrbwZGIlP0Z/q +MplyxQeO+6O7uH1SArQ2smTaIFWcs24d/JMLGLO1sw6ITRjMyxJm1HYbtf+01TRdiW4UV+kMIIF 4jCCA8qgAwIBAgIQa6eKfQrXiNZRCvlZ5Oe04TANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJ TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlm aWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMTUxMjE2MDEwMDA1WhcNMzAxMjE2MDEwMDA1WjB1MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx IzAhBgNVBAMTGlN0YXJ0Q29tIENsYXNzIDEgQ2xpZW50IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAvX3a98OifYP2W4L921tfrh4bdcC1Ga+YJKy7V3nYNewJHnzMlBsK0Hb8Dm4W o3FZpylcYa1MJGT10QMGWaLER3xCIuRR+8eklf/EqeZWRLojJ7zBRtjMywPOCelrOU+DX12dKp+E z4J6919rz1UudTO1GvZyCYJ/I7062uHsskM8b7gPxmcCoO1UHwwpgkvpCArJWGFoFzjLdsZbErJc S3HtAhlkbE/BKTMrdYg35Uo12SLBO5tbk8h2imbKTC8iMs+pskrvI/AVlh6QoTTXk6xboVX6zgMg zxSVVLymQiygYYm0y5aMsvi2raFhC643SOGvErWWPPnSEfbeAD1xswIDAQABo4IBZDCCAWAwDgYD VR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDASBgNVHRMBAf8ECDAG AQH/AgEAMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL3Nmc2NhLmNy bDBmBggrBgEFBQcBAQRaMFgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTAw BggrBgEFBQcwAoYkaHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvY2EuY3J0MB0GA1UdDgQW BBQkgWw5Yb5JD4+3G0YrySi1J0htaDAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jA/ BgNVHSAEODA2MDQGBFUdIAAwLDAqBggrBgEFBQcCARYeaHR0cDovL3d3dy5zdGFydHNzbC5jb20v cG9saWN5MA0GCSqGSIb3DQEBCwUAA4ICAQCL4/eH7AGLhK0PAQJbnOEjJyMEvTTwcAJuUh/bodjQ l06u4putYOxdSyIjSP/sKt+31LmjG8+IO1WqykE4H/Lm7NKezWVnCHuwb3ptgFmlwbMbGkU2MOZB twzfKXdYUhFLhaE2uw5jXhXvLYitQay962wP5uPI6eAIhV4L8aaya1u4s7MnrTq0Rz25FuGNO79v THYWj797tSRC8rM16js4yGKOLFpQvIg0F8IElv57b1stp+C7omqM5Qn15dePbSnqr8Jb65WtmJJb nv6rlqfY/aLuE/zmNAlzLmPgfMDStKIXdg+EoYBZTEo8wBUaBxihfNbJ069ndQOxMNNqBelEMgpA tmjTbCuXFjqIwWq+XOx6ZV/Wh2FAmaLsSHlNvEjjSQMZwE4EeHCdo66ZmEs/5JYlCeOkulKVQ6P3 m5/XOj2jP17Q2AgmjP+11+sHN7PvrG0OwrQp9QMe3X+rn0G8MjtFfqBWvR9CgLIxzM3MJNxFdgdj S2rYnShP5uxvqwfZvhZVYCIkqdJhpYON0DvSodfiar0wiM79mySZJjzC0CTbiisBzS/BeBhqeo2w Ffli/iw3hn1XKvAx0ty6w/scmBF0AYqmRHYj1TjMSw0lAl7AztLglqWjUPI+sukvadMRPxmtKXlS 2nVR4an/Z16imsZ69+fFYH68c1CK7zmjozCCB4cwggVvoAMCAQICAS0wDQYJKoZIhvcNAQELBQAw fTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBE aWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MB4XDTA2MDkxNzE5NDYzN1oXDTM2MDkxNzE5NDYzNlowfTELMAkGA1UEBhMC SUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRp ZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwYjbCbxsRnx4n5V7tTOQ8nJi1sE2ICIk Xs7pd/JDCqIGZKTMjjb4OOYj8G5tsTzdcqOFHKHTPbQzK9Mvr/7qsEFZZ7bEBn0KnnSF1nlMgDd6 3zkFUln39BtGQ6TShYXSw3HzdWI0uiyKfx6P7u000BHHls1SPboz1t1N3gs7SkufwiYv+rUWHHI1 d8o8XebK4SaLGjZ2XAHbdBQl/u21oIgP3XjKLR8HlzABLXJ5+kbWEyqouaarg0kd5fLv3eQBjhgK j2NTFoViqQ4ZOsy1ZqbCa3QH5Cvhdj60bdj2ROFzYh87xL6gU1YlbFEJ96qryr92/W2b853bvz1m vAxWqq+YSJU6S9+nWFDZOHWpW+pDDAL/mevobE1wWyllnN2qXcyvATHsDOvSjejqnHvmbvcnZgwa SNduQuM/3iE+e+ENcPtjqqhsGlS0XCV6yaLJixamuyx+F14FTVhuEh0B7hIQDcYyfxj//PT6zW6R 6DZJvhpIaYvClk0aErJpF8EKkNb6eSJIv7p7afhwx/p6N9jYDdJ2T1f/kLfjkdLd78Jgt2c63f6q nPDUi39yIs7Gn5e2+K+KoBCo2fsYxra1XFI8ibYZKnMBCg8DsxJg8novgdujbv8mMJf1i92JV7at PbOvK8W3dgLwpdYrmoYUKnL24zOMXQlLE9+7jHQTUksCAwEAAaOCAhAwggIMMA8GA1UdEwEB/wQF MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBROC+8apEBbpRdphzDKNGhD0EGu8jAfBgNV HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jCCAVoGA1UdIASCAVEwggFNMIIBSQYLKwYBBAGB tTcBAQEwggE4MC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRm MDQGCCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIHP BggrBgEFBQcCAjCBwjAnFiBTdGFydCBDb21tZXJjaWFsIChTdGFydENvbSkgTHRkLjADAgEBGoGW TGltaXRlZCBMaWFiaWxpdHksIHJlYWQgdGhlIHNlY3Rpb24gKkxlZ2FsIExpbWl0YXRpb25zKiBv ZiB0aGUgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUG9saWN5IGF2YWlsYWJsZSBh dCBodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMBEGCWCGSAGG+EIBAQQEAwIABzA4 BglghkgBhvhCAQ0EKxYpU3RhcnRDb20gRnJlZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw DQYJKoZIhvcNAQELBQADggIBAI6P59yUeXzxhX+fSW9ryl37jP4ExcFi0X1CirxTt5QDZjA/secK p1AgVSV/dnoUDesEDkDmPtiIqwcng6l1pjdzx/1L0k2tF0DIRr47f1H8w7YFMdzNhSJOcbfycV6w Gsa6k4t4kkqF+HgPg/4vrSz35KS7LdDnDTq4Ps72ePauRyTKozU2zsfGh5ja7Pvpss4nm4jDBKH2 C1lor8nbEA9N9mRjXKUSb5Kyk5THiBcOk7Z+YouQf6tOn/zjdRRPKjLfWw3g9XuTDauhz4fhpQRF 6DwSpQnFsNG3U/NgFLqFaWohfB91YRcgF3tsO0EpXOGsWtHNjJvrYB0Z7PflsNr5eRilRT9JQ1fS 3STVLKP9kY0nteXrFAaaTHshuzqtMAYYwNjBayx/WVxdkbFwIlfrimtIStUPKezGQMAviExoARd3 9CQZT7364bIgIUvdGtgpfaq43lTsIVWAbB71MMijEOWy5ioUMcOFLYyYsYZaT4lZLbnH9xzIin/A nQVK5kJPYqNtKaQfhavb5YHIrSo9TF1bhCZxxIVecSTKpRts2GHTGuBU2866qTK1IvZzQQlduBdd Dg+ZkNZH2m8KOmIoFGeC2fHQgFmbyzHYmw+Md061aIrybPYkDi1scMVz0d4U0HGPttN7AvbjuNQJ bmuedYQ55n8lpfJIAMCkAdo/MYID5DCCA+ACAQEwgYkwdTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT DVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQQIQK40ue5lVTHp2zIbRG5mTvTAJ BgUrDgMCGgUAoIICLzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0x NjAzMzExMDE2MzNaMCMGCSqGSIb3DQEJBDEWBBRItN2C8hUgHFchRlLa3IFIfKmLITCBkwYJKoZI hvcNAQkPMYGFMIGCMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCgYIKoZIhvcNAwcwCwYJYIZI AWUDBAECMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCGjALBglghkgBZQME AgMwCwYJYIZIAWUDBAICMAsGCWCGSAFlAwQCATCBmgYJKwYBBAGCNxAEMYGMMIGJMHUxCzAJBgNV BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECuN LnuZVUx6dsyG0RuZk70wgZwGCyqGSIb3DQEJEAILMYGMoIGJMHUxCzAJBgNVBAYTAklMMRYwFAYD VQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECuNLnuZVUx6dsyG0RuZ k70wDQYJKoZIhvcNAQEBBQAEggEAmV/igtecpTYKl3aqeOqVVmCgWdUC4T4je9FceWWvTp2dAXzO UAdXTM+YW5KhlH8UAzpM4NTqI5iEGgvRhYdufPgWy9HzK5ymbTfD16QjrrkOR+B3rpWgJq9haHry GJCAU3uU/Tx7TO7EJ3dGKmbm8kdkLMC1zXsNI6avf1ALuDDjyUxmi5EADww5O8ucp+MJv3oJIFye YXNKsKpTDZj0V3gHFxeFT27lqZ+uS2ijCWGQrPkDEUSlmQvBgX564fC8Rk+yowpX1/t6znFaTwJ8 4tB9cDYgYlv9qe7qKeJl4YacQuB5+5yR4G6CozQ4Gtj7j4/tUQS5ezcqLxJaZok1IAAAAAAAAA= =3D=3D ------=3D_NextPart_000_0016_01D18B47.2A0514D0-- --===============3372508955455923365== Content-Type: multipart/signed MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS0tLS0tPV9OZXh0UGFydF8wMDBfMDAxNl8wMUQxOEI0Ny4yQTA1MTREMApDb250ZW50LVR5cGU6 IG11bHRpcGFydC9hbHRlcm5hdGl2ZTsKCWJvdW5kYXJ5PSItLS0tPV9OZXh0UGFydF8wMDFfMDAx N18wMUQxOEI0Ny4yQTA1MTREMCIKCgotLS0tLS09X05leHRQYXJ0XzAwMV8wMDE3XzAxRDE4QjQ3 LjJBMDUxNEQwCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsKCWNoYXJzZXQ9InV0Zi04IgpDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCgpIaSwKCkAxLiBEaWQgeW91 IHVzZSB0aGUgaG9vaz8KCnllcywgd2l0aG91dCB0aGUgaG9vayBmc3RyaW0gd291bGQgbm90IHN0 YXJ0LAoKQDIuIFdoZXJlIGRpZCB5b3Ugc2VlIGl0J3MgdGhlIHNhbWUgc2l6ZT8gU2hvdWxkIGJl IGxvb2tlZCBhdCBmcm9tIHRoZSA9CnN0b3JhZ2Ugc2lkZSAoYXNzdW1pbmcsIGJ0dywgaXQgc3Vw cG9ydHMgZGlzY2FyZCEpCgpJIGxvb2tlZCBhdCB0aGUgPUUyPTgwPTlDYWN0dWFsIFNpemU9RTI9 ODA9OUQgdW5kZXIgU3RvcmFnZQoKPTIwCgpJIGRvbj1FMj04MD05OXQga25vdyBob3cgb3ZpcnQg aGFuZGxlcyBGQyBzdG9yYWdlIGFuZCBpZiB0aGlzIHdpbGwgYWxsb3cgPQpkaXNjYXJkLgoKPTIw CgpUaHg9MjAKCkNocmlzdGlhbgoKPTIwCgo9MjAKClZvbjogWWFuaXYgS2F1bCBbbWFpbHRvOnlr YXVsQHJlZGhhdC5jb21dPTIwCkdlc2VuZGV0OiBEb25uZXJzdGFnLCAzMS4gTT1DMz1BNHJ6IDIw MTYgMTI6MTMKQW46IEdydW5kbWFubiwgQ2hyaXN0aWFuIDxDaHJpc3RpYW4uR3J1bmRtYW5uQGZh YmFzb2Z0LmNvbT4KQ2M6IHVzZXJzQG92aXJ0Lm9yZwpCZXRyZWZmOiBSZTogW292aXJ0LXVzZXJz XSBSZWNsYWltIGRpc2sgc3BhY2Ugb2YgdGhpbiBkaXNrcwoKPTIwCgo9MjAKCj0yMAoKT24gVGh1 LCBNYXIgMzEsIDIwMTYgYXQgMTowNSBQTSwgR3J1bmRtYW5uLCBDaHJpc3RpYW4gPQo8Q2hyaXN0 aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb20gPQo8bWFpbHRvOkNocmlzdGlhbi5HcnVuZG1hbm5A ZmFiYXNvZnQuY29tPiA+IHdyb3RlOgoKSGksCgpzZWVtcyBub3QgdG8gd29yayB3aXRoIEZDIFN0 b3JhZ2UsCgo9MjAKCkkgWmVybyBmaWxsZWQgdGhlIERpc2sgd2l0aCBkZCwgcmVtb3ZlZCB0aGUg ZmlsZSBhbmQgZGlkIGEgZnN0cmltIHdoaWNoID0KdG9sZCBtZSBpdCB0cmltbWVkIHRoZSByaWdo dCBhbW91bnQgb2Ygc3BhY2UsCgpCdXQgdGhlIGRpc2sgSW1hZ2Ugc3RheXMgZnVsbCBzaXplLgoK PTIwCgoxLiBEaWQgeW91IHVzZSB0aGUgaG9vaz8KCjIuIFdoZXJlIGRpZCB5b3Ugc2VlIGl0J3Mg dGhlIHNhbWUgc2l6ZT8gU2hvdWxkIGJlIGxvb2tlZCBhdCBmcm9tIHRoZSA9CnN0b3JhZ2Ugc2lk ZSAoYXNzdW1pbmcsIGJ0dywgaXQgc3VwcG9ydHMgZGlzY2FyZCEpCgpZLgoKPTIwCgo9MjAKClRo eD0yMAoKQ2hyaXN0aWFuCgo9MjAKClZvbjogWWFuaXYgS2F1bCBbbWFpbHRvOnlrYXVsQHJlZGhh dC5jb20gPG1haWx0bzp5a2F1bEByZWRoYXQuY29tPiBdPTIwCkdlc2VuZGV0OiBNaXR0d29jaCwg MzAuIE09QzM9QTRyeiAyMDE2IDIyOjI5CkFuOiBHcnVuZG1hbm4sIENocmlzdGlhbiA8Q2hyaXN0 aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb20gPQo8bWFpbHRvOkNocmlzdGlhbi5HcnVuZG1hbm5A ZmFiYXNvZnQuY29tPiA+CkNjOiB1c2Vyc0BvdmlydC5vcmcgPG1haWx0bzp1c2Vyc0BvdmlydC5v cmc+PTIwCkJldHJlZmY6IFJlOiBbb3ZpcnQtdXNlcnNdIFJlY2xhaW0gZGlzayBzcGFjZSBvZiB0 aGluIGRpc2tzCgo9MjAKCj0yMAoKPTIwCgpPbiBXZWQsIE1hciAzMCwgMjAxNiBhdCAxMDowNCBB TSwgR3J1bmRtYW5uLCBDaHJpc3RpYW4gPQo8Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5j b20gPQo8bWFpbHRvOkNocmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tPiA+IHdyb3RlOgoK SGksCgppcyB0aGVyZSBhIHdheSB0byA9RTI9ODA9OUVzaHJpbms9RTI9ODA9OUMgYSB0aGluIGRp c2sgaW1hZ2UgdG8gcmVjbGFpbSA9CmRlbGV0ZWQgc3BhY2UgbGlrZSB1c2luZyB2aXJ0LXNwYXJz aWZ5PwoKPTIwCgpZZXMsIGlmIHRoZSB1bmRlcmx5aW5nIGZpbGUgc3lzdGVtIHN1cHBvcnRzIGl0 IChORlMsIGZvciBleGFtcGxlLCBtaWdodCA9Cm5lZWQgdG8gYmUgNC4yIGFuZCBhYm92ZSkuCgo9 MjAKCk9yIGNhbiBpdCBiZSBkb25lIGJ5IG1ha2luZyBhIHNuYXBzaG90IGFuZCBjbG9uZSB0aGUg Vk0gdG8gYSBuZXcgb25lPwoKPTIwCgpBbm90aGVyIHN1Z2dlc3Rpb246IHVzZSB0aGUgVkRTTSBo b29rcyBmb3IgZGlzY2FyZCAoJ2Rpc2t1bm1hcCcpIGFuZCBydW4gPQonZnN0cmltJyBmcm9tIHdp dGhpbiB0aGUgZ3Vlc3QuPTIwCgpZLgoKPTIwCgo9MjAKClRoYW5rcyBhIGxvdAoKQ2hyaXN0aWFu CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVXNlcnMg bWFpbGluZyBsaXN0ClVzZXJzQG92aXJ0Lm9yZyA8bWFpbHRvOlVzZXJzQG92aXJ0Lm9yZz49MjAK aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzCgo9MjAKCj0yMAoK Ci0tLS0tLT1fTmV4dFBhcnRfMDAxXzAwMTdfMDFEMThCNDcuMkEwNTE0RDAKQ29udGVudC1UeXBl OiB0ZXh0L2h0bWw7CgljaGFyc2V0PSJ1dGYtOCIKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog cXVvdGVkLXByaW50YWJsZQoKPGh0bWwgeG1sbnM6dj0zRCJ1cm46c2NoZW1hcy1taWNyb3NvZnQt Y29tOnZtbCIgPQp4bWxuczpvPTNEInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9m ZmljZSIgPQp4bWxuczp3PTNEInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOndvcmQi ID0KeG1sbnM6bT0zRCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEy L29tbWwiID0KeG1sbnM9M0QiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+PGhlYWQ+ PG1ldGEgPQpodHRwLWVxdWl2PTNEQ29udGVudC1UeXBlIGNvbnRlbnQ9M0QidGV4dC9odG1sOyBj aGFyc2V0PTNEdXRmLTgiPjxtZXRhID0KbmFtZT0zREdlbmVyYXRvciBjb250ZW50PTNEIk1pY3Jv c29mdCBXb3JkIDE1IChmaWx0ZXJlZCA9Cm1lZGl1bSkiPjxzdHlsZT48IS0tCi8qIEZvbnQgRGVm aW5pdGlvbnMgKi8KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7CglwYW5vc2UtMToy IDE1IDUgMiAyIDIgNCAzIDIgNDt9Ci8qIFN0eWxlIERlZmluaXRpb25zICovCnAuTXNvTm9ybWFs LCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwKCXttYXJnaW46MGNtOwoJbWFyZ2luLWJvdHRv bTouMDAwMXB0OwoJZm9udC1zaXplOjEyLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9t YW4iLHNlcmlmO30KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluawoJe21zby1zdHlsZS1wcmlvcml0 eTo5OTsKCWNvbG9yOmJsdWU7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30KYTp2aXNpdGVk LCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJY29s b3I6cHVycGxlOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CnAubXNvbm9ybWFsMCwgbGku bXNvbm9ybWFsMCwgZGl2Lm1zb25vcm1hbDAKCXttc28tc3R5bGUtbmFtZTptc29ub3JtYWw7Cglt c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKCW1hcmdpbi1yaWdodDowY207Cgltc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0bzsKCW1hcmdpbi1sZWZ0OjBjbTsKCWZvbnQtc2l6ZToxMi4wcHQ7Cglmb250 LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9CnNwYW4uRS1NYWlsRm9ybWF0dm9ybGFn ZTE4Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7Cglmb250LWZhbWlseToiQ2FsaWJy aSIsc2Fucy1zZXJpZjsKCWNvbG9yOndpbmRvd3RleHQ7fQouTXNvQ2hwRGVmYXVsdAoJe21zby1z dHlsZS10eXBlOmV4cG9ydC1vbmx5OwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7 Cgltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUzt9CkBwYWdlIFdvcmRTZWN0aW9uMQoJe3NpemU6 NjEyLjBwdCA3OTIuMHB0OwoJbWFyZ2luOjcwLjg1cHQgNzAuODVwdCAyLjBjbSA3MC44NXB0O30K ZGl2LldvcmRTZWN0aW9uMQoJe3BhZ2U6V29yZFNlY3Rpb24xO30KLS0+PC9zdHlsZT48IS0tW2lm IGd0ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0zRCJlZGl0IiBzcGlkbWF4 PTNEIjEwMjYiIC8+CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgo8 bzpzaGFwZWxheW91dCB2OmV4dD0zRCJlZGl0Ij4KPG86aWRtYXAgdjpleHQ9M0QiZWRpdCIgZGF0 YT0zRCIxIiAvPgo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+PC9oZWFkPjxib2R5 IGxhbmc9M0RERS1BVCBsaW5rPTNEYmx1ZSA9CnZsaW5rPTNEcHVycGxlPjxkaXYgY2xhc3M9M0RX b3JkU2VjdGlvbjE+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpz dHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlm O21zby1mYXJlYXN0LWxhPQpuZ3VhZ2U6RU4tVVMnPkhpLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD48 cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQt c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7bXNvLWZhcmVhc3Qt bGE9Cm5ndWFnZTpFTi1VUyc+QDEuIERpZCB5b3UgdXNlIHRoZSBob29rPzxvOnA+PC9vOnA+PC9z cGFuPjwvcD48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxzcGFuIGxhbmc9M0RFTi1VUyA9CnN0eWxl PTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7bXNv LWZhcmVhc3QtbGE9Cm5ndWFnZTpFTi1VUyc+eWVzLCB3aXRob3V0IHRoZSBob29rIGZzdHJpbSB3 b3VsZCBub3QgPQpzdGFydCw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3Jt YWw+PHNwYW4gbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYT0Kbmd1YWdlOkVOLVVTJz5A Mi4gV2hlcmUgZGlkIHlvdSBzZWUgaXQncyB0aGUgc2FtZSBzaXplPyBTaG91bGQgYmUgbG9va2Vk ID0KYXQgZnJvbSB0aGUgc3RvcmFnZSBzaWRlIChhc3N1bWluZywgYnR3LCBpdCBzdXBwb3J0cyA9 CmRpc2NhcmQhKTxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3Bh biBsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJD YWxpYnJpIixzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhPQpuZ3VhZ2U6RU4tVVMnPkkgbG9va2Vk IGF0IHRoZSA9RTI9ODA9OUNhY3R1YWwgU2l6ZT1FMj04MD05RCB1bmRlciA9ClN0b3JhZ2U8bzpw PjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gbGFuZz0zREVOLVVT ID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z ZXJpZjttc28tZmFyZWFzdC1sYT0Kbmd1YWdlOkVOLVVTJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh bj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0z RCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO21zby1m YXJlYXN0LWxhPQpuZ3VhZ2U6RU4tVVMnPkkgZG9uPUUyPTgwPTk5dCBrbm93IGhvdyBvdmlydCBo YW5kbGVzIEZDIHN0b3JhZ2UgYW5kIGlmID0KdGhpcyB3aWxsIGFsbG93IGRpc2NhcmQuPG86cD48 L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxzcGFuID0KbGFuZz0zREVOLVVT ID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z ZXJpZjttc28tZmFyZWFzdC1sYT0Kbmd1YWdlOkVOLVVTJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh bj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0z RCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO21zby1m YXJlYXN0LWxhPQpuZ3VhZ2U6RU4tVVMnPlRoeCA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xh c3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhPQpu Z3VhZ2U6RU4tVVMnPkNocmlzdGlhbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1z b05vcm1hbD48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7 Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGE9Cm5ndWFnZTpF Ti1VUyc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxz cGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMn PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxiPjxz cGFuIGxhbmc9M0RERSA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNh bGlicmkiLHNhbnMtc2VyaWYnPlZvbjo8L3NwYW4+PC89CmI+PHNwYW4gbGFuZz0zRERFID0Kc3R5 bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZic+ IFlhbml2IEthdWwgPQpbbWFpbHRvOnlrYXVsQHJlZGhhdC5jb21dIDxicj48Yj5HZXNlbmRldDo8 L2I+IERvbm5lcnN0YWcsIDMxLiBNPUMzPUE0cnogPQoyMDE2IDEyOjEzPGJyPjxiPkFuOjwvYj4g R3J1bmRtYW5uLCBDaHJpc3RpYW4gPQombHQ7Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5j b20mZ3Q7PGJyPjxiPkNjOjwvYj4gPQp1c2Vyc0BvdmlydC5vcmc8YnI+PGI+QmV0cmVmZjo8L2I+ IFJlOiBbb3ZpcnQtdXNlcnNdIFJlY2xhaW0gZGlzayBzcGFjZSA9Cm9mIHRoaW4gZGlza3M8bzpw PjwvbzpwPjwvc3Bhbj48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpw PjwvcD48ZGl2PjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PGRp dj48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxkaXY+PHAgY2xh c3M9M0RNc29Ob3JtYWw+T24gVGh1LCA9Ck1hciAzMSwgMjAxNiBhdCAxOjA1IFBNLCBHcnVuZG1h bm4sIENocmlzdGlhbiAmbHQ7PGEgPQpocmVmPTNEIm1haWx0bzpDaHJpc3RpYW4uR3J1bmRtYW5u QGZhYmFzb2Z0LmNvbSIgPQp0YXJnZXQ9M0QiX2JsYW5rIj5DaHJpc3RpYW4uR3J1bmRtYW5uQGZh YmFzb2Z0LmNvbTwvYT4mZ3Q7ID0Kd3JvdGU6PG86cD48L286cD48L3A+PGJsb2NrcXVvdGUgc3R5 bGU9M0QnYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgPQojQ0NDQ0NDIDEuMHB0O3BhZGRp bmc6MGNtIDBjbSAwY20gPQo2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNt Jz48ZGl2PjxkaXY+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRv cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4t VVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5z LXNlcmlmJz5IaSw8L3NwYW4+PG86PQpwPjwvbzpwPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbCA9 CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9u dC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWYnPnNlZW1zIG5vdCB0byA9Cndvcmsgd2l0aCBG QyBTdG9yYWdlLDwvc3Bhbj48bzpwPjwvbzpwPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbCA9CnN0 eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv Jz48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWYnPiZuYnNwOzwvc3Bhbj49CjxvOnA+PC9vOnA+PC9w PjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87 bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9 M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZic+SSBa ZXJvID0KZmlsbGVkIHRoZSBEaXNrIHdpdGggZGQsIHJlbW92ZWQgdGhlIGZpbGUgYW5kIGRpZCBh IGZzdHJpbSB3aGljaCB0b2xkIG1lID0KaXQgdHJpbW1lZCB0aGUgcmlnaHQgYW1vdW50IG9mIHNw YWNlLDwvc3Bhbj48bzpwPjwvbzpwPjwvcD48cCA9CmNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9 M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxz cGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls eToiQ2FsaWJyaSIsc2Fucy1zZXJpZic+QnV0IHRoZSBkaXNrID0KSW1hZ2Ugc3RheXMgZnVsbCA9 CnNpemUuPC9zcGFuPjxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2 PjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PC9kaXY+PGRpdj48 cCA9CmNsYXNzPTNETXNvTm9ybWFsPjEuIERpZCB5b3UgdXNlIHRoZSBob29rPzxvOnA+PC9vOnA+ PC9wPjwvZGl2PjxkaXY+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD4yLiBXaGVyZSBkaWQgeW91IHNl ZSBpdCdzIHRoZSBzYW1lIHNpemU/IFNob3VsZCBiZSA9Cmxvb2tlZCBhdCBmcm9tIHRoZSBzdG9y YWdlIHNpZGUgKGFzc3VtaW5nLCBidHcsIGl0IHN1cHBvcnRzID0KZGlzY2FyZCEpPG86cD48L286 cD48L3A+PC9kaXY+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFsPlkuPG86cD48L286cD48L3A+ PC9kaXY+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjwv ZGl2PjxibG9ja3F1b3RlID0Kc3R5bGU9M0QnYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQg I0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtID0KNi4wcHQ7bWFyZ2luLWxlZnQ6NC44 cHQ7bWFyZ2luLXJpZ2h0OjBjbSc+PGRpdj48ZGl2PjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5 bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8n PjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZic+Jm5ic3A7PC9zcGFuPj0KPG86cD48L286cD48L3A+ PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0z RCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmJz5UaHgg PQo8L3NwYW4+PG86cD48L286cD48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdt c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4g PQpsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJD YWxpYnJpIixzYW5zLXNlcmlmJz5DaHJpc3RpYW48L3NwPQphbj48bzpwPjwvbzpwPjwvcD48cCBj bGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2Zv bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWYnPiZuYnNwOzwv c3Bhbj49CjxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNv LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxiPjxzcGFu ID0KbGFuZz0zRERFID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2Fs aWJyaSIsc2Fucy1zZXJpZic+Vm9uOjwvc3Bhbj48Lz0KYj48c3BhbiBsYW5nPTNEREUgPQpzdHls ZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmJz4g WWFuaXYgS2F1bCA9ClttYWlsdG86PGEgaHJlZj0zRCJtYWlsdG86eWthdWxAcmVkaGF0LmNvbSIg PQp0YXJnZXQ9M0QiX2JsYW5rIj55a2F1bEByZWRoYXQuY29tPC9hPl0gPGJyPjxiPkdlc2VuZGV0 OjwvYj4gTWl0dHdvY2gsID0KMzAuIE09QzM9QTRyeiAyMDE2IDIyOjI5PGJyPjxiPkFuOjwvYj4g R3J1bmRtYW5uLCBDaHJpc3RpYW4gJmx0OzxhID0KaHJlZj0zRCJtYWlsdG86Q2hyaXN0aWFuLkdy dW5kbWFubkBmYWJhc29mdC5jb20iID0KdGFyZ2V0PTNEIl9ibGFuayI+Q2hyaXN0aWFuLkdydW5k bWFubkBmYWJhc29mdC5jb208L2E+Jmd0Ozxicj48Yj5DYzo8L2I+ID0KPGEgaHJlZj0zRCJtYWls dG86dXNlcnNAb3ZpcnQub3JnIiA9CnRhcmdldD0zRCJfYmxhbmsiPnVzZXJzQG92aXJ0Lm9yZzwv YT48YnI+PGI+QmV0cmVmZjo8L2I+IFJlOiA9CltvdmlydC11c2Vyc10gUmVjbGFpbSBkaXNrIHNw YWNlIG9mIHRoaW4gPQpkaXNrczwvc3Bhbj48bzpwPjwvbzpwPjwvcD48ZGl2PjxkaXY+PHAgY2xh c3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy Z2luLWJvdHRvbS1hbHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48ZGl2PjxwIGNsYXNz PTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp bi1ib3R0b20tYWx0OmF1dG8nPiZuYnNwOzxvOnA+PD0KL286cD48L3A+PGRpdj48cCBjbGFzcz0z RE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t Ym90dG9tLWFsdDphdXRvJz4mbmJzcDs8bzpwPjw9Ci9vOnA+PC9wPjxkaXY+PHAgY2xhc3M9M0RN c29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0byc+T24gV2VkLCBNYXIgPQozMCwgMjAxNiBhdCAxMDowNCBBTSwgR3J1bmRt YW5uLCBDaHJpc3RpYW4gJmx0OzxhID0KaHJlZj0zRCJtYWlsdG86Q2hyaXN0aWFuLkdydW5kbWFu bkBmYWJhc29mdC5jb20iID0KdGFyZ2V0PTNEIl9ibGFuayI+Q2hyaXN0aWFuLkdydW5kbWFubkBm YWJhc29mdC5jb208L2E+Jmd0OyA9Cndyb3RlOjxvOnA+PC9vOnA+PC9wPjxibG9ja3F1b3RlIHN0 eWxlPTNEJ2JvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkID0KI0NDQ0NDQyAxLjBwdDtwYWRk aW5nOjBjbSAwY20gMGNtID0KNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBw dDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NT0KLjBwdCc+PGRpdj48ZGl2PjxwIGNs YXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h cmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTPkhpLDwvc3Bhbj48bzpw PjwvbzpwPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9w LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1V Uz5pcyB0aGVyZSBhIHdheSB0byA9RTI9ODA9OUVzaHJpbms9RTI9ODA9OUMgYSB0aGluIGRpc2sg PQppbWFnZSB0byByZWNsYWltIGRlbGV0ZWQgc3BhY2UgbGlrZSB1c2luZyA9CnZpcnQtc3BhcnNp Znk/PC9zcGFuPjxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxw ID0KY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48L2Rpdj48 ZGl2PjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1 dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPlllcywgaWYgdGhlID0KdW5kZXJseWluZyBm aWxlIHN5c3RlbSBzdXBwb3J0cyBpdCAoTkZTLCBmb3IgZXhhbXBsZSwgbWlnaHQgbmVlZCB0byBi ZSA9CjQuMiBhbmQgYWJvdmUpLjxvOnA+PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9M0RN c29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48L2Rpdj48YmxvY2txdW90ZSBz dHlsZT0zRCdib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCA9CiNDQ0NDQ0MgMS4wcHQ7cGFk ZGluZzowY20gMGNtIDBjbSA9CjYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4w cHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjU9Ci4wcHQnPjxkaXY+PGRpdj48cCBj bGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUz5PciBjYW4gaXQgYmUg ZG9uZSBieSBtYWtpbmcgYSBzbmFwc2hvdCBhbmQgY2xvbmUgdGhlIFZNIHRvID0KYSBuZXcgb25l Pzwvc3Bhbj48bzpwPjwvbzpwPjwvcD48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48cCA9 CmNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPiZuYnNwOzxvOnA+PD0KL286cD48L3A+PC9kaXY+PGRp dj48cCBjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRv O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz5Bbm90aGVyID0Kc3VnZ2VzdGlvbjogdXNlIHRo ZSBWRFNNIGhvb2tzIGZvciBkaXNjYXJkICgnZGlza3VubWFwJykgYW5kIHJ1biA9Cidmc3RyaW0n IGZyb20gd2l0aGluIHRoZSBndWVzdC4mbmJzcDs8bzpwPjwvbzpwPjwvcD48L2Rpdj48ZGl2Pjxw ID0KY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+WS48bzpwPjwvbzpwPQo+PC9wPjwvZGl2PjxkaXY+ PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48L2Rpdj48 YmxvY2txdW90ZSBzdHlsZT0zRCdib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCA9CiNDQ0ND Q0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA9CjYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21h cmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjU9Ci4wcHQnPjxk aXY+PGRpdj48cCBjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFs dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUz4m bmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0z RCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNw YW4gPQpsYW5nPTNERU4tVVM+VGhhbmtzIGEgbG90PC9zcGFuPjxvOnA+PC9vOnA+PC9wPjxwIGNs YXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h cmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnY29s b3I6Izg4ODg4OCc+Q2hyaXN0aWFuPC9zcGFuPjxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2Pjxw ID0KY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt YXJnaW4tYm90dG9tOjEyLjBwdCc+PGJyPl9fX19fX19fX19fX19fPQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX188YnI+VXNlcnMgbWFpbGluZyBsaXN0PGJyPjxhID0KaHJlZj0zRCJt YWlsdG86VXNlcnNAb3ZpcnQub3JnIiA9CnRhcmdldD0zRCJfYmxhbmsiPlVzZXJzQG92aXJ0Lm9y ZzwvYT48YnI+PGEgPQpocmVmPTNEImh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0 aW5mby91c2VycyIgPQp0YXJnZXQ9M0QiX2JsYW5rIj5odHRwOi8vbGlzdHMub3ZpcnQub3JnL21h aWxtYW4vbGlzdGluZm8vdXNlcnM8L2E+PG86cD48PQovbzpwPjwvcD48L2Jsb2NrcXVvdGU+PC9k aXY+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0 bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48L2Rp dj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PHAgPQpj bGFzcz0zRE1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48 L2JvZHk+PC9odG1sPgotLS0tLS09X05leHRQYXJ0XzAwMV8wMDE3XzAxRDE4QjQ3LjJBMDUxNEQw LS0KCi0tLS0tLT1fTmV4dFBhcnRfMDAwXzAwMTZfMDFEMThCNDcuMkEwNTE0RDAKQ29udGVudC1U eXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1zaWduYXR1cmU7IG5hbWU9InNtaW1lLnA3cyIKQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0CkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1l bnQ7IGZpbGVuYW1lPSJzbWltZS5wN3MiCgpNSUFHQ1NxR1NJYjNEUUVIQXFDQU1JQUNBUUV4Q3pB SkJnVXJEZ01DR2dVQU1JQUdDU3FHU0liM0RRRUhBUUFBb0lJU2tqQ0NCUjB3CmdnUUZvQU1DQVFJ Q0VDdU5MbnVaVlV4NmRzeUcwUnVaazcwd0RRWUpLb1pJaHZjTkFRRUxCUUF3ZFRFTE1Ba0dBMVVF QmhNQ1NVd3gKRmpBVUJnTlZCQW9URFZOMFlYSjBRMjl0SUV4MFpDNHhLVEFuQmdOVkJBc1RJRk4w WVhKMFEyOXRJRU5sY25ScFptbGpZWFJwYjI0ZwpRWFYwYUc5eWFYUjVNU013SVFZRFZRUURFeHBU ZEdGeWRFTnZiU0JEYkdGemN5QXhJRU5zYVdWdWRDQkRRVEFlRncweE5qQXlNRGt4Ck5EQXlNRE5h RncweE56QXlNRGt4TkRBeU1ETmFNRnd4S1RBbkJnTlZCQU1NSUdOb2NtbHpkR2xoYmk1bmNuVnVa RzFoYm01QVptRmkKWVhOdlpuUXVZMjl0TVM4d0xRWUpLb1pJaHZjTkFRa0JGaUJqYUhKcGMzUnBZ VzR1WjNKMWJtUnRZVzV1UUdaaFltRnpiMlowTG1OdgpiVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJC UUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNU1hOK1k5bzBHZVlkSHRQSk1SRUo4UktsSktQS3YrCjlJUUdY RlVrQ21vM2UyVGRFeGJBVmVja3pLU0hMeUtRcDdkVUROa1RiSDNmSUVBc3JsNE1IYXNKODg1ZEk5 dndvRi9qOEQ0M1NtdksKZTJDZkc1QzVDRzVtSG9pbHg4T2ZLZXVuMHVSb1EzSFl6M3JnOEJ3N3hX WjdPY1IzRktNTkhrUWozQUFjczdTWHNnVFE1ek1tNXNpSQpRbktReGVLdDRDUDkrM3k1OThGUWth N2wrSGdnSXZNNTh1ZmFHQkxiUWpsQzFxTmpTT2J4TVFidFNCbFZGeERyM0xib2w1TjU2MGlRCnp2 Tm4vMHp0aTFINm5ScVp3Zk10SEZlOHVMQUluMlYwOVdDOG04cUw3Z041R3BmdGhWSFJVU1h0YTNG bkZ1MFV4M2RYRytDZHFrRlIKZytNUVoya0NBd0VBQWFPQ0FjQXdnZ0c4TUFzR0ExVWREd1FFQXdJ RXNEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQgpCUVVIQXdRd0NRWURWUjBUQkFJ d0FEQWRCZ05WSFE0RUZnUVV1eHFmWVRvRGNwKzJobGVnSUJ2LzRVT0lBekV3SHdZRFZSMGpCQmd3 CkZvQVVKSUZzT1dHK1NRK1B0eHRHSzhrb3RTZEliV2d3YndZSUt3WUJCUVVIQVFFRVl6QmhNQ1FH Q0NzR0FRVUZCekFCaGhob2RIUncKT2k4dmIyTnpjQzV6ZEdGeWRITnpiQzVqYjIwd09RWUlLd1lC QlFVSE1BS0dMV2gwZEhBNkx5OWhhV0V1YzNSaGNuUnpjMnd1WTI5dApMMk5sY25SekwzTmpZUzVq YkdsbGJuUXhMbU55ZERBNEJnTlZIUjhFTVRBdk1DMmdLNkFwaGlkb2RIUndPaTh2WTNKc0xuTjBZ WEowCmMzTnNMbU52YlM5elkyRXRZMnhwWlc1ME1TNWpjbXd3S3dZRFZSMFJCQ1F3SW9FZ1kyaHlh WE4wYVdGdUxtZHlkVzVrYldGdWJrQm0KWVdKaGMyOW1kQzVqYjIwd0l3WURWUjBTQkJ3d0dvWVlh SFIwY0RvdkwzZDNkeTV6ZEdGeWRITnpiQzVqYjIwdk1FWUdBMVVkSUFRLwpNRDB3T3dZTEt3WUJC QUdCdFRjQkFnUXdMREFxQmdnckJnRUZCUWNDQVJZZWFIUjBjRG92TDNkM2R5NXpkR0Z5ZEhOemJD NWpiMjB2CmNHOXNhV041TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBTGJnTlAzSWpESEcrN0d0 K2dyajFMcG1BZnFlNDdMdFA0cDhRemUzVlUKcW93Y2crcEtoZEZNeUxwdkVNZERmODczTjdSSFNR RzkyN3pTa04zRmlrSEtpQWJaR1MwYzN3ZFp2THVLTGdxUkRWb0cvNXJnZVU0NQpBaTBoak53T29k YkFiVVdmbDJmcldGVk9BUWRXVGhqVVN1bEJMM2dvOUoxV3M4VlQrVnhSRkVjc2MzSjhPdHVOZnpk RzVESGVqdDVsClBCWjkxUmtKTjQ4N1dTRzVzY2FtS0VHMGJPSHJCdkNsT3RtaE5zOEdadDVHams2 ZHFtWVo4TWZWVzBaeFZCbk5yYndaR0lsUDBaL3EKK01wbHl4UWVPKzZPN3VIMVNBclEyc21UYUlG V2NzMjRkL0pNTEdMTzFzdzZJVFJqTXl4Sm0xSFlidGYrMDFUUmRpVzRVVitrTUlJRgo0akNDQThx Z0F3SUJBZ0lRYTZlS2ZRclhpTlpSQ3ZsWjVPZTA0VEFOQmdrcWhraUc5dzBCQVFzRkFEQjlNUXN3 Q1FZRFZRUUdFd0pKClRERVdNQlFHQTFVRUNoTU5VM1JoY25SRGIyMGdUSFJrTGpFck1Da0dBMVVF Q3hNaVUyVmpkWEpsSUVScFoybDBZV3dnUTJWeWRHbG0KYVdOaGRHVWdVMmxuYm1sdVp6RXBNQ2NH QTFVRUF4TWdVM1JoY25SRGIyMGdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrdwpIaGNO TVRVeE1qRTJNREV3TURBMVdoY05NekF4TWpFMk1ERXdNREExV2pCMU1Rc3dDUVlEVlFRR0V3SkpU REVXTUJRR0ExVUVDaE1OClUzUmhjblJEYjIwZ1RIUmtMakVwTUNjR0ExVUVDeE1nVTNSaGNuUkRi MjBnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3gKSXpBaEJnTlZCQU1UR2xOMFlYSjBR Mjl0SUVOc1lYTnpJREVnUTJ4cFpXNTBJRU5CTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQwpB UThBTUlJQkNnS0NBUUVBdlgzYTk4T2lmWVAyVzRMOTIxdGZyaDRiZGNDMUdhK1lKS3k3VjNuWU5l d0pIbnpNbEJzSzBIYjhEbTRXCm8zRlpweWxjWWExTUpHVDEwUU1HV2FMRVIzeENJdVJSKzhla2xm L0VxZVpXUkxvako3ekJSdGpNeXdQT0NlbHJPVStEWDEyZEtwK0UKejRKNjkxOXJ6MVV1ZFRPMUd2 WnlDWUovSTcwNjJ1SHNza004YjdnUHhtY0NvTzFVSHd3cGdrdnBDQXJKV0dGb0Z6akxkc1piRXJK YwpTM0h0QWhsa2JFL0JLVE1yZFlnMzVVbzEyU0xCTzV0Yms4aDJpbWJLVEM4aU1zK3Bza3J2SS9B VmxoNlFvVFRYazZ4Ym9WWDZ6Z01nCnp4U1ZWTHltUWl5Z1lZbTB5NWFNc3ZpMnJhRmhDNjQzU09H dkVyV1dQUG5TRWZiZUFEMXhzd0lEQVFBQm80SUJaRENDQVdBd0RnWUQKVlIwUEFRSC9CQVFEQWdF R01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RCREFTQmdOVkhSTUJBZjhF Q0RBRwpBUUgvQWdFQU1ESUdBMVVkSHdRck1Da3dKNkFsb0NPR0lXaDBkSEE2THk5amNtd3VjM1Jo Y25SemMyd3VZMjl0TDNObWMyTmhMbU55CmJEQm1CZ2dyQmdFRkJRY0JBUVJhTUZnd0pBWUlLd1lC QlFVSE1BR0dHR2gwZEhBNkx5OXZZM053TG5OMFlYSjBjM05zTG1OdmJUQXcKQmdnckJnRUZCUWN3 QW9Za2FIUjBjRG92TDJGcFlTNXpkR0Z5ZEhOemJDNWpiMjB2WTJWeWRITXZZMkV1WTNKME1CMEdB MVVkRGdRVwpCQlFrZ1d3NVliNUpENCszRzBZcnlTaTFKMGh0YURBZkJnTlZIU01FR0RBV2dCUk9D KzhhcEVCYnBSZHBoekRLTkdoRDBFR3U4akEvCkJnTlZIU0FFT0RBMk1EUUdCRlVkSUFBd0xEQXFC Z2dyQmdFRkJRY0NBUlllYUhSMGNEb3ZMM2QzZHk1emRHRnlkSE56YkM1amIyMHYKY0c5c2FXTjVN QTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUNMNC9lSDdBR0xoSzBQQVFKYm5PRWpKeU1FdlRUd2NB SnVVaC9ib2RqUQpsMDZ1NHB1dFlPeGRTeUlqU1Avc0t0KzMxTG1qRzgrSU8xV3F5a0U0SC9MbTdO S2V6V1ZuQ0h1d2IzcHRnRm1sd2JNYkdrVTJNT1pCCnR3emZLWGRZVWhGTGhhRTJ1dzVqWGhYdkxZ aXRRYXk5NjJ3UDV1UEk2ZUFJaFY0TDhhYXlhMXU0czdNbnJUcTBSejI1RnVHTk83OXYKVEhZV2o3 OTd0U1JDOHJNMTZqczR5R0tPTEZwUXZJZzBGOElFbHY1N2Ixc3RwK0M3b21xTTVRbjE1ZGVQYlNu cXI4SmI2NVd0bUpKYgpudjZybHFmWS9hTHVFL3ptTkFsekxtUGdmTURTdEtJWGRnK0VvWUJaVEVv OHdCVWFCeGloZk5iSjA2OW5kUU94TU5OcUJlbEVNZ3BBCnRtalRiQ3VYRmpxSXdXcStYT3g2WlYv V2gyRkFtYUxzU0hsTnZFampTUU1ad0U0RWVIQ2RvNjZabUVzLzVKWWxDZU9rdWxLVlE2UDMKbTUv WE9qMmpQMTdRMkFnbWpQKzExK3NITjdQdnJHME93clFwOVFNZTNYK3JuMEc4TWp0RmZxQld2UjlD Z0xJeHpNM01KTnhGZGdkagpTMnJZblNoUDV1eHZxd2ZadmhaVllDSWtxZEpocFlPTjBEdlNvZGZp YXIwd2lNNzlteVNaSmp6QzBDVGJpaXNCelMvQmVCaHFlbzJ3CkZmbGkvaXczaG4xWEt2QXgwdHk2 dy9zY21CRjBBWXFtUkhZajFUak1TdzBsQWw3QXp0TGdscVdqVVBJK3N1a3ZhZE1SUHhtdEtYbFMK Mm5WUjRhbi9aMTZpbXNaNjkrZkZZSDY4YzFDSzd6bWpvekNDQjRjd2dnVnZvQU1DQVFJQ0FTMHdE UVlKS29aSWh2Y05BUUVMQlFBdwpmVEVMTUFrR0ExVUVCaE1DU1V3eEZqQVVCZ05WQkFvVERWTjBZ WEowUTI5dElFeDBaQzR4S3pBcEJnTlZCQXNUSWxObFkzVnlaU0JFCmFXZHBkR0ZzSUVObGNuUnBa bWxqWVhSbElGTnBaMjVwYm1jeEtUQW5CZ05WQkFNVElGTjBZWEowUTI5dElFTmxjblJwWm1sallY UnAKYjI0Z1FYVjBhRzl5YVhSNU1CNFhEVEEyTURreE56RTVORFl6TjFvWERUTTJNRGt4TnpFNU5E WXpObG93ZlRFTE1Ba0dBMVVFQmhNQwpTVXd4RmpBVUJnTlZCQW9URFZOMFlYSjBRMjl0SUV4MFpD NHhLekFwQmdOVkJBc1RJbE5sWTNWeVpTQkVhV2RwZEdGc0lFTmxjblJwClptbGpZWFJsSUZOcFoy NXBibWN4S1RBbkJnTlZCQU1USUZOMFlYSjBRMjl0SUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5 eWFYUjUKTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF3WWpiQ2J4 c1JueDRuNVY3dFRPUThuSmkxc0UySUNJawpYczdwZC9KRENxSUdaS1RNampiNE9PWWo4RzV0c1R6 ZGNxT0ZIS0hUUGJReks5TXZyLzdxc0VGWlo3YkVCbjBLbm5TRjFubE1nRGQ2CjN6a0ZVbG4zOUJ0 R1E2VFNoWVhTdzNIemRXSTB1aXlLZng2UDd1MDAwQkhIbHMxU1Bib3oxdDFOM2dzN1NrdWZ3aVl2 K3JVV0hISTEKZDhvOFhlYks0U2FMR2paMlhBSGJkQlFsL3UyMW9JZ1AzWGpLTFI4SGx6QUJMWEo1 K2tiV0V5cW91YWFyZzBrZDVmTHYzZVFCamhnSwpqMk5URm9WaXFRNFpPc3kxWnFiQ2EzUUg1Q3Zo ZGo2MGJkajJST0Z6WWg4N3hMNmdVMVlsYkZFSjk2cXJ5cjkyL1cyYjg1M2J2ejFtCnZBeFdxcStZ U0pVNlM5K25XRkRaT0hXcFcrcEREQUwvbWV2b2JFMXdXeWxsbk4ycVhjeXZBVEhzRE92U2planFu SHZtYnZjblpnd2EKU05kdVF1TS8zaUUrZStFTmNQdGpxcWhzR2xTMFhDVjZ5YUxKaXhhbXV5eCtG MTRGVFZodUVoMEI3aElRRGNZeWZ4ai8vUFQ2elc2Ugo2RFpKdmhwSWFZdkNsazBhRXJKcEY4RUtr TmI2ZVNKSXY3cDdhZmh3eC9wNk45allEZEoyVDFmL2tMZmprZExkNzhKZ3QyYzYzZjZxCm5QRFVp Mzl5SXM3R241ZTIrSytLb0JDbzJmc1l4cmExWEZJOGliWVpLbk1CQ2c4RHN4Smc4bm92Z2R1amJ2 OG1NSmYxaTkySlY3YXQKUGJPdks4VzNkZ0x3cGRZcm1vWVVLbkwyNHpPTVhRbExFOSs3akhRVFVr c0NBd0VBQWFPQ0FoQXdnZ0lNTUE4R0ExVWRFd0VCL3dRRgpNQU1CQWY4d0RnWURWUjBQQVFIL0JB UURBZ0VHTUIwR0ExVWREZ1FXQkJST0MrOGFwRUJicFJkcGh6REtOR2hEMEVHdThqQWZCZ05WCkhT TUVHREFXZ0JST0MrOGFwRUJicFJkcGh6REtOR2hEMEVHdThqQ0NBVm9HQTFVZElBU0NBVkV3Z2dG Tk1JSUJTUVlMS3dZQkJBR0IKdFRjQkFRRXdnZ0U0TUM0R0NDc0dBUVVGQndJQkZpSm9kSFJ3T2k4 dmQzZDNMbk4wWVhKMGMzTnNMbU52YlM5d2IyeHBZM2t1Y0dSbQpNRFFHQ0NzR0FRVUZCd0lCRmlo b2RIUndPaTh2ZDNkM0xuTjBZWEowYzNOc0xtTnZiUzlwYm5SbGNtMWxaR2xoZEdVdWNHUm1NSUhQ CkJnZ3JCZ0VGQlFjQ0FqQ0J3akFuRmlCVGRHRnlkQ0JEYjIxdFpYSmphV0ZzSUNoVGRHRnlkRU52 YlNrZ1RIUmtMakFEQWdFQkdvR1cKVEdsdGFYUmxaQ0JNYVdGaWFXeHBkSGtzSUhKbFlXUWdkR2hs SUhObFkzUnBiMjRnS2t4bFoyRnNJRXhwYldsMFlYUnBiMjV6S2lCdgpaaUIwYUdVZ1UzUmhjblJE YjIwZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGtnVUc5c2FXTjVJR0YyWVdsc1lXSnNa U0JoCmRDQm9kSFJ3T2k4dmQzZDNMbk4wWVhKMGMzTnNMbU52YlM5d2IyeHBZM2t1Y0dSbU1CRUdD V0NHU0FHRytFSUJBUVFFQXdJQUJ6QTQKQmdsZ2hrZ0JodmhDQVEwRUt4WXBVM1JoY25SRGIyMGdS bkpsWlNCVFUwd2dRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrdwpEUVlKS29aSWh2Y05B UUVMQlFBRGdnSUJBSTZQNTl5VWVYenhoWCtmU1c5cnlsMzdqUDRFeGNGaTBYMUNpcnhUdDVRRFpq QS9zZWNLCnAxQWdWU1YvZG5vVURlc0VEa0RtUHRpSXF3Y25nNmwxcGpkengvMUwwazJ0RjBESVJy NDdmMUg4dzdZRk1kek5oU0pPY2JmeWNWNncKR3NhNms0dDRra3FGK0hnUGcvNHZyU3ozNUtTN0xk RG5EVHE0UHM3MmVQYXVSeVRLb3pVMnpzZkdoNWphN1B2cHNzNG5tNGpEQktIMgpDMWxvcjhuYkVB OU45bVJqWEtVU2I1S3lrNVRIaUJjT2s3WitZb3VRZjZ0T24vempkUlJQS2pMZld3M2c5WHVURGF1 aHo0ZmhwUVJGCjZEd1NwUW5Gc05HM1UvTmdGTHFGYVdvaGZCOTFZUmNnRjN0c08wRXBYT0dzV3RI TmpKdnJZQjBaN1BmbHNOcjVlUmlsUlQ5SlExZlMKM1NUVkxLUDlrWTBudGVYckZBYWFUSHNodXpx dE1BWVl3TmpCYXl4L1dWeGRrYkZ3SWxmcmltdElTdFVQS2V6R1FNQXZpRXhvQVJkMwo5Q1FaVDcz NjRiSWdJVXZkR3RncGZhcTQzbFRzSVZXQWJCNzFNTWlqRU9XeTVpb1VNY09GTFl5WXNZWmFUNGxa TGJuSDl4eklpbi9BCm5RVks1a0pQWXFOdEthUWZoYXZiNVlISXJTbzlURjFiaENaeHhJVmVjU1RL cFJ0czJHSFRHdUJVMjg2NnFUSzFJdlp6UVFsZHVCZGQKRGcrWmtOWkgybThLT21Jb0ZHZUMyZkhR Z0ZtYnl6SFltdytNZDA2MWFJcnliUFlrRGkxc2NNVnowZDRVMEhHUHR0TjdBdmJqdU5RSgpibXVl ZFlRNTVuOGxwZkpJQU1Da0Fkby9NWUlENURDQ0ErQUNBUUV3Z1lrd2RURUxNQWtHQTFVRUJoTUNT VXd4RmpBVUJnTlZCQW9UCkRWTjBZWEowUTI5dElFeDBaQzR4S1RBbkJnTlZCQXNUSUZOMFlYSjBR Mjl0SUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjUKTVNNd0lRWURWUVFERXhwVGRHRnlk RU52YlNCRGJHRnpjeUF4SUVOc2FXVnVkQ0JEUVFJUUs0MHVlNWxWVEhwMnpJYlJHNW1UdlRBSgpC Z1VyRGdNQ0dnVUFvSUlDTHpBWUJna3Foa2lHOXcwQkNRTXhDd1lKS29aSWh2Y05BUWNCTUJ3R0NT cUdTSWIzRFFFSkJURVBGdzB4Ck5qQXpNekV4TURFMk16TmFNQ01HQ1NxR1NJYjNEUUVKQkRFV0JC Ukl0TjJDOGhVZ0hGY2hSbExhM0lGSWZLbUxJVENCa3dZSktvWkkKaHZjTkFRa1BNWUdGTUlHQ01B c0dDV0NHU0FGbEF3UUJLakFMQmdsZ2hrZ0JaUU1FQVJZd0NnWUlLb1pJaHZjTkF3Y3dDd1lKWUla SQpBV1VEQkFFQ01BNEdDQ3FHU0liM0RRTUNBZ0lBZ0RBTkJnZ3Foa2lHOXcwREFnSUJRREFIQmdV ckRnTUNHakFMQmdsZ2hrZ0JaUU1FCkFnTXdDd1lKWUlaSUFXVURCQUlDTUFzR0NXQ0dTQUZsQXdR Q0FUQ0JtZ1lKS3dZQkJBR0NOeEFFTVlHTU1JR0pNSFV4Q3pBSkJnTlYKQkFZVEFrbE1NUll3RkFZ RFZRUUtFdzFUZEdGeWRFTnZiU0JNZEdRdU1Ta3dKd1lEVlFRTEV5QlRkR0Z5ZEVOdmJTQkRaWEow YVdacApZMkYwYVc5dUlFRjFkR2h2Y21sMGVURWpNQ0VHQTFVRUF4TWFVM1JoY25SRGIyMGdRMnho YzNNZ01TQkRiR2xsYm5RZ1EwRUNFQ3VOCkxudVpWVXg2ZHN5RzBSdVprNzB3Z1p3R0N5cUdTSWIz RFFFSkVBSUxNWUdNb0lHSk1IVXhDekFKQmdOVkJBWVRBa2xNTVJZd0ZBWUQKVlFRS0V3MVRkR0Z5 ZEVOdmJTQk1kR1F1TVNrd0p3WURWUVFMRXlCVGRHRnlkRU52YlNCRFpYSjBhV1pwWTJGMGFXOXVJ RUYxZEdodgpjbWwwZVRFak1DRUdBMVVFQXhNYVUzUmhjblJEYjIwZ1EyeGhjM01nTVNCRGJHbGxi blFnUTBFQ0VDdU5MbnVaVlV4NmRzeUcwUnVaCms3MHdEUVlKS29aSWh2Y05BUUVCQlFBRWdnRUFt Vi9pZ3RlY3BUWUtsM2FxZU9xVlZtQ2dXZFVDNFQ0amU5RmNlV1d2VHAyZEFYek8KVUFkWFRNK1lX NUtobEg4VUF6cE00TlRxSTVpRUdndlJoWWR1ZlBnV3k5SHpLNXltYlRmRDE2UWpycmtPUitCM3Jw V2dKcTloYUhyeQpHSkNBVTN1VS9UeDdUTzdFSjNkR0ttYm04a2RrTE1DMXpYc05JNmF2ZjFBTHVE RGp5VXhtaTVFQUR3dzVPOHVjcCtNSnYzb0pJRnllCllYTktzS3BURFpqMFYzZ0hGeGVGVDI3bHFa K3VTMmlqQ1dHUXJQa0RFVVNsbVF2QmdYNTY0ZkM4UmsreW93cFgxL3Q2em5GYVR3SjgKNHRCOWNE WWdZbHY5cWU3cUtlSmw0WWFjUXVCNSs1eVI0RzZDb3pRNEd0ajdqNC90VVFTNWV6Y3FMeEphWm9r MUlBQUFBQUFBQUE9PQoKLS0tLS0tPV9OZXh0UGFydF8wMDBfMDAxNl8wMUQxOEI0Ny4yQTA1MTRE MC0tCg== --===============3372508955455923365==-- From ykaul at redhat.com Thu Mar 31 08:34:06 2016 Content-Type: multipart/mixed; boundary="===============2461389547786168183==" MIME-Version: 1.0 From: Yaniv Kaul To: users at ovirt.org Subject: Re: [ovirt-users] Reclaim disk space of thin disks Date: Thu, 31 Mar 2016 15:33:24 +0300 Message-ID: In-Reply-To: 6A17C71B52524C408E7AAF69103E9E490F69C414@fabamailserver.fabagl.fabasoft.com --===============2461389547786168183== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Thu, Mar 31, 2016 at 1:16 PM, Grundmann, Christian < Christian.Grundmann(a)fabasoft.com> wrote: > Hi, > > @1. Did you use the hook? > > yes, without the hook fstrim would not start, > > @2. Where did you see it's the same size? Should be looked at from the > storage side (assuming, btw, it supports discard!) > > I looked at the =E2=80=9Cactual Size=E2=80=9D under Storage > I'm unsure if that size should change - we've allocated blocks, they are still allocated from our perspective. From the storage point of view, there's a hole that can be used for other purposes. I'd look on the storage side. > > > I don=E2=80=99t know how ovirt handles FC storage and if this will allow = discard. > It doesn't really care - thee discard should be passed to the underlying storage. Most should support UNMAP these days. But you can easily check, I assume with a small test (use sg3_utils for example). Y. > > Thx > > Christian > > > > > > *Von:* Yaniv Kaul [mailto:ykaul(a)redhat.com] > *Gesendet:* Donnerstag, 31. M=C3=A4rz 2016 12:13 > > *An:* Grundmann, Christian > *Cc:* users(a)ovirt.org > *Betreff:* Re: [ovirt-users] Reclaim disk space of thin disks > > > > > > > > On Thu, Mar 31, 2016 at 1:05 PM, Grundmann, Christian < > Christian.Grundmann(a)fabasoft.com> wrote: > > Hi, > > seems not to work with FC Storage, > > > > I Zero filled the Disk with dd, removed the file and did a fstrim which > told me it trimmed the right amount of space, > > But the disk Image stays full size. > > > > 1. Did you use the hook? > > 2. Where did you see it's the same size? Should be looked at from the > storage side (assuming, btw, it supports discard!) > > Y. > > > > > > Thx > > Christian > > > > *Von:* Yaniv Kaul [mailto:ykaul(a)redhat.com] > *Gesendet:* Mittwoch, 30. M=C3=A4rz 2016 22:29 > *An:* Grundmann, Christian > *Cc:* users(a)ovirt.org > *Betreff:* Re: [ovirt-users] Reclaim disk space of thin disks > > > > > > > > On Wed, Mar 30, 2016 at 10:04 AM, Grundmann, Christian < > Christian.Grundmann(a)fabasoft.com> wrote: > > Hi, > > is there a way to =E2=80=9Eshrink=E2=80=9C a thin disk image to reclaim d= eleted space like > using virt-sparsify? > > > > Yes, if the underlying file system supports it (NFS, for example, might > need to be 4.2 and above). > > > > Or can it be done by making a snapshot and clone the VM to a new one? > > > > Another suggestion: use the VDSM hooks for discard ('diskunmap') and run > 'fstrim' from within the guest. > > Y. > > > > > > Thanks a lot > > Christian > > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > > > > > --===============2461389547786168183== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxkaXYgY2xhc3M9ImdtYWls X3F1b3RlIj5PbiBUaHUsIE1hciAzMSwgMjAxNiBhdCAxOjE2IFBNLCBHcnVuZG1hbm4sIENocmlz dGlhbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpDaHJpc3RpYW4uR3J1bmRt YW5uQGZhYmFzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPkNocmlzdGlhbi5HcnVuZG1hbm5AZmFi YXNvZnQuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21h aWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBz b2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2IGxhbmc9IkRFLUFUIiBsaW5rPSJibHVlIiB2bGlu az0icHVycGxlIj48ZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBz dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh bnMtc2VyaWYiPkhpLDx1PjwvdT48dT48L3U+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6 JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5AMS4gRGlkIHlvdSB1c2UgdGhlIGhvb2s/ PHU+PC91Pjx1PjwvdT48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9 IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp JnF1b3Q7LHNhbnMtc2VyaWYiPnllcywgd2l0aG91dCB0aGUgaG9vayBmc3RyaW0gd291bGQgbm90 IHN0YXJ0LDx1PjwvdT48dT48L3U+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7 Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5AMi4gV2hlcmUgZGlkIHlvdSBzZWUgaXQmIzM5O3Mg dGhlIHNhbWUgc2l6ZT8gU2hvdWxkIGJlIGxvb2tlZCBhdCBmcm9tIHRoZSBzdG9yYWdlIHNpZGUg KGFzc3VtaW5nLCBidHcsIGl0IHN1cHBvcnRzIGRpc2NhcmQhKTx1PjwvdT48dT48L3U+PC9zcGFu PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5J IGxvb2tlZCBhdCB0aGUg4oCcYWN0dWFsIFNpemXigJ0gdW5kZXIgU3RvcmFnZTwvc3Bhbj48L3A+ PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjxkaXY+SSYjMzk7bSB1bnN1 cmUgaWYgdGhhdCBzaXplIHNob3VsZCBjaGFuZ2UgLSB3ZSYjMzk7dmUgYWxsb2NhdGVkIGJsb2Nr cywgdGhleSBhcmUgc3RpbGwgYWxsb2NhdGVkIGZyb20gb3VyIHBlcnNwZWN0aXZlLiBGcm9tIHRo ZSBzdG9yYWdlIHBvaW50IG9mIHZpZXcsIHRoZXJlJiMzOTtzIGEgaG9sZSB0aGF0IGNhbiBiZSB1 c2VkIGZvciBvdGhlciBwdXJwb3Nlcy48L2Rpdj48ZGl2PkkmIzM5O2QgbG9vayBvbiB0aGUgc3Rv cmFnZSBzaWRlLsKgPC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0i bWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0 OjFleCI+PGRpdiBsYW5nPSJERS1BVCIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSI+PGRpdj48 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj48dT48L3U+ PHU+PC91Pjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss c2Fucy1zZXJpZiI+PHU+PC91PsKgPHU+PC91Pjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5 OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+SSBkb27igJl0IGtub3cgaG93IG92aXJ0 IGhhbmRsZXMgRkMgc3RvcmFnZSBhbmQgaWYgdGhpcyB3aWxsIGFsbG93IGRpc2NhcmQuPC9zcGFu PjwvcD48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj5JdCBkb2Vz biYjMzk7dCByZWFsbHkgY2FyZSAtIHRoZWUgZGlzY2FyZCBzaG91bGQgYmUgcGFzc2VkIHRvIHRo ZSB1bmRlcmx5aW5nIHN0b3JhZ2UuIE1vc3Qgc2hvdWxkIHN1cHBvcnQgVU5NQVAgdGhlc2UgZGF5 cy4gQnV0IHlvdSBjYW4gZWFzaWx5IGNoZWNrLCBJIGFzc3VtZSB3aXRoIGEgc21hbGwgdGVzdCAo dXNlIHNnM191dGlscyBmb3IgZXhhbXBsZSkuPC9kaXY+PGRpdj5ZLjwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAu OGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgbGFu Zz0iREUtQVQiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPjxkaXY+PHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+PHU+PC91Pjx1PjwvdT48L3NwYW4+ PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPjx1 PjwvdT7CoDx1PjwvdT48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9 IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp JnF1b3Q7LHNhbnMtc2VyaWYiPlRoeCA8dT48L3U+PHU+PC91Pjwvc3Bhbj48L3A+PHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+Q2hyaXN0aWFuPHU+PC91 Pjx1PjwvdT48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT IiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7 LHNhbnMtc2VyaWYiPjx1PjwvdT7CoDx1PjwvdT48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48dT48L3U+wqA8dT48L3U+PC9zcGFuPjwvcD48cCBjbGFz cz0iTXNvTm9ybWFsIj48Yj48c3BhbiBsYW5nPSJERSIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7 Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5Wb246PC9zcGFuPjwv Yj48c3BhbiBsYW5nPSJERSIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1 b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4gWWFuaXYgS2F1bCBbbWFpbHRvOjxhIGhyZWY9 Im1haWx0bzp5a2F1bEByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+eWthdWxAcmVkaGF0LmNv bTwvYT5dIDxicj48Yj5HZXNlbmRldDo8L2I+IERvbm5lcnN0YWcsIDMxLiBNw6RyeiAyMDE2IDEy OjEzPC9zcGFuPjwvcD48ZGl2PjxkaXYgY2xhc3M9Img1Ij48YnI+PGI+QW46PC9iPiBHcnVuZG1h bm4sIENocmlzdGlhbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOkNocmlzdGlhbi5HcnVuZG1hbm5AZmFi YXNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5j b208L2E+Jmd0Ozxicj48Yj5DYzo8L2I+IDxhIGhyZWY9Im1haWx0bzp1c2Vyc0BvdmlydC5vcmci IHRhcmdldD0iX2JsYW5rIj51c2Vyc0BvdmlydC5vcmc8L2E+PGJyPjxiPkJldHJlZmY6PC9iPiBS ZTogW292aXJ0LXVzZXJzXSBSZWNsYWltIGRpc2sgc3BhY2Ugb2YgdGhpbiBkaXNrczx1PjwvdT48 dT48L3U+PC9kaXY+PC9kaXY+PHA+PC9wPjxkaXY+PGRpdiBjbGFzcz0iaDUiPjxwIGNsYXNzPSJN c29Ob3JtYWwiPjx1PjwvdT7CoDx1PjwvdT48L3A+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj48 dT48L3U+wqA8dT48L3U+PC9wPjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHU+PC91PsKgPHU+ PC91PjwvcD48ZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIFRodSwgTWFyIDMxLCAyMDE2IGF0 IDE6MDUgUE0sIEdydW5kbWFubiwgQ2hyaXN0aWFuICZsdDs8YSBocmVmPSJtYWlsdG86Q2hyaXN0 aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb20iIHRhcmdldD0iX2JsYW5rIj5DaHJpc3RpYW4uR3J1 bmRtYW5uQGZhYmFzb2Z0LmNvbTwvYT4mZ3Q7IHdyb3RlOjx1PjwvdT48dT48L3U+PC9wPjxibG9j a3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjY2NjY2NjIDEuMHB0 O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0 OjBjbSI+PGRpdj48ZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBz dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh bnMtc2VyaWYiPkhpLDwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6 JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5zZWVtcyBub3QgdG8gd29yayB3aXRoIEZD IFN0b3JhZ2UsPC9zcGFuPjx1PjwvdT48dT48L3U+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPsKgPC9zcGFuPjx1PjwvdT48dT48L3U+PC9wPjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEx LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkkgWmVybyBm aWxsZWQgdGhlIERpc2sgd2l0aCBkZCwgcmVtb3ZlZCB0aGUgZmlsZSBhbmQgZGlkIGEgZnN0cmlt IHdoaWNoIHRvbGQgbWUgaXQgdHJpbW1lZCB0aGUgcmlnaHQgYW1vdW50IG9mIHNwYWNlLDwvc3Bh bj48dT48L3U+PHU+PC91PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V UyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90 OyxzYW5zLXNlcmlmIj5CdXQgdGhlIGRpc2sgSW1hZ2Ugc3RheXMgZnVsbCBzaXplLjwvc3Bhbj48 dT48L3U+PHU+PC91PjwvcD48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48cCBjbGFzcz0i TXNvTm9ybWFsIj48dT48L3U+wqA8dT48L3U+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05v cm1hbCI+MS4gRGlkIHlvdSB1c2UgdGhlIGhvb2s/PHU+PC91Pjx1PjwvdT48L3A+PC9kaXY+PGRp dj48cCBjbGFzcz0iTXNvTm9ybWFsIj4yLiBXaGVyZSBkaWQgeW91IHNlZSBpdCYjMzk7cyB0aGUg c2FtZSBzaXplPyBTaG91bGQgYmUgbG9va2VkIGF0IGZyb20gdGhlIHN0b3JhZ2Ugc2lkZSAoYXNz dW1pbmcsIGJ0dywgaXQgc3VwcG9ydHMgZGlzY2FyZCEpPHU+PC91Pjx1PjwvdT48L3A+PC9kaXY+ PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj5ZLjx1PjwvdT48dT48L3U+PC9wPjwvZGl2PjxkaXY+ PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHU+PC91PsKgPHU+PC91PjwvcD48L2Rpdj48YmxvY2txdW90 ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI2NjY2NjYyAxLjBwdDtwYWRk aW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20i PjxkaXY+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl cmlmIj7CoDwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7 Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5UaHggPC9zcGFuPjx1PjwvdT48dT48L3U+PC9wPjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEx LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkNocmlzdGlh bjwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy aSZxdW90OyxzYW5zLXNlcmlmIj7CoDwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48cCBjbGFzcz0i TXNvTm9ybWFsIj48Yj48c3BhbiBsYW5nPSJERSIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5Wb246PC9zcGFuPjwvYj48 c3BhbiBsYW5nPSJERSIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7 Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4gWWFuaXYgS2F1bCBbbWFpbHRvOjxhIGhyZWY9Im1h aWx0bzp5a2F1bEByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+eWthdWxAcmVkaGF0LmNvbTwv YT5dIDxicj48Yj5HZXNlbmRldDo8L2I+IE1pdHR3b2NoLCAzMC4gTcOkcnogMjAxNiAyMjoyOTxi cj48Yj5Bbjo8L2I+IEdydW5kbWFubiwgQ2hyaXN0aWFuICZsdDs8YSBocmVmPSJtYWlsdG86Q2hy aXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb20iIHRhcmdldD0iX2JsYW5rIj5DaHJpc3RpYW4u R3J1bmRtYW5uQGZhYmFzb2Z0LmNvbTwvYT4mZ3Q7PGJyPjxiPkNjOjwvYj4gPGEgaHJlZj0ibWFp bHRvOnVzZXJzQG92aXJ0Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnVzZXJzQG92aXJ0Lm9yZzwvYT48 YnI+PGI+QmV0cmVmZjo8L2I+IFJlOiBbb3ZpcnQtdXNlcnNdIFJlY2xhaW0gZGlzayBzcGFjZSBv ZiB0aGluIGRpc2tzPC9zcGFuPjx1PjwvdT48dT48L3U+PC9wPjxkaXY+PGRpdj48cCBjbGFzcz0i TXNvTm9ybWFsIj7CoDx1PjwvdT48dT48L3U+PC9wPjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+ wqA8dT48L3U+PHU+PC91PjwvcD48ZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKgPHU+PC91Pjx1 PjwvdT48L3A+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBXZWQsIE1hciAzMCwgMjAxNiBh dCAxMDowNCBBTSwgR3J1bmRtYW5uLCBDaHJpc3RpYW4gJmx0OzxhIGhyZWY9Im1haWx0bzpDaHJp c3RpYW4uR3J1bmRtYW5uQGZhYmFzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPkNocmlzdGlhbi5H cnVuZG1hbm5AZmFiYXNvZnQuY29tPC9hPiZndDsgd3JvdGU6PHU+PC91Pjx1PjwvdT48L3A+PGJs b2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNjY2NjY2MgMS4w cHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9w OjUuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo1LjBwdCI+PGRpdj48ZGl2Pjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5IaSw8L3NwYW4+PHU+PC91Pjx1 PjwvdT48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPmlzIHRoZXJl IGEgd2F5IHRvIOKAnnNocmlua+KAnCBhIHRoaW4gZGlzayBpbWFnZSB0byByZWNsYWltIGRlbGV0 ZWQgc3BhY2UgbGlrZSB1c2luZyB2aXJ0LXNwYXJzaWZ5Pzwvc3Bhbj48dT48L3U+PHU+PC91Pjwv cD48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDx1 PjwvdT48dT48L3U+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+WWVzLCBpZiB0 aGUgdW5kZXJseWluZyBmaWxlIHN5c3RlbSBzdXBwb3J0cyBpdCAoTkZTLCBmb3IgZXhhbXBsZSwg bWlnaHQgbmVlZCB0byBiZSA0LjIgYW5kIGFib3ZlKS48dT48L3U+PHU+PC91PjwvcD48L2Rpdj48 ZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKgPHU+PC91Pjx1PjwvdT48L3A+PC9kaXY+PGJsb2Nr cXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNjY2NjY2MgMS4wcHQ7 cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUu MHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo1LjBwdCI+PGRpdj48ZGl2PjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5PciBjYW4gaXQgYmUgZG9uZSBieSBt YWtpbmcgYSBzbmFwc2hvdCBhbmQgY2xvbmUgdGhlIFZNIHRvIGEgbmV3IG9uZT88L3NwYW4+PHU+ PC91Pjx1PjwvdT48L3A+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+PHAgY2xhc3M9Ik1z b05vcm1hbCI+wqA8dT48L3U+PHU+PC91PjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNzPSJNc29Ob3Jt YWwiPkFub3RoZXIgc3VnZ2VzdGlvbjogdXNlIHRoZSBWRFNNIGhvb2tzIGZvciBkaXNjYXJkICgm IzM5O2Rpc2t1bm1hcCYjMzk7KSBhbmQgcnVuICYjMzk7ZnN0cmltJiMzOTsgZnJvbSB3aXRoaW4g dGhlIGd1ZXN0LsKgPHU+PC91Pjx1PjwvdT48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0iTXNvTm9y bWFsIj5ZLjx1PjwvdT48dT48L3U+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+ wqA8dT48L3U+PHU+PC91PjwvcD48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7 Ym9yZGVyLWxlZnQ6c29saWQgI2NjY2NjYyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0 O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJn aW4tYm90dG9tOjUuMHB0Ij48ZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFu Zz0iRU4tVVMiPsKgPC9zcGFuPjx1PjwvdT48dT48L3U+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIGxhbmc9IkVOLVVTIj5UaGFua3MgYSBsb3Q8L3NwYW4+PHU+PC91Pjx1PjwvdT48L3A+ PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojODg4 ODg4Ij5DaHJpc3RpYW48L3NwYW4+PHU+PC91Pjx1PjwvdT48L3A+PC9kaXY+PC9kaXY+PHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48YnI+X19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+VXNlcnMgbWFpbGluZyBs aXN0PGJyPjxhIGhyZWY9Im1haWx0bzpVc2Vyc0BvdmlydC5vcmciIHRhcmdldD0iX2JsYW5rIj5V c2Vyc0BvdmlydC5vcmc8L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFp bG1hbi9saXN0aW5mby91c2VycyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0cy5vdmlydC5v cmcvbWFpbG1hbi9saXN0aW5mby91c2VyczwvYT48dT48L3U+PHU+PC91PjwvcD48L2Jsb2NrcXVv dGU+PC9kaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+wqA8dT48L3U+PHU+PC91PjwvcD48L2Rpdj48 L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHU+PC91PsKgPHU+PC91PjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48 L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2PjwvZGl2Pgo= --===============2461389547786168183==-- From Christian.Grundmann at fabasoft.com Thu Mar 31 08:44:56 2016 Content-Type: multipart/mixed; boundary="===============3153754620811235837==" MIME-Version: 1.0 From: Grundmann, Christian To: users at ovirt.org Subject: Re: [ovirt-users] Reclaim disk space of thin disks Date: Thu, 31 Mar 2016 12:44:53 +0000 Message-ID: <6A17C71B52524C408E7AAF69103E9E490F69D186@fabamailserver.fabagl.fabasoft.com> In-Reply-To: CAJgorsbKXR9FsRSBP=cOXmTErFEDrzbcrbXM8iuQc-NZV3qbCQ@mail.gmail.com --===============3153754620811235837== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ------=3D_NextPart_000_0025_01D18B5B.E2F532E0 Content-Type: multipart/alternative; boundary=3D"----=3D_NextPart_001_0026_01D18B5B.E2F532E0" ------=3D_NextPart_001_0026_01D18B5B.E2F532E0 Content-Type: text/plain; charset=3D"utf-8" Content-Transfer-Encoding: quoted-printable Hi, @ I'm unsure if that size should change - we've allocated blocks, they =3D are still allocated from our perspective. From the storage point of =3D view, there's a hole that can be used for other purposes. I'd look on the storage side.=3D20 =3D20 That=3DE2=3D80=3D99s the problem, if the space is still allocated it =3D can=3DE2=3D80=3D99t be used for other VMs so it won=3DE2=3D80=3D99t help. I= s there a =3D possibility to deallocate the free Blocks of the Disk? I think =3D virt-sparsify would do exactly that but can=3DE2=3D80=3D99t be used with = =3D ovirt? =3D20 Thx Christian =3D20 =3D20 =3D20 =3D20 =3D20 Von: Yaniv Kaul [mailto:ykaul(a)redhat.com]=3D20 Gesendet: Donnerstag, 31. M=3DC3=3DA4rz 2016 14:33 An: Grundmann, Christian Cc: users(a)ovirt.org Betreff: Re: [ovirt-users] Reclaim disk space of thin disks =3D20 On Thu, Mar 31, 2016 at 1:16 PM, Grundmann, Christian =3D > wrote: Hi, @1. Did you use the hook? yes, without the hook fstrim would not start, @2. Where did you see it's the same size? Should be looked at from the =3D storage side (assuming, btw, it supports discard!) I looked at the =3DE2=3D80=3D9Cactual Size=3DE2=3D80=3D9D under Storage =3D20 I'm unsure if that size should change - we've allocated blocks, they are = =3D still allocated from our perspective. From the storage point of view, =3D there's a hole that can be used for other purposes. I'd look on the storage side.=3D20 =3D20 I don=3DE2=3D80=3D99t know how ovirt handles FC storage and if this will al= low =3D discard. =3D20 It doesn't really care - thee discard should be passed to the underlying = =3D storage. Most should support UNMAP these days. But you can easily check, = =3D I assume with a small test (use sg3_utils for example). Y. =3D20 =3D20 Thx=3D20 Christian =3D20 =3D20 Von: Yaniv Kaul [mailto:ykaul(a)redhat.com ]=3D= 20 Gesendet: Donnerstag, 31. M=3DC3=3DA4rz 2016 12:13 An: Grundmann, Christian > Cc: users(a)ovirt.org =3D20 Betreff: Re: [ovirt-users] Reclaim disk space of thin disks =3D20 =3D20 =3D20 On Thu, Mar 31, 2016 at 1:05 PM, Grundmann, Christian =3D > wrote: Hi, seems not to work with FC Storage, =3D20 I Zero filled the Disk with dd, removed the file and did a fstrim which =3D told me it trimmed the right amount of space, But the disk Image stays full size. =3D20 1. Did you use the hook? 2. Where did you see it's the same size? Should be looked at from the =3D storage side (assuming, btw, it supports discard!) Y. =3D20 =3D20 Thx=3D20 Christian =3D20 Von: Yaniv Kaul [mailto:ykaul(a)redhat.com ]=3D= 20 Gesendet: Mittwoch, 30. M=3DC3=3DA4rz 2016 22:29 An: Grundmann, Christian > Cc: users(a)ovirt.org =3D20 Betreff: Re: [ovirt-users] Reclaim disk space of thin disks =3D20 =3D20 =3D20 On Wed, Mar 30, 2016 at 10:04 AM, Grundmann, Christian =3D > wrote: Hi, is there a way to =3DE2=3D80=3D9Eshrink=3DE2=3D80=3D9C a thin disk image to= reclaim =3D deleted space like using virt-sparsify? =3D20 Yes, if the underlying file system supports it (NFS, for example, might =3D need to be 4.2 and above). =3D20 Or can it be done by making a snapshot and clone the VM to a new one? =3D20 Another suggestion: use the VDSM hooks for discard ('diskunmap') and run = =3D 'fstrim' from within the guest.=3D20 Y. =3D20 =3D20 Thanks a lot Christian _______________________________________________ Users mailing list Users(a)ovirt.org =3D20 http://lists.ovirt.org/mailman/listinfo/users =3D20 =3D20 =3D20 ------=3D_NextPart_001_0026_01D18B5B.E2F532E0 Content-Type: text/html; charset=3D"utf-8" Content-Transfer-Encoding: quoted-printable

Hi,

@ I'm unsure if that size should = =3D change - we've allocated blocks, they are still allocated from our =3D perspective. From the storage point of view, there's a hole that can be =3D used for other purposes.

I'd look on the storage side. 

 

That=3DE2=3D80=3D99s the problem, if the space is still =3D allocated it can=3DE2=3D80=3D99t be used for other VMs so it won=3DE2=3D80= =3D99t =3D help. Is there a possibility to deallocate the free Blocks of the Disk? =3D I think virt-sparsify would do exactly that but can=3DE2=3D80=3D99t be used= =3D with ovirt?

 

Thx

Christian

 

 

 

 

 

Von: Yaniv Kaul = =3D [mailto:ykaul(a)redhat.com]
Gesendet: Donnerstag, 31. M=3DC3=3DA= 4rz =3D 2016 14:33
An: Grundmann, Christian =3D <Christian.Grundmann(a)fabasoft.com>
Cc: =3D users(a)ovirt.org
Betreff: Re: [ovirt-users] Reclaim disk space = =3D of thin disks

 

On Thu, Mar 31, 2016 at 1:16 PM, Grundmann, Christian = =3D <Christian.Grundmann(a)fabasoft.com> =3D wrote:

Hi,

@1. Did you = =3D use the hook?

yes, without = =3D the hook fstrim would not start,

@2. Where =3D did you see it's the same size? Should be looked at from the storage =3D side (assuming, btw, it supports discard!)

I looked at = =3D the =3DE2=3D80=3D9Cactual Size=3DE2=3D80=3D9D under =3D Storage

 

I'm unsure if that size should change - we've =3D allocated blocks, they are still allocated from our perspective. From =3D the storage point of view, there's a hole that can be used for other =3D purposes.

I'd look on the = =3D storage side. 

 = =3D

I =3D don=3DE2=3D80=3D99t know how ovirt handles FC storage and if this will allo= w =3D discard.

 

It doesn't really care - thee discard should be passed = =3D to the underlying storage. Most should support UNMAP these days. But you = =3D can easily check, I assume with a small test (use sg3_utils for =3D example).

Y.

 

 = =3D

Thx =3D

Christian

 = =3D

 

Von: Yaniv Kaul = =3D [mailto:ykaul(a)redhat.com]
Gesendet: Donnerstag= , =3D 31. M=3DC3=3DA4rz 2016 12:13


An: Grundmann, Christian <Christian.Grundmann(a)fabasoft.com>
Cc: =3D users(a)ovirt.org
Betreff: Re: =3D [ovirt-users] Reclaim disk space of thin =3D disks

 <= =3D /o:p>

 <= =3D /o:p>

 <= =3D /o:p>

On Thu, Mar = =3D 31, 2016 at 1:05 PM, Grundmann, Christian <Christian.Grundmann(a)fabasoft.com> =3D wrote:

Hi,

seems not to = =3D work with FC Storage,

 = =3D

I Zero =3D filled the Disk with dd, removed the file and did a fstrim which told me = =3D it trimmed the right amount of space,

But the disk = =3D Image stays full =3D size.

 <= =3D /o:p>

1. Did you = =3D use the hook?

2. Where =3D did you see it's the same size? Should be looked at from the storage =3D side (assuming, btw, it supports discard!)

Y.

 <= =3D /o:p>

 = =3D

Thx =3D

Christian

 = =3D

Von: Yaniv Kaul = =3D [mailto:ykaul(a)redhat.com]
Gesendet: Mittwoch, = =3D 30. M=3DC3=3DA4rz 2016 22:29
An: Grundmann, Christian <Christian.Grundmann(a)fabasoft.com>
Cc: =3D users(a)ovirt.org
Betreff: Re: =3D [ovirt-users] Reclaim disk space of thin =3D disks

 <= =3D /o:p>

 <= =3D /o:p>

 <= =3D /o:p>

On Wed, Mar = =3D 30, 2016 at 10:04 AM, Grundmann, Christian <Christian.Grundmann(a)fabasoft.com> =3D wrote:

Hi,

is there a way to =3DE2=3D80=3D9Eshrink=3DE2=3D80=3D9C a thi= n disk =3D image to reclaim deleted space like using =3D virt-sparsify?

 <= =3D /o:p>

Yes, if the = =3D underlying file system supports it (NFS, for example, might need to be =3D 4.2 and above).

 <= =3D /o:p>

Or can it be done by making a snapshot and clone the VM to = =3D a new one?

 <= =3D /o:p>

Another =3D suggestion: use the VDSM hooks for discard ('diskunmap') and run =3D 'fstrim' from within the guest. 

Y.

 <= =3D /o:p>

 

Thanks a lot

Christian


______________= =3D _________________________________
Users mailing list
Users(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/users<= =3D /o:p>

 <= =3D /o:p>

 <= =3D /o:p>

 

------=3D_NextPart_001_0026_01D18B5B.E2F532E0-- ------=3D_NextPart_000_0025_01D18B5B.E2F532E0 Content-Type: application/pkcs7-signature; name=3D"smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=3D"smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIISkjCCBR0w ggQFoAMCAQICECuNLnuZVUx6dsyG0RuZk70wDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCSUwx FjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g QXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQTAeFw0xNjAyMDkx NDAyMDNaFw0xNzAyMDkxNDAyMDNaMFwxKTAnBgNVBAMMIGNocmlzdGlhbi5ncnVuZG1hbm5AZmFi YXNvZnQuY29tMS8wLQYJKoZIhvcNAQkBFiBjaHJpc3RpYW4uZ3J1bmRtYW5uQGZhYmFzb2Z0LmNv bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMSXN+Y9o0GeYdHtPJMREJ8RKlJKPKv+ 9IQGXFUkCmo3e2TdExbAVeckzKSHLyKQp7dUDNkTbH3fIEAsrl4MHasJ885dI9vwoF/j8D43SmvK e2CfG5C5CG5mHoilx8OfKeun0uRoQ3HYz3rg8Bw7xWZ7OcR3FKMNHkQj3AAcs7SXsgTQ5zMm5siI QnKQxeKt4CP9+3y598FQka7l+HggIvM58ufaGBLbQjlC1qNjSObxMQbtSBlVFxDr3Lbol5N560iQ zvNn/0zti1H6nRqZwfMtHFe8uLAIn2V09WC8m8qL7gN5GpfthVHRUSXta3FnFu0Ux3dXG+CdqkFR g+MQZ2kCAwEAAaOCAcAwggG8MAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB BQUHAwQwCQYDVR0TBAIwADAdBgNVHQ4EFgQUuxqfYToDcp+2hlegIBv/4UOIAzEwHwYDVR0jBBgw FoAUJIFsOWG+SQ+PtxtGK8kotSdIbWgwbwYIKwYBBQUHAQEEYzBhMCQGCCsGAQUFBzABhhhodHRw Oi8vb2NzcC5zdGFydHNzbC5jb20wOQYIKwYBBQUHMAKGLWh0dHA6Ly9haWEuc3RhcnRzc2wuY29t L2NlcnRzL3NjYS5jbGllbnQxLmNydDA4BgNVHR8EMTAvMC2gK6AphidodHRwOi8vY3JsLnN0YXJ0 c3NsLmNvbS9zY2EtY2xpZW50MS5jcmwwKwYDVR0RBCQwIoEgY2hyaXN0aWFuLmdydW5kbWFubkBm YWJhc29mdC5jb20wIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMEYGA1UdIAQ/ MD0wOwYLKwYBBAGBtTcBAgQwLDAqBggrBgEFBQcCARYeaHR0cDovL3d3dy5zdGFydHNzbC5jb20v cG9saWN5MA0GCSqGSIb3DQEBCwUAA4IBAQALbgNP3IjDHG+7Gt+grj1LpmAfqe47LtP4p8Qze3VU qowcg+pKhdFMyLpvEMdDf873N7RHSQG927zSkN3FikHKiAbZGS0c3wdZvLuKLgqRDVoG/5rgeU45 Ai0hjNwOodbAbUWfl2frWFVOAQdWThjUSulBL3go9J1Ws8VT+VxRFEcsc3J8OtuNfzdG5DHejt5l PBZ91RkJN487WSG5scamKEG0bOHrBvClOtmhNs8GZt5Gjk6dqmYZ8MfVW0ZxVBnNrbwZGIlP0Z/q +MplyxQeO+6O7uH1SArQ2smTaIFWcs24d/JMLGLO1sw6ITRjMyxJm1HYbtf+01TRdiW4UV+kMIIF 4jCCA8qgAwIBAgIQa6eKfQrXiNZRCvlZ5Oe04TANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJ TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlm aWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMTUxMjE2MDEwMDA1WhcNMzAxMjE2MDEwMDA1WjB1MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx IzAhBgNVBAMTGlN0YXJ0Q29tIENsYXNzIDEgQ2xpZW50IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAvX3a98OifYP2W4L921tfrh4bdcC1Ga+YJKy7V3nYNewJHnzMlBsK0Hb8Dm4W o3FZpylcYa1MJGT10QMGWaLER3xCIuRR+8eklf/EqeZWRLojJ7zBRtjMywPOCelrOU+DX12dKp+E z4J6919rz1UudTO1GvZyCYJ/I7062uHsskM8b7gPxmcCoO1UHwwpgkvpCArJWGFoFzjLdsZbErJc S3HtAhlkbE/BKTMrdYg35Uo12SLBO5tbk8h2imbKTC8iMs+pskrvI/AVlh6QoTTXk6xboVX6zgMg zxSVVLymQiygYYm0y5aMsvi2raFhC643SOGvErWWPPnSEfbeAD1xswIDAQABo4IBZDCCAWAwDgYD VR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDASBgNVHRMBAf8ECDAG AQH/AgEAMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL3Nmc2NhLmNy bDBmBggrBgEFBQcBAQRaMFgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTAw BggrBgEFBQcwAoYkaHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvY2EuY3J0MB0GA1UdDgQW BBQkgWw5Yb5JD4+3G0YrySi1J0htaDAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jA/ BgNVHSAEODA2MDQGBFUdIAAwLDAqBggrBgEFBQcCARYeaHR0cDovL3d3dy5zdGFydHNzbC5jb20v cG9saWN5MA0GCSqGSIb3DQEBCwUAA4ICAQCL4/eH7AGLhK0PAQJbnOEjJyMEvTTwcAJuUh/bodjQ l06u4putYOxdSyIjSP/sKt+31LmjG8+IO1WqykE4H/Lm7NKezWVnCHuwb3ptgFmlwbMbGkU2MOZB twzfKXdYUhFLhaE2uw5jXhXvLYitQay962wP5uPI6eAIhV4L8aaya1u4s7MnrTq0Rz25FuGNO79v THYWj797tSRC8rM16js4yGKOLFpQvIg0F8IElv57b1stp+C7omqM5Qn15dePbSnqr8Jb65WtmJJb nv6rlqfY/aLuE/zmNAlzLmPgfMDStKIXdg+EoYBZTEo8wBUaBxihfNbJ069ndQOxMNNqBelEMgpA tmjTbCuXFjqIwWq+XOx6ZV/Wh2FAmaLsSHlNvEjjSQMZwE4EeHCdo66ZmEs/5JYlCeOkulKVQ6P3 m5/XOj2jP17Q2AgmjP+11+sHN7PvrG0OwrQp9QMe3X+rn0G8MjtFfqBWvR9CgLIxzM3MJNxFdgdj S2rYnShP5uxvqwfZvhZVYCIkqdJhpYON0DvSodfiar0wiM79mySZJjzC0CTbiisBzS/BeBhqeo2w Ffli/iw3hn1XKvAx0ty6w/scmBF0AYqmRHYj1TjMSw0lAl7AztLglqWjUPI+sukvadMRPxmtKXlS 2nVR4an/Z16imsZ69+fFYH68c1CK7zmjozCCB4cwggVvoAMCAQICAS0wDQYJKoZIhvcNAQELBQAw fTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBE aWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MB4XDTA2MDkxNzE5NDYzN1oXDTM2MDkxNzE5NDYzNlowfTELMAkGA1UEBhMC SUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRp ZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwYjbCbxsRnx4n5V7tTOQ8nJi1sE2ICIk Xs7pd/JDCqIGZKTMjjb4OOYj8G5tsTzdcqOFHKHTPbQzK9Mvr/7qsEFZZ7bEBn0KnnSF1nlMgDd6 3zkFUln39BtGQ6TShYXSw3HzdWI0uiyKfx6P7u000BHHls1SPboz1t1N3gs7SkufwiYv+rUWHHI1 d8o8XebK4SaLGjZ2XAHbdBQl/u21oIgP3XjKLR8HlzABLXJ5+kbWEyqouaarg0kd5fLv3eQBjhgK j2NTFoViqQ4ZOsy1ZqbCa3QH5Cvhdj60bdj2ROFzYh87xL6gU1YlbFEJ96qryr92/W2b853bvz1m vAxWqq+YSJU6S9+nWFDZOHWpW+pDDAL/mevobE1wWyllnN2qXcyvATHsDOvSjejqnHvmbvcnZgwa SNduQuM/3iE+e+ENcPtjqqhsGlS0XCV6yaLJixamuyx+F14FTVhuEh0B7hIQDcYyfxj//PT6zW6R 6DZJvhpIaYvClk0aErJpF8EKkNb6eSJIv7p7afhwx/p6N9jYDdJ2T1f/kLfjkdLd78Jgt2c63f6q nPDUi39yIs7Gn5e2+K+KoBCo2fsYxra1XFI8ibYZKnMBCg8DsxJg8novgdujbv8mMJf1i92JV7at PbOvK8W3dgLwpdYrmoYUKnL24zOMXQlLE9+7jHQTUksCAwEAAaOCAhAwggIMMA8GA1UdEwEB/wQF MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBROC+8apEBbpRdphzDKNGhD0EGu8jAfBgNV HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jCCAVoGA1UdIASCAVEwggFNMIIBSQYLKwYBBAGB tTcBAQEwggE4MC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRm MDQGCCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIHP BggrBgEFBQcCAjCBwjAnFiBTdGFydCBDb21tZXJjaWFsIChTdGFydENvbSkgTHRkLjADAgEBGoGW TGltaXRlZCBMaWFiaWxpdHksIHJlYWQgdGhlIHNlY3Rpb24gKkxlZ2FsIExpbWl0YXRpb25zKiBv ZiB0aGUgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUG9saWN5IGF2YWlsYWJsZSBh dCBodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMBEGCWCGSAGG+EIBAQQEAwIABzA4 BglghkgBhvhCAQ0EKxYpU3RhcnRDb20gRnJlZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw DQYJKoZIhvcNAQELBQADggIBAI6P59yUeXzxhX+fSW9ryl37jP4ExcFi0X1CirxTt5QDZjA/secK p1AgVSV/dnoUDesEDkDmPtiIqwcng6l1pjdzx/1L0k2tF0DIRr47f1H8w7YFMdzNhSJOcbfycV6w Gsa6k4t4kkqF+HgPg/4vrSz35KS7LdDnDTq4Ps72ePauRyTKozU2zsfGh5ja7Pvpss4nm4jDBKH2 C1lor8nbEA9N9mRjXKUSb5Kyk5THiBcOk7Z+YouQf6tOn/zjdRRPKjLfWw3g9XuTDauhz4fhpQRF 6DwSpQnFsNG3U/NgFLqFaWohfB91YRcgF3tsO0EpXOGsWtHNjJvrYB0Z7PflsNr5eRilRT9JQ1fS 3STVLKP9kY0nteXrFAaaTHshuzqtMAYYwNjBayx/WVxdkbFwIlfrimtIStUPKezGQMAviExoARd3 9CQZT7364bIgIUvdGtgpfaq43lTsIVWAbB71MMijEOWy5ioUMcOFLYyYsYZaT4lZLbnH9xzIin/A nQVK5kJPYqNtKaQfhavb5YHIrSo9TF1bhCZxxIVecSTKpRts2GHTGuBU2866qTK1IvZzQQlduBdd Dg+ZkNZH2m8KOmIoFGeC2fHQgFmbyzHYmw+Md061aIrybPYkDi1scMVz0d4U0HGPttN7AvbjuNQJ bmuedYQ55n8lpfJIAMCkAdo/MYID5DCCA+ACAQEwgYkwdTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT DVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQQIQK40ue5lVTHp2zIbRG5mTvTAJ BgUrDgMCGgUAoIICLzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0x NjAzMzExMjQ0NTNaMCMGCSqGSIb3DQEJBDEWBBRTnFTHlClKpBVZ6gbZMb/I1HbWGDCBkwYJKoZI hvcNAQkPMYGFMIGCMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCgYIKoZIhvcNAwcwCwYJYIZI AWUDBAECMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCGjALBglghkgBZQME AgMwCwYJYIZIAWUDBAICMAsGCWCGSAFlAwQCATCBmgYJKwYBBAGCNxAEMYGMMIGJMHUxCzAJBgNV BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECuN LnuZVUx6dsyG0RuZk70wgZwGCyqGSIb3DQEJEAILMYGMoIGJMHUxCzAJBgNVBAYTAklMMRYwFAYD VQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECuNLnuZVUx6dsyG0RuZ k70wDQYJKoZIhvcNAQEBBQAEggEAPwaJfGecjLq9QfiZjvqSvlWLzDfJB1mmD1s/Chl3kRvpydBx pukkDvdnTsQEphXH6DsTPet5/H6DZ/S1BQTUbdgwAEna3ms1luy8P7B6iYDE+VHsSBrGSyi9w6OL ivvB2OZOln1KtCaa4vMszgduOYvpD5/goQ0VfDmWs1VkbExxbVAettGVF9vl0WA35zEWsrmMqiCM R+HEFbCBzPGIxLwWbmttWdgch82knTE+eBVWeghP0a0skBcD7mtMl5UktQYOsTgvUnwxdNdVgVjS 7Y2oFy80fZJa9/hLocEQqd66OfGm4UrRg6izNEcM1GHsMLDBcZIDS+/Ua9MnVLs3KQAAAAAAAA= =3D=3D ------=3D_NextPart_000_0025_01D18B5B.E2F532E0-- --===============3153754620811235837== Content-Type: multipart/signed MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS0tLS0tPV9OZXh0UGFydF8wMDBfMDAyNV8wMUQxOEI1Qi5FMkY1MzJFMApDb250ZW50LVR5cGU6 IG11bHRpcGFydC9hbHRlcm5hdGl2ZTsKCWJvdW5kYXJ5PSItLS0tPV9OZXh0UGFydF8wMDFfMDAy Nl8wMUQxOEI1Qi5FMkY1MzJFMCIKCgotLS0tLS09X05leHRQYXJ0XzAwMV8wMDI2XzAxRDE4QjVC LkUyRjUzMkUwCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsKCWNoYXJzZXQ9InV0Zi04IgpDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCgpIaSwKCkAgSSdtIHVuc3Vy ZSBpZiB0aGF0IHNpemUgc2hvdWxkIGNoYW5nZSAtIHdlJ3ZlIGFsbG9jYXRlZCBibG9ja3MsIHRo ZXkgPQphcmUgc3RpbGwgYWxsb2NhdGVkIGZyb20gb3VyIHBlcnNwZWN0aXZlLiBGcm9tIHRoZSBz dG9yYWdlIHBvaW50IG9mID0KdmlldywgdGhlcmUncyBhIGhvbGUgdGhhdCBjYW4gYmUgdXNlZCBm b3Igb3RoZXIgcHVycG9zZXMuCgpJJ2QgbG9vayBvbiB0aGUgc3RvcmFnZSBzaWRlLj0yMAoKPTIw CgpUaGF0PUUyPTgwPTk5cyB0aGUgcHJvYmxlbSwgaWYgdGhlIHNwYWNlIGlzIHN0aWxsIGFsbG9j YXRlZCBpdCA9CmNhbj1FMj04MD05OXQgYmUgdXNlZCBmb3Igb3RoZXIgVk1zIHNvIGl0IHdvbj1F Mj04MD05OXQgaGVscC4gSXMgdGhlcmUgYSA9CnBvc3NpYmlsaXR5IHRvIGRlYWxsb2NhdGUgdGhl IGZyZWUgQmxvY2tzIG9mIHRoZSBEaXNrPyBJIHRoaW5rID0KdmlydC1zcGFyc2lmeSB3b3VsZCBk byBleGFjdGx5IHRoYXQgYnV0IGNhbj1FMj04MD05OXQgYmUgdXNlZCB3aXRoID0Kb3ZpcnQ/Cgo9 MjAKClRoeAoKQ2hyaXN0aWFuCgo9MjAKCj0yMAoKPTIwCgo9MjAKCj0yMAoKVm9uOiBZYW5pdiBL YXVsIFttYWlsdG86eWthdWxAcmVkaGF0LmNvbV09MjAKR2VzZW5kZXQ6IERvbm5lcnN0YWcsIDMx LiBNPUMzPUE0cnogMjAxNiAxNDozMwpBbjogR3J1bmRtYW5uLCBDaHJpc3RpYW4gPENocmlzdGlh bi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tPgpDYzogdXNlcnNAb3ZpcnQub3JnCkJldHJlZmY6IFJl OiBbb3ZpcnQtdXNlcnNdIFJlY2xhaW0gZGlzayBzcGFjZSBvZiB0aGluIGRpc2tzCgo9MjAKCk9u IFRodSwgTWFyIDMxLCAyMDE2IGF0IDE6MTYgUE0sIEdydW5kbWFubiwgQ2hyaXN0aWFuID0KPENo cmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tID0KPG1haWx0bzpDaHJpc3RpYW4uR3J1bmRt YW5uQGZhYmFzb2Z0LmNvbT4gPiB3cm90ZToKCkhpLAoKQDEuIERpZCB5b3UgdXNlIHRoZSBob29r PwoKeWVzLCB3aXRob3V0IHRoZSBob29rIGZzdHJpbSB3b3VsZCBub3Qgc3RhcnQsCgpAMi4gV2hl cmUgZGlkIHlvdSBzZWUgaXQncyB0aGUgc2FtZSBzaXplPyBTaG91bGQgYmUgbG9va2VkIGF0IGZy b20gdGhlID0Kc3RvcmFnZSBzaWRlIChhc3N1bWluZywgYnR3LCBpdCBzdXBwb3J0cyBkaXNjYXJk ISkKCkkgbG9va2VkIGF0IHRoZSA9RTI9ODA9OUNhY3R1YWwgU2l6ZT1FMj04MD05RCB1bmRlciBT dG9yYWdlCgo9MjAKCkknbSB1bnN1cmUgaWYgdGhhdCBzaXplIHNob3VsZCBjaGFuZ2UgLSB3ZSd2 ZSBhbGxvY2F0ZWQgYmxvY2tzLCB0aGV5IGFyZSA9CnN0aWxsIGFsbG9jYXRlZCBmcm9tIG91ciBw ZXJzcGVjdGl2ZS4gRnJvbSB0aGUgc3RvcmFnZSBwb2ludCBvZiB2aWV3LCA9CnRoZXJlJ3MgYSBo b2xlIHRoYXQgY2FuIGJlIHVzZWQgZm9yIG90aGVyIHB1cnBvc2VzLgoKSSdkIGxvb2sgb24gdGhl IHN0b3JhZ2Ugc2lkZS49MjAKCj0yMAoKSSBkb249RTI9ODA9OTl0IGtub3cgaG93IG92aXJ0IGhh bmRsZXMgRkMgc3RvcmFnZSBhbmQgaWYgdGhpcyB3aWxsIGFsbG93ID0KZGlzY2FyZC4KCj0yMAoK SXQgZG9lc24ndCByZWFsbHkgY2FyZSAtIHRoZWUgZGlzY2FyZCBzaG91bGQgYmUgcGFzc2VkIHRv IHRoZSB1bmRlcmx5aW5nID0Kc3RvcmFnZS4gTW9zdCBzaG91bGQgc3VwcG9ydCBVTk1BUCB0aGVz ZSBkYXlzLiBCdXQgeW91IGNhbiBlYXNpbHkgY2hlY2ssID0KSSBhc3N1bWUgd2l0aCBhIHNtYWxs IHRlc3QgKHVzZSBzZzNfdXRpbHMgZm9yIGV4YW1wbGUpLgoKWS4KCj0yMAoKPTIwCgpUaHg9MjAK CkNocmlzdGlhbgoKPTIwCgo9MjAKClZvbjogWWFuaXYgS2F1bCBbbWFpbHRvOnlrYXVsQHJlZGhh dC5jb20gPG1haWx0bzp5a2F1bEByZWRoYXQuY29tPiBdPTIwCkdlc2VuZGV0OiBEb25uZXJzdGFn LCAzMS4gTT1DMz1BNHJ6IDIwMTYgMTI6MTMKCgpBbjogR3J1bmRtYW5uLCBDaHJpc3RpYW4gPENo cmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tID0KPG1haWx0bzpDaHJpc3RpYW4uR3J1bmRt YW5uQGZhYmFzb2Z0LmNvbT4gPgpDYzogdXNlcnNAb3ZpcnQub3JnIDxtYWlsdG86dXNlcnNAb3Zp cnQub3JnPj0yMApCZXRyZWZmOiBSZTogW292aXJ0LXVzZXJzXSBSZWNsYWltIGRpc2sgc3BhY2Ug b2YgdGhpbiBkaXNrcwoKPTIwCgo9MjAKCj0yMAoKT24gVGh1LCBNYXIgMzEsIDIwMTYgYXQgMTow NSBQTSwgR3J1bmRtYW5uLCBDaHJpc3RpYW4gPQo8Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29m dC5jb20gPQo8bWFpbHRvOkNocmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tPiA+IHdyb3Rl OgoKSGksCgpzZWVtcyBub3QgdG8gd29yayB3aXRoIEZDIFN0b3JhZ2UsCgo9MjAKCkkgWmVybyBm aWxsZWQgdGhlIERpc2sgd2l0aCBkZCwgcmVtb3ZlZCB0aGUgZmlsZSBhbmQgZGlkIGEgZnN0cmlt IHdoaWNoID0KdG9sZCBtZSBpdCB0cmltbWVkIHRoZSByaWdodCBhbW91bnQgb2Ygc3BhY2UsCgpC dXQgdGhlIGRpc2sgSW1hZ2Ugc3RheXMgZnVsbCBzaXplLgoKPTIwCgoxLiBEaWQgeW91IHVzZSB0 aGUgaG9vaz8KCjIuIFdoZXJlIGRpZCB5b3Ugc2VlIGl0J3MgdGhlIHNhbWUgc2l6ZT8gU2hvdWxk IGJlIGxvb2tlZCBhdCBmcm9tIHRoZSA9CnN0b3JhZ2Ugc2lkZSAoYXNzdW1pbmcsIGJ0dywgaXQg c3VwcG9ydHMgZGlzY2FyZCEpCgpZLgoKPTIwCgo9MjAKClRoeD0yMAoKQ2hyaXN0aWFuCgo9MjAK ClZvbjogWWFuaXYgS2F1bCBbbWFpbHRvOnlrYXVsQHJlZGhhdC5jb20gPG1haWx0bzp5a2F1bEBy ZWRoYXQuY29tPiBdPTIwCkdlc2VuZGV0OiBNaXR0d29jaCwgMzAuIE09QzM9QTRyeiAyMDE2IDIy OjI5CkFuOiBHcnVuZG1hbm4sIENocmlzdGlhbiA8Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29m dC5jb20gPQo8bWFpbHRvOkNocmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tPiA+CkNjOiB1 c2Vyc0BvdmlydC5vcmcgPG1haWx0bzp1c2Vyc0BvdmlydC5vcmc+PTIwCkJldHJlZmY6IFJlOiBb b3ZpcnQtdXNlcnNdIFJlY2xhaW0gZGlzayBzcGFjZSBvZiB0aGluIGRpc2tzCgo9MjAKCj0yMAoK PTIwCgpPbiBXZWQsIE1hciAzMCwgMjAxNiBhdCAxMDowNCBBTSwgR3J1bmRtYW5uLCBDaHJpc3Rp YW4gPQo8Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb20gPQo8bWFpbHRvOkNocmlzdGlh bi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tPiA+IHdyb3RlOgoKSGksCgppcyB0aGVyZSBhIHdheSB0 byA9RTI9ODA9OUVzaHJpbms9RTI9ODA9OUMgYSB0aGluIGRpc2sgaW1hZ2UgdG8gcmVjbGFpbSA9 CmRlbGV0ZWQgc3BhY2UgbGlrZSB1c2luZyB2aXJ0LXNwYXJzaWZ5PwoKPTIwCgpZZXMsIGlmIHRo ZSB1bmRlcmx5aW5nIGZpbGUgc3lzdGVtIHN1cHBvcnRzIGl0IChORlMsIGZvciBleGFtcGxlLCBt aWdodCA9Cm5lZWQgdG8gYmUgNC4yIGFuZCBhYm92ZSkuCgo9MjAKCk9yIGNhbiBpdCBiZSBkb25l IGJ5IG1ha2luZyBhIHNuYXBzaG90IGFuZCBjbG9uZSB0aGUgVk0gdG8gYSBuZXcgb25lPwoKPTIw CgpBbm90aGVyIHN1Z2dlc3Rpb246IHVzZSB0aGUgVkRTTSBob29rcyBmb3IgZGlzY2FyZCAoJ2Rp c2t1bm1hcCcpIGFuZCBydW4gPQonZnN0cmltJyBmcm9tIHdpdGhpbiB0aGUgZ3Vlc3QuPTIwCgpZ LgoKPTIwCgo9MjAKClRoYW5rcyBhIGxvdAoKQ2hyaXN0aWFuCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVXNlcnMgbWFpbGluZyBsaXN0ClVzZXJzQG92 aXJ0Lm9yZyA8bWFpbHRvOlVzZXJzQG92aXJ0Lm9yZz49MjAKaHR0cDovL2xpc3RzLm92aXJ0Lm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzCgo9MjAKCj0yMAoKPTIwCgoKLS0tLS0tPV9OZXh0UGFy dF8wMDFfMDAyNl8wMUQxOEI1Qi5FMkY1MzJFMApDb250ZW50LVR5cGU6IHRleHQvaHRtbDsKCWNo YXJzZXQ9InV0Zi04IgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxl Cgo8aHRtbCB4bWxuczp2PTNEInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIiA9CnhtbG5z Om89M0QidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiA9CnhtbG5zOnc9 M0QidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgPQp4bWxuczptPTNEImh0 dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlLzIwMDQvMTIvb21tbCIgPQp4bWxucz0z RCJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj48aGVhZD48bWV0YSA9Cmh0dHAtZXF1 aXY9M0RDb250ZW50LVR5cGUgY29udGVudD0zRCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9M0R1dGYtOCI+ PG1ldGEgPQpuYW1lPTNER2VuZXJhdG9yIGNvbnRlbnQ9M0QiTWljcm9zb2Z0IFdvcmQgMTUgKGZp bHRlcmVkID0KbWVkaXVtKSI+PHN0eWxlPjwhLS0KLyogRm9udCBEZWZpbml0aW9ucyAqLwpAZm9u dC1mYWNlCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7CglwYW5vc2UtMToyIDQgNSAzIDUg NCA2IDMgMiA0O30KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7CglwYW5vc2UtMToy IDE1IDUgMiAyIDIgNCAzIDIgNDt9Ci8qIFN0eWxlIERlZmluaXRpb25zICovCnAuTXNvTm9ybWFs LCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwKCXttYXJnaW46MGNtOwoJbWFyZ2luLWJvdHRv bTouMDAwMXB0OwoJZm9udC1zaXplOjEyLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9t YW4iLHNlcmlmO30KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluawoJe21zby1zdHlsZS1wcmlvcml0 eTo5OTsKCWNvbG9yOmJsdWU7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30KYTp2aXNpdGVk LCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJY29s b3I6cHVycGxlOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CnAKCXttc28tc3R5bGUtcHJp b3JpdHk6OTk7Cgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKCW1hcmdpbi1yaWdodDowY207Cglt c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKCW1hcmdpbi1sZWZ0OjBjbTsKCWZvbnQtc2l6ZTox Mi4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9CnAubXNvbm9ybWFs MCwgbGkubXNvbm9ybWFsMCwgZGl2Lm1zb25vcm1hbDAKCXttc28tc3R5bGUtbmFtZTptc29ub3Jt YWw7Cgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKCW1hcmdpbi1yaWdodDowY207Cgltc28tbWFy Z2luLWJvdHRvbS1hbHQ6YXV0bzsKCW1hcmdpbi1sZWZ0OjBjbTsKCWZvbnQtc2l6ZToxMi4wcHQ7 Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9CnNwYW4uRS1NYWlsRm9ybWF0 dm9ybGFnZTE5Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7Cglmb250LWZhbWlseToi Q2FsaWJyaSIsc2Fucy1zZXJpZjsKCWNvbG9yOndpbmRvd3RleHQ7fQouTXNvQ2hwRGVmYXVsdAoJ e21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5OwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMt c2VyaWY7Cgltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUzt9CkBwYWdlIFdvcmRTZWN0aW9uMQoJ e3NpemU6NjEyLjBwdCA3OTIuMHB0OwoJbWFyZ2luOjcwLjg1cHQgNzAuODVwdCAyLjBjbSA3MC44 NXB0O30KZGl2LldvcmRTZWN0aW9uMQoJe3BhZ2U6V29yZFNlY3Rpb24xO30KLS0+PC9zdHlsZT48 IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0zRCJlZGl0IiBz cGlkbWF4PTNEIjEwMjYiIC8+CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48 eG1sPgo8bzpzaGFwZWxheW91dCB2OmV4dD0zRCJlZGl0Ij4KPG86aWRtYXAgdjpleHQ9M0QiZWRp dCIgZGF0YT0zRCIxIiAvPgo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+PC9oZWFk Pjxib2R5IGxhbmc9M0RERS1BVCBsaW5rPTNEYmx1ZSA9CnZsaW5rPTNEcHVycGxlPjxkaXYgY2xh c3M9M0RXb3JkU2VjdGlvbjE+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpzdHlsZT0zRCdm b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO21zby1mYXJl YXN0LWxhPQpuZ3VhZ2U6RU4tVVMnPkhpLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0z RE1zb05vcm1hbD48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4w cHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGE9Cm5ndWFn ZTpFTi1VUyc+QDwvc3Bhbj48c3BhbiBsYW5nPTNERU4tVVM+IEknbSB1bnN1cmUgaWYgdGhhdCBz aXplIHNob3VsZCA9CmNoYW5nZSAtIHdlJ3ZlIGFsbG9jYXRlZCBibG9ja3MsIHRoZXkgYXJlIHN0 aWxsIGFsbG9jYXRlZCBmcm9tIG91ciA9CnBlcnNwZWN0aXZlLiBGcm9tIHRoZSBzdG9yYWdlIHBv aW50IG9mIHZpZXcsIHRoZXJlJ3MgYSBob2xlIHRoYXQgY2FuIGJlID0KdXNlZCBmb3Igb3RoZXIg cHVycG9zZXMuPG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxzcGFu ID0KbGFuZz0zREVOLVVTPkknZCBsb29rIG9uIHRoZSBzdG9yYWdlIHNpZGUuJm5ic3A7PG86cD48 L286cD48L3NwYW4+PC9wPjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gbGFuZz0zREVOLVVT ID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z ZXJpZjttc28tZmFyZWFzdC1sYT0Kbmd1YWdlOkVOLVVTJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh bj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0z RCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO21zby1m YXJlYXN0LWxhPQpuZ3VhZ2U6RU4tVVMnPlRoYXQ9RTI9ODA9OTlzIHRoZSBwcm9ibGVtLCBpZiB0 aGUgc3BhY2UgaXMgc3RpbGwgPQphbGxvY2F0ZWQgaXQgY2FuPUUyPTgwPTk5dCBiZSB1c2VkIGZv ciBvdGhlciBWTXMgc28gaXQgd29uPUUyPTgwPTk5dCA9CmhlbHAuIElzIHRoZXJlIGEgcG9zc2li aWxpdHkgdG8gZGVhbGxvY2F0ZSB0aGUgZnJlZSBCbG9ja3Mgb2YgdGhlIERpc2s/ID0KSSB0aGlu ayB2aXJ0LXNwYXJzaWZ5IHdvdWxkIGRvIGV4YWN0bHkgdGhhdCBidXQgY2FuPUUyPTgwPTk5dCBi ZSB1c2VkID0Kd2l0aCBvdmlydD88bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29O b3JtYWw+PHNwYW4gbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYT0Kbmd1YWdlOkVOLVVT Jz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4g PQpsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJD YWxpYnJpIixzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhPQpuZ3VhZ2U6RU4tVVMnPlRoeDxvOnA+ PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9Cmxhbmc9M0RFTi1V UyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMt c2VyaWY7bXNvLWZhcmVhc3QtbGE9Cm5ndWFnZTpFTi1VUyc+Q2hyaXN0aWFuPG86cD48L286cD48 L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5 bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjtt c28tZmFyZWFzdC1sYT0Kbmd1YWdlOkVOLVVTJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+ PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250 LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO21zby1mYXJlYXN0 LWxhPQpuZ3VhZ2U6RU4tVVMnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0z RE1zb05vcm1hbD48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4w cHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGE9Cm5ndWFn ZTpFTi1VUyc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFs PjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYT0Kbmd1YWdlOkVOLVVTJz48 bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQps YW5nPTNERU4tVVMgPQpzdHlsZT0zRCdtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyc+PG86cD4m bmJzcDs8L286cD48L3NwYW4+PC9wPjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PGI+PHNwYW4gbGFu Zz0zRERFID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIs c2Fucy1zZXJpZic+Vm9uOjwvc3Bhbj48Lz0KYj48c3BhbiBsYW5nPTNEREUgPQpzdHlsZT0zRCdm b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmJz4gWWFuaXYg S2F1bCA9ClttYWlsdG86eWthdWxAcmVkaGF0LmNvbV0gPGJyPjxiPkdlc2VuZGV0OjwvYj4gRG9u bmVyc3RhZywgMzEuIE09QzM9QTRyeiA9CjIwMTYgMTQ6MzM8YnI+PGI+QW46PC9iPiBHcnVuZG1h bm4sIENocmlzdGlhbiA9CiZsdDtDaHJpc3RpYW4uR3J1bmRtYW5uQGZhYmFzb2Z0LmNvbSZndDs8 YnI+PGI+Q2M6PC9iPiA9CnVzZXJzQG92aXJ0Lm9yZzxicj48Yj5CZXRyZWZmOjwvYj4gUmU6IFtv dmlydC11c2Vyc10gUmVjbGFpbSBkaXNrIHNwYWNlID0Kb2YgdGhpbiBkaXNrczxvOnA+PC9vOnA+ PC9zcGFuPjwvcD48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxk aXY+PGRpdj48ZGl2PjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+T24gVGh1LCBNYXIgMzEsIDIwMTYg YXQgMToxNiBQTSwgR3J1bmRtYW5uLCBDaHJpc3RpYW4gPQombHQ7PGEgaHJlZj0zRCJtYWlsdG86 Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb20iID0KdGFyZ2V0PTNEIl9ibGFuayI+Q2hy aXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb208L2E+Jmd0OyA9Cndyb3RlOjxvOnA+PC9vOnA+ PC9wPjxibG9ja3F1b3RlIHN0eWxlPTNEJ2JvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkID0K I0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtID0KNi4wcHQ7bWFyZ2luLWxlZnQ6NC44 cHQ7bWFyZ2luLXJpZ2h0OjBjbSc+PGRpdj48ZGl2PjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5 bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8n PjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZic+SGksPC9zcGFuPjxvOj0KcD48L286cD48L3A+PHAg Y2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdm b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmJz5AMS4gRGlk IHlvdSA9CnVzZSB0aGUgaG9vaz88L3NwYW4+PG86cD48L286cD48L3A+PHAgY2xhc3M9M0RNc29O b3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv bS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEu MHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmJz55ZXMsIHdpdGhvdXQgPQp0aGUg aG9vayBmc3RyaW0gd291bGQgbm90IHN0YXJ0LDwvc3Bhbj48bzpwPjwvbzpwPjwvcD48cCA9CmNs YXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h cmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9u dC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZic+QDIuIFdoZXJl ID0KZGlkIHlvdSBzZWUgaXQncyB0aGUgc2FtZSBzaXplPyBTaG91bGQgYmUgbG9va2VkIGF0IGZy b20gdGhlIHN0b3JhZ2UgPQpzaWRlIChhc3N1bWluZywgYnR3LCBpdCBzdXBwb3J0cyBkaXNjYXJk ISk8L3NwYW4+PG86cD48L286cD48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNE J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3Bh biA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6 IkNhbGlicmkiLHNhbnMtc2VyaWYnPkkgbG9va2VkIGF0ID0KdGhlID1FMj04MD05Q2FjdHVhbCBT aXplPUUyPTgwPTlEIHVuZGVyID0KU3RvcmFnZTwvc3Bhbj48bzpwPjwvbzpwPjwvcD48L2Rpdj48 L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxvOnA+Jm5ic3A7 PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD5JJ20gdW5zdXJlIGlm IHRoYXQgc2l6ZSBzaG91bGQgY2hhbmdlIC0gd2UndmUgPQphbGxvY2F0ZWQgYmxvY2tzLCB0aGV5 IGFyZSBzdGlsbCBhbGxvY2F0ZWQgZnJvbSBvdXIgcGVyc3BlY3RpdmUuIEZyb20gPQp0aGUgc3Rv cmFnZSBwb2ludCBvZiB2aWV3LCB0aGVyZSdzIGEgaG9sZSB0aGF0IGNhbiBiZSB1c2VkIGZvciBv dGhlciA9CnB1cnBvc2VzLjxvOnA+PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9M0RNc29O b3JtYWw+SSdkIGxvb2sgb24gdGhlID0Kc3RvcmFnZSBzaWRlLiZuYnNwOzxvOnA+PC9vOnA+PC9w PjwvZGl2PjxibG9ja3F1b3RlID0Kc3R5bGU9M0QnYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29s aWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtID0KNi4wcHQ7bWFyZ2luLWxlZnQ6 NC44cHQ7bWFyZ2luLXJpZ2h0OjBjbSc+PGRpdj48ZGl2PjxwIGNsYXNzPTNETXNvTm9ybWFsID0K c3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1 dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZic+Jm5ic3A7PC9zcGFuPj0KPG86cD48L286cD48 L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0 bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHls ZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmJz5J ID0KZG9uPUUyPTgwPTk5dCBrbm93IGhvdyBvdmlydCBoYW5kbGVzIEZDIHN0b3JhZ2UgYW5kIGlm IHRoaXMgd2lsbCBhbGxvdyA9CmRpc2NhcmQuPC9zcGFuPjxvOnA+PC9vOnA+PC9wPjwvZGl2Pjwv ZGl2PjwvYmxvY2txdW90ZT48ZGl2PjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PG86cD4mbmJzcDs8 L286cD48L3A+PC9kaXY+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFsPkl0IGRvZXNuJ3QgcmVh bGx5IGNhcmUgLSB0aGVlIGRpc2NhcmQgc2hvdWxkIGJlIHBhc3NlZCA9CnRvIHRoZSB1bmRlcmx5 aW5nIHN0b3JhZ2UuIE1vc3Qgc2hvdWxkIHN1cHBvcnQgVU5NQVAgdGhlc2UgZGF5cy4gQnV0IHlv dSA9CmNhbiBlYXNpbHkgY2hlY2ssIEkgYXNzdW1lIHdpdGggYSBzbWFsbCB0ZXN0ICh1c2Ugc2cz X3V0aWxzIGZvciA9CmV4YW1wbGUpLjxvOnA+PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgPQpjbGFz cz0zRE1zb05vcm1hbD5ZLjxvOnA+PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgPQpjbGFzcz0zRE1z b05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48L2Rpdj48YmxvY2txdW90ZSA9CnN0eWxlPTNE J2JvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20g MGNtIDBjbSA9CjYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20nPjxkaXY+ PGRpdj48cCBjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDph dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0 eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWYn PiZuYnNwOzwvc3Bhbj49CjxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5 bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8n PjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZic+VGh4ID0KPC9zcGFuPjxvOnA+PC9vOnA+PC9wPjxw IGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0Qn Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZic+Q2hyaXN0 aWFuPC9zcD0KYW4+PG86cD48L286cD48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0z RCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNw YW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5 OiJDYWxpYnJpIixzYW5zLXNlcmlmJz4mbmJzcDs8L3NwYW4+PQo8bzpwPjwvbzpwPjwvcD48cCBj bGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUz4mbmJzcDs8L3NwYW4+ PG86cD48L286cD48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2lu LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PGI+PHNwYW4gPQpsYW5n PTNEREUgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixz YW5zLXNlcmlmJz5Wb246PC9zcGFuPjwvPQpiPjxzcGFuIGxhbmc9M0RERSA9CnN0eWxlPTNEJ2Zv bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWYnPiBZYW5pdiBL YXVsID0KW21haWx0bzo8YSBocmVmPTNEIm1haWx0bzp5a2F1bEByZWRoYXQuY29tIiA9CnRhcmdl dD0zRCJfYmxhbmsiPnlrYXVsQHJlZGhhdC5jb208L2E+XSA8YnI+PGI+R2VzZW5kZXQ6PC9iPiBE b25uZXJzdGFnLCA9CjMxLiBNPUMzPUE0cnogMjAxNiAxMjoxMzwvc3Bhbj48bzpwPjwvbzpwPjwv cD48ZGl2PjxkaXY+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48YnI+PGI+QW46PC9iPiBHcnVuZG1h bm4sIENocmlzdGlhbiAmbHQ7PGEgPQpocmVmPTNEIm1haWx0bzpDaHJpc3RpYW4uR3J1bmRtYW5u QGZhYmFzb2Z0LmNvbSIgPQp0YXJnZXQ9M0QiX2JsYW5rIj5DaHJpc3RpYW4uR3J1bmRtYW5uQGZh YmFzb2Z0LmNvbTwvYT4mZ3Q7PGJyPjxiPkNjOjwvYj4gPQo8YSBocmVmPTNEIm1haWx0bzp1c2Vy c0BvdmlydC5vcmciID0KdGFyZ2V0PTNEIl9ibGFuayI+dXNlcnNAb3ZpcnQub3JnPC9hPjxicj48 Yj5CZXRyZWZmOjwvYj4gUmU6ID0KW292aXJ0LXVzZXJzXSBSZWNsYWltIGRpc2sgc3BhY2Ugb2Yg dGhpbiA9CmRpc2tzPG86cD48L286cD48L3A+PC9kaXY+PC9kaXY+PGRpdj48ZGl2PjxwIGNsYXNz PTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp bi1ib3R0b20tYWx0OmF1dG8nPiZuYnNwOzxvOnA+PD0KL286cD48L3A+PGRpdj48cCBjbGFzcz0z RE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t Ym90dG9tLWFsdDphdXRvJz4mbmJzcDs8bzpwPjw9Ci9vOnA+PC9wPjxkaXY+PHAgY2xhc3M9M0RN c29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48ZGl2PjxwIGNsYXNzPTNETXNv Tm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG8nPk9uIFRodSwgTWFyID0KMzEsIDIwMTYgYXQgMTowNSBQTSwgR3J1bmRtYW5u LCBDaHJpc3RpYW4gJmx0OzxhID0KaHJlZj0zRCJtYWlsdG86Q2hyaXN0aWFuLkdydW5kbWFubkBm YWJhc29mdC5jb20iID0KdGFyZ2V0PTNEIl9ibGFuayI+Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJh c29mdC5jb208L2E+Jmd0OyA9Cndyb3RlOjxvOnA+PC9vOnA+PC9wPjxibG9ja3F1b3RlIHN0eWxl PTNEJ2JvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkID0KI0NDQ0NDQyAxLjBwdDtwYWRkaW5n OjBjbSAwY20gMGNtID0KNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDtt YXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NT0KLjBwdCc+PGRpdj48ZGl2PjxwIGNsYXNz PTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp bi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1z aXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZic+SGksPC9zcGFuPjxv Oj0KcD48L286cD48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2lu LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNE RU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixz YW5zLXNlcmlmJz5zZWVtcyBub3QgdG8gPQp3b3JrIHdpdGggRkMgU3RvcmFnZSw8L3NwYW4+PG86 cD48L286cD48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRv cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4t VVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5z LXNlcmlmJz4mbmJzcDs8L3NwYW4+PQo8bzpwPjwvbzpwPjwvcD48cCBjbGFzcz0zRE1zb05vcm1h bCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs dDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7 Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWYnPkkgWmVybyA9CmZpbGxlZCB0aGUgRGlz ayB3aXRoIGRkLCByZW1vdmVkIHRoZSBmaWxlIGFuZCBkaWQgYSBmc3RyaW0gd2hpY2ggdG9sZCBt ZSA9Cml0IHRyaW1tZWQgdGhlIHJpZ2h0IGFtb3VudCBvZiBzcGFjZSw8L3NwYW4+PG86cD48L286 cD48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFs dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9 CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2Vy aWYnPkJ1dCB0aGUgZGlzayA9CkltYWdlIHN0YXlzIGZ1bGwgPQpzaXplLjwvc3Bhbj48bzpwPjwv bzpwPjwvcD48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9y bWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t YWx0OmF1dG8nPiZuYnNwOzxvOnA+PD0KL286cD48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0zRE1z b05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90 dG9tLWFsdDphdXRvJz4xLiBEaWQgeW91ID0KdXNlIHRoZSBob29rPzxvOnA+PC9vOnA+PC9wPjwv ZGl2PjxkaXY+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1h bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+Mi4gV2hlcmUgPQpkaWQgeW91IHNl ZSBpdCdzIHRoZSBzYW1lIHNpemU/IFNob3VsZCBiZSBsb29rZWQgYXQgZnJvbSB0aGUgc3RvcmFn ZSA9CnNpZGUgKGFzc3VtaW5nLCBidHcsIGl0IHN1cHBvcnRzIGRpc2NhcmQhKTxvOnA+PC9vOnA+ PC9wPjwvZGl2PjxkaXY+PHAgPQpjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz5ZLjxvOnA+PC9vOnA9 Cj48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz4mbmJzcDs8bzpwPjw9 Ci9vOnA+PC9wPjwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPTNEJ2JvcmRlcjpub25lO2JvcmRlci1s ZWZ0OnNvbGlkID0KI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtID0KNi4wcHQ7bWFy Z2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i b3R0b206NT0KLjBwdCc+PGRpdj48ZGl2PjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0Qn bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFu ID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToi Q2FsaWJyaSIsc2Fucy1zZXJpZic+Jm5ic3A7PC9zcGFuPj0KPG86cD48L286cD48L3A+PHAgY2xh c3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy Z2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250 LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmJz5UaHggPQo8L3Nw YW4+PG86cD48L286cD48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFy Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5n PTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJp IixzYW5zLXNlcmlmJz5DaHJpc3RpYW48L3NwPQphbj48bzpwPjwvbzpwPjwvcD48cCBjbGFzcz0z RE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t Ym90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWYnPiZuYnNwOzwvc3Bhbj49 CjxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdp bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxiPjxzcGFuID0KbGFu Zz0zRERFID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIs c2Fucy1zZXJpZic+Vm9uOjwvc3Bhbj48Lz0KYj48c3BhbiBsYW5nPTNEREUgPQpzdHlsZT0zRCdm b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmJz4gWWFuaXYg S2F1bCA9ClttYWlsdG86PGEgaHJlZj0zRCJtYWlsdG86eWthdWxAcmVkaGF0LmNvbSIgPQp0YXJn ZXQ9M0QiX2JsYW5rIj55a2F1bEByZWRoYXQuY29tPC9hPl0gPGJyPjxiPkdlc2VuZGV0OjwvYj4g TWl0dHdvY2gsID0KMzAuIE09QzM9QTRyeiAyMDE2IDIyOjI5PGJyPjxiPkFuOjwvYj4gR3J1bmRt YW5uLCBDaHJpc3RpYW4gJmx0OzxhID0KaHJlZj0zRCJtYWlsdG86Q2hyaXN0aWFuLkdydW5kbWFu bkBmYWJhc29mdC5jb20iID0KdGFyZ2V0PTNEIl9ibGFuayI+Q2hyaXN0aWFuLkdydW5kbWFubkBm YWJhc29mdC5jb208L2E+Jmd0Ozxicj48Yj5DYzo8L2I+ID0KPGEgaHJlZj0zRCJtYWlsdG86dXNl cnNAb3ZpcnQub3JnIiA9CnRhcmdldD0zRCJfYmxhbmsiPnVzZXJzQG92aXJ0Lm9yZzwvYT48YnI+ PGI+QmV0cmVmZjo8L2I+IFJlOiA9CltvdmlydC11c2Vyc10gUmVjbGFpbSBkaXNrIHNwYWNlIG9m IHRoaW4gPQpkaXNrczwvc3Bhbj48bzpwPjwvbzpwPjwvcD48ZGl2PjxkaXY+PHAgY2xhc3M9M0RN c29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48ZGl2PjxwIGNsYXNzPTNETXNv Tm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG8nPiZuYnNwOzxvOnA+PD0KL286cD48L3A+PGRpdj48cCBjbGFzcz0zRE1zb05v cm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t LWFsdDphdXRvJz4mbmJzcDs8bzpwPjw9Ci9vOnA+PC9wPjxkaXY+PHAgY2xhc3M9M0RNc29Ob3Jt YWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h bHQ6YXV0byc+T24gV2VkLCBNYXIgPQozMCwgMjAxNiBhdCAxMDowNCBBTSwgR3J1bmRtYW5uLCBD aHJpc3RpYW4gJmx0OzxhID0KaHJlZj0zRCJtYWlsdG86Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJh c29mdC5jb20iID0KdGFyZ2V0PTNEIl9ibGFuayI+Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29m dC5jb208L2E+Jmd0OyA9Cndyb3RlOjxvOnA+PC9vOnA+PC9wPjxibG9ja3F1b3RlIHN0eWxlPTNE J2JvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkID0KI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBj bSAwY20gMGNtID0KNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJn aW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NT0KLjBwdCc+PGRpdj48ZGl2PjxwIGNsYXNzPTNE TXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i b3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTPkhpLDwvc3Bhbj48bzpwPjwvbzpw PjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDph dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUz5pcyB0 aGVyZSBhIHdheSB0byA9RTI9ODA9OUVzaHJpbms9RTI9ODA9OUMgYSB0aGluIGRpc2sgPQppbWFn ZSB0byByZWNsYWltIGRlbGV0ZWQgc3BhY2UgbGlrZSB1c2luZyA9CnZpcnQtc3BhcnNpZnk/PC9z cGFuPjxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PjxwID0KY2xh c3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy Z2luLWJvdHRvbS1hbHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48L2Rpdj48ZGl2Pjxw IGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPlllcywgaWYgdGhlID0KdW5kZXJseWluZyBmaWxlIHN5 c3RlbSBzdXBwb3J0cyBpdCAoTkZTLCBmb3IgZXhhbXBsZSwgbWlnaHQgbmVlZCB0byBiZSA9CjQu MiBhbmQgYWJvdmUpLjxvOnA+PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9M0RNc29Ob3Jt YWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h bHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0z RCdib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCA9CiNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzow Y20gMGNtIDBjbSA9CjYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7bWFy Z2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjU9Ci4wcHQnPjxkaXY+PGRpdj48cCBjbGFzcz0z RE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t Ym90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUz5PciBjYW4gaXQgYmUgZG9uZSBi eSBtYWtpbmcgYSBzbmFwc2hvdCBhbmQgY2xvbmUgdGhlIFZNIHRvID0KYSBuZXcgb25lPzwvc3Bh bj48bzpwPjwvbzpwPjwvcD48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48cCA9CmNsYXNz PTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp bi1ib3R0b20tYWx0OmF1dG8nPiZuYnNwOzxvOnA+PD0KL286cD48L3A+PC9kaXY+PGRpdj48cCBj bGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvJz5Bbm90aGVyID0Kc3VnZ2VzdGlvbjogdXNlIHRoZSBWRFNN IGhvb2tzIGZvciBkaXNjYXJkICgnZGlza3VubWFwJykgYW5kIHJ1biA9Cidmc3RyaW0nIGZyb20g d2l0aGluIHRoZSBndWVzdC4mbmJzcDs8bzpwPjwvbzpwPjwvcD48L2Rpdj48ZGl2PjxwID0KY2xh c3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy Z2luLWJvdHRvbS1hbHQ6YXV0byc+WS48bzpwPjwvbzpwPQo+PC9wPjwvZGl2PjxkaXY+PHAgY2xh c3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy Z2luLWJvdHRvbS1hbHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48L2Rpdj48YmxvY2tx dW90ZSBzdHlsZT0zRCdib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCA9CiNDQ0NDQ0MgMS4w cHQ7cGFkZGluZzowY20gMGNtIDBjbSA9CjYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10 b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjU9Ci4wcHQnPjxkaXY+PGRp dj48cCBjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRv O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUz4mbmJzcDs8 L3NwYW4+PG86cD48L286cD48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28t bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQps YW5nPTNERU4tVVM+VGhhbmtzIGEgbG90PC9zcGFuPjxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPTNE TXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i b3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnY29sb3I6Izg4 ODg4OCc+Q2hyaXN0aWFuPC9zcGFuPjxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjxwID0KY2xh c3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttYXJnaW4t Ym90dG9tOjEyLjBwdCc+PGJyPl9fX19fX19fX19fX19fPQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX188YnI+VXNlcnMgbWFpbGluZyBsaXN0PGJyPjxhID0KaHJlZj0zRCJtYWlsdG86 VXNlcnNAb3ZpcnQub3JnIiA9CnRhcmdldD0zRCJfYmxhbmsiPlVzZXJzQG92aXJ0Lm9yZzwvYT48 YnI+PGEgPQpocmVmPTNEImh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91 c2VycyIgPQp0YXJnZXQ9M0QiX2JsYW5rIj5odHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4v bGlzdGluZm8vdXNlcnM8L2E+PG86cD48PQovbzpwPjwvcD48L2Jsb2NrcXVvdGU+PC9kaXY+PHAg Y2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+Jm5ic3A7PG86cD48PQovbzpwPjwvcD48L2Rpdj48L2Rp dj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PHAgPQpjbGFzcz0z RE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t Ym90dG9tLWFsdDphdXRvJz4mbmJzcDs8bzpwPjw9Ci9vOnA+PC9wPjwvZGl2PjwvZGl2PjwvZGl2 PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48cCA9CmNsYXNzPTNETXNvTm9y bWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+ Ci0tLS0tLT1fTmV4dFBhcnRfMDAxXzAwMjZfMDFEMThCNUIuRTJGNTMyRTAtLQoKLS0tLS0tPV9O ZXh0UGFydF8wMDBfMDAyNV8wMUQxOEI1Qi5FMkY1MzJFMApDb250ZW50LVR5cGU6IGFwcGxpY2F0 aW9uL3BrY3M3LXNpZ25hdHVyZTsgbmFtZT0ic21pbWUucDdzIgpDb250ZW50LVRyYW5zZmVyLUVu Y29kaW5nOiBiYXNlNjQKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9 InNtaW1lLnA3cyIKCk1JQUdDU3FHU0liM0RRRUhBcUNBTUlBQ0FRRXhDekFKQmdVckRnTUNHZ1VB TUlBR0NTcUdTSWIzRFFFSEFRQUFvSUlTa2pDQ0JSMHcKZ2dRRm9BTUNBUUlDRUN1TkxudVpWVXg2 ZHN5RzBSdVprNzB3RFFZSktvWklodmNOQVFFTEJRQXdkVEVMTUFrR0ExVUVCaE1DU1V3eApGakFV QmdOVkJBb1REVk4wWVhKMFEyOXRJRXgwWkM0eEtUQW5CZ05WQkFzVElGTjBZWEowUTI5dElFTmxj blJwWm1sallYUnBiMjRnClFYVjBhRzl5YVhSNU1TTXdJUVlEVlFRREV4cFRkR0Z5ZEVOdmJTQkRi R0Z6Y3lBeElFTnNhV1Z1ZENCRFFUQWVGdzB4TmpBeU1Ea3gKTkRBeU1ETmFGdzB4TnpBeU1Ea3hO REF5TUROYU1Gd3hLVEFuQmdOVkJBTU1JR05vY21semRHbGhiaTVuY25WdVpHMWhibTVBWm1GaQpZ WE52Wm5RdVkyOXRNUzh3TFFZSktvWklodmNOQVFrQkZpQmphSEpwYzNScFlXNHVaM0oxYm1SdFlX NXVRR1poWW1GemIyWjBMbU52CmJUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FR b0NnZ0VCQU1TWE4rWTlvMEdlWWRIdFBKTVJFSjhSS2xKS1BLdisKOUlRR1hGVWtDbW8zZTJUZEV4 YkFWZWNrektTSEx5S1FwN2RVRE5rVGJIM2ZJRUFzcmw0TUhhc0o4ODVkSTl2d29GL2o4RDQzU212 SwplMkNmRzVDNUNHNW1Ib2lseDhPZktldW4wdVJvUTNIWXozcmc4Qnc3eFdaN09jUjNGS01OSGtR ajNBQWNzN1NYc2dUUTV6TW01c2lJClFuS1F4ZUt0NENQOSszeTU5OEZRa2E3bCtIZ2dJdk01OHVm YUdCTGJRamxDMXFOalNPYnhNUWJ0U0JsVkZ4RHIzTGJvbDVONTYwaVEKenZObi8wenRpMUg2blJx WndmTXRIRmU4dUxBSW4yVjA5V0M4bThxTDdnTjVHcGZ0aFZIUlVTWHRhM0ZuRnUwVXgzZFhHK0Nk cWtGUgpnK01RWjJrQ0F3RUFBYU9DQWNBd2dnRzhNQXNHQTFVZER3UUVBd0lFc0RBZEJnTlZIU1VF RmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCCkJRVUhBd1F3Q1FZRFZSMFRCQUl3QURBZEJnTlZIUTRF RmdRVXV4cWZZVG9EY3ArMmhsZWdJQnYvNFVPSUF6RXdId1lEVlIwakJCZ3cKRm9BVUpJRnNPV0cr U1ErUHR4dEdLOGtvdFNkSWJXZ3did1lJS3dZQkJRVUhBUUVFWXpCaE1DUUdDQ3NHQVFVRkJ6QUJo aGhvZEhSdwpPaTh2YjJOemNDNXpkR0Z5ZEhOemJDNWpiMjB3T1FZSUt3WUJCUVVITUFLR0xXaDBk SEE2THk5aGFXRXVjM1JoY25SemMyd3VZMjl0CkwyTmxjblJ6TDNOallTNWpiR2xsYm5ReExtTnlk REE0QmdOVkhSOEVNVEF2TUMyZ0s2QXBoaWRvZEhSd09pOHZZM0pzTG5OMFlYSjAKYzNOc0xtTnZi Uzl6WTJFdFkyeHBaVzUwTVM1amNtd3dLd1lEVlIwUkJDUXdJb0VnWTJoeWFYTjBhV0Z1TG1keWRX NWtiV0Z1YmtCbQpZV0poYzI5bWRDNWpiMjB3SXdZRFZSMFNCQnd3R29ZWWFIUjBjRG92TDNkM2R5 NXpkR0Z5ZEhOemJDNWpiMjB2TUVZR0ExVWRJQVEvCk1EMHdPd1lMS3dZQkJBR0J0VGNCQWdRd0xE QXFCZ2dyQmdFRkJRY0NBUlllYUhSMGNEb3ZMM2QzZHk1emRHRnlkSE56YkM1amIyMHYKY0c5c2FX TjVNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFMYmdOUDNJakRIRys3R3QrZ3JqMUxwbUFmcWU0 N0x0UDRwOFF6ZTNWVQpxb3djZytwS2hkRk15THB2RU1kRGY4NzNON1JIU1FHOTI3elNrTjNGaWtI S2lBYlpHUzBjM3dkWnZMdUtMZ3FSRFZvRy81cmdlVTQ1CkFpMGhqTndPb2RiQWJVV2ZsMmZyV0ZW T0FRZFdUaGpVU3VsQkwzZ285SjFXczhWVCtWeFJGRWNzYzNKOE90dU5memRHNURIZWp0NWwKUEJa OTFSa0pONDg3V1NHNXNjYW1LRUcwYk9IckJ2Q2xPdG1oTnM4R1p0NUdqazZkcW1ZWjhNZlZXMFp4 VkJuTnJid1pHSWxQMFovcQorTXBseXhRZU8rNk83dUgxU0FyUTJzbVRhSUZXY3MyNGQvSk1MR0xP MXN3NklUUmpNeXhKbTFIWWJ0ZiswMVRSZGlXNFVWK2tNSUlGCjRqQ0NBOHFnQXdJQkFnSVFhNmVL ZlFyWGlOWlJDdmxaNU9lMDRUQU5CZ2txaGtpRzl3MEJBUXNGQURCOU1Rc3dDUVlEVlFRR0V3SkoK VERFV01CUUdBMVVFQ2hNTlUzUmhjblJEYjIwZ1RIUmtMakVyTUNrR0ExVUVDeE1pVTJWamRYSmxJ RVJwWjJsMFlXd2dRMlZ5ZEdsbQphV05oZEdVZ1UybG5ibWx1WnpFcE1DY0dBMVVFQXhNZ1UzUmhj blJEYjIwZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt3CkhoY05NVFV4TWpFMk1ERXdN REExV2hjTk16QXhNakUyTURFd01EQTFXakIxTVFzd0NRWURWUVFHRXdKSlRERVdNQlFHQTFVRUNo TU4KVTNSaGNuUkRiMjBnVEhSa0xqRXBNQ2NHQTFVRUN4TWdVM1JoY25SRGIyMGdRMlZ5ZEdsbWFX TmhkR2x2YmlCQmRYUm9iM0pwZEhreApJekFoQmdOVkJBTVRHbE4wWVhKMFEyOXRJRU5zWVhOeklE RWdRMnhwWlc1MElFTkJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FR RUF2WDNhOThPaWZZUDJXNEw5MjF0ZnJoNGJkY0MxR2ErWUpLeTdWM25ZTmV3Skhuek1sQnNLMEhi OERtNFcKbzNGWnB5bGNZYTFNSkdUMTBRTUdXYUxFUjN4Q0l1UlIrOGVrbGYvRXFlWldSTG9qSjd6 QlJ0ak15d1BPQ2Vsck9VK0RYMTJkS3ArRQp6NEo2OTE5cnoxVXVkVE8xR3ZaeUNZSi9JNzA2MnVI c3NrTThiN2dQeG1jQ29PMVVId3dwZ2t2cENBckpXR0ZvRnpqTGRzWmJFckpjClMzSHRBaGxrYkUv QktUTXJkWWczNVVvMTJTTEJPNXRiazhoMmltYktUQzhpTXMrcHNrcnZJL0FWbGg2UW9UVFhrNnhi b1ZYNnpnTWcKenhTVlZMeW1RaXlnWVltMHk1YU1zdmkycmFGaEM2NDNTT0d2RXJXV1BQblNFZmJl QUQxeHN3SURBUUFCbzRJQlpEQ0NBV0F3RGdZRApWUjBQQVFIL0JBUURBZ0VHTUIwR0ExVWRKUVFX TUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREJEQVNCZ05WSFJNQkFmOEVDREFHCkFRSC9BZ0VB TURJR0ExVWRId1FyTUNrd0o2QWxvQ09HSVdoMGRIQTZMeTlqY213dWMzUmhjblJ6YzJ3dVkyOXRM M05tYzJOaExtTnkKYkRCbUJnZ3JCZ0VGQlFjQkFRUmFNRmd3SkFZSUt3WUJCUVVITUFHR0dHaDBk SEE2THk5dlkzTndMbk4wWVhKMGMzTnNMbU52YlRBdwpCZ2dyQmdFRkJRY3dBb1lrYUhSMGNEb3ZM MkZwWVM1emRHRnlkSE56YkM1amIyMHZZMlZ5ZEhNdlkyRXVZM0owTUIwR0ExVWREZ1FXCkJCUWtn V3c1WWI1SkQ0KzNHMFlyeVNpMUowaHRhREFmQmdOVkhTTUVHREFXZ0JST0MrOGFwRUJicFJkcGh6 REtOR2hEMEVHdThqQS8KQmdOVkhTQUVPREEyTURRR0JGVWRJQUF3TERBcUJnZ3JCZ0VGQlFjQ0FS WWVhSFIwY0RvdkwzZDNkeTV6ZEdGeWRITnpiQzVqYjIwdgpjRzlzYVdONU1BMEdDU3FHU0liM0RR RUJDd1VBQTRJQ0FRQ0w0L2VIN0FHTGhLMFBBUUpibk9Fakp5TUV2VFR3Y0FKdVVoL2JvZGpRCmww NnU0cHV0WU94ZFN5SWpTUC9zS3QrMzFMbWpHOCtJTzFXcXlrRTRIL0xtN05LZXpXVm5DSHV3YjNw dGdGbWx3Yk1iR2tVMk1PWkIKdHd6ZktYZFlVaEZMaGFFMnV3NWpYaFh2TFlpdFFheTk2MndQNXVQ STZlQUloVjRMOGFheWExdTRzN01uclRxMFJ6MjVGdUdOTzc5dgpUSFlXajc5N3RTUkM4ck0xNmpz NHlHS09MRnBRdklnMEY4SUVsdjU3YjFzdHArQzdvbXFNNVFuMTVkZVBiU25xcjhKYjY1V3RtSkpi Cm52NnJscWZZL2FMdUUvem1OQWx6TG1QZ2ZNRFN0S0lYZGcrRW9ZQlpURW84d0JVYUJ4aWhmTmJK MDY5bmRRT3hNTk5xQmVsRU1ncEEKdG1qVGJDdVhGanFJd1dxK1hPeDZaVi9XaDJGQW1hTHNTSGxO dkVqalNRTVp3RTRFZUhDZG82NlptRXMvNUpZbENlT2t1bEtWUTZQMwptNS9YT2oyalAxN1EyQWdt alArMTErc0hON1B2ckcwT3dyUXA5UU1lM1grcm4wRzhNanRGZnFCV3ZSOUNnTEl4ek0zTUpOeEZk Z2RqClMyclluU2hQNXV4dnF3Zlp2aFpWWUNJa3FkSmhwWU9OMER2U29kZmlhcjB3aU03OW15U1pK anpDMENUYmlpc0J6Uy9CZUJocWVvMncKRmZsaS9pdzNobjFYS3ZBeDB0eTZ3L3NjbUJGMEFZcW1S SFlqMVRqTVN3MGxBbDdBenRMZ2xxV2pVUEkrc3VrdmFkTVJQeG10S1hsUwoyblZSNGFuL1oxNmlt c1o2OStmRllINjhjMUNLN3ptam96Q0NCNGN3Z2dWdm9BTUNBUUlDQVMwd0RRWUpLb1pJaHZjTkFR RUxCUUF3CmZURUxNQWtHQTFVRUJoTUNTVXd4RmpBVUJnTlZCQW9URFZOMFlYSjBRMjl0SUV4MFpD NHhLekFwQmdOVkJBc1RJbE5sWTNWeVpTQkUKYVdkcGRHRnNJRU5sY25ScFptbGpZWFJsSUZOcFoy NXBibWN4S1RBbkJnTlZCQU1USUZOMFlYSjBRMjl0SUVObGNuUnBabWxqWVhScApiMjRnUVhWMGFH OXlhWFI1TUI0WERUQTJNRGt4TnpFNU5EWXpOMW9YRFRNMk1Ea3hOekU1TkRZek5sb3dmVEVMTUFr R0ExVUVCaE1DClNVd3hGakFVQmdOVkJBb1REVk4wWVhKMFEyOXRJRXgwWkM0eEt6QXBCZ05WQkFz VElsTmxZM1Z5WlNCRWFXZHBkR0ZzSUVObGNuUnAKWm1sallYUmxJRk5wWjI1cGJtY3hLVEFuQmdO VkJBTVRJRk4wWVhKMFEyOXRJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNQpNSUlDSWpB TkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXdZamJDYnhzUm54NG41Vjd0VE9R OG5KaTFzRTJJQ0lrClhzN3BkL0pEQ3FJR1pLVE1qamI0T09ZajhHNXRzVHpkY3FPRkhLSFRQYlF6 SzlNdnIvN3FzRUZaWjdiRUJuMEtublNGMW5sTWdEZDYKM3prRlVsbjM5QnRHUTZUU2hZWFN3M0h6 ZFdJMHVpeUtmeDZQN3UwMDBCSEhsczFTUGJvejF0MU4zZ3M3U2t1ZndpWXYrclVXSEhJMQpkOG84 WGViSzRTYUxHaloyWEFIYmRCUWwvdTIxb0lnUDNYaktMUjhIbHpBQkxYSjUra2JXRXlxb3VhYXJn MGtkNWZMdjNlUUJqaGdLCmoyTlRGb1ZpcVE0Wk9zeTFacWJDYTNRSDVDdmhkajYwYmRqMlJPRnpZ aDg3eEw2Z1UxWWxiRkVKOTZxcnlyOTIvVzJiODUzYnZ6MW0KdkF4V3FxK1lTSlU2UzkrbldGRFpP SFdwVytwRERBTC9tZXZvYkUxd1d5bGxuTjJxWGN5dkFUSHNET3ZTamVqcW5Idm1idmNuWmd3YQpT TmR1UXVNLzNpRStlK0VOY1B0anFxaHNHbFMwWENWNnlhTEppeGFtdXl4K0YxNEZUVmh1RWgwQjdo SVFEY1l5ZnhqLy9QVDZ6VzZSCjZEWkp2aHBJYVl2Q2xrMGFFckpwRjhFS2tOYjZlU0pJdjdwN2Fm aHd4L3A2TjlqWURkSjJUMWYva0xmamtkTGQ3OEpndDJjNjNmNnEKblBEVWkzOXlJczdHbjVlMitL K0tvQkNvMmZzWXhyYTFYRkk4aWJZWktuTUJDZzhEc3hKZzhub3ZnZHVqYnY4bU1KZjFpOTJKVjdh dApQYk92SzhXM2RnTHdwZFlybW9ZVUtuTDI0ek9NWFFsTEU5KzdqSFFUVWtzQ0F3RUFBYU9DQWhB d2dnSU1NQThHQTFVZEV3RUIvd1FGCk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQjBHQTFV ZERnUVdCQlJPQys4YXBFQmJwUmRwaHpES05HaEQwRUd1OGpBZkJnTlYKSFNNRUdEQVdnQlJPQys4 YXBFQmJwUmRwaHpES05HaEQwRUd1OGpDQ0FWb0dBMVVkSUFTQ0FWRXdnZ0ZOTUlJQlNRWUxLd1lC QkFHQgp0VGNCQVFFd2dnRTRNQzRHQ0NzR0FRVUZCd0lCRmlKb2RIUndPaTh2ZDNkM0xuTjBZWEow YzNOc0xtTnZiUzl3YjJ4cFkza3VjR1JtCk1EUUdDQ3NHQVFVRkJ3SUJGaWhvZEhSd09pOHZkM2Qz TG5OMFlYSjBjM05zTG1OdmJTOXBiblJsY20xbFpHbGhkR1V1Y0dSbU1JSFAKQmdnckJnRUZCUWND QWpDQndqQW5GaUJUZEdGeWRDQkRiMjF0WlhKamFXRnNJQ2hUZEdGeWRFTnZiU2tnVEhSa0xqQURB Z0VCR29HVwpUR2x0YVhSbFpDQk1hV0ZpYVd4cGRIa3NJSEpsWVdRZ2RHaGxJSE5sWTNScGIyNGdL a3hsWjJGc0lFeHBiV2wwWVhScGIyNXpLaUJ2ClppQjBhR1VnVTNSaGNuUkRiMjBnUTJWeWRHbG1h V05oZEdsdmJpQkJkWFJvYjNKcGRIa2dVRzlzYVdONUlHRjJZV2xzWVdKc1pTQmgKZENCb2RIUndP aTh2ZDNkM0xuTjBZWEowYzNOc0xtTnZiUzl3YjJ4cFkza3VjR1JtTUJFR0NXQ0dTQUdHK0VJQkFR UUVBd0lBQnpBNApCZ2xnaGtnQmh2aENBUTBFS3hZcFUzUmhjblJEYjIwZ1JuSmxaU0JUVTB3Z1Ey VnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt3CkRRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFJ NlA1OXlVZVh6eGhYK2ZTVzlyeWwzN2pQNEV4Y0ZpMFgxQ2lyeFR0NVFEWmpBL3NlY0sKcDFBZ1ZT Vi9kbm9VRGVzRURrRG1QdGlJcXdjbmc2bDFwamR6eC8xTDBrMnRGMERJUnI0N2YxSDh3N1lGTWR6 TmhTSk9jYmZ5Y1Y2dwpHc2E2azR0NGtrcUYrSGdQZy80dnJTejM1S1M3TGREbkRUcTRQczcyZVBh dVJ5VEtvelUyenNmR2g1amE3UHZwc3M0bm00akRCS0gyCkMxbG9yOG5iRUE5TjltUmpYS1VTYjVL eWs1VEhpQmNPazdaK1lvdVFmNnRPbi96amRSUlBLakxmV3czZzlYdVREYXVoejRmaHBRUkYKNkR3 U3BRbkZzTkczVS9OZ0ZMcUZhV29oZkI5MVlSY2dGM3RzTzBFcFhPR3NXdEhOakp2cllCMFo3UGZs c05yNWVSaWxSVDlKUTFmUwozU1RWTEtQOWtZMG50ZVhyRkFhYVRIc2h1enF0TUFZWXdOakJheXgv V1Z4ZGtiRndJbGZyaW10SVN0VVBLZXpHUU1BdmlFeG9BUmQzCjlDUVpUNzM2NGJJZ0lVdmRHdGdw ZmFxNDNsVHNJVldBYkI3MU1NaWpFT1d5NWlvVU1jT0ZMWXlZc1laYVQ0bFpMYm5IOXh6SWluL0EK blFWSzVrSlBZcU50S2FRZmhhdmI1WUhJclNvOVRGMWJoQ1p4eElWZWNTVEtwUnRzMkdIVEd1QlUy ODY2cVRLMUl2WnpRUWxkdUJkZApEZytaa05aSDJtOEtPbUlvRkdlQzJmSFFnRm1ieXpIWW13K01k MDYxYUlyeWJQWWtEaTFzY01WejBkNFUwSEdQdHRON0F2Ymp1TlFKCmJtdWVkWVE1NW44bHBmSklB TUNrQWRvL01ZSUQ1RENDQStBQ0FRRXdnWWt3ZFRFTE1Ba0dBMVVFQmhNQ1NVd3hGakFVQmdOVkJB b1QKRFZOMFlYSjBRMjl0SUV4MFpDNHhLVEFuQmdOVkJBc1RJRk4wWVhKMFEyOXRJRU5sY25ScFpt bGpZWFJwYjI0Z1FYVjBhRzl5YVhSNQpNU013SVFZRFZRUURFeHBUZEdGeWRFTnZiU0JEYkdGemN5 QXhJRU5zYVdWdWRDQkRRUUlRSzQwdWU1bFZUSHAyekliUkc1bVR2VEFKCkJnVXJEZ01DR2dVQW9J SUNMekFZQmdrcWhraUc5dzBCQ1FNeEN3WUpLb1pJaHZjTkFRY0JNQndHQ1NxR1NJYjNEUUVKQlRF UEZ3MHgKTmpBek16RXhNalEwTlROYU1DTUdDU3FHU0liM0RRRUpCREVXQkJSVG5GVEhsQ2xLcEJW WjZnYlpNYi9JMUhiV0dEQ0Jrd1lKS29aSQpodmNOQVFrUE1ZR0ZNSUdDTUFzR0NXQ0dTQUZsQXdR QktqQUxCZ2xnaGtnQlpRTUVBUll3Q2dZSUtvWklodmNOQXdjd0N3WUpZSVpJCkFXVURCQUVDTUE0 R0NDcUdTSWIzRFFNQ0FnSUFnREFOQmdncWhraUc5dzBEQWdJQlFEQUhCZ1VyRGdNQ0dqQUxCZ2xn aGtnQlpRTUUKQWdNd0N3WUpZSVpJQVdVREJBSUNNQXNHQ1dDR1NBRmxBd1FDQVRDQm1nWUpLd1lC QkFHQ054QUVNWUdNTUlHSk1IVXhDekFKQmdOVgpCQVlUQWtsTU1SWXdGQVlEVlFRS0V3MVRkR0Z5 ZEVOdmJTQk1kR1F1TVNrd0p3WURWUVFMRXlCVGRHRnlkRU52YlNCRFpYSjBhV1pwClkyRjBhVzl1 SUVGMWRHaHZjbWwwZVRFak1DRUdBMVVFQXhNYVUzUmhjblJEYjIwZ1EyeGhjM01nTVNCRGJHbGxi blFnUTBFQ0VDdU4KTG51WlZVeDZkc3lHMFJ1Wms3MHdnWndHQ3lxR1NJYjNEUUVKRUFJTE1ZR01v SUdKTUhVeEN6QUpCZ05WQkFZVEFrbE1NUll3RkFZRApWUVFLRXcxVGRHRnlkRU52YlNCTWRHUXVN U2t3SndZRFZRUUxFeUJUZEdGeWRFTnZiU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2CmNtbDBl VEVqTUNFR0ExVUVBeE1hVTNSaGNuUkRiMjBnUTJ4aGMzTWdNU0JEYkdsbGJuUWdRMEVDRUN1Tkxu dVpWVXg2ZHN5RzBSdVoKazcwd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ2dFQVB3YUpmR2VjakxxOVFm aVpqdnFTdmxXTHpEZkpCMW1tRDFzL0NobDNrUnZweWRCeApwdWtrRHZkblRzUUVwaFhINkRzVFBl dDUvSDZEWi9TMUJRVFViZGd3QUVuYTNtczFsdXk4UDdCNmlZREUrVkhzU0JyR1N5aTl3Nk9MCml2 dkIyT1pPbG4xS3RDYWE0dk1zemdkdU9ZdnBENS9nb1EwVmZEbVdzMVZrYkV4eGJWQWV0dEdWRjl2 bDBXQTM1ekVXc3JtTXFpQ00KUitIRUZiQ0J6UEdJeEx3V2JtdHRXZGdjaDgya25URStlQlZXZWdo UDBhMHNrQmNEN210TWw1VWt0UVlPc1RndlVud3hkTmRWZ1ZqUwo3WTJvRnk4MGZaSmE5L2hMb2NF UXFkNjZPZkdtNFVyUmc2aXpORWNNMUdIc01MREJjWklEUysvVWE5TW5WTHMzS1FBQUFBQUFBQT09 CgotLS0tLS09X05leHRQYXJ0XzAwMF8wMDI1XzAxRDE4QjVCLkUyRjUzMkUwLS0K --===============3153754620811235837==-- From ykaul at redhat.com Thu Mar 31 09:58:51 2016 Content-Type: multipart/mixed; boundary="===============3219913996328454993==" MIME-Version: 1.0 From: Yaniv Kaul To: users at ovirt.org Subject: Re: [ovirt-users] Reclaim disk space of thin disks Date: Thu, 31 Mar 2016 16:58:09 +0300 Message-ID: In-Reply-To: 6A17C71B52524C408E7AAF69103E9E490F69D186@fabamailserver.fabagl.fabasoft.com --===============3219913996328454993== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Thu, Mar 31, 2016 at 3:44 PM, Grundmann, Christian < Christian.Grundmann(a)fabasoft.com> wrote: > Hi, > > @ I'm unsure if that size should change - we've allocated blocks, they > are still allocated from our perspective. From the storage point of view, > there's a hole that can be used for other purposes. > > I'd look on the storage side. > > > > That=E2=80=99s the problem, if the space is still allocated it can=E2=80= =99t be used for > other VMs so it won=E2=80=99t help. Is there a possibility to deallocate = the free > Blocks of the Disk? I think virt-sparsify would do exactly that but can= =E2=80=99t > be used with ovirt? > Well, it's tricky ;-) - the space is allocated, in the sense that the storage 'promised' to give you X GBs of storage. It just didn't say where does blocks are going to be. So once you unmap a block, it may take it and give it to someone else. This is what thin provisioning is all about. You get logical blocks which map to physical blocks. Once those physical blocks have been deallocated, they may be used by something else, yet the logical block is still yours - and if you'll write to it, you'll get a different physical block. Y. > > > Thx > > Christian > > > > > > > > > > > > *Von:* Yaniv Kaul [mailto:ykaul(a)redhat.com] > *Gesendet:* Donnerstag, 31. M=C3=A4rz 2016 14:33 > > *An:* Grundmann, Christian > *Cc:* users(a)ovirt.org > *Betreff:* Re: [ovirt-users] Reclaim disk space of thin disks > > > > On Thu, Mar 31, 2016 at 1:16 PM, Grundmann, Christian < > Christian.Grundmann(a)fabasoft.com> wrote: > > Hi, > > @1. Did you use the hook? > > yes, without the hook fstrim would not start, > > @2. Where did you see it's the same size? Should be looked at from the > storage side (assuming, btw, it supports discard!) > > I looked at the =E2=80=9Cactual Size=E2=80=9D under Storage > > > > I'm unsure if that size should change - we've allocated blocks, they are > still allocated from our perspective. From the storage point of view, > there's a hole that can be used for other purposes. > > I'd look on the storage side. > > > > I don=E2=80=99t know how ovirt handles FC storage and if this will allow = discard. > > > > It doesn't really care - thee discard should be passed to the underlying > storage. Most should support UNMAP these days. But you can easily check, I > assume with a small test (use sg3_utils for example). > > Y. > > > > > > Thx > > Christian > > > > > > *Von:* Yaniv Kaul [mailto:ykaul(a)redhat.com] > *Gesendet:* Donnerstag, 31. M=C3=A4rz 2016 12:13 > > > *An:* Grundmann, Christian > *Cc:* users(a)ovirt.org > *Betreff:* Re: [ovirt-users] Reclaim disk space of thin disks > > > > > > > > On Thu, Mar 31, 2016 at 1:05 PM, Grundmann, Christian < > Christian.Grundmann(a)fabasoft.com> wrote: > > Hi, > > seems not to work with FC Storage, > > > > I Zero filled the Disk with dd, removed the file and did a fstrim which > told me it trimmed the right amount of space, > > But the disk Image stays full size. > > > > 1. Did you use the hook? > > 2. Where did you see it's the same size? Should be looked at from the > storage side (assuming, btw, it supports discard!) > > Y. > > > > > > Thx > > Christian > > > > *Von:* Yaniv Kaul [mailto:ykaul(a)redhat.com] > *Gesendet:* Mittwoch, 30. M=C3=A4rz 2016 22:29 > *An:* Grundmann, Christian > *Cc:* users(a)ovirt.org > *Betreff:* Re: [ovirt-users] Reclaim disk space of thin disks > > > > > > > > On Wed, Mar 30, 2016 at 10:04 AM, Grundmann, Christian < > Christian.Grundmann(a)fabasoft.com> wrote: > > Hi, > > is there a way to =E2=80=9Eshrink=E2=80=9C a thin disk image to reclaim d= eleted space like > using virt-sparsify? > > > > Yes, if the underlying file system supports it (NFS, for example, might > need to be 4.2 and above). > > > > Or can it be done by making a snapshot and clone the VM to a new one? > > > > Another suggestion: use the VDSM hooks for discard ('diskunmap') and run > 'fstrim' from within the guest. > > Y. > > > > > > Thanks a lot > > Christian > > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > > > > > > > --===============3219913996328454993== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPk9uIFRodSwgTWFyIDMxLCAyMDE2IGF0IDM6NDQgUE0sIEdydW5kbWFu biwgQ2hyaXN0aWFuIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOkNocmlzdGlh bi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+Q2hyaXN0aWFuLkdydW5k bWFubkBmYWJhc29mdC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNs YXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFw eCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgbGFuZz0iREUtQVQiIGxpbms9ImJs dWUiIHZsaW5rPSJwdXJwbGUiPjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl cmlmIj5IaSw8dT48L3U+PHU+PC91Pjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90 O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+QDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+IEkm IzM5O20gdW5zdXJlIGlmIHRoYXQgc2l6ZSBzaG91bGQgY2hhbmdlIC0gd2UmIzM5O3ZlIGFsbG9j YXRlZCBibG9ja3MsIHRoZXkgYXJlIHN0aWxsIGFsbG9jYXRlZCBmcm9tIG91ciBwZXJzcGVjdGl2 ZS4gRnJvbSB0aGUgc3RvcmFnZSBwb2ludCBvZiB2aWV3LCB0aGVyZSYjMzk7cyBhIGhvbGUgdGhh dCBjYW4gYmUgdXNlZCBmb3Igb3RoZXIgcHVycG9zZXMuPHU+PC91Pjx1PjwvdT48L3NwYW4+PC9w PjxzcGFuIGNsYXNzPSIiPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5J JiMzOTtkIGxvb2sgb24gdGhlIHN0b3JhZ2Ugc2lkZS7CoDx1PjwvdT48dT48L3U+PC9zcGFuPjwv cD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj48dT48 L3U+wqA8dT48L3U+PC9zcGFuPjwvcD48L3NwYW4+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh bGlicmkmcXVvdDssc2Fucy1zZXJpZiI+VGhhdOKAmXMgdGhlIHByb2JsZW0sIGlmIHRoZSBzcGFj ZSBpcyBzdGlsbCBhbGxvY2F0ZWQgaXQgY2Fu4oCZdCBiZSB1c2VkIGZvciBvdGhlciBWTXMgc28g aXQgd29u4oCZdCBoZWxwLiBJcyB0aGVyZSBhIHBvc3NpYmlsaXR5IHRvIGRlYWxsb2NhdGUgdGhl IGZyZWUgQmxvY2tzIG9mIHRoZSBEaXNrPyBJIHRoaW5rIHZpcnQtc3BhcnNpZnkgd291bGQgZG8g ZXhhY3RseSB0aGF0IGJ1dCBjYW7igJl0IGJlIHVzZWQgd2l0aCBvdmlydD88L3NwYW4+PC9wPjwv ZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48ZGl2PldlbGwsIGl0JiMzOTtz IHRyaWNreSA7LSkgwqAtIHRoZSBzcGFjZSBpcyBhbGxvY2F0ZWQsIGluIHRoZSBzZW5zZSB0aGF0 IHRoZSBzdG9yYWdlICYjMzk7cHJvbWlzZWQmIzM5OyB0byBnaXZlIHlvdSBYIEdCcyBvZiBzdG9y YWdlLiBJdCBqdXN0IGRpZG4mIzM5O3Qgc2F5IHdoZXJlIGRvZXMgYmxvY2tzIGFyZSBnb2luZyB0 byBiZS4gU28gb25jZSB5b3UgdW5tYXAgYSBibG9jaywgaXQgbWF5IHRha2UgaXQgYW5kIGdpdmUg aXQgdG8gc29tZW9uZSBlbHNlLiBUaGlzIGlzIHdoYXQgdGhpbiBwcm92aXNpb25pbmcgaXMgYWxs IGFib3V0LiBZb3UgZ2V0IGxvZ2ljYWwgYmxvY2tzIHdoaWNoIG1hcCB0byBwaHlzaWNhbCBibG9j a3MuIE9uY2UgdGhvc2UgcGh5c2ljYWwgYmxvY2tzIGhhdmUgYmVlbiBkZWFsbG9jYXRlZCwgdGhl eSBtYXkgYmUgdXNlZCBieSBzb21ldGhpbmcgZWxzZSwgeWV0IHRoZSBsb2dpY2FsIGJsb2NrIGlz IHN0aWxsIHlvdXJzIC0gYW5kIGlmIHlvdSYjMzk7bGwgd3JpdGUgdG8gaXQsIHlvdSYjMzk7bGwg Z2V0IGEgZGlmZmVyZW50IHBoeXNpY2FsIGJsb2NrLjwvZGl2PjxkaXY+WS48L2Rpdj48ZGl2PsKg PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAw IC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+PGRpdiBs YW5nPSJERS1BVCIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSI+PGRpdj48cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj48dT48L3U+PHU+PC91Pjwvc3Bh bj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250 LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+ PHU+PC91PsKgPHU+PC91Pjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFu Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli cmkmcXVvdDssc2Fucy1zZXJpZiI+VGh4PHU+PC91Pjx1PjwvdT48L3NwYW4+PC9wPjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkNocmlzdGlhbjx1Pjwv dT48dT48L3U+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V UyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90 OyxzYW5zLXNlcmlmIj48dT48L3U+wqA8dT48L3U+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj48dT48L3U+wqA8dT48L3U+PC9zcGFu PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj48 dT48L3U+wqA8dT48L3U+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy aSZxdW90OyxzYW5zLXNlcmlmIj48dT48L3U+wqA8dT48L3U+PC9zcGFuPjwvcD48cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PHU+PC91PsKgPHU+PC91Pjwvc3Bhbj48L3A+ PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gbGFuZz0iREUiIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+Vm9uOjwv c3Bhbj48L2I+PHNwYW4gbGFuZz0iREUiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IFlhbml2IEthdWwgW21haWx0bzo8 YSBocmVmPSJtYWlsdG86eWthdWxAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnlrYXVsQHJl ZGhhdC5jb208L2E+XSA8YnI+PGI+R2VzZW5kZXQ6PC9iPiBEb25uZXJzdGFnLCAzMS4gTcOkcnog MjAxNiAxNDozMzwvc3Bhbj48L3A+PGRpdj48ZGl2IGNsYXNzPSJoNSI+PGJyPjxiPkFuOjwvYj4g R3J1bmRtYW5uLCBDaHJpc3RpYW4gJmx0OzxhIGhyZWY9Im1haWx0bzpDaHJpc3RpYW4uR3J1bmRt YW5uQGZhYmFzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPkNocmlzdGlhbi5HcnVuZG1hbm5AZmFi YXNvZnQuY29tPC9hPiZndDs8YnI+PGI+Q2M6PC9iPiA8YSBocmVmPSJtYWlsdG86dXNlcnNAb3Zp cnQub3JnIiB0YXJnZXQ9Il9ibGFuayI+dXNlcnNAb3ZpcnQub3JnPC9hPjxicj48Yj5CZXRyZWZm OjwvYj4gUmU6IFtvdmlydC11c2Vyc10gUmVjbGFpbSBkaXNrIHNwYWNlIG9mIHRoaW4gZGlza3M8 dT48L3U+PHU+PC91PjwvZGl2PjwvZGl2PjxwPjwvcD48ZGl2PjxkaXYgY2xhc3M9Img1Ij48cCBj bGFzcz0iTXNvTm9ybWFsIj48dT48L3U+wqA8dT48L3U+PC9wPjxkaXY+PGRpdj48ZGl2PjxwIGNs YXNzPSJNc29Ob3JtYWwiPk9uIFRodSwgTWFyIDMxLCAyMDE2IGF0IDE6MTYgUE0sIEdydW5kbWFu biwgQ2hyaXN0aWFuICZsdDs8YSBocmVmPSJtYWlsdG86Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJh c29mdC5jb20iIHRhcmdldD0iX2JsYW5rIj5DaHJpc3RpYW4uR3J1bmRtYW5uQGZhYmFzb2Z0LmNv bTwvYT4mZ3Q7IHdyb3RlOjx1PjwvdT48dT48L3U+PC9wPjxibG9ja3F1b3RlIHN0eWxlPSJib3Jk ZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjY2NjY2NjIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAw Y20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBjbSI+PGRpdj48ZGl2Pjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEx LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkhpLDwvc3Bh bj48dT48L3U+PHU+PC91PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V UyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90 OyxzYW5zLXNlcmlmIj5AMS4gRGlkIHlvdSB1c2UgdGhlIGhvb2s/PC9zcGFuPjx1PjwvdT48dT48 L3U+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYi Pnllcywgd2l0aG91dCB0aGUgaG9vayBmc3RyaW0gd291bGQgbm90IHN0YXJ0LDwvc3Bhbj48dT48 L3U+PHU+PC91PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5 bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z LXNlcmlmIj5AMi4gV2hlcmUgZGlkIHlvdSBzZWUgaXQmIzM5O3MgdGhlIHNhbWUgc2l6ZT8gU2hv dWxkIGJlIGxvb2tlZCBhdCBmcm9tIHRoZSBzdG9yYWdlIHNpZGUgKGFzc3VtaW5nLCBidHcsIGl0 IHN1cHBvcnRzIGRpc2NhcmQhKTwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5JIGxvb2tlZCBhdCB0aGUg4oCc YWN0dWFsIFNpemXigJ0gdW5kZXIgU3RvcmFnZTwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48L2Rp dj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj48dT48L3U+wqA8 dT48L3U+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+SSYjMzk7bSB1bnN1cmUg aWYgdGhhdCBzaXplIHNob3VsZCBjaGFuZ2UgLSB3ZSYjMzk7dmUgYWxsb2NhdGVkIGJsb2Nrcywg dGhleSBhcmUgc3RpbGwgYWxsb2NhdGVkIGZyb20gb3VyIHBlcnNwZWN0aXZlLiBGcm9tIHRoZSBz dG9yYWdlIHBvaW50IG9mIHZpZXcsIHRoZXJlJiMzOTtzIGEgaG9sZSB0aGF0IGNhbiBiZSB1c2Vk IGZvciBvdGhlciBwdXJwb3Nlcy48dT48L3U+PHU+PC91PjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNz PSJNc29Ob3JtYWwiPkkmIzM5O2QgbG9vayBvbiB0aGUgc3RvcmFnZSBzaWRlLsKgPHU+PC91Pjx1 PjwvdT48L3A+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0 OnNvbGlkICNjY2NjY2MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVm dDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtIj48ZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+wqA8L3NwYW4+PHU+PC91Pjx1PjwvdT48L3A+ PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+SSBkb27i gJl0IGtub3cgaG93IG92aXJ0IGhhbmRsZXMgRkMgc3RvcmFnZSBhbmQgaWYgdGhpcyB3aWxsIGFs bG93IGRpc2NhcmQuPC9zcGFuPjx1PjwvdT48dT48L3U+PC9wPjwvZGl2PjwvZGl2PjwvYmxvY2tx dW90ZT48ZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPjx1PjwvdT7CoDx1PjwvdT48L3A+PC9kaXY+ PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj5JdCBkb2VzbiYjMzk7dCByZWFsbHkgY2FyZSAtIHRo ZWUgZGlzY2FyZCBzaG91bGQgYmUgcGFzc2VkIHRvIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuIE1v c3Qgc2hvdWxkIHN1cHBvcnQgVU5NQVAgdGhlc2UgZGF5cy4gQnV0IHlvdSBjYW4gZWFzaWx5IGNo ZWNrLCBJIGFzc3VtZSB3aXRoIGEgc21hbGwgdGVzdCAodXNlIHNnM191dGlscyBmb3IgZXhhbXBs ZSkuPHU+PC91Pjx1PjwvdT48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj5ZLjx1 PjwvdT48dT48L3U+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHU+PC91PsKg PHU+PC91PjwvcD48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxl ZnQ6c29saWQgI2NjY2NjYyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1s ZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPjxkaXY+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6 JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj7CoDwvc3Bhbj48dT48L3U+PHU+PC91Pjwv cD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5UaHgg PC9zcGFuPjx1PjwvdT48dT48L3U+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9 IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp JnF1b3Q7LHNhbnMtc2VyaWYiPkNocmlzdGlhbjwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4w cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj7CoDwvc3Bhbj48 dT48L3U+PHU+PC91PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+ wqA8L3NwYW4+PHU+PC91Pjx1PjwvdT48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4g bGFuZz0iREUiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli cmkmcXVvdDssc2Fucy1zZXJpZiI+Vm9uOjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iREUiIHN0eWxl PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z ZXJpZiI+IFlhbml2IEthdWwgW21haWx0bzo8YSBocmVmPSJtYWlsdG86eWthdWxAcmVkaGF0LmNv bSIgdGFyZ2V0PSJfYmxhbmsiPnlrYXVsQHJlZGhhdC5jb208L2E+XSA8YnI+PGI+R2VzZW5kZXQ6 PC9iPiBEb25uZXJzdGFnLCAzMS4gTcOkcnogMjAxNiAxMjoxMzwvc3Bhbj48dT48L3U+PHU+PC91 PjwvcD48ZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGJyPjxiPkFuOjwvYj4gR3J1bmRt YW5uLCBDaHJpc3RpYW4gJmx0OzxhIGhyZWY9Im1haWx0bzpDaHJpc3RpYW4uR3J1bmRtYW5uQGZh YmFzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPkNocmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNvZnQu Y29tPC9hPiZndDs8YnI+PGI+Q2M6PC9iPiA8YSBocmVmPSJtYWlsdG86dXNlcnNAb3ZpcnQub3Jn IiB0YXJnZXQ9Il9ibGFuayI+dXNlcnNAb3ZpcnQub3JnPC9hPjxicj48Yj5CZXRyZWZmOjwvYj4g UmU6IFtvdmlydC11c2Vyc10gUmVjbGFpbSBkaXNrIHNwYWNlIG9mIHRoaW4gZGlza3M8dT48L3U+ PHU+PC91PjwvcD48L2Rpdj48L2Rpdj48ZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+wqA8 dT48L3U+PHU+PC91PjwvcD48ZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKgPHU+PC91Pjx1Pjwv dT48L3A+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDx1PjwvdT48dT48L3U+PC9wPjxkaXY+ PHAgY2xhc3M9Ik1zb05vcm1hbCI+T24gVGh1LCBNYXIgMzEsIDIwMTYgYXQgMTowNSBQTSwgR3J1 bmRtYW5uLCBDaHJpc3RpYW4gJmx0OzxhIGhyZWY9Im1haWx0bzpDaHJpc3RpYW4uR3J1bmRtYW5u QGZhYmFzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPkNocmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNv ZnQuY29tPC9hPiZndDsgd3JvdGU6PHU+PC91Pjx1PjwvdT48L3A+PGJsb2NrcXVvdGUgc3R5bGU9 ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNjY2NjY2MgMS4wcHQ7cGFkZGluZzowY20g MGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1y aWdodDowY207bWFyZ2luLWJvdHRvbTo1LjBwdCI+PGRpdj48ZGl2PjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkhpLDwvc3Bhbj48dT48L3U+PHU+PC91 PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5z ZWVtcyBub3QgdG8gd29yayB3aXRoIEZDIFN0b3JhZ2UsPC9zcGFuPjx1PjwvdT48dT48L3U+PC9w PjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPsKgPC9z cGFuPjx1PjwvdT48dT48L3U+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVO LVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1 b3Q7LHNhbnMtc2VyaWYiPkkgWmVybyBmaWxsZWQgdGhlIERpc2sgd2l0aCBkZCwgcmVtb3ZlZCB0 aGUgZmlsZSBhbmQgZGlkIGEgZnN0cmltIHdoaWNoIHRvbGQgbWUgaXQgdHJpbW1lZCB0aGUgcmln aHQgYW1vdW50IG9mIHNwYWNlLDwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5CdXQgdGhlIGRpc2sgSW1hZ2Ug c3RheXMgZnVsbCBzaXplLjwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48L2Rpdj48L2Rpdj48L2Js b2NrcXVvdGU+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDx1PjwvdT48dT48L3U+PC9wPjwv ZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+MS4gRGlkIHlvdSB1c2UgdGhlIGhvb2s/PHU+ PC91Pjx1PjwvdT48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj4yLiBXaGVyZSBk aWQgeW91IHNlZSBpdCYjMzk7cyB0aGUgc2FtZSBzaXplPyBTaG91bGQgYmUgbG9va2VkIGF0IGZy b20gdGhlIHN0b3JhZ2Ugc2lkZSAoYXNzdW1pbmcsIGJ0dywgaXQgc3VwcG9ydHMgZGlzY2FyZCEp PHU+PC91Pjx1PjwvdT48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj5ZLjx1Pjwv dT48dT48L3U+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+wqA8dT48L3U+PHU+ PC91PjwvcD48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6 c29saWQgI2NjY2NjYyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0 OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjUu MHB0Ij48ZGl2PjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0 eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu cy1zZXJpZiI+wqA8L3NwYW4+PHU+PC91Pjx1PjwvdT48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+VGh4IDwvc3Bhbj48dT48L3U+PHU+PC91Pjwv cD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5DaHJp c3RpYW48L3NwYW4+PHU+PC91Pjx1PjwvdT48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh bGlicmkmcXVvdDssc2Fucy1zZXJpZiI+wqA8L3NwYW4+PHU+PC91Pjx1PjwvdT48L3A+PHAgY2xh c3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gbGFuZz0iREUiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0 O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+Vm9uOjwvc3Bhbj48 L2I+PHNwYW4gbGFuZz0iREUiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IFlhbml2IEthdWwgW21haWx0bzo8YSBocmVm PSJtYWlsdG86eWthdWxAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnlrYXVsQHJlZGhhdC5j b208L2E+XSA8YnI+PGI+R2VzZW5kZXQ6PC9iPiBNaXR0d29jaCwgMzAuIE3DpHJ6IDIwMTYgMjI6 Mjk8YnI+PGI+QW46PC9iPiBHcnVuZG1hbm4sIENocmlzdGlhbiAmbHQ7PGEgaHJlZj0ibWFpbHRv OkNocmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+Q2hyaXN0 aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb208L2E+Jmd0Ozxicj48Yj5DYzo8L2I+IDxhIGhyZWY9 Im1haWx0bzp1c2Vyc0BvdmlydC5vcmciIHRhcmdldD0iX2JsYW5rIj51c2Vyc0BvdmlydC5vcmc8 L2E+PGJyPjxiPkJldHJlZmY6PC9iPiBSZTogW292aXJ0LXVzZXJzXSBSZWNsYWltIGRpc2sgc3Bh Y2Ugb2YgdGhpbiBkaXNrczwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48ZGl2PjxkaXY+PHAgY2xh c3M9Ik1zb05vcm1hbCI+wqA8dT48L3U+PHU+PC91PjwvcD48ZGl2PjxwIGNsYXNzPSJNc29Ob3Jt YWwiPsKgPHU+PC91Pjx1PjwvdT48L3A+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDx1Pjwv dT48dT48L3U+PC9wPjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+T24gV2VkLCBNYXIgMzAsIDIw MTYgYXQgMTA6MDQgQU0sIEdydW5kbWFubiwgQ2hyaXN0aWFuICZsdDs8YSBocmVmPSJtYWlsdG86 Q2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb20iIHRhcmdldD0iX2JsYW5rIj5DaHJpc3Rp YW4uR3J1bmRtYW5uQGZhYmFzb2Z0LmNvbTwvYT4mZ3Q7IHdyb3RlOjx1PjwvdT48dT48L3U+PC9w PjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjY2NjY2Nj IDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2lu LXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NS4wcHQiPjxkaXY+PGRp dj48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SGksPC9zcGFuPjx1Pjwv dT48dT48L3U+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5pcyB0 aGVyZSBhIHdheSB0byDigJ5zaHJpbmvigJwgYSB0aGluIGRpc2sgaW1hZ2UgdG8gcmVjbGFpbSBk ZWxldGVkIHNwYWNlIGxpa2UgdXNpbmcgdmlydC1zcGFyc2lmeT88L3NwYW4+PHU+PC91Pjx1Pjwv dT48L3A+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+ wqA8dT48L3U+PHU+PC91PjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPlllcywg aWYgdGhlIHVuZGVybHlpbmcgZmlsZSBzeXN0ZW0gc3VwcG9ydHMgaXQgKE5GUywgZm9yIGV4YW1w bGUsIG1pZ2h0IG5lZWQgdG8gYmUgNC4yIGFuZCBhYm92ZSkuPHU+PC91Pjx1PjwvdT48L3A+PC9k aXY+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDx1PjwvdT48dT48L3U+PC9wPjwvZGl2Pjxi bG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjY2NjY2NjIDEu MHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRv cDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NS4wcHQiPjxkaXY+PGRpdj48 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+T3IgY2FuIGl0IGJlIGRvbmUg YnkgbWFraW5nIGEgc25hcHNob3QgYW5kIGNsb25lIHRoZSBWTSB0byBhIG5ldyBvbmU/PC9zcGFu Pjx1PjwvdT48dT48L3U+PC9wPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PjxwIGNsYXNz PSJNc29Ob3JtYWwiPsKgPHU+PC91Pjx1PjwvdT48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0iTXNv Tm9ybWFsIj5Bbm90aGVyIHN1Z2dlc3Rpb246IHVzZSB0aGUgVkRTTSBob29rcyBmb3IgZGlzY2Fy ZCAoJiMzOTtkaXNrdW5tYXAmIzM5OykgYW5kIHJ1biAmIzM5O2ZzdHJpbSYjMzk7IGZyb20gd2l0 aGluIHRoZSBndWVzdC7CoDx1PjwvdT48dT48L3U+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9Ik1z b05vcm1hbCI+WS48dT48L3U+PHU+PC91PjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNzPSJNc29Ob3Jt YWwiPsKgPHU+PC91Pjx1PjwvdT48L3A+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpu b25lO2JvcmRlci1sZWZ0OnNvbGlkICNjY2NjY2MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2 LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowY207 bWFyZ2luLWJvdHRvbTo1LjBwdCI+PGRpdj48ZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IGxhbmc9IkVOLVVTIj7CoDwvc3Bhbj48dT48L3U+PHU+PC91PjwvcD48cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhhbmtzIGEgbG90PC9zcGFuPjx1PjwvdT48dT48L3U+ PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6 Izg4ODg4OCI+Q2hyaXN0aWFuPC9zcGFuPjx1PjwvdT48dT48L3U+PC9wPjwvZGl2PjwvZGl2Pjxw IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+PGJyPl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPlVzZXJzIG1haWxp bmcgbGlzdDxicj48YSBocmVmPSJtYWlsdG86VXNlcnNAb3ZpcnQub3JnIiB0YXJnZXQ9Il9ibGFu ayI+VXNlcnNAb3ZpcnQub3JnPC9hPjxicj48YSBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3Jn L21haWxtYW4vbGlzdGluZm8vdXNlcnMiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlzdHMub3Zp cnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnM8L2E+PHU+PC91Pjx1PjwvdT48L3A+PC9ibG9j a3F1b3RlPjwvZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKgPHU+PC91Pjx1PjwvdT48L3A+PC9k aXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxwIGNs YXNzPSJNc29Ob3JtYWwiPsKgPHU+PC91Pjx1PjwvdT48L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9k aXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiPjx1 PjwvdT7CoDx1PjwvdT48L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9i bG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48L2Rpdj4K --===============3219913996328454993==--