From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from emea01-am1-obe.outbound.protection.outlook.com (mail-am1on0080.outbound.protection.outlook.com [157.56.112.80]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id D50BB21F30A for ; Thu, 19 Nov 2015 04:05:48 -0800 (PST) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kevin@darbyshire-bryant.me.uk; Received: from [IPv6:2001:470:183f:da2b::632f:a7da] (2001:470:183f:da2b::632f:a7da) by AM2PR07MB0929.eurprd07.prod.outlook.com (10.162.37.12) with Microsoft SMTP Server (TLS) id 15.1.331.20; Thu, 19 Nov 2015 12:05:44 +0000 To: References: From: Kevin Darbyshire-Bryant X-Enigmail-Draft-Status: N1110 Message-ID: <564DBB14.2040801@darbyshire-bryant.me.uk> Date: Thu, 19 Nov 2015 12:05:40 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms040506080500090802040101" X-Originating-IP: [2001:470:183f:da2b::632f:a7da] X-ClientProxiedBy: DB4PR04CA0031.eurprd04.prod.outlook.com (25.160.41.41) To AM2PR07MB0929.eurprd07.prod.outlook.com (25.162.37.12) X-Microsoft-Exchange-Diagnostics: 1; AM2PR07MB0929; 2:Qx984hPoyC4S38dhHEvtXKXRnqlv0+vToMFLhyeDidIx9fdPda6MVu0vPEk0tQbTYROFB7i+G/hXjOL6Uw78Lz3GOf7yFXpHta+kdpO7bBHnMsnPe0AN7et+gLZR7jC/iDt3je7t9Mu254zPJ3ptrA==; 3:VylI2z+cznYosoc7AxLJM/qvC9GTVn7zOII1KnWDEF18HIfkXeZq4ae/6UkWjv4GFpRY2ASuT4x1qDimmPxHXq/GKZni2ixhVDj4mJwupv1ItXNJef2fdMFB19fW+qxl; 25:LhE6tb6j6eDc8Eviz+3vfxo9QQKOr6rSxF+/Fmqw4rjM0fcL6DQ+XbJ2Xer12awiGUZA8rgr4ajgd5MgiRMfygm6rusNuoGi2seod16N9SqLn5vwNRR0wdodUGFQPU6jClJEIWWdZocHyo4t0jXraRZgKOTvy2/MndlOOE1MFVMiZoVVmuNytVEUAbd6eurOYUv34J7dVHF37P3fhqWbR87xmRBV0q+eDoCeynu45n67WoQAavTpNoJKP6OF2SJv; 4:PrN7F/JcDarBJdr4X+wTXtXuytKW4JEwKHBpQZsGJsXffx2QzXUsklxZKb4DhCjZ9oh+QA+7qsj6p/43Inynllo/hR26p8NVJWR1R1ml7WmJrqQLX2Jvt8aipTr+BMPU+9dAshswfu8d3id40X/4/nIZXS4aFKFbebcMyjTIwJDMLISimF5MIpzADD58Ez7Xpi8dv1O+rMdZkMTZS9t0NoqtmUolCM3yyz4unrwoC2/Ma4JGZekU5ro4oL0oVLsseaF/oiq5LWKmVvoU85F261CNLhd0Duovr+VMUY3h75dlWEf8aG6EI+4vR6XBhaR+Xj7aMEH/EErKEdg7oOEgTJCkSZDCSpITJzRcoW/BQSNMb/xTIV/53SvXvkIHj+JY X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM2PR07MB0929; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(10201501046)(3002001); SRVR:AM2PR07MB0929; BCL:0; PCL:0; RULEID:; SRVR:AM2PR07MB0929; X-Forefront-PRVS: 07658B8EA3 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(24454002)(189002)(199003)(479174004)(5890100001)(5004730100002)(5007970100001)(5008740100001)(86362001)(5000100001)(33656002)(36756003)(92566002)(450100001)(54356999)(586003)(568964002)(40100003)(105586002)(87976001)(87266999)(106356001)(65806001)(512874002)(81156007)(122386002)(5001920100001)(65956001)(84326002)(101416001)(2950100001)(4001350100001)(110136002)(50986999)(42186005)(5001960100002)(65816999)(77096005)(59896002)(2351001)(6116002)(74482002)(189998001)(107886002)(64126003)(76176999)(80316001)(97736004)(83506001)(3826002)(5001840100002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM2PR07MB0929; H:[IPv6:2001:470:183f:da2b::632f:a7da]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: darbyshire-bryant.me.uk does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM2PR07MB0929; 23:7gYFmlLwxGgwc4ZQLb3mFjPv6zjuXU20wB3rR2mdh?= =?us-ascii?Q?0L6XU3UlIv4+TjX5ftbDMPw9S+BmI0ZM0s8KDHlHDPkOSNFpDxZsetBUTsIL?= =?us-ascii?Q?BRcwwcP0NpR+WWXa6ZvPMFtrUBjTlXxwcEHbWb0yKYGwZyM2poAaKM6J+F7/?= =?us-ascii?Q?VOMboB34CIDAacO3uKgBOs8gS51Mtle6k+32HpnZintqTw4bPvY4Uw0GG8Vn?= =?us-ascii?Q?FtTs1MEUnUgvg5xS19CAJRjVzpEBDdt0cmRHQ1jScS7aGh2uFz1Pexf2qjEw?= =?us-ascii?Q?oWMTIxutalLDSq+eDRgFdYIfumS/h48S8Icw5HJt0XXw1FEbzZEZ40vuCy11?= =?us-ascii?Q?3oRKTLflZUg0alM4LS2pd5I03ojyViYUADuXhgh1+Np49TMyxxBXVC7NsgdQ?= =?us-ascii?Q?fU7+nffGxob/kjwnT5JGQBgNVkaI5OzzREmdXsMN3OwPLM9/tE99FB2EPs64?= =?us-ascii?Q?AoSNfsEW3QjXZ9bjNstlJAlA+FG8J7DAIdB6y+cFNB2hK7prh6LX1QWbkg6c?= =?us-ascii?Q?Yc2b6KI7y/i7D3Z+cUose6TFhWHePxPVTq8HBXzQzNJ6PKIih6tNTR8hnoUa?= =?us-ascii?Q?k+XpRTE4Lj58fYEVRrnuD70joHrIsyebuvJOdmlcDx3ZDKwp2f7KnA4dtiVc?= =?us-ascii?Q?v3PpkbZOFIh8QOK142Mk0LMysZvcyrSDDcx8xSpWN8BjH9lgoEaIr6B2zmu2?= =?us-ascii?Q?vBmIQaJqk7GByleZ4dTIyZ7M92vxl909r5Dky+RwcNmMh5BVibbTBuDC+g1L?= =?us-ascii?Q?BgMJW/03z7FkIgQAlHDsLWKscD5PVoCytc2Y7Hdc6EuBpIqCE33SgRqjv7Fr?= =?us-ascii?Q?L+dB6q4VITRbjNHLUJu0g8SZ8dGroSQnMmjEAbaYHvvJOmxMCR6ndy+rXF79?= =?us-ascii?Q?nwGVmJsfQGsceIeGWbXvc+uXsHiLhkwe7HFV+oqM7zw/IQI9xBDlWh/BCAMx?= =?us-ascii?Q?qAh0jCBwxAF7L9AxW77nNNav4j3w/kRSvxcmh9YpY+qdyatFgBf24S7NNF6g?= =?us-ascii?Q?O7k3TzMtXLpFtM2TFsgZCdm2x5cWg9ZoQlL2kuuTyLH5azLqZFg/oO4LvZGE?= =?us-ascii?Q?Sqqa8txVJh4PH1UOFc2/uNBl+vAK4Jk/I7Vi0W0PNjKSl8rucCGvVpvsjeNz?= =?us-ascii?Q?yr+qqytNu3Zd+RNgcT/o0RSTiL5tczvbpMxsnEXFJW5JgjAhcPhHSY4h3X/n?= =?us-ascii?Q?nbCQc+VNCB4vgOgltuOrfjN5E7WkGSoAS0kCc4hhzkBxu7JaUmOMtJknAa91?= =?us-ascii?Q?smNTT78YY/4zHrqEUY/H80KWX8rBd9fM73Z4e3Y7grA6q9H7Ub/H+9P/X0uW?= =?us-ascii?Q?okjKmp0QwJEP6vgmfXWgBtHK3VGeybc0zs8y4ao2eYU/W9RR5nbqfe6dAhR5?= =?us-ascii?Q?lfEYw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM2PR07MB0929; 5:E+Q4JI0jFlIx6boZILLMmDQYi3WDHxUTR2b6SHGsqZxDZ+q09FnZctN6GvClA7zKmeVfJ1jiMA5sSncMOY3nti2iqjYLDd5ILbg3aIGr0YaKbm95hh7ErBBVmeatrgdS/8+vn5G+xTatLNsR2nt9bA==; 24:vEJcgJCUWpruc2IoynI6lfQE4sYjPvD/teUHRkNSpbiHNeSj5Hkth2dfm/+6ImsiiHlFIaMgU+UQe3tOUQsRdZwoMTbHuAS8jAu3m8UY0mc= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: darbyshire-bryant.me.uk X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2015 12:05:44.5269 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR07MB0929 Subject: Re: [Cake] tc coding comments X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Nov 2015 12:06:11 -0000 --------------ms040506080500090802040101 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 19/11/15 08:56, Dave Taht wrote: > tc qdisc add dev whatever root cake bandwidth 50gbit does not work Grins. I was sort of looking at this yesterday. It's a 32 bit integer 'limit' within tc. tc works in bits per second, but what it passes to kernel is bytes per second (>>3) So the 32bit netlink API interface can potentially cope with 34359738360 bits per second(2^32 -1 * 8), unfortunately tc's get_rate() can only cope with 4294967295 (2^32 -1) bits per second. get_rate64() would solve that along with a 64bit netlink api rate path. A quick look at iproute2 master reveals netem, tbf & htb as the only users so far of get_rate64() --------------ms040506080500090802040101 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCC DYEwggY0MIIEHKADAgECAgEeMA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYD VQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0 ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe Fw0wNzEwMjQyMTAxNTVaFw0xNzEwMjQyMTAxNTVaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UE ChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUg U2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0 ZSBDbGllbnQgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDHCYPMzi3YGrEp pC4Tq5a+ijKDjKaIQZZVR63UbxIP6uq/I0fhCu+cQhoUfE6ERKKnu8zPf1Jwuk0tsvVCk6U9 b+0UjM0dLep3ZdE1gblK/1FwYT5Pipsu2yOMluLqwvsuz9/9f1+1PKHG/FaR/wpbfuIqu54q zHDYeqiUfsYzoVflR80DAC7hmJ+SmZnNTWyUGHJbBpA8Q89lGxahNvuryGaC/o2/ceD2uYDX 9U8Eg5DpIpGQdcbQeGarV04WgAUjjXX5r/2dabmtxWMZwhZna//jdiSyrrSMTGKkDiXm6/3/ 4ebfeZuCYKzN2P8O2F/Xe2AC/Y7zeEsnR7FOp+uXAgMBAAGjggGtMIIBqTAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUU3Ltkpzg2ssBXHx+ljVO8tS4UYIw HwYDVR0jBBgwFoAUTgvvGqRAW6UXaYcwyjRoQ9BBrvIwZgYIKwYBBQUHAQEEWjBYMCcGCCsG AQUFBzABhhtodHRwOi8vb2NzcC5zdGFydHNzbC5jb20vY2EwLQYIKwYBBQUHMAKGIWh0dHA6 Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNydDBbBgNVHR8EVDBSMCegJaAjhiFodHRwOi8v d3d3LnN0YXJ0c3NsLmNvbS9zZnNjYS5jcmwwJ6AloCOGIWh0dHA6Ly9jcmwuc3RhcnRzc2wu Y29tL3Nmc2NhLmNybDCBgAYDVR0gBHkwdzB1BgsrBgEEAYG1NwECATBmMC4GCCsGAQUFBwIB FiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQGCCsGAQUFBwIBFihodHRw Oi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMA0GCSqGSIb3DQEBBQUAA4IC AQAKgwh9eKssBly4Y4xerhy5I3dNoXHYfYa8PlVLL/qtXnkFgdtY1o95CfegFJTwqBBmf8py TUnFsukDFUI22zF5bVHzuJ+GxhnSqN2sD1qetbYwBYK2iyYA5Pg7Er1A+hKMIzEzcduRkIMm CeUTyMyikfbUFvIBivtvkR8ZFAk22BZy+pJfAoedO61HTz4qSfQoCRcLN5A0t4DkuVhTMXIz uQ8CnykhExD6x4e6ebIbrjZLb7L+ocR0y4YjCl/Pd4MXU91y0vTipgr/O75CDUHDRHCCKBVm z/Rzkc/b970MEeHt5LC3NiWTgBSvrLEuVzBKM586YoRD9Dy3OHQgWI270g+5MYA8GfgI/EPT 5G7xPbCDz+zjdH89PeR3U4So4lSXur6H6vp+m9TQXPF3a0LwZrp8MQ+Z77U1uL7TelWO5lAp sbAonrqASfTpaprFVkL4nyGH+NHST2ZJPWIBk81i6Vw0ny0qZW2Niy/QvVNKbb43A43ny076 khXO7cNbBIRdJ/6qQNq9Bqb5C0Q5nEsFcj75oxQRqlKf6TcvGbjxkJh8BYtv9ePsXklAxtm8 J7GCUBthHSQgepbkOexhJ0wP8imUkyiPHQ0GvEnd83129fZjoEhdGwXV27ioRKbj/cIq7JRX un0NbeY+UdMYu9jGfIpDLtUUGSgsg2zMGs5R4jCCB0UwggYtoAMCAQICAw5ySjANBgkqhkiG 9w0BAQsFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNV BAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0 Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBMB4XDTE1MDYyMDIw MzA1MloXDTE2MDYyMDE0MjY0N1owVjEmMCQGA1UEAwwda2V2aW5AZGFyYnlzaGlyZS1icnlh bnQubWUudWsxLDAqBgkqhkiG9w0BCQEWHWtldmluQGRhcmJ5c2hpcmUtYnJ5YW50Lm1lLnVr MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAugCNtDhytCJ9HOfenUHr/vUGUECv PL1IJXgHMl4cIJmwgLOkXhIcTMxHnX+kFweqvT+eDWv1hzA9yMWhvjLFC4eLoFaV0xiAat8O XQ7t3MwKY5DW0mB1dOnjiFIcc/XMwyYI4KfEGnFMJQkzon0rDVpkl/Q1f/hu1sELO7Zc6TFL wuuDuiP7S73zrz50TRoq0+Ob3x0uOMW2uVwVzf6NLwHgBE2LFleMXblyUMx0IlIcLan2nWiI Vsa3XYd+C6KAGGwlmO4VAZ25KuX7hkj8f82lSapvtKTtvrSoDghXlHH2JXiIQX+Sn0UgOmbX 1KyOe9vN7WzQ+tpPRzpFRffnnnp1VQye3wVRPBumjDxQSFTOhUtslnvbefUQSPw6p5w9ZiXI GJICLkX/MkYN/TwGCvuUG2PxBybSR1A2I5ap+VI/zGSG3XGVEA69SOZQyD+8YjJZfaY2nCu+ DuM64JrJUi2CvX6fwcdHNschJNrrfetpnrx3JrGnG9o+pWuUG1phBg+KKN2bhrdzY79qm7ha 86EMKSUOn5nBdGY3YxdXq/naoUQeOCUV2JMFGOulu7sKpiWcz7HVFacXjd9ebisVLv+jOwll z14BWRb87s1+LBEJn/Ybn3ekhtgyEAhB4kgj0scl4hI8xCU6zrZyDnbXmxSvDXbClZA0PACt f/jhGvUCAwEAAaOCAuMwggLfMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQG CCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQULkW2CpDiQpRNumQ7wdspjFfgX+AwHwYD VR0jBBgwFoAUU3Ltkpzg2ssBXHx+ljVO8tS4UYIwKAYDVR0RBCEwH4Eda2V2aW5AZGFyYnlz aGlyZS1icnlhbnQubWUudWswggFMBgNVHSAEggFDMIIBPzCCATsGCysGAQQBgbU3AQIDMIIB KjAuBggrBgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjCB9wYI KwYBBQUHAgIwgeowJxYgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwAwIBARqB vlRoaXMgY2VydGlmaWNhdGUgd2FzIGlzc3VlZCBhY2NvcmRpbmcgdG8gdGhlIENsYXNzIDEg VmFsaWRhdGlvbiByZXF1aXJlbWVudHMgb2YgdGhlIFN0YXJ0Q29tIENBIHBvbGljeSwgcmVs aWFuY2Ugb25seSBmb3IgdGhlIGludGVuZGVkIHB1cnBvc2UgaW4gY29tcGxpYW5jZSBvZiB0 aGUgcmVseWluZyBwYXJ0eSBvYmxpZ2F0aW9ucy4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDov L2NybC5zdGFydHNzbC5jb20vY3J0dTEtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5Bggr BgEFBQcwAYYtaHR0cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczEvY2xpZW50L2Nh MEIGCCsGAQUFBzAChjZodHRwOi8vYWlhLnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3Mx LmNsaWVudC5jYS5jcnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0G CSqGSIb3DQEBCwUAA4IBAQBicQWe98eF/o09TXFsExc+WSyYjt3oSnXyocLzXQp82CQhIg21 5RqNZ1e+hsO7tq8S6hdItUDbKpecpIV59+57ke1zVl2slTRIT19fhYINHH78rVVRPzuHoiDt MXnGrp9hbq3Cz8P4mm8INKDiYK46kyplRAQ3ZMouPG1lsnDzgQAvbCj74H8yAp7fK8if6cxs 28BCUmdP8D3c6M1ffdNNaqNT+4Z3mtOujXXg7zOfmXN0Zg/mEtZ0NrWE2uICGdWjTv9KZiI7 fi4hk2CRpCL63qzmu6BwtcgtwhgYYtuAk2N43+SiyDkyLKGAcjEor3t5f9HivN29E0F0MXTH 1OdgMYIFDTCCBQkCAQEwgZQwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBM dGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYD VQQDEy9TdGFydENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQQID DnJKMA0GCWCGSAFlAwQCAwUAoIICSTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqG SIb3DQEJBTEPFw0xNTExMTkxMjA1NDBaME8GCSqGSIb3DQEJBDFCBEBOdx57v5yLlfWbg8ak wuZsZBJe1LW4p+3c42eQciHmu6X6rmCvlbQ6jEy/0avBCH59EGJScm6xmnSvRvb+kWmeMGwG CSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAO BggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgw gaUGCSsGAQQBgjcQBDGBlzCBlDCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2 BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB AgMOckowgacGCyqGSIb3DQEJEAILMYGXoIGUMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2ln bmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBD bGllbnQgQ0ECAw5ySjANBgkqhkiG9w0BAQEFAASCAgAI3gGLqwX5TWivse7jNqihaUQODiAm TPwtsWfVOwf7qqY5z1Gmn79W8oScvZLx8AmPD+L5+aqr5z4Z099dArl5EsVFw08WlrK/FIjl Nmi7cdseOA3PJ0Ag7WUk0sNxNMdwPxSHRkFWgmIq0NUJJJgl3oalBbW/I8gb+nCkvXC8BXjs eUQyQzeno/5T07/EuCCLomp3D6RHlTR1Ar3XI2NmCHWK6ilsr3uRzppltljApx6qyI8wAtmw m+IfLrHzMz/7ph3y/3uHHr9k1ejuJNzwVaLTO2j+c1YR5UFq6wDp6nNVZ5AA00P+WUkoXjHO CBWkb+bhL/MDa4ftD22FosmnK7B8eAleUYP0AGY2NQRpyc5qP5t/0O26+eqKVZFqHdxjKfhL eCFI3uw01bt3870oigoyleevFLECfQGzmy0UNBNaG2yi/gVn7n0of7uT/Qc/YtbczgBMdTBZ in7DfnTpc6Mz//hucZKyLE5q972B4S8tHHY7/xXNPCN9+hylf+j6DrNujFhjJh5iT3lK+/zl VxrmnYMPepCI5gOKx/nqKqqrWgxaWDLfJHWVvxdQTUBzJkIGBI/5pJtdDYnFYuz6+brT0IMr mwckz/KNxsBoZLsb3adNmu9kMHRnpvWKuTHFwiox7M3z/hOeSQFTUqZ5RCySSCyGnYnwwUIZ 9E1DJQAAAAAAAA== --------------ms040506080500090802040101--