From tom@vanak.cz Fri Jan 25 12:00:33 2002 Received: from vanak.cz (vanak.cz [217.11.226.10]) by budoshin.zoku.net (8.9.3/8.9.3) with ESMTP id MAA47950 for ; Fri, 25 Jan 2002 12:00:32 -0800 (PST) (envelope-from tom@vanak.cz) Received: from localhost (tom@localhost) by vanak.cz (8.11.5/8.11.3) with ESMTP id g0PGa5a33390 for ; Fri, 25 Jan 2002 17:36:05 +0100 (CET) (envelope-from tom@vanak.cz) Date: Fri, 25 Jan 2002 17:36:05 +0100 (CET) From: Tomas Vanak To: Subject: Re: Fw: Subscribe to FastCGI Smalltalk Email List In-Reply-To: <059401c1a5bc$bb10ce40$7000a8c0@STEALTH> Message-ID: <20020125173246.N33341-101000@vanak.cz> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1551577026-1011976565=:33341" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1551577026-1011976565=:33341 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi, this is the only documentation I have. I have a port to VW5i.3 (not from the last version, but you can file-in the source from squeak, if you install a small compatibility parcel). Best regards Tomas On Fri, 25 Jan 2002, Peter William Lount wrote: > Hi, > > It looks like we need more documentation ... let's at least post everything that we have to this email list so that we all can acccess it and so that it's at least oneline for others to peek at. > > Peter > > ----- Original Message ----- > From: Craig McChesney > To: Peter William Lount > Sent: Friday, January 25, 2002 8:08 AM > Subject: Re: Subscribe to FastCGI Smalltalk Email List > > > Hi Peter, great to hear from you - I didn't know if that site was current or not. I'm doing some work for ezboard (www.ezboard.com) - maybe you've heard of them. They run a message board service using the ASP model. > > The system is written purely in VisualWorks, including the web server. We'd like to change the front end to Apache just to get out of the web server business and take advantage of some other Apache features. We're interested in an architecture where one Apache server can front-end several VisualWorks images. We use VisualWorks 3.0 running on Red Hat Linux. I think there are over 30 servers running in production. > > I'm not sure how I can help, but I've got a simple fastCGI interface running now that simply opens a socket to the image, sends in a request, and reads the response. It sounds like the class library you guys built for squeak is much more robust. And my fastCGI program does nothing about handling signals etc. I guess I could help port the stuff to VW if that is not done IF my boss is interested in doing so. > > Is there a particular document you could point me at that helps me better understand how this works? I looked at the pdf class diagram - is there anything else? It just wasn't obvious to me if we would need any C code to use this or not. And also the multiple images connected to the single Apache server is interesting to us just because of the huge number of hits we get. > > Regards, > Craig > > __ > Craig McChesney > http://www.craigmcc.com > mailto:craig@craigmcc.com > fax 928.447.1461 > --0-1551577026-1011976565=:33341 Content-Type: APPLICATION/octet-stream; name="fcgi.txt" Content-Transfer-Encoding: BASE64 Content-ID: <20020125173605.R33341@vanak.cz> Content-Description: Content-Disposition: attachment; filename="fcgi.txt" RG9jdW1lbnRhdGlvbiBmb3IgdGhlICBGYXN0IENHSSBwcm90b2NvbCBpbXBs ZW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBIGNvdXBsZSBvZiBtb250 aHMgYWdvIEkgd2FzIHNlYXJjaGluZyBUaGUgTmV0IHRvIGZpbmQgc29tZSBy ZXBsYWNlbWVudCBmb3IgdGhlIFZpc3VhbFdhdmUgZGV2ZWxvcG1lbnQgZW52 aXJvbm1lbnQgYXMgSSdtIG5vdCBhYmxlIHRvIHBheSB0aGUgZGV2ZWxvcHBl cidzIGxpY2VuY2UgZmVlcyBmb3IgdGhlIG5leHQgeWVhciBhbmQgYW55d2F5 LCB0aGUgZ3VpLXRvLWh0bWwgbWFwcGluZyBpcyBub3QgZXhwbG9pdGluZyBh bGwgdGhlIGNhcGFiaWxpdGllcyBwcm92aWRlZCBieSB0aGUgbW9kZXJuIGJy b3dzZXJzLiBJIGZvdW5kIHRoZSBodHRwOi8vd3d3LnNtYWxsdGFsay5vcmcg cGFnZSB3aXRoIHRoZSBsaW5rIHRvIGh0dHA6Ly9tb2Quc21hbGx0YWxrLm9y Zywgd2hlcmUgUGV0ZXIgV2lsbGlhbSBMb3VudCB3YXMgZXhwbGFpbmluZyB0 aGUgYWR2YW50YWdlcyBvZiB1c2luZyBGYXN0IENHSSAoaHR0cDovL3d3dy5m YXN0Y2dpLmNvbSkgcHJvdG9jb2wgY29ubmVjdGVkIHRvIHRoZSBzbWFsbHRh bGsgaW1hZ2UuIEhvd2V2ZXIsIG5vIGtub3duICBpbXBsZW1lbnRhdGlvbiBv ZiBGYXN0IENHSSBwcm90b2NvbCB3YXMgY3VycmVudGx5IHdyaXR0ZW4gYW5k IFBldGVyIHdhcyBjYWxsaW5nIGZvciBzb21lIHZvbHVudGVlci4gTXkgaW1w bGVtZW50YXRpb24gb2YgRmFzdCBDR0kgcHJvdG9jb2wgZm9yIFNxdWVhayBT bWFsbHRhbGsgd2FzIHdyaXR0ZW4gYXMgYSByZXNwb25zZSB0byB0aGlzIGNh bGwuIFRoZXJlIGlzIG5vdCBtdWNoIHZhbHVlIGFkZGVkLCBhcyBJIGZvbGxv d2VkIHRoZSBzcGVjaWZpY2F0aW9uIG9mIEZhc3QgQ0dJIHByb3RvY29sLiBU aGUgaW1wbGVtZW50YXRpb24gd2FzIHRlc3RlZCB3aXRoIEFwYWNoZSBvbiBS ZWRIYXQgNi54IExpbnV4IGFuZCB3aXRoIFNxdWVhayAyLjggZm9yIFdpbmRv d3MgTlQgNC4wIGFuZCBSZWRIYXQgNi54IExpbnV4LiBPbiBhIG5vcm1hbCBi b3ggd2UgY2FuIGdlbmVyYXRlIHVwdG8gMzAgcGFnZXMgcGVyIHNlY29uZCwg YXMgYSB0b3AgSSBjYW4gc2VlIHNvbWV0aGluZyBhYm91dCA2MCBwYWdlcyBw ZXIgc2Vjb25kIHdpdGggc29tZSBmdXJ0aGVyIG9wdGltYWxpemF0aW9uICh0 aGlzIGlzIGZvciBTcXVlYWssIHRoZSB2YWx1ZXMgZm9yIFZpc3VhbFdvcmtz IGFyZSBtdWNoIGhpZ2hlcikuCklmIHlvdSB3aWxsIGxpa2UgaXQgSSdsbCBi ZSBnbGFkLCBpZiBub3QsIHRha2UgaXQgYXMgYW4gZXhhbXBsZSBvZiBob3ct bm90LXRvLWRvLWl0LCBhcyBJIGNvbnNpZGVyIGl0IGlzIG9mdGVuIG1vcmUg aW1wb3J0YW50IHRvIHNob3csIHdoaWNoIHdheSBpcyBub3QgdG8gYmUgZm9s bG93ZWQuCkF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50YXRpb24gYXJlIHNv bWUgZXhhbXBsZXMgb2YgaG93IHRvIHN0YXJ0LCBzbyB5b3UgY2FuIHNraXAg ZGlyZWN0bHkgdG8gdGhlIGVuZCBpZiB5b3UgZG9uJ3Qgd2FudCB0byByZWFk IHRoZSBkZXNjcmlwdGlvbi4KClRoZSBtYWluIGJ1aWxkIGJsb2NrcyBvZiBt eSBpbXBsZW1lbnRhdGlvbiBhcmUgY2xhc3NlcyBGQ0dJU2VydmVyLCBGQ0dJ U2VydmljZSwgRkNHSUNoYW5uZWwgYW5kIEZDR0lSZXNwb25kZXIuCgpGQ0dJ U2VydmVyCkZDR0lTZXJ2ZXJzIGFyZSB0aGUgY29ubmVjdGlvbiBwb2ludHMg YmV0d2VlbiB5b3VyIHdlYiBzZXJ2ZXIgKEFwYWNoZSkgYW5kIHRoZSBTbWFs bHRhbGsgaW1hZ2UuIEl0IGNvbnRhaW5zIGFsbCB0aGUgY29uZmlndXJhdGlv biBuZWVkZWQgdG8gcnVuIHRoZSBzZXJ2ZXIgKHNlZSBkZWZhdWx0Q29uZmln dXJhdGlvbiBtZXRob2QgZm9yIHRoZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUg Y29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzKS4gWW91IGNhbiBydW4gYXMgbWFu eSBGQ0dJU2VydmVycyBpbiB5b3VyIGltYWdlIGFzIHlvdSB3YW50LCBwcm92 aWRlZCB0aGF0IHlvdSBydW4gZWFjaCBzZXJ2ZXIgb24gYSBkaWZmZXJlbnQg dGNwL2lwIHBvcnQuCldoZW4geW91IHN0YXJ0IEZDR0lTZXJ2ZXIgaW5zdGFu Y2UsIGl0IHN0YXJ0cyB0byBsaXN0ZW4gb24gdGhlIHNwZWNpZmllZCB0Y3Av aXAgcG9ydCAoZGVmYXVsdCB2YWx1ZSAxOTcxKS4gV2hlbiBpdCBpcyBjb250 YWN0ZWQgYnkgdGhlIHdlYiBzZXJ2ZXIsIGl0IGxvb2tzIGlmIGl0IGhhcyBh IGZyZWUgRkNHSVNlcnZpY2UgdG8gaGFuZGxlIHRoZSByZXF1ZXN0LiBFYWNo IHNlcnZlciBjYW4gaGF2ZSBtb3JlIEZDR0lTZXJ2aWNlcyBhcyBlYWNoIHNl cnZlciBzaG91bGQgaGFuZGxlIG1vcmUgaW5jb21pbmcgcmVxdWVzdHMgYXQg b25lIHRpbWUuIElmIHRoZXJlIGlzIG5vIGZyZWUgRkNHSVNlcnZpY2UsIHRo ZSBuZXcgb25lIGlzIGNyZWF0ZWQuIFRoZSByZXF1ZXN0IGZyb20gdGhlIHdl YiBzZXJ2ZXIgaXMgdGhlbiBmb3J3YXJkZWQgdG8gdGhlIHNlbGVjdGVkIEZD R0lTZXJ2aWNlIGFuZCBGQ0dJU2VydmVyIHJldHVybnMgdG8gdGhlIGxpc3Rl bmluZy4KCkZDR0lTZXJ2aWNlCkZDR0lTZXJ2aWNlIGlzIHVzZWQgdG8gcmVh ZC93cml0ZSByZWNvcmRzIGZyb20vdG8gdGhlIHRjcC9pcCBzdHJlYW0gYmV0 d2VlbiB0aGUgd2ViIHNlcnZlciBhbmQgdGhlIGltYWdlLiBGQ0dJU3RyZWFt IGlzIHVzZWQgYXMgYSBzdHJlYW0gd2hlcmUgbmV4dCBhbmQgbmV4dFB1dDog ZWxlbWVudHMgYXJlIGluc3RhbmNlcyBvZiBGQ0dJUmVjb3JkLiBGQ0dJUmVj b3JkcyBjb3JyZXNwb25kIHRvIHRoZSBGYXN0IENHSSBwcm90b2NvbCBzcGVj aWZpY2F0aW9uLiBTbywgRkNHSVNlcnZpY2UgcmVhZHMgdGhlIEZDR0lSZWNv cmQgZnJvbSB0aGUgc3RyZWFtIGFuZCBkZWNpZGVzIHRvIHdoaWNoIEZDR0lD aGFubmVsIHRoYXQgcmVjb3JkIHdpbGwgYmUgc2VudC4gVGhpcyBpcyBkdWUg dG8gdGhlIEZhc3QgQ0dJIHByb3RvY29sIHNwZWNpZmljYXRpb24sIGFzIG9u IGVhY2ggc3RyZWFtIHRoZSBtdWx0aXBsZSByZXF1ZXN0cyBjb3VsZCBiZSBt dWx0aXBsZXhlZC4gSW4gb3RoZXIgd29yZHMsIEZDR0lTZXJ2aWNlIGlzIGRv aW5nIGRlLW11bHRpcGxleGlvbiBhbmQgZWFjaCByZXF1ZXN0IHBhcnQgKHJl Y29yZCkgZ29lcyB0byBpdHMgc3BlY2lmaWMgRkNHSUNoYW5uZWwuIFdoZW4g dGhlIHJlcXVlc3QgZm9yIHRoZSBzcGVjaWZpYyBGQ0dJQ2hhbm5lbCBpcyBj b21wbGV0ZSAoRkNHSVJlY29yZFN0ZGluIHdpdGggYSB6ZXJvIGxlbmd0aCBv ZiBhIGRhdGEgcGFydCBpcyByZWNlaXZlZCkgdGhlIHJlcXVlc3QgaXMgZm9y d2FyZGVkIGZyb20gRkNHSUNoYW5uZWwgdG8gdGhlIGNvcnJlc3BvbmRpbmcg RkNHSVJlc3BvbmRlci4gQ3VycmVudGx5LCB0aGVyZSBpcyBpbXBsZW1lbnRh dGlvbiBvZiB0aGUgRmFzdCBDR0kgcm9sZSAncmVzcG9uZGVyJyBvbmx5LiBG YXN0IENHSSBwcm90b2NvbCBzcGVjaWZpY2F0aW9uIGRlZmluZXMgdGhyZWUg cm9sZXMgLSByZXNwb25kZXIsIGZpbHRlciwgYXV0aG9yaXplci4gSSdtIG5v dCBzdXJlIHdoZXRoZXIgbW9kX2Zhc3RjZ2kgdXNlZCBmb3IgbXkgQXBhY2hl IHdlYiBzZXJ2ZXIgc3VwcG9ydHMgb3RoZXIgdHdvIHJvbGVzLCBidXQgdGhl c2UgdHdvIHJvbGVzIGNvdWxkIGVhc2lseSBiZSBpbXBsZW1lbnRlZCBpZiB0 aGVyZSB3aWxsIGJlIHNvbWUgbmVlZCBvZiBpdC4KCkZDR0lSZXNwb25kZXIK RkNHSVJlc3BvbmRlciAoYW5kIEZDR0lBcHBsaWNhdGlvbikgaXMgbm90IHJl YWxseSBwYXJ0IG9mIEZhc3QgQ0dJIHByb3RvY29sIGltcGxlbWVudGF0aW9u LiBUaGlzIGlzIGFscmVhZHkgcGFydCBvZiBzb21lIG90aGVyIGhpZ2hlciB3 ZWIgYXBwbGljYXRpb24gc2VydmVyIGxheWVyLiBJIGhhdmUgaW1wbGVtZW50 ZWQganVzdCBmb3IgdGVzdGluZyBwdXJwb3NlcyB2ZXJ5ICJxdWljayAmIGRp cnR5IiAod2VsbCwgaXQgaXMgbW9yZSBkaXJ0eSB0aGFuIHF1aWNrKSBhcHBs aWNhdGlvbiBoYW5kbGluZy4gRkNHSVJlc3BvbmRlciB0YWtlcyB0aGUgUEFU SF9JTkZPIHBhcmFtZXRlciBmcm9tIHRoZSByZXF1ZXN0LCBjdXRzIHRoZSBG Q0dJIHByZWZpeCBvZmYgYW5kIGNyZWF0ZXMgKGlmIGl0IGlzIG5vdCBhbHJl YWR5IGNyZWF0ZWQpIHRoZSBpbnN0YW5jZSBvZiBGQ0dJQXBwbGljYXRpb24g c3ViY2xhc3MuIFRoYXQgaW5zdGFuY2UgaXMgdGhlbiByZXNwb25zaWJsZSBm b3IgdGhlIGNyZWF0aW9uIG9mIHRoZSB3ZWIgcGFnZS4KCkZDR0lBcHBsaWNh dGlvbgpUaGVyZSBpcyBhIGNvdXBsZSBvZiBGQ0dJQXBwbGljYXRpb24gc3Vi Y2xhc3NlcyBmb3IgdGhlIGRlbW9uc3RyYXRpb24gcHVycG9zZXMgb2YgdGhl IGltcGxlbWVudGF0aW9uLiBJZiB5b3UgdGFrZSBhIGxvb2sgYXQgcHJvY2Vz c1BhZ2UgbWV0aG9kIG9mIHRoZXNlIHN1YmNsYXNzZXMsIHlvdSB3aWxsIHNl ZSB0aGUgY29kZSB2ZXJ5IHNpbWlsYXIgdG8gdGhlIGNvZGUgb2YgQ0dJIGFw cGxpY2F0aW9ucyB3cml0dGVuIGluIHNoZWxsIG9yIFBlcmwuIFlvdSBqdXN0 IHB1dCB0aGUgc3RyaW5ncyB0byB0aGUgb3V0cHV0IGFuZCB5b3UgY2FuIG1v ZGlmeSB0aGUgaGVhZGVyLgpBcyBhIGhlbHAgdG8gd3JpdGUgdGhlIHdlYiBh cHBsaWNhdGlvbnMgdGhlcmUgYXJlIHNvbWUgbW9yZSBmZWF0dXJlcyBpbnRy b2R1Y2VkLgpZb3UgaGF2ZSBhY2Nlc3MgdG8gdGhlIHBhcmFtZXRlcnMgcGFz c2VkIHdpdGggdGhlIHJlcXVlc3QgLSBtZXRob2RzIHBhcmFtQXQ6IGZvciBl bnZpcm9ubWVudCBwYXJhbWV0ZXJzLCB1c2VyUGFyYW1BdDogZm9yIGdldCAm IHBvc3QgcGFyYW1ldGVycyAoZm9ybSBwYXJhbWV0ZXJzKSBhbmQgZmluYWxs eSBzdGF0ZVBhcmFtcyBmb3IgdGhlIHBlcnNpc3RlbnQgcGFyYW1ldGVycyAo aWYgeW91ciBGQ0dJQXBwbGljYXRpb24gc3ViY2xhc3MgZGVmaW5lcyB3YW50 c1N0YXRlIG1ldGhvZCBhbmQgeW91IHBhc3MgdGhlIEZDR0lfU0lEIHBhcmFt ZXRlciB3aXRoIHRoZSBzZXNzaW9uIGlkLCB5b3UgY2FuIHN0b3JlIHRoZSBw YXJhbWV0ZXJzIGluIHlvdXIgc2Vzc2lvbiBwcml2YXRlIGRpY3Rpb25hcnks IGN1cnJlbnRseSB0aGUgbWVtb3J5IHN0b3JlIGlzIGltcGxlbWVudGVkIG9u bHksIGFuZCB0aGUgc3RvcmUgaGFzIGl0cyBvd24gc2Vzc2lvbiBleHBpcmFj eSwgc28gdGhlIHNlc3Npb25zIGFyZSBub3QgYWNjdW11bGF0ZWQgZm9yZXZl cikuIFlvdSBjYW4gYnVpbGQgdGhlIFdBUCBhcHBsaWNhdGlvbiB0b28sIGFz IHlvdSBjYW4gYXNrIHNlbGYgaXNXYXAsIHNvIHlvdSBjYW4gaGF2ZSBvbmUg YXBwbGljYXRpb24gdG8gbWFrZSB0aGUgb3V0cHV0IHRoYXQgaXMgaW4gaHRt bCBvciBpbiB3bWwuIFRoZXJlIGlzIGFsc28gc3VwcG9ydCBmb3IgdGhlIHNl cnZlciBwdXNoIGFwcGxpY2F0aW9ucyAoc2VlIEZDR0lQdXNoQXBwbGljYXRp b24gb3IgRkNHSUdpZkFwcGxpY2F0aW9uKSwgaG93ZXZlciB0aGVzZSBhcHBs aWNhdGlvbiBydW5zIGluIE5ldHNjYXBlIG9ubHkuIEkgdGhpbmsgRXhwbG9y ZXIgYW5kIGx5bnggYXJlIG5vdCBzdXBwb3J0aW5nIHRoZSB0ZWNobm9sb2d5 IG9mIHNlcnZlciBwdXNoIChvciBJJ20gZ2VuZXJhdGluZyB0aGUgaGVhZGVy cyB3cm9uZykuIFlvdSBjYW4gdXNlIHNlbGYgaGFkZXIgYXQ6IHB1dDogdG8g bW9kaWZ5IHRoZSBwYXJ0cyBvZiB0aGUgaHRtbCBoZWFkZXIgKGlmIHlvdSBj YWxsIGF0OiBuaWwgcHV0Oiwgb25seSB0aGUgcHV0OiBwYXJ0IGlzIHN0b3Jl ZCBpbnRvIHRoZSBoZWFkZXIgLSB1c2VmdWwgZm9yIHBhcnRzIHdpdGhvdXQg a2V5OiB2YWx1ZSkuIElmIHlvdSBhcmUgZ29pbmcgdG8gcGxheSB3aXRoIHNl cnZlciBwdXNoIGFwcGxpY2F0aW9ucywgbWFrZSBzdXJlIHlvdSBoYXZlIC1m bHVzaCBwYXJhbWV0ZXIgaW4geW91ciBodHRwLmNvbmYgZmlsZSBzcGVjaWZp ZWQuIElmIG5vdCwgbW9kX2Zhc3RjZ2kgaXMgYnVmZmVyaW5nIHRoZSByZXNw b25zZS4KCkxvZ2dpbmcKQ3VycmVudGx5IHR3byB0eXBlcyBvZiB0aGUgbG9n IGZhY2lsaXR5IGFyZSBzdXBwb3J0ZWQuIFlvdSBjYW4gcmVkaXJlY3QgdGhl IGxvZyB0byB0aGUgVHJhbnNjcmlwdCB3aW5kb3cgb3IgdG8gdGhlIGZpbGUu IFNlZSB0aGUgRkNHSVNlcnZlciBjb25maWd1cmF0aW9uIGFuZCBleGFtcGxl cyBhdCB0aGUgY2xhc3Mgc2lkZS4KCkVudGVycHJpc2UgRWRpdGlvbgpPSywg c28geW91IGRvbid0IGhhdmUgZW5vdWdoIHdpdGggb25lIHNlcnZlcj8gRG8g eW91IHdhbnQgdG8gaGF2ZSB0aGUgc2VydmVyIHJvb20gZnVsbCBvZiBib3hl cyBhbGwgb2YgdGhlbSBydW5uaW5nIHlvdXIgYXBwbGljYXRpb25zPyBObyBw cm9ibGVtIGlmIHlvdSBwdXQgeW91ciBGQ0dJU2VydmVycyBpbnRvIHRoZSBF bnRlcnByaXNlIG1vZGUuIEZpcnN0IG9mIGFsbCwgeW91IGhhdmUgdG8gY29u ZmlndXJlIHlvdXIgRkNHSVNlcnZlciBhbmQgdG8gYWRkIHRoZSBjb2xsYWJv cmF0aW5nIEZDR0lDZWxscy4gRWFjaCBjZWxsIGNvcmVzcG9uZHMgdG8gb25l IGltYWdlIHJ1biBvbiBvbmUgbWFjaGluZSAoaG93ZXZlciBpdCBjb3VsZCBi ZSB0aGUgc2FtZSBpbWFnZSBhbmQgdGhlIHNhbWUgbWFjaGluZSBhcyB0aGUg bWFpbiBGQ0dJU2VydmVyKS4gV2hlbiB0aGUgbWFpbiBzZXJ2ZXIgcmVjZWl2 ZXMgdGhlIHJlcXVlc3QsIGl0IHNlYXJjaGVzIGlmIHRoaXMgcmVxdWVzdCBj b250YWlucyB0aGUgc2Vzc2lvbiBhZmluaXR5IHBhcmFtZXRlciAoc2VlIEZD R0lFbnRlcnByaXNlTWFuYWdlciBrZXlCbG9jayBtZXRob2QsIHRoZSBrZXkg Y291bGQgYmUgYW55IGV4cHJlc3Npb24sIGluIG15IGV4YW1wbGUgSSdtIHVz aW5nIHRoZSBIVFRQX1VTRVJfQUdFTlQsIHNvIEkgY2FuIHVzZSBvbmUgbWFj aGluZSBmb3IgTmV0c2NhcGUgY2xpZW50cyBhbmQgYW5vdGhlciBmb3IgRXhw bG9yZXIpLiBJZiB0aGUgcmVxdWVzdCBkb2Vzbid0IGJlbG9uZyB0byBhbnkg bWFjaGluZSB5ZXQsIHRoZSBtYWNoaW5lIHdpdGggdGhlIGxvd2VzdCBsb2Fk IGlzIHVzZWQgZm9yIHRoZSBmaXJzdCByZXNwb25zZSBhbmQgZm9yIHRoZSBu ZXh0IHJlc3BvbnNlcyB3aXRoIHRoZSBzYW1lIHNlc3Npb24gYWZpbml0eSBr ZXkuIFRoZSBlbnRlcnByaXNlIHNlcnZlcnMgY291bGQgYmUgZXZlbiBjaGFp bmVkLiBJZiB0aGUgcmVzcG9uc2UgZmFpbHMgZm9yIGFueSByZWFzb24gKGNl bGwgaXMgZG93biksIHRoZSByZXF1ZXN0IGlzIGhhbmRsZWQgYnkgdGhlIG1h aW4gc2VydmVyIGl0c2VsZi4gVGhlIHNlc3Npb24gYWZpbml0eSBpcyB1c2Vm dWwgaWYgeW91IGFyZSBzdG9yaW5nIHlvdXIgc3RhdGUgcGFyYW1ldGVycyBp biBtZW1vcnksIGFzIGVhY2ggcmVxdWVzdCBpcyBoYW5kbGVkIGJ5IHRoZSBz YW1lIEZDR0lTZXJ2ZXIgaW5zdGFuY2UuCldlbGwsIHN1cmUgZm9yIHRoZSBi ZXR0ZXIgcGVyZm9ybWFuY2UgeW91IGNhbiB1c2UgdGhlIHNlc3Npb24gYWZp bml0eSBwYXRjaCBmb3IgbW9kX2Zhc3RjZ2ksIGJ1dCB3aXRoIHRoZSBzYW1l IGJlaGF2aW9yIGltcGxlbWVudGVkIGluIFNtYWxsdGFsayB5b3UgaGF2ZSB0 aGUgcGVyZmVjdCBjb250cm9sIG9mIHdoYXQgaXMgaGFwcGVuaW5nLCBhbmQg SSBkb24ndCBrbm93IGlmIHRoZXJlIGlzIGN1cnJlbnRseSB0aGUgc2NhbGFi aWxpdHkgc3VwcG9ydCAodGhlIGFiaWxpdHkgdG8gYWRkL3JlbW92ZSBzZXJ2 ZXJzKSBmb3IgdGhlIEZhc3RDZ2lFeHRlcm5hbFNlcnZlcnMuCklmIHlvdSB3 YW50IHRoZSBTbWFsbHRhbGsgc2VydmVyIHRvIGJlIHJlc3RhcnRlZCBpbiB0 aGUgY2FzZSBvZiBpbWFnZSBjcmFzaGVzLCB5b3UgY2FuIGFkZCBpdCB0byB5 b3VyIC9ldGMvaW5pdGFiIGZpbGUgYW5kIGFmdGVyIGEgY3Jhc2ggaXQgd2ls bCBiZSBhdXRvbWF0aWNhbGx5IHJlc3RhcnRlZC4KCkV4YW1wbGVzIG9mIGhv dyB0byBzdGFydApUaGVyZSBhcmUgdHdvIHBhcnRzIGZvciB0aGUgd2hvbGUg d29ya2luZyBzaXRlIHRoYXQgbmVlZCB0byBiZSBidWlsZDogVGhlIHdlYiBz ZXJ2ZXIgYW5kIHRoZSBzbWFsbHRhbGsgc2VydmVyLgoKMS4gd2ViIHNlcnZl cgpZb3UgY2FuIHVzZSBhbnkgd2ViIHNlcnZlciBzdXBwb3J0aW5nIEZhc3Qg Q0dJIHByb3RvY29sLiBJJ20gdXNpbmcgQXBhY2hlLiBTbywgZmlyc3Qgb2Yg YWxsLCBjb21waWxlIEFwYWNoZSB3aXRoIG1vZF9mYXN0Y2dpIChmb2xsb3cg dGhlIGRvY3VtZW50YXRpb24gZm9yIG1vZF9mYXN0Y2dpIC0gZG93bmxvYWQg aXQgZnJvbSBodHRwOi8vd3d3LmZhc3RjZ2kuY29tKS4gVGhlbiB5b3UgaGF2 ZSB0byBjb25maWd1cmUgeW91ciBodHRwLmNvbmYgZmlsZToKCkFkZEhhbmRs ZXIgZmFzdGNnaS1zY3JpcHQgZmNnaQpGYXN0Q2dpRXh0ZXJuYWxTZXJ2ZXIg L3Vzci9sb2NhbC9hcGFjaGUvaHRkb2NzL3NxIC1ob3N0IGxvY2FsaG9zdDox OTcxIC1mbHVzaAoKWW91IGNhbiBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRv IHlvdXIgVmlydHVhbEhvc3QgcGFydCBmb3IgZXhhbXBsZS4gSWYgeW91IHdp bGwgcnVuIHlvdXIgU21hbGx0YWxrIEZDR0lTZXJ2ZXIgb24gYSBkaWZmZXJl bnQgbWFjaGluZS9wb3J0LCBjaGFuZ2UgbG9jYWxob3N0OjE5NzEgYXBwcm9w cmlhdGVseS4KCjIuIHNtYWxsdGFsayBzZXJ2ZXIKVGhlbiBzdGFydCB5b3Vy IFNtYWxsdGFsayBhbmQgZXhlY3V0ZSBGQ0dJU2VydmVyIHN0YXJ0dXBEZWZh dWx0LiBUbyBzdG9wIGFsbCBpbnN0YW5jZXMgb2YgeW91ciBGQ0dJU2VydmVy LCBleGVjdXRlIEZDR0lTZXJ2ZXIgc2h1dGRvd24uCgpUbyBsb29rIGZvciB0 aGUgZXhhbXBsZXMsIGJyb3dzZSB3aXRoIHlvdXIgZmF2b3JpdGUgYnJvd3Nl ciAob3IgbW9iaWxlIHBob25lKSBodHRwOi8vbG9jYWxob3N0L3NxL0RlZmF1 bHRBcHBsaWNhdGlvbiwgaHR0cDovL2xvY2FsaG9zdC9zcS9XYXBBcHBsaWNh dGlvbiwgZXRjLgo= --0-1551577026-1011976565=:33341--