From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from emea01-db3-obe.outbound.protection.outlook.com (mail-db3on0086.outbound.protection.outlook.com [157.55.234.86]) (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 3B81221F70C for ; Sun, 6 Dec 2015 10:21:23 -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 HE1PR07MB0937.eurprd07.prod.outlook.com (10.162.27.143) with Microsoft SMTP Server (TLS) id 15.1.337.19; Sun, 6 Dec 2015 18:21:18 +0000 From: Kevin Darbyshire-Bryant To: References: X-Enigmail-Draft-Status: N1110 Message-ID: <56647C98.6000107@darbyshire-bryant.me.uk> Date: Sun, 6 Dec 2015 18:21:12 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms080108000500080004010503" X-Originating-IP: [2001:470:183f:da2b::632f:a7da] X-ClientProxiedBy: DB5PR01CA0020.eurprd01.prod.exchangelabs.com (25.162.149.158) To HE1PR07MB0937.eurprd07.prod.outlook.com (25.162.27.143) X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0937; 2:1MKwPW9fXKUBlo5puxv5ioSWNRuIHXXkDwC/dyTlheNs4MrpI3RJtkBra/9lE/7Y+Q+JIfdkJjRJn8FHHUAPgHZGPmm9dVjyE8J4voHd9AmGKHNYqLi2hS5gvR70vPJb8XfOG9SYouexujVqdyD9Mg==; 3:WFQdWDghOfzL69LTh73EICPIab3+dyiXeLR8riU6bkBum9I2kJTDaVQfuqqHDYxabZpgcqIKqc15ZPqhcM5LrS1KpNnCW7BMFejEg9iwuA3rwEdOONOI4HNToNNsT4Ma; 25:gPsl/TUwZPcxASSEOLQb3gVPeNr9e6JSXxl8MyR4xDmxHvgA5zXxA+ASdTTZfzfqJjZyy8OcnxpwTBT27MegQ3J8aZskq3S8DM6bW8zyjPIIBv5iOiZRFawTELMNJqqeKGHccOcU4+bdWSFzcRuxL6AUQ7KT7wzxCH87sp/twKPAv4ddLCbtM1DOlUZY24jncTZmi1tRqkRSFWMHC6NYK4dHHJ9pdORRD+YfP91TOG4ok9tAzM/lCMsRCILsRwivdrIcnsaRLoZkQu/lIqGg6A==; 4:rgxoGiUy+X+Pra5CogOjmGX1RVilUTZRetCxjNXBRaAULlxo3VSA45cxWCZ79C9BL2YRlhwWCsWoTxzhAJSK+arf6OWMOioC7RuVBgUfFxTkjq4RkyFk/1Y8N0Eu5MTlFnfRE/bfk/HnWkztLFnyIKjBmlGVEVsHxrLLblGCJMgg0KjXoKe1KE2kUbXmxs7eKFScbf8vRhN1WKspbqA3E5Av20qOG0zSSxUY/xKH9CAx/FTiVvcz1m4YF4k9xssFK/FfgbbtMUy062VvcvgibaF+Vs4SPPof3D28zdWKIwuxwgubnRARsPp3QZsjhWGudBIpBP9Cg5Wb22/sWAxvxfSXA7AND4jiPvIWbRU0rzuYGEfALhf6Sa5m1pvk5lTk X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR07MB0937; 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)(3002001)(10201501046); SRVR:HE1PR07MB0937; BCL:0; PCL:0; RULEID:; SRVR:HE1PR07MB0937; X-Forefront-PRVS: 0782EC617F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(24454002)(479174004)(199003)(43234003)(189002)(87976001)(189998001)(2351001)(101416001)(74482002)(65816999)(42186005)(80316001)(65806001)(19580405001)(33656002)(19580395003)(4001350100001)(36756003)(97736004)(5004730100002)(512944002)(65956001)(105586002)(77096005)(106356001)(84326002)(2950100001)(83506001)(86362001)(110136002)(99136001)(107886002)(15975445007)(81156007)(5008740100001)(5001960100002)(586003)(64126003)(87266999)(568964002)(54356999)(6116002)(76176999)(450100001)(1706002)(5890100001)(1096002)(122386002)(40100003)(92566002)(59896002)(50986999)(3826002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR07MB0937; H:[IPv6:2001:470:183f:da2b::632f:a7da]; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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; HE1PR07MB0937; 23:oXfc64VKiNNstD2UUQoEPyPiW+rltfhad0w3+jvoP?= =?us-ascii?Q?IpwTlFkAJGwCW4Z4vMZlY5YSe4h4VYcjuKIWoshvDQxisJmGCRZqxLuMWeJh?= =?us-ascii?Q?PFdssENk1I9Pe0SeePPYtNErFC4Ayml1BGOerbZaYo48YNtDCv3RAR7n0ULS?= =?us-ascii?Q?/E9gVrGcyqbSXmXMfeClKZqMrBOagCPEoHxH61Su9ffqSw9fDvVhUIkV11mw?= =?us-ascii?Q?chpbWplLKlsarIikCJ5mg2CUhxMkbiak57Ev9fbsqV9/nayusI4182rl7gID?= =?us-ascii?Q?rlViGc9GhHwbhgE704iIULTx0SO0D2SaTiB9uv7NzOOXyWMX5EtPke/UPNox?= =?us-ascii?Q?QnkwJIiZha4CrmD2J3OLFrKlgBb3zr+iKd0au/xctwVtoIbbj9ob0T2hcw2Z?= =?us-ascii?Q?7Wt+8n5pref98oI8ayVrzCwkUwQ3iuYVALgu+oQPuov9kj9dKzmzFeobiJSD?= =?us-ascii?Q?genYLfp2Cv3t4+irMedLpqH79+HQlPYv7oT4OW217z47q3lxWRLxXGLTTHFx?= =?us-ascii?Q?HoKWfzouAWJTDU9FyZLDmHDUJTd7Mv/4lB6J920yDJpMetvGBGNEO9ctYXQw?= =?us-ascii?Q?PXlqrHdceyzAxhu7jy6yuNrqyDUsXGxjLiE91yyUGmNRd348tnBVaRsOmK5t?= =?us-ascii?Q?kXkdttHxIF0R7ZSGIIGoM/Jip970nMLaDmImmZjViIDrgqDs2fTdpVB41KXT?= =?us-ascii?Q?uliv5SRbVKESudd0S+c7e0LfqIQJKAmGmmTTfxjKd0zBOeGqyusTG3uTuBH0?= =?us-ascii?Q?JXa4hQFWEvDJwV5AXyL8oZ69kIcyu06pF8hXaPUM0f60fvIonk9lGH0MSWh+?= =?us-ascii?Q?qo5ld+feI3rv4HYiQLNmjsbC+O+tm8bF9YcFZc19mwnwtomolPHvHheBOWhD?= =?us-ascii?Q?wiM2ET65dcIN8+5lV6wMbLZFAyiNWNWewREbqRU93WztKsVg8R9EBkaxtxwt?= =?us-ascii?Q?JehpmhYb9KeimJQXX7LN+IVOrhUSBQQUtXNDFTvmSTSd5Q0VqY6m0p2uB7na?= =?us-ascii?Q?E4B1H1ggVA/W05UzVYmJ0oItmp4n3zulbbLdoqzrrOjjvMAYPicDIyRgEbPf?= =?us-ascii?Q?Yy+Vrs1LLK4+lsAtgRevSsRQt8KvieRXCXWQkzgUFRUbTq5ZAdm1NYAjSY4J?= =?us-ascii?Q?z+E8HCvD59sk3t53oFY9MLIIr2vjJmq/CbpyOKHRTHrsJ1YDB1SBt5u/0BZm?= =?us-ascii?Q?v8AJCFKGJG+WW9rcn7wHwEEo/awqoU/+6a1M9DokBy6xMXhz6T/JTYNnVRn4?= =?us-ascii?Q?ctTyoyUhvFIohe70jGjcK2cUZvBofoy31FELLae5TzJVF9d3ko9G2Qr92GXH?= =?us-ascii?Q?xREZ/nbVPY9jAifihdd6h6BJRxTrP8spah8hlBK7ESoYN7HIHfnQEAdenCpe?= =?us-ascii?Q?AYHBelk0uFTO0TeUUK07VWDsFVYZclt18Su6Exw7lVkJB2Z?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0937; 5:seOZCLspK7VYasTV+RSEu3m4qZFslcg1MuVWLJptnrDl/wkuh6JSYbUjOFAiqhL4ozlsZD9IYtdKRd2dho+i1QHL6fty5fzNUUMp5yjKj+MKx2bhtsd1G/mI5mn3XvD0gLbjpqp4TnrTzt3oZaDCMg==; 24:cwBqF+2Mj4yMVtspmWXjCZYckbLmWb54e2qUMxmi8w8zQuIkbBKZ3WU25OM+hVRKvLamwlWDSkcGI9XXcP9awNAncoRJvKEshs4YcfppdI8= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: darbyshire-bryant.me.uk X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2015 18:21:18.7488 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB0937 Subject: Re: [Cake] second system syndrome 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: Sun, 06 Dec 2015 18:21:47 -0000 --------------ms080108000500080004010503 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Comments: My feeling is that we've been here (or close to here) before, and every time there has been a 'just one more thing/feature' Columbo moment which puts it all on hold again. The last time was 'dual flow isolation'.=20 Without wishing to stir too much that pot again I do think the 'dual flow isolation', if I understand the intention correctly*, is a feature that 'consumers' would find desirable. I'm wondering what the hold up is and whether I can help. I personally pledge =A3200 to the cake project. I know it's not much in terms of hours/rate etc but please take it as a sign of how much I personally want cake to move forward and realise my own limitations in doing so. One feature/benefit that hasn't been measured yet is 'simplicity'. cake offers a good shaper, fair qeueing, dscp washing, overhead/framing calculation/compensation all in one pretty damn easy to configure package= =2E=20 *trying to ensure fairness between hosts, not just between queues. I think the main aim/thought is having a 'bittorrent' host isolated and low priority from everything else. On 06/12/15 14:53, Dave Taht wrote: > I find myself torn by 3 things. > > 1) The number of huge wins in fixing wifi far outweigh what we have > thus far achieved, or not achieved, in cake. > > 2) Science - Cake is like wet paint! There knobs to fiddle, endless > tests to run, new ideas to try... measurements to take! papers to > write! > > 3) Engineering - I just want it to be *done*. It's been too long. It > was demonstrably faster than htb + fq_codel on weak hardware last > june, and handled GRO peeling, which were the two biggest "bugs" in > sqm I viewed we had. > > In wearing these 3 hats, I would > > 3A) like to drop cake, personally, from something I needed to care abou= t. > 3B) But, can't, because the profusion of features need to be fully eval= uated. > In this test series: http://snapon.cs.kau.se/~d/bcake_tests/ neither > cake or bcake were "better" than the existing codel in any measurable > way, and in most cases, worse. bcake did mildly better at a short > (10ms) RTT... which was interesting. > > If you want to take apart this batch with "flent", looking for > enlightenment, also, please go ahead. > > Were I to short circuit the science here, I'd rip out the sqrt cache > and fold back in mainline codel into cake. This would also have the > added benefit of also moving us back to 32bitland for various values > (tho "now" becomes a bit trickier) and hopefully improving cpu > efficiency a bit further (but this has to get done carefully unless > your head is good at 32 bit overflow math) > > Next up, a series testing the fq portions... > > If someone (else) would like to fork cake again and do the two things > above, I'd appreciate it. > > 3C) Most of the new statistics are pretty useless IMHO. Interesting, > but in the end I mostly care about drops and marks only. > > 3D) Don't have a use for the rate estimator either, and so far the > dual queue idea has not materialized. I understand how it might be > done now - using the 8 way set associative thing per DEST hash, but I > don't really see the benefit of that vs just using a DEST hash in the > first place. > > 3E) Want cake to run as fast as possible on cheap hardware and be a > demonstrable win over htb + fq_codel - and upstream it and be done > with it. > > 3F) At the moment I'm favoring peeling at the current quantum rather > than anything more elaborate. > > 3G) really want the thing to work correctly down to 64k and up to at > least a gbit. > which needs testing... but probably after we pick a codel.... > > 2A) As a science vehicle, there are many other things we could be > trying in cake, and I happen to like the idea of the (currently sort) > cache in for example, trying a faster curve at startup - or, as in the > ns2 code - a harder curve at say count + 128 or even earlier, as the > speed up in drops gets pretty tiny even at count + 16. (see attached) > > (it doesn't make much sense to calculate the sqrt at run time - you > can just calculate the constants elsewhere and plug them in, btw. > attached is a teeny proggie that does that an also explores a harder > initial curve (you'd jump count up to where it matched the curve when > you reverted to the invsqrt calculation) - and no, I haven't tried > plugging this in either... DANGER! Wet Paint! > > I also like keeping all the core values 64 bits, from a science perspec= tive. > > There are also things like reducing the number of flows, and > exercising the 8 way associative cache more - to say 256, 128, or even > 32? Or relative to the bandwidth... or target setting... > > and I do keep wishing we could at the very least resolve the target > > mtu issue. std codel turns off with a single mtu outstanding. That > arguably should have been all that was needed... > > and then there's ecn... > > 1A) Boy do we have major problems with wifi, and major gains to be had > 1B) All the new platforms have bugs eveyerhwer, including in the > ethernet drivers > > 0) > > So I guess it does come down to - what are the "musts" for cake before > it goes upstream? How much more work is required, by everybody, on > every topic, til that happens? Can we just fork off what is known to > work reasonably well, and let the rest evolve separately in a cake2? > (cleaning up the api in the process?) Is it still "cake" if we do > that? > > Because, damn it, 2016 is going to be the year of WiFi. > > > Dave T=E4ht > Let's go make home routers and wifi faster! With better software! > https://www.gofundme.com/savewifi > > > _______________________________________________ > Cake mailing list > Cake@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cake --------------ms080108000500080004010503 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 SIb3DQEJBTEPFw0xNTEyMDYxODIxMTJaME8GCSqGSIb3DQEJBDFCBEAEd1NqfmCZhw5j8f9T ZVSPYd8Z7mU/LREoMr3pocbIlxVGE9bs7fDX150RLNeGAfnxV4rHCzkxMqgSZ+z8jBd2MGwG CSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAO BggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgw gaUGCSsGAQQBgjcQBDGBlzCBlDCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2 BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB AgMOckowgacGCyqGSIb3DQEJEAILMYGXoIGUMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2ln bmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBD bGllbnQgQ0ECAw5ySjANBgkqhkiG9w0BAQEFAASCAgBpuuqDDZjzO7XUtJhgAnAA9yR4a8tR 9YnJ9Msy6j8k1fSUvlKvMwZU8Dtt0jLVzdmouKqY9OxIDo0BlDhZv3wAjfJOjnwDyXZXno+u kC8rSoFE3TON/ZahhET0nAkG1Tcsnp/KMwuZwVqEVdyHkCIISwlziqKczZsfQYOqiQ+Ns7gY nzG7B9x2jtEMKYAafxoMDVhjUtooh0il8DJnYdIxu3PvFOEu91aum9D8aAisrj0sSpMl28cO 8hVG1gdJ7/G/B7XwJn8DOdsD0exmQFJXBwiHKju9BzN+ir12Arh6EHkqHw6szTrolbtrwnJA TSOSZ2BWLqeeW6fEjuNmYR7zCmBb5B2HQfhQuyW6pIZS09VzbaHA21s3qLlQbkLxRbsEbm95 ZdOaRxkQadhoqwqOzV6iipRjH5mV3gdF44XgUj74HTH3nfAo7ATxZU3xOtce81LawrM7kAvd HM0IYxAOwQJdPjAnubagSfO/G7rahGqstP4MmQHpu2ielhrcGsNlpJoh7UOlPUPwYiWkb7Zr bTnhMDElOnRrmJ1/POPnbPE3udMiQPZ2bahyzPJAJbo0IVdPnp2EDL7w6iYfQ+daxoRwR9dm ODWtQHJhJFVBi4KvMM/PDTBNowmQDStx+KSQqWNUDCJBXu4EPN7hAD7AJlLHFKCZWrCZREU+ f7/u5QAAAAAAAA== --------------ms080108000500080004010503--