Re: [BLACKBOX] Program freezes when window loses focus

From: Stephen R. Troy <"Stephen>
Date: Sat, 26 Mar 2011 12:51:38 -0700
----boundary-LibPST-iamunique-1424365729_-_- Content-type: text/plain Chris Burrows, you da MAN!!! I added your PROCEDURE ProcessMessages to my program. Now when I do anything to make the display form/window lose focus while the program is running, it staggers a little, but then resumes running! Undoubtedly I will have to experiment and tweak it a bit, but this basically seems to solve my problem. THANKS!!! Steve Troy -------- Original Message -------- Subject: Re: [BLACKBOX] Program freezes when window loses focus From: Chris Burrows >I have a long running command (about 15 min) and in order to show that >it makes progress, I call Dialog.ShowStatus, which displays a message >in the status bar at the bottom of the application window. > >This works fine as long as there is no event being sent to the >application e.g. by clicking the mouse or pressing a key. >If such an event occurs, the status bar stops being updated after about >5 seconds and the application appears to be completely frozen until the >command terminates. >This confuses the users and it confuses even me. > ----------------------------------------------------- My response: AFAIK, the proper solution for this sort of problem is to use multiple / background threads. However, a less elegant but easier and possibly effective solution is to periodically process the Windows Message queue. The following example should help you get started: MODULE TestLong; IMPORT Dialog, Strings, Win := WinApi; PROCEDURE ProcessMessages; VAR msg: Win.MSG; res: INTEGER; BEGIN WHILE Win.PeekMessage(msg, 0, 0, 0, Win.PM_REMOVE) # 0 DO res := Win.TranslateMessage(msg); res := Win.DispatchMessageA(msg) END END ProcessMessages; PROCEDURE Do*; VAR i, j: INTEGER; s: ARRAY 20 OF CHAR; BEGIN FOR i := 0 TO 300 DO ProcessMessages; FOR j := 0 TO 10000000 DO END ; Strings.IntToString(i, s); Dialog.ShowStatus("msg " + s) END END Do; END TestLong. P.S. My system must be faster than yours - I had to increase the j loop by a factor of 10 to 100000000 to actually test it! ----------------------------------------------------- So try putting a call to ProcessMessages at a suitable position in your processing loop so that it will get called at least a few times a second, Regards, Chris Burrows CFB Software Astrobe v3.3: ARM Oberon-07 Development System http://www.astrobe.com ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ----boundary-LibPST-iamunique-1424365729_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg TmV3O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1 O30NClx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZzMjQgDQp7XCpcaHRtbHRhZzE5IDxo dG1sPn0NCntcKlxodG1sdGFnNTAgPGJvZHk+fXtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1s cnRmMCANCntcKlxodG1sdGFnODQgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OlZlcmRhbmE7IGNv bG9yOiMwMDAwMDA7IGZvbnQtc2l6ZToxMHB0OyI+fVxodG1scnRmIHtcaHRtbHJ0ZjAgXGh0bWxy dGYgfVxodG1scnRmMCB7XCpcaHRtbHRhZzcyfVxodG1scnRmfVxodG1scnRmMA0KDQp7XCpcaHRt bHRhZzk2IDxkaXY+fVxodG1scnRmIHtcaHRtbHJ0ZjAge1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7 XGh0bWxydGYwIFxodG1scnRmIHtcaHRtbHJ0ZjAgQ2hyaXMgQnVycm93cywgeW91IGRhIE1BTiEh IQ0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgSSBhZGRlZCB5 b3VyIFBST0NFRFVSRSBQcm9jZXNzTWVzc2FnZXMgdG8gbXkgcHJvZ3JhbS4NCntcKlxodG1sdGFn ODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIE5vdyB3aGVuIEkgZG8gYW55dGhpbmcg dG8gbWFrZSB0aGUgZGlzcGxheSBmb3JtL3dpbmRvdyBsb3NlIGZvY3VzIHdoaWxlIHRoZSBwcm9n cmFtIGlzIHJ1bm5pbmcsIGl0IHN0YWdnZXJzIGEgbGl0dGxlLCBidXQgdGhlbiByZXN1bWVzIHJ1 bm5pbmchDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwICBVbmRv dWJ0ZWRseSBJIHdpbGwgaGF2ZSB0byBleHBlcmltZW50IGFuZCB0d2VhayBpdCBhIGJpdCwgYnV0 IHRoaXMgYmFzaWNhbGx5IHNlZW1zIHRvIHNvbHZlIG15IHByb2JsZW0uDQp7XCpcaHRtbHRhZzg0 ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwICBUSEFOS1MhISFcaHRtbHJ0ZiB9XGh0bWxy dGYwIHtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEw NCA8L2Rpdj59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTYgPGRpdj59XGh0bWxy dGYge1xodG1scnRmMCB7XCpcaHRtbHRhZzY0fVxodG1scnRmIHtcaHRtbHJ0ZjAgXGh0bWxydGYg e1xodG1scnRmMCBTdGV2ZSBUcm95DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l DQpcaHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCB7XCpcaHRtbHRhZzcyfVxodG1scnRmXHBh cn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcxMDQgPC9kaXY+fVxodG1scnRmIH1caHRtbHJ0ZjAg DQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzk2IDxibG9ja3F1b3RlIGlkPSJyZXBs eUJsb2NrcXVvdGUiIHdlYm1haWw9IjEiIHN0eWxlPSJib3JkZXItbGVmdDogMnB4IHNvbGlkIGJs dWU7IG1hcmdpbi1sZWZ0OiA4cHg7IHBhZGRpbmctbGVmdDogOHB4OyBmb250LXNpemU6MTBwdDsg Y29sb3I6YmxhY2s7IGZvbnQtZmFtaWx5OnZlcmRhbmE7Ij59XGh0bWxydGYgXHBhcg0Ke1xodG1s cnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnOTYgPGRpdiBpZD0id21RdW90 ZVdyYXBwZXIiPn1caHRtbHJ0ZiB7XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfXtcKlxo dG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBcbGkzNjAgXGh0bWxydGYge1xodG1scnRmMCAt LS0tLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tLS0tDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxo dG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9U3ViamVjdDogUmU6 IFtCTEFDS0JPWF0gUHJvZ3JhbSBmcmVlemVzIHdoZW4gd2luZG93IGxvc2VzIGZvY3VzDQp7XCpc aHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQg XHBhciB9RnJvbTogQ2hyaXMgQnVycm93cyANCntcKlxodG1sdGFnODQgJmx0O31caHRtbHJ0ZiA8 XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCA8YSBocmVmPSJtYWlsdG86Y2hyaXNAQ0ZCU09GVFdB UkUuQ09NIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAibWFpbHRvOmNo cmlzQENGQlNPRlRXQVJFLkNPTSJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIGNocmlzQENG QlNPRlRXQVJFLkNPTVxodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntc KlxodG1sdGFnOTIgPC9hPn0NCntcKlxodG1sdGFnODQgJmd0O31caHRtbHJ0ZiA+XGh0bWxydGYw IA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfURhdGU6IFR1ZSwgTWFyY2ggMTUsIDIwMTEgNjoxOCBwbQ0Ke1wqXGh0bWx0 YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIg fVRvOiANCntcKlxodG1sdGFnODQgPGEgaHJlZj0ibWFpbHRvOkJMQUNLQk9YQExJU1RTLk9CRVJP Ti5DSCI+fVxodG1scnRmIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgIm1haWx0bzpCTEFD S0JPWEBMSVNUUy5PQkVST04uQ0gifX17XGZsZHJzbHRcY2YxXHVsIFxodG1scnRmMCBCTEFDS0JP WEBMSVNUUy5PQkVST04uQ0hcaHRtbHJ0ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAg DQp7XCpcaHRtbHRhZzkyIDwvYT59DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxo dG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9X19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUN ClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0 bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn ODQgXHRhYiB9RnJvbTogQmxhY2tCb3ggWw0Ke1wqXGh0bWx0YWc4NCA8YSBocmVmPSJtYWlsdG86 QkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZ UEVSTElOSyAibWFpbHRvOkJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSCJ9fXtcZmxkcnNsdFxjZjFc dWwgXGh0bWxydGYwIG1haWx0bzpCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0hcaHRtbHJ0ZiB9XGh0 bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzkyIDwvYT59XSBPbiBCZWhh bGYgT2YNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntc KlxodG1sdGFnNCBccGFyIH1TdGVwaGVuIFIuIFRyb3kNCntcKlxodG1sdGFnMTE2IDxicj59XGh0 bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn ODQgXHRhYiB9U2VudDogV2VkbmVzZGF5LCAxNiBNYXJjaCAyMDExIDc6NTAgQU0NCntcKlxodG1s dGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFy IH0NCntcKlxodG1sdGFnODQgXHRhYiB9VG86IA0Ke1wqXGh0bWx0YWc4NCA8YSBocmVmPSJtYWls dG86QkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0 e0hZUEVSTElOSyAibWFpbHRvOkJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSCJ9fXtcZmxkcnNsdFxj ZjFcdWwgXGh0bWxydGYwIEJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSFxodG1scnRmIH1caHRtbHJ0 ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0NCntcKlxodG1sdGFn MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0N CntcKlxodG1sdGFnODQgXHRhYiB9U3ViamVjdDogUmU6IFtCTEFDS0JPWF0gUHJvZ3JhbSBmcmVl emVzIHdoZW4gd2luZG93IGxvc2VzIGZvY3VzDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRm IFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0IFx0 YWIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCBcdGFiIH0NCntcKlxodG1sdGFnMTE2IDxi cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxo dG1sdGFnODQgXHRhYiBcdGFiIH1Obywgc29ycnksIHRoYXQncyBub3QgaXQuDQp7XCpcaHRtbHRh Zzg0ICAgfVxodG1scnRmICBcaHRtbHJ0ZjAgSSBzYWlkICJkaXNwbGF5IHdpbmRvdyIgaW4gdGhl DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzQgXHBhciB9c2FtZSBzZW5zZSBhcyB5b3Ugc2FpZCAiZm9ybSI7IGkuZS4gSSdtIGFscmVh ZHkgZG9pbmcgdGhlIGJldHRlciB3YXkgeW91DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRm IFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9c3VnZ2VzdCwgdXNpbmcgRGlh bG9nLlVwZGF0ZSwgYW5kIHdhdGNoaW5nIHRoZSBwcm9ncmFtIGV4ZWN1dGUuDQp7XCpcaHRtbHRh Zzg0ICAgfVxodG1scnRmICBcaHRtbHJ0ZjAgSG93ZXZlciwgaWYNCntcKlxodG1sdGFnMTE2IDxi cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1JIGRvIHNv bWV0aGluZyB0byBsb3NlIGZvY3VzIG9uIHRoZSBkaXNwbGF5IGZvcm0sIHN1Y2ggYXMgY2xpY2sg bW91c2UtY2xpY2sNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm MCANCntcKlxodG1sdGFnNCBccGFyIH1lbHNld2hlcmUsIG9yIHN0YXJ0IGFub3RoZXIgcHJvZ3Jh bSBvdXRzaWRlIEJsYWNrQm94LCB0aGUgcHJvZ3JhbSBmcmVlemVzLg0Ke1wqXGh0bWx0YWcxMTYg PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUl0IGlz IG5vdCBleGVjdXRpbmcgYW4gaW5maW5pdGUgbG9vcCwgYmVjYXVzZSBJIGFtIHRvbyBvbGQgYSBw cm9ncmFtbWVyIGZvcg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxy dGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfXRoYXQsIEkgcHV0IHRyYXBzIHRvIGhhbHQgbG9vcHMg dGhhdCBydW4gYW4gZXhjZXNzaXZlIG51bWJlciBvZiB0aW1lczsgaS5lLg0Ke1wqXGh0bWx0YWcx MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfWFu IGV4Y2Vzc2l2ZSBudW1iZXIgb2YgaXRlcmF0aW9ucyBpcyBhbHdheXMgb25lIG9mIHNldmVyYWwg ZXhpdCBjb25kaXRpb25zLg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0 bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0 ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYg PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQp7XCpcaHRt bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh ciB9DQp7XCpcaHRtbHRhZzg0IFx0YWIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBc bGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVRoaXMgc291bmRzIHZlcnkgc2lt aWxhciB0byBhIHByb2JsZW0gcmVwb3J0ZWQgaGVyZSBpbiBEZWMgMjAwOS4gDQp7XCpcaHRtbHRh ZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9 DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzQgXHBhciB9LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCAN CntcKlxodG1sdGFnNCBccGFyIH1UaGUgcHJvYmxlbToNCntcKlxodG1sdGFnMTE2IDxicj59XGh0 bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn ODQgJmd0O31caHRtbHJ0ZiA+XGh0bWxydGYwIEkgaGF2ZSBhIGxvbmcgcnVubmluZyBjb21tYW5k IChhYm91dCAxNSBtaW4pIGFuZCBpbiBvcmRlciB0byBzaG93IHRoYXQgDQp7XCpcaHRtbHRhZzEx NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7 XCpcaHRtbHRhZzg0ICZndDt9XGh0bWxydGYgPlxodG1scnRmMCBpdCBtYWtlcyBwcm9ncmVzcywg SSBjYWxsIA0Ke1wqXGh0bWx0YWc4NCA8YSBocmVmPSJodHRwOi8vRGlhbG9nLlNob3dTdGF0dXMi Pn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwOi8vRGlhbG9nLlNo b3dTdGF0dXMifX17XGZsZHJzbHRcY2YxXHVsIFxodG1scnRmMCBEaWFsb2cuU2hvd1N0YXR1c1xo dG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9h Pn0sIHdoaWNoIGRpc3BsYXlzIGEgbWVzc2FnZSANCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQg Jmd0O31caHRtbHJ0ZiA+XGh0bWxydGYwIGluIHRoZSBzdGF0dXMgYmFyIGF0IHRoZSBib3R0b20g b2YgdGhlIGFwcGxpY2F0aW9uIHdpbmRvdy4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgJmd0 O31caHRtbHJ0ZiA+XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAmZ3Q7fVxo dG1scnRmID5caHRtbHJ0ZjAgVGhpcyB3b3JrcyBmaW5lIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8g ZXZlbnQgYmVpbmcgc2VudCB0byB0aGUgDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxs aW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICZndDt9 XGh0bWxydGYgPlxodG1scnRmMCBhcHBsaWNhdGlvbiBlLmcuIGJ5IGNsaWNraW5nIHRoZSBtb3Vz ZSBvciBwcmVzc2luZyBhIGtleS4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUN ClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgJmd0O31caHRt bHJ0ZiA+XGh0bWxydGYwIElmIHN1Y2ggYW4gZXZlbnQgb2NjdXJzLCB0aGUgc3RhdHVzIGJhciBz dG9wcyBiZWluZyB1cGRhdGVkIGFmdGVyIGFib3V0IA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4 NCAmZ3Q7fVxodG1scnRmID5caHRtbHJ0ZjAgNSBzZWNvbmRzIGFuZCB0aGUgYXBwbGljYXRpb24g YXBwZWFycyB0byBiZSBjb21wbGV0ZWx5IGZyb3plbiB1bnRpbCB0aGUgDQp7XCpcaHRtbHRhZzEx NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7 XCpcaHRtbHRhZzg0ICZndDt9XGh0bWxydGYgPlxodG1scnRmMCBjb21tYW5kIHRlcm1pbmF0ZXMu DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICZndDt9XGh0bWxydGYgPlxodG1scnRmMCBUaGlz IGNvbmZ1c2VzIHRoZSB1c2VycyBhbmQgaXQgY29uZnVzZXMgZXZlbiBtZS4NCntcKlxodG1sdGFn MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0N CntcKlxodG1sdGFnODQgJmd0O31caHRtbHJ0ZiA+XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcxMTYg PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQp7XCpcaHRt bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh ciB9TXkgcmVzcG9uc2U6DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRm IFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9QUZBSUssIHRoZSBwcm9wZXIg c29sdXRpb24gZm9yIHRoaXMgc29ydCBvZiBwcm9ibGVtIGlzIHRvIHVzZSBtdWx0aXBsZSAvDQp7 XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh ZzQgXHBhciB9YmFja2dyb3VuZCB0aHJlYWRzLiBIb3dldmVyLCBhIGxlc3MgZWxlZ2FudCBidXQg ZWFzaWVyIGFuZCBwb3NzaWJseQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0K XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfWVmZmVjdGl2ZSBzb2x1dGlvbiBpcyB0byBw ZXJpb2RpY2FsbHkgcHJvY2VzcyB0aGUgV2luZG93cyBNZXNzYWdlIHF1ZXVlLiBUaGUNCntcKlxo dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc cGFyIH1mb2xsb3dpbmcgZXhhbXBsZSBzaG91bGQgaGVscCB5b3UgZ2V0IHN0YXJ0ZWQ6DQp7XCpc aHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQg XHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7 XCpcaHRtbHRhZzQgXHBhciB9TU9EVUxFIFRlc3RMb25nOw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1c aHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0 YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIg fUlNUE9SVCBEaWFsb2csIFN0cmluZ3MsIFdpbiA6PSBXaW5BcGk7DQp7XCpcaHRtbHRhZzExNiA8 YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpc aHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQg XHBhciB9UFJPQ0VEVVJFIFByb2Nlc3NNZXNzYWdlczsNCntcKlxodG1sdGFnMTE2IDxicj59XGh0 bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn ODQgICB9VkFSIG1zZzogDQp7XCpcaHRtbHRhZzg0IDxhIGhyZWY9Imh0dHA6Ly9XaW4uTVNHIj59 XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cDovL1dpbi5NU0cifX17 XGZsZHJzbHRcY2YxXHVsIFxodG1scnRmMCBXaW4uTVNHXGh0bWxydGYgfVxodG1scnRmMCBcaHRt bHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+fTsgcmVzOiBJTlRFR0VSOw0Ke1wq XGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0 IFxwYXIgfUJFR0lODQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgfVdISUxFIA0Ke1wqXGh0 bWx0YWc4NCA8YSBocmVmPSJodHRwOi8vV2luLlBlZWtNZXNzYWdlKG1zZyI+fVxodG1scnRmIHtc ZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHA6Ly9XaW4uUGVla01lc3NhZ2UobXNnIn19 e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgV2luLlBlZWtNZXNzYWdlKG1zZ1xodG1scnRmIH1c aHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0sIDAsIDAs IDAsIA0Ke1wqXGh0bWx0YWc4NCA8YSBocmVmPSJodHRwOi8vV2luLlBNX1JFTU9WRSI+fVxodG1s cnRmIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHA6Ly9XaW4uUE1fUkVNT1ZFIn19 e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgV2luLlBNX1JFTU9WRVxodG1scnRmIH1caHRtbHJ0 ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0pICMgMCBETw0Ke1wq XGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0 IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfXJlcyA6PSANCntcKlxodG1sdGFnODQgPGEgaHJl Zj0iaHR0cDovL1dpbi5UcmFuc2xhdGVNZXNzYWdlKG1zZyI+fVxodG1scnRmIHtcZmllbGR7XCpc ZmxkaW5zdHtIWVBFUkxJTksgImh0dHA6Ly9XaW4uVHJhbnNsYXRlTWVzc2FnZShtc2cifX17XGZs ZHJzbHRcY2YxXHVsIFxodG1scnRmMCBXaW4uVHJhbnNsYXRlTWVzc2FnZShtc2dcaHRtbHJ0ZiB9 XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzkyIDwvYT59KTsNCntc KlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFn NCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH1yZXMgOj0gV2luLkRpc3BhdGNoTWVzc2FnZUEo bXNnKQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgIH1FTkQNCntcKlxodG1sdGFnMTE2IDxi cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1FTkQgUHJv Y2Vzc01lc3NhZ2VzOw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxy dGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCBcdGFiIH0NCntcKlxodG1s dGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFy IH1QUk9DRURVUkUgRG8qOw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0 bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgIH1WQVIgaSwgajog SU5URUdFUjsgczogQVJSQVkgMjAgT0YgQ0hBUjsgQkVHSU4NCntcKlxodG1sdGFnMTE2IDxicj59 XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1s dGFnODQgICB9Rk9SIGkgOj0gMCBUTyAzMDAgRE8NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQg ICAgIH1Qcm9jZXNzTWVzc2FnZXM7DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9Rk9S IGogOj0gMCBUTyAxMDAwMDAwMCBETw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfUVO RCA7DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpc aHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9DQp7XCpcaHRtbHRhZzg0IDxhIGhy ZWY9Imh0dHA6Ly9TdHJpbmdzLkludFRvU3RyaW5nKGkiPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZs ZGluc3R7SFlQRVJMSU5LICJodHRwOi8vU3RyaW5ncy5JbnRUb1N0cmluZyhpIn19e1xmbGRyc2x0 XGNmMVx1bCBcaHRtbHJ0ZjAgU3RyaW5ncy5JbnRUb1N0cmluZyhpXGh0bWxydGYgfVxodG1scnRm MCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+fSwgcyk7DQp7XCpcaHRt bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh ciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9DQp7XCpcaHRtbHRhZzg0IDxhIGhyZWY9Imh0dHA6Ly9E aWFsb2cuU2hvd1N0YXR1cyI+fVxodG1scnRmIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksg Imh0dHA6Ly9EaWFsb2cuU2hvd1N0YXR1cyJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIERp YWxvZy5TaG93U3RhdHVzXGh0bWxydGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0K e1wqXGh0bWx0YWc5MiA8L2E+fSgibXNnICIgKyBzKQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4 NCAgIH1FTkQNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCAN CntcKlxodG1sdGFnNCBccGFyIH1FTkQgRG87DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRm IFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8 YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9RU5EIFRl c3RMb25nLg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0K XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVAuUy4gTXkgc3lzdGVtIG11c3QgYmUgZmFz dGVyIHRoYW4geW91cnMgLSBJIGhhZCB0byBpbmNyZWFzZSB0aGUgaiBsb29wIGJ5IGENCntcKlxo dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc cGFyIH1mYWN0b3Igb2YgMTAgdG8gMTAwMDAwMDAwIHRvIGFjdHVhbGx5IHRlc3QgaXQhDQp7XCpc aHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQg XHBhciB9LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo dG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1s cnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1TbyB0cnkgcHV0dGluZyBhIGNhbGwgdG8gUHJvY2Vz c01lc3NhZ2VzIGF0IGEgc3VpdGFibGUgcG9zaXRpb24gaW4geW91cg0Ke1wqXGh0bWx0YWcxMTYg PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfXByb2Nl c3NpbmcgbG9vcCBzbyB0aGF0IGl0IHdpbGwgZ2V0IGNhbGxlZCBhdCBsZWFzdCBhIGZldyB0aW1l cyBhIHNlY29uZCwNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1SZWdhcmRzLA0Ke1wqXGh0bWx0YWcx MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUNo cmlzIEJ1cnJvd3MNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1DRkIgU29mdHdhcmUNCntcKlxodG1s dGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFy IH1Bc3Ryb2JlIHYzLjM6IEFSTSBPYmVyb24tMDcgRGV2ZWxvcG1lbnQgU3lzdGVtDQp7XCpcaHRt bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh ciB9DQp7XCpcaHRtbHRhZzg0IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXN0cm9iZS5jb20iPn1caHRt bHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwOi8vd3d3LmFzdHJvYmUuY29t In19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgaHR0cDovL3d3dy5hc3Ryb2JlLmNvbVxodG1s cnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0N CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0tLS0tDQp7XCpcaHRtbHRhZzExNiA8 YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9VG8gdW5z dWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFDS0JPWCIgdG8g DQp7XCpcaHRtbHRhZzg0IDxhIGhyZWY9Im1haWx0bzpMSVNUU0VSVkBMSVNUUy5PQkVST04uQ0gi Pn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJtYWlsdG86TElTVFNFUlZA TElTVFMuT0JFUk9OLkNIIn19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgTElTVFNFUlZATElT VFMuT0JFUk9OLkNIXGh0bWxydGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc5MiA8L2E+fQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0 bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRm IH1caHRtbHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxo dG1sdGFnMTA0IDwvZGl2Pn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIg fQ0Ke1wqXGh0bWx0YWcxMDQgPC9ibG9ja3F1b3RlPn1caHRtbHJ0ZiB9XHBhcg0KXGh0bWxydGYw IA0Ke1wqXGh0bWx0YWcyNDggPC9zcGFuPn0NCntcKlxodG1sdGFnNTggPC9ib2R5Pn0NCntcKlxo dG1sdGFnMjcgPC9odG1sPn0NCntcKlxodG1sdGFnMyBccGFyIH0NCntcKlxodG1sdGFnNjQgPHA+ fVxodG1scnRmIHtcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9LS0tLQ0Ke1wqXGh0bWx0 YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNz YWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFDS0JPWCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9O LkNIDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBcaHRtbHJ0ZlxwYXJ9 XGh0bWxydGYwDQp9 ----boundary-LibPST-iamunique-1424365729_-_--- Received on Sat Mar 26 2011 - 20:51:38 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:16 UTC