From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtp1-g21.free.fr ([212.27.42.1]:21855 "EHLO smtp1-g21.free.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964840AbaEQQp0 (ORCPT ); Sat, 17 May 2014 12:45:26 -0400 Message-ID: <53779225.6060800@free.fr> Date: Sat, 17 May 2014 18:45:25 +0200 From: fredboboss MIME-Version: 1.0 To: Olliver Schinagl CC: Jonathan McCrohan , linux-media@vger.kernel.org, 746404@bugs.debian.org Subject: Re: Bug#746404: dtv-scan-tables: /usr/share/dvb/dvb-t/fr-all file : invalid enum and no DVB-T services found References: <712546178.3666737.1400094898578.JavaMail.root@zimbra33-e6.priv.proxad.net> In-Reply-To: <712546178.3666737.1400094898578.JavaMail.root@zimbra33-e6.priv.proxad.net> Content-Type: multipart/mixed; boundary="------------080103010008050107020605" Sender: linux-media-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --------------080103010008050107020605 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello Olliver, attached is the output of "w_scan -v -M", all the available services are well found. I've searched the web for information about DVB-T settings in France. The governement websites only provide the frequencies (the fr-All file contains all the correct frequencies for the whole country). Unfortunately no information about FEC and guard interval are publicly available. Some people provide information about the parameters of the services they receive, but it's local (for instance Paris area) or not precise (for instance: "Code Rate: Unknown (0x05)"). I did more tests with "scan" in my area (Rennes, Brittany) changing only FEC and Guard Interval parameters (QAM64) : FEC=1/2 GI=1/8 : 0 services, WARNING: filter timeout FEC=1/2 GI=1/32 : 0 services, WARNING: >>> tuning failed FEC=2/3 GI=1/8 : 0 services, WARNING: filter timeout FEC=2/3 GI=1/32 : 0 services, WARNING: >>> tuning failed FEC=3/4 GI=1/8 : all services found FEC=3/4 GI=1/32 : 0 services, WARNING: >>> tuning failed FEC=AUTO GI=AUTO : all services found FEC=2/3 GI=AUTO : all services found FEC=3/4 GI=AUTO : all services found FEC=AUTO GI=1/8 : all services found FEC=AUTO GI=1/32 : all services found It seems my frontend doesn't care about a parameter when the other is set to AUTO. That is, when FEC_AUTO is selected it doesn't care about guard interval. When GUARD_INTERVAL_AUTO is selected it doesn't car about FEC. However, what I read is that some hardware doesn't support AUTO settings. Best regards, Fred On 14/05/2014 21:14, fredboboss@free.fr wrote: > Hello Olliver, > > thank you for your reply, I will try wscan as soon as I can. > > I will also chase for as much information about DVB-T providers as I can. > > I'll keep you updated, > cheers, > Fred > > ----- Original Message ----- > From: "Olliver Schinagl" > To:fredboboss@free.fr > Cc: "Jonathan McCrohan",linux-media@vger.kernel.org,746404@bugs.debian.org > Sent: Wednesday, May 14, 2014 8:45:45 PM > Subject: Re: Bug#746404: dtv-scan-tables: /usr/share/dvb/dvb-t/fr-all file : invalid enum and no DVB-T services found > > Hey Fred, > > On 05/14/2014 06:50 PM,fredboboss@free.fr wrote: >> Thank you guys for your support ! >> >> Olliver, >> thank you for your commit I tested it and the parsing 1) is now good. >> >> However problem 2) is still there : no services are found at the end of the scan. >> >> I mean when doing : >> scan dtv-scan-tables/dvb-t/fr-All >> >> the end result is : >> "ERROR: initial tuning failed >> dumping lists (0 services) >> Done. >> " >> >> Digging further I think the problem is due to FEC, QAM and Guard Interval parameters consistency. >> >> Indeed in France it seems there are 2 schemes for DVB-T services depending on where you live (I'm not quite 100% sure as I could only find very few official & reliable information) : >> FEC 3/4, QAM64, Guard Interval 1/8 >> FEC 2/3, QAM16, Guard Interval 1/32 >> >> Whereas in the file we have : >> FEC 2/3, QAM64, Guard Interval 1/32 > Have you tried wscan? wscan is able to generate a 'initial scanning > file' which should result in a proper file. See, the thing is, I don't > know what is right and what is from for the entirety of France, I don't > have the range nor the lingustic skill to read the dvb-t sites from > French providers about the proper parameters. We are kind of Dependant > on people who live in an area to submit the proper scan files. > > If you think or know that identical frequencies are used with different > parameters in different regions, then that is something that needs to be > explored. If the auto setting works well, we could use that. But try to > do a wscan and generate an initial scan file from it and see what it > says, I'd be very curious indeed. > > Olliver >> However I think this scheme may be OK depending on your HW frontend tolerance. Unfortunately it doesn't work with my Hauppauge NOVA-TD-500. >> >> I propose 2 options : >> A) rely on the the AUTO capability and use FEC AUTO, QAM AUTO, GI AUTO in the frequency file (please refer to attached file fr-All-optionA) >> B) double the file with both schemes for each frequency (please refer to attached file fr-All-optionB) : the drawback is that the scan is twice longer. >> >> I sucessfully managed to scan services with both A & B. I've attached both tests outputs for your reference. >> => But I only have TV channels with the first scheme in my area. >> >> Do you have an opinion about A or B ? >> >> Thank you. >> >> Cheers, >> Fred >> >> >> >> >> >> ----- Original Message ----- >> From: "Olliver Schinagl" >> Cc: "fredboboss" >> Sent: Monday, May 12, 2014 11:16:18 PM >> Subject: Re: Fwd: Bug#746404: dtv-scan-tables: /usr/share/dvb/dvb-t/fr-all file : invalid enum and no DVB-T services found >> >> Apologies to all involved, I overlooked this e-mail. I patched it to fix >> the casing as suggested in the e-mail and pushed it upstream. Can you >> please test it? >> >> Olliver >> >> On 04/29/2014 11:57 PM, Jonathan McCrohan wrote: >>> Hi Oliver, >>> >>> Please find Debian bug report from fredboboss regarding >>> dtv-scan-tables below. >>> >>> Thanks, >>> Jon >>> >>> On Tue, 29 Apr 2014 19:50:57 +0200, fredboboss wrote: >>>> Package: dtv-scan-tables >>>> Version: 0+git20140326.cfc2975-1 >>>> Severity: normal >>>> 1246b27f8b45f84c1824925060ad931530542f2e >>>> Dear Maintainer, >>>> >>>> Dear Debian Maintainer, >>>> >>>> when performing a DVB-T frequency scan with the /usr/bin/scan utility (dvb-apps package) and the /usr/share/dvb/dvb-t/fr-All frequency file (dtv-scan-tables packages) the following 2 problems occur : >>>> >>>> 1) file parsing error : >>>> ERROR: invalid enum value '8MHZ' >>>> ERROR: invalid enum value '8K' >>>> >>>> 2) in the end no DVB-T services are found with a Hauppauge NOVA-TD-500 DVB-T card. >>>> >>>> Those problems seem to come from the /usr/share/dvb/dvb-t/fr-All file. >>>> >>>> The following changes are proposed in this file : >>>> >>>> For 1) : >>>> - 8MHZ changed by 8MHz >>>> - 8K changed by 8k >>>> >>>> For 2) : >>>> - change FEC_HI parameter by AUTO >>>> >>>> Thus the 1st frequency line of the file would be changed like that : >>>> -T 474000000 8MHZ 2/3 NONE QAM64 8K 1/32 NONE #Channel UHF 21 >>>> +T 474000000 8MHz AUTO NONE QAM64 8k 1/32 NONE #Channel UHF 21 >>>> >>>> (Please refer to the end of the mail for the complete modified file). >>>> >>>> Thanks to those modifications I successfully performed a DVB-T scan with the NOVA TD-500 card. >>>> >>>> In case more information is needed don't hesitate to contact me. >>>> >>>> Best regards, >>>> Fred >>>> >>>> -- System Information: >>>> Debian Release: jessie/sid >>>> APT prefers testing-updates >>>> APT policy: (500, 'testing-updates'), (500, 'testing') >>>> Architecture: amd64 (x86_64) >>>> >>>> Kernel: Linux 3.13-1-amd64 (SMP w/4 CPU cores) >>>> Locale: LANG=C, LC_CTYPE=en_US.utf8 (charmap=UTF-8) >>>> Shell: /bin/sh linked to /bin/dash >>>> >>>> -- no debconf information >>>> >>>> --------------080103010008050107020605 Content-Type: text/plain; charset=UTF-8; name="outputm.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="outputm.txt" d19zY2FuIHZlcnNpb24gMjAxMzAzMzEgKGNvbXBpbGVkIGZvciBEVkIgQVBJIDUuOSkKV0FS TklORzogY291bGQgbm90IGd1ZXNzIHlvdXIgY291bnRyeS4gRmFsbGluZyBiYWNrIHRvICdE RScKZ3Vlc3NpbmcgY291bnRyeSAnREUnLCB1c2UgLWMgPGNvdW50cnk+IHRvIG92ZXJyaWRl CnVzaW5nIHNldHRpbmdzIGZvciBHRVJNQU5ZCkRWQiBhZXJpYWwKRFZCLVQgRXVyb3BlCnNj YW4gdHlwZSBURVJSRVNUUklBTCwgY2hhbm5lbGxpc3QgNApvdXRwdXQgZm9ybWF0IG1wbGF5 ZXIKV0FSTklORzogY291bGQgbm90IGd1ZXNzIHlvdXIgY29kZXBhZ2UuIEZhbGxpbmcgYmFj ayB0byAnVVRGLTgnCm91dHB1dCBjaGFyc2V0ICdVVEYtOCcsIHVzZSAtQyA8Y2hhcnNldD4g dG8gb3ZlcnJpZGUKSW5mbzogdXNpbmcgRFZCIGFkYXB0ZXIgYXV0byBkZXRlY3Rpb24uCgkv ZGV2L2R2Yi9hZGFwdGVyMC9mcm9udGVuZDAgLT4gVEVSUkVTVFJJQUwgIkRpQmNvbSA3MDAw UEMiOiBnb29kIDotKQoJL2Rldi9kdmIvYWRhcHRlcjEvZnJvbnRlbmQwIC0+IFRFUlJFU1RS SUFMICJEaUJjb20gNzAwMFBDIjogZ29vZCA6LSkKVXNpbmcgVEVSUkVTVFJJQUwgZnJvbnRl bmQgKGFkYXB0ZXIgL2Rldi9kdmIvYWRhcHRlcjAvZnJvbnRlbmQwKQotXy1fLV8tXyBHZXR0 aW5nIGZyb250ZW5kIGNhcGFiaWxpdGllcy1fLV8tXy1fIApVc2luZyBEVkIgQVBJIDUuYQpm cm9udGVuZCAnRGlCY29tIDcwMDBQQycgc3VwcG9ydHMKSU5WRVJTSU9OX0FVVE8KUUFNX0FV VE8KVFJBTlNNSVNTSU9OX01PREVfQVVUTwpHVUFSRF9JTlRFUlZBTF9BVVRPCkhJRVJBUkNI WV9BVVRPCkZFQ19BVVRPCkZSRVEgKDQ1LjAwTUh6IC4uLiA4NjAuMDBNSHopCi1fLV8tXy1f LV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8gClNjYW5uaW5nIDdNSHog ZnJlcXVlbmNpZXMuLi4KMTc3NTAwOiAodGltZTogMDA6MDApIAoxODQ1MDA6ICh0aW1lOiAw MDowMykgCjE5MTUwMDogKHRpbWU6IDAwOjA2KSAKMTk4NTAwOiAodGltZTogMDA6MDkpIAoy MDU1MDA6ICh0aW1lOiAwMDoxMikgCjIxMjUwMDogKHRpbWU6IDAwOjE1KSAKMjE5NTAwOiAo dGltZTogMDA6MTgpIAoyMjY1MDA6ICh0aW1lOiAwMDoyMikgClNjYW5uaW5nIDhNSHogZnJl cXVlbmNpZXMuLi4KNDc0MDAwOiAodGltZTogMDA6MjUpICh0aW1lOiAwMDoyNikgc2lnbmFs IG9rOgoJUUFNX0FVVE8gZiA9IDQ3NDAwMCBrSHogSTk5OUI4Qzk5OUQ5OTlUOTk5Rzk5OVk5 OTkKTklUIChhY3R1YWwgVFMpCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAoJbmV3IHRyYW5zcG9u ZGVyOgoJICAgKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEc4WTAp IDB4NDA1QQp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVu ZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNv ZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAoJdXBkYXRpbmcgdHJhbnNwb25kZXI6 CgkgICAoUUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzhZMCkgMHg0 MDVBCgl0byAoUUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzMyWTAp IDB4NDA1QQp1bmRlZmluZWQgY29kZXJhdGUgSFAKCXVwZGF0aW5nIHRyYW5zcG9uZGVyOgoJ ICAgKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEczMlkwKSAweDQw NUEKCXRvIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHOFkwKSAw eDQwNUEKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCkluZm86IG5vIGRhdGEgZnJvbSBOSVQob3Ro ZXIpCjQ4MjAwMDogKHRpbWU6IDAwOjM5KSAKNDkwMDAwOiAodGltZTogMDA6NDIpIAo0OTgw MDA6ICh0aW1lOiAwMDo0NSkgKHRpbWU6IDAwOjQ2KSBzaWduYWwgb2s6CglRQU1fQVVUTyBm ID0gNDk4MDAwIGtIeiBJOTk5QjhDOTk5RDk5OVQ5OTlHOTk5WTk5OQpOSVQgKGFjdHVhbCBU UykKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmlu ZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0 ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCgl1cGRh dGluZyB0cmFuc3BvbmRlcjoKCSAgIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4 Qzk5OUQwVDhHOFkwKSAweDQwNUEKCXRvIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5 OUI4Qzk5OUQwVDhHMzJZMCkgMHg0MDVBCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAoJdXBkYXRp bmcgdHJhbnNwb25kZXI6CgkgICAoUUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5 OTlEMFQ4RzMyWTApIDB4NDA1QQoJdG8gKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5 QjhDOTk5RDBUOEc4WTApIDB4NDA1QQp1bmRlZmluZWQgY29kZXJhdGUgSFAKSW5mbzogbm8g ZGF0YSBmcm9tIE5JVChvdGhlcikKNTA2MDAwOiAodGltZTogMDE6MDApIAo1MTQwMDA6ICh0 aW1lOiAwMTowMykgCjUyMjAwMDogKHRpbWU6IDAxOjA2KSAodGltZTogMDE6MDcpIHNpZ25h bCBvazoKCVFBTV9BVVRPIGYgPSA1MjIwMDAga0h6IEk5OTlCOEM5OTlEOTk5VDk5OUc5OTlZ OTk5Ck5JVCAoYWN0dWFsIFRTKQp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNv ZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAK dW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQg Y29kZXJhdGUgSFAKCXVwZGF0aW5nIHRyYW5zcG9uZGVyOgoJICAgKFFBTV82NCAgIGYgPSA0 Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEc4WTApIDB4NDA1QQoJdG8gKFFBTV82NCAgIGYg PSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEczMlkwKSAweDQwNUEKdW5kZWZpbmVkIGNv ZGVyYXRlIEhQCgl1cGRhdGluZyB0cmFuc3BvbmRlcjoKCSAgIChRQU1fNjQgICBmID0gNDI5 NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHMzJZMCkgMHg0MDVBCgl0byAoUUFNXzY0ICAgZiA9 IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzhZMCkgMHg0MDVBCnVuZGVmaW5lZCBjb2Rl cmF0ZSBIUApJbmZvOiBubyBkYXRhIGZyb20gTklUKG90aGVyKQo1MzAwMDA6ICh0aW1lOiAw MToyMCkgCjUzODAwMDogKHRpbWU6IDAxOjI0KSAKNTQ2MDAwOiAodGltZTogMDE6MjcpIAo1 NTQwMDA6ICh0aW1lOiAwMTozMCkgKHRpbWU6IDAxOjMxKSBzaWduYWwgb2s6CglRQU1fQVVU TyBmID0gNTU0MDAwIGtIeiBJOTk5QjhDOTk5RDk5OVQ5OTlHOTk5WTk5OQpOSVQgKGFjdHVh bCBUUykKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRl ZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2Rl cmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCgl1 cGRhdGluZyB0cmFuc3BvbmRlcjoKCSAgIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5 OUI4Qzk5OUQwVDhHOFkwKSAweDQwNUEKCXRvIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHog STk5OUI4Qzk5OUQwVDhHMzJZMCkgMHg0MDVBCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAoJdXBk YXRpbmcgdHJhbnNwb25kZXI6CgkgICAoUUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlC OEM5OTlEMFQ4RzMyWTApIDB4NDA1QQoJdG8gKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJ OTk5QjhDOTk5RDBUOEc4WTApIDB4NDA1QQp1bmRlZmluZWQgY29kZXJhdGUgSFAKSW5mbzog bm8gZGF0YSBmcm9tIE5JVChvdGhlcikKNTYyMDAwOiAodGltZTogMDE6NDQpIAo1NzAwMDA6 ICh0aW1lOiAwMTo0NykgCjU3ODAwMDogKHRpbWU6IDAxOjUwKSAKNTg2MDAwOiAodGltZTog MDE6NTMpIAo1OTQwMDA6ICh0aW1lOiAwMTo1NikgCjYwMjAwMDogKHRpbWU6IDAxOjU5KSAK NjEwMDAwOiAodGltZTogMDI6MDMpIAo2MTgwMDA6ICh0aW1lOiAwMjowNikgCjYyNjAwMDog KHRpbWU6IDAyOjA5KSAodGltZTogMDI6MTApIHNpZ25hbCBvazoKCVFBTV9BVVRPIGYgPSA2 MjYwMDAga0h6IEk5OTlCOEM5OTlEOTk5VDk5OUc5OTlZOTk5Ck5JVCAoYWN0dWFsIFRTKQp1 bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBj b2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQ CnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKCXVwZGF0aW5n IHRyYW5zcG9uZGVyOgoJICAgKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5 RDBUOEc4WTApIDB4NDA1QQoJdG8gKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhD OTk5RDBUOEczMlkwKSAweDQwNUEKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCgl1cGRhdGluZyB0 cmFuc3BvbmRlcjoKCSAgIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQw VDhHMzJZMCkgMHg0MDVBCgl0byAoUUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5 OTlEMFQ4RzhZMCkgMHg0MDVBCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUApJbmZvOiBubyBkYXRh IGZyb20gTklUKG90aGVyKQo2MzQwMDA6ICh0aW1lOiAwMjoyMykgCjY0MjAwMDogKHRpbWU6 IDAyOjI2KSAKNjUwMDAwOiAodGltZTogMDI6MjkpIAo2NTgwMDA6ICh0aW1lOiAwMjozMikg CjY2NjAwMDogKHRpbWU6IDAyOjM2KSAKNjc0MDAwOiAodGltZTogMDI6MzkpICh0aW1lOiAw Mjo0MCkgc2lnbmFsIG9rOgoJUUFNX0FVVE8gZiA9IDY3NDAwMCBrSHogSTk5OUI4Qzk5OUQ5 OTlUOTk5Rzk5OVk5OTkKTklUIChhY3R1YWwgVFMpCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1 bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBj b2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQ CnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAoJdXBkYXRpbmcgdHJhbnNwb25kZXI6CgkgICAoUUFN XzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzhZMCkgMHg0MDVBCgl0byAo UUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzMyWTApIDB4NDA1QQp1 bmRlZmluZWQgY29kZXJhdGUgSFAKCXVwZGF0aW5nIHRyYW5zcG9uZGVyOgoJICAgKFFBTV82 NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEczMlkwKSAweDQwNUEKCXRvIChR QU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHOFkwKSAweDQwNUEKdW5k ZWZpbmVkIGNvZGVyYXRlIEhQCkluZm86IG5vIGRhdGEgZnJvbSBOSVQob3RoZXIpCjY4MjAw MDogKHRpbWU6IDAyOjUzKSAKNjkwMDAwOiAodGltZTogMDI6NTYpIAo2OTgwMDA6ICh0aW1l OiAwMjo1OSkgKHRpbWU6IDAzOjAwKSBzaWduYWwgb2s6CglRQU1fQVVUTyBmID0gNjk4MDAw IGtIeiBJOTk5QjhDOTk5RDk5OVQ5OTlHOTk5WTk5OQpOSVQgKGFjdHVhbCBUUykKdW5kZWZp bmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJh dGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRl ZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCgl1cGRhdGluZyB0cmFu c3BvbmRlcjoKCSAgIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhH OFkwKSAweDQwNUEKCXRvIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQw VDhHMzJZMCkgMHg0MDVBCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAoJdXBkYXRpbmcgdHJhbnNw b25kZXI6CgkgICAoUUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzMy WTApIDB4NDA1QQoJdG8gKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBU OEc4WTApIDB4NDA1QQp1bmRlZmluZWQgY29kZXJhdGUgSFAKSW5mbzogbm8gZGF0YSBmcm9t IE5JVChvdGhlcikKNzA2MDAwOiAodGltZTogMDM6MTQpIAo3MTQwMDA6ICh0aW1lOiAwMzox OCkgCjcyMjAwMDogKHRpbWU6IDAzOjIxKSAKNzMwMDAwOiAodGltZTogMDM6MjQpIAo3Mzgw MDA6ICh0aW1lOiAwMzoyNykgCjc0NjAwMDogKHRpbWU6IDAzOjMwKSAodGltZTogMDM6MzEp IHNpZ25hbCBvazoKCVFBTV9BVVRPIGYgPSA3NDYwMDAga0h6IEk5OTlCOEM5OTlEOTk5VDk5 OUc5OTlZOTk5Ck5JVCAoYWN0dWFsIFRTKQp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZp bmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJh dGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRl ZmluZWQgY29kZXJhdGUgSFAKCXVwZGF0aW5nIHRyYW5zcG9uZGVyOgoJICAgKFFBTV82NCAg IGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEc4WTApIDB4NDA1QQoJdG8gKFFBTV82 NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEczMlkwKSAweDQwNUEKdW5kZWZp bmVkIGNvZGVyYXRlIEhQCgl1cGRhdGluZyB0cmFuc3BvbmRlcjoKCSAgIChRQU1fNjQgICBm ID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHMzJZMCkgMHg0MDVBCgl0byAoUUFNXzY0 ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzhZMCkgMHg0MDVBCnVuZGVmaW5l ZCBjb2RlcmF0ZSBIUApJbmZvOiBubyBkYXRhIGZyb20gTklUKG90aGVyKQo3NTQwMDA6ICh0 aW1lOiAwMzo0NCkgCjc2MjAwMDogKHRpbWU6IDAzOjQ3KSAKNzcwMDAwOiAodGltZTogMDM6 NTApIAo3NzgwMDA6ICh0aW1lOiAwMzo1MykgCjc4NjAwMDogKHRpbWU6IDAzOjU3KSAKNzk0 MDAwOiAodGltZTogMDQ6MDApIAo4MDIwMDA6ICh0aW1lOiAwNDowMykgCjgxMDAwMDogKHRp bWU6IDA0OjA2KSAKODE4MDAwOiAodGltZTogMDQ6MDkpIAo4MjYwMDA6ICh0aW1lOiAwNDox MikgCjgzNDAwMDogKHRpbWU6IDA0OjE1KSAKODQyMDAwOiAodGltZTogMDQ6MTgpIAo4NTAw MDA6ICh0aW1lOiAwNDoyMSkgCjg1ODAwMDogKHRpbWU6IDA0OjI0KSAKdHVuZSB0bzogUUFN X0FVVE8gZiA9IDQ3NDAwMCBrSHogSTk5OUI4Qzk5OUQ5OTlUOTk5Rzk5OVk5OTkgCih0aW1l OiAwNDoyOCkgPj4+IHR1bmluZyBzdGF0dXM6IDB4MWYgKExPQ0spClBBVApQTVQgMHgwMTM2 IGZvciBzZXJ2aWNlIDB4MDEwNApQTVQgMHgwMWZlIGZvciBzZXJ2aWNlIDB4MDEwNQpQTVQg MHgwMjYyIGZvciBzZXJ2aWNlIDB4MDEwNgpQTVQgMHgwMGQyIGZvciBzZXJ2aWNlIDB4MDEx MgpQTVQgMHgwMmM2IGZvciBzZXJ2aWNlIDB4MDE3NQpQTVQgMHgwMDZlIGZvciBzZXJ2aWNl IDB4MDEwMQpOSVQgKGFjdHVhbCBUUykKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5l ZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRl IEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZp bmVkIGNvZGVyYXRlIEhQCgl1cGRhdGluZyB0cmFuc3BvbmRlcjoKCSAgIChRQU1fNjQgICBm ID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHOFkwKSAweDQwNUEKCXRvIChRQU1fNjQg ICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHMzJZMCkgMHg0MDVBCnVuZGVmaW5l ZCBjb2RlcmF0ZSBIUAoJdXBkYXRpbmcgdHJhbnNwb25kZXI6CgkgICAoUUFNXzY0ICAgZiA9 IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzMyWTApIDB4NDA1QQoJdG8gKFFBTV82NCAg IGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEc4WTApIDB4NDA1QQp1bmRlZmluZWQg Y29kZXJhdGUgSFAKU0RUIChhY3R1YWwgVFMpCglzZXJ2aWNlID0gRnJhbmNlIDIgKEdSMSBB KQoJc2VydmljZSA9IEZyYW5jZSA1IChHUjEgQSkKCXNlcnZpY2UgPSBGcmFuY2UgTyAoR1Ix IEEpCglzZXJ2aWNlID0gTENQIChHUjEgQSkKCXNlcnZpY2UgPSBGcmFuY2UgMyAoTmF0KQoJ c2VydmljZSA9IFRWUiAoU2NvcHVzIE5ldHdvcmsgVGVjaG5vbG9naWVzKQpJbmZvOiBubyBk YXRhIGZyb20gTklUKG90aGVyKQp0dW5lIHRvOiBRQU1fNjQgICBmID0gNDI5NDk2NyBrSHog STk5OUI4Qzk5OUQwVDhHOFkwIAoodGltZTogMDQ6NDEpIAlza2lwcGVkOiAoZnJlcSA0Mjk0 OTY3Mjg2IHVuc3VwcG9ydGVkIGJ5IGRyaXZlcikKdHVuZSB0bzogUUFNX0FVVE8gZiA9IDQ5 ODAwMCBrSHogSTk5OUI4Qzk5OUQ5OTlUOTk5Rzk5OVk5OTkgCih0aW1lOiAwNDo0MSkgPj4+ IHR1bmluZyBzdGF0dXM6IDB4MWYgKExPQ0spClBBVApQTVQgMHgwMGQyIGZvciBzZXJ2aWNl IDB4MDYwMgpQTVQgMHgwMjU4IGZvciBzZXJ2aWNlIDB4MDYwNgpQTVQgMHgwMWY0IGZvciBz ZXJ2aWNlIDB4MDYwNQpQTVQgMHgwMmJjIGZvciBzZXJ2aWNlIDB4MDYwNwpQTVQgMHgxZjQx IGZvciBzZXJ2aWNlIDB4MDZmZgpQTVQgMHgxZjQyIGZvciBzZXJ2aWNlIDB4MDcwMApQTVQg MHgwMTJjIGZvciBzZXJ2aWNlIDB4MDYwMwpQTVQgMHgwMDY0IGZvciBzZXJ2aWNlIDB4MDYw MQpQTVQgMHgwMTkwIGZvciBzZXJ2aWNlIDB4MDYwNApTRFQgKGFjdHVhbCBUUykKCXNlcnZp Y2UgPSBURjEgKFNNUjYpCglzZXJ2aWNlID0gTlJKMTIgKFNNUjYpCglzZXJ2aWNlID0gRXVy b3Nwb3J0ICAoU01SNikKCXNlcnZpY2UgPSBMQ0kgKFNNUjYpCglzZXJ2aWNlID0gVE1DIChT TVI2KQoJc2VydmljZSA9IFRGNiAoU01SNikKCXNlcnZpY2UgPSBBUlRFIChTTVI2KQpOSVQg KGFjdHVhbCBUUykKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBI UAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5l ZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRl IEhQCgl1cGRhdGluZyB0cmFuc3BvbmRlcjoKCSAgIChRQU1fNjQgICBmID0gNDI5NDk2NyBr SHogSTk5OUI4Qzk5OUQwVDhHOFkwKSAweDQwNUEKCXRvIChRQU1fNjQgICBmID0gNDI5NDk2 NyBrSHogSTk5OUI4Qzk5OUQwVDhHMzJZMCkgMHg0MDVBCnVuZGVmaW5lZCBjb2RlcmF0ZSBI UAoJdXBkYXRpbmcgdHJhbnNwb25kZXI6CgkgICAoUUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6 IEk5OTlCOEM5OTlEMFQ4RzMyWTApIDB4NDA1QQoJdG8gKFFBTV82NCAgIGYgPSA0Mjk0OTY3 IGtIeiBJOTk5QjhDOTk5RDBUOEc4WTApIDB4NDA1QQp1bmRlZmluZWQgY29kZXJhdGUgSFAK SW5mbzogbm8gZGF0YSBmcm9tIE5JVChvdGhlcikKdHVuZSB0bzogUUFNX0FVVE8gZiA9IDUy MjAwMCBrSHogSTk5OUI4Qzk5OUQ5OTlUOTk5Rzk5OVk5OTkgCih0aW1lOiAwNDo1NSkgPj4+ IHR1bmluZyBzdGF0dXM6IDB4MWYgKExPQ0spClNEVCAoYWN0dWFsIFRTKQoJc2VydmljZSA9 IENBTkFMKyAoQ05IKQoJc2VydmljZSA9IENBTkFMKyBDSU5FTUEgKENOSCkKCXNlcnZpY2Ug PSBDQU5BTCsgU1BPUlQgKENOSCkKCXNlcnZpY2UgPSBQTEFORVRFKyAoQ05IKQoJc2Vydmlj ZSA9IChudWxsKSAoQ05IKQoJc2VydmljZSA9IChudWxsKSAoQ05IKQoJc2VydmljZSA9IChu dWxsKSAoQ05IKQoJc2VydmljZSA9IChudWxsKSAoQ05IKQoJc2VydmljZSA9IChudWxsKSAo Q05IKQoJc2VydmljZSA9IERBVEFTWVNURU0gUjcgKENOSCkKUEFUClBNVCAweDA1MDIgZm9y IHNlcnZpY2UgMHgwMzAzClBNVCAweDA1MGIgZm9yIHNlcnZpY2UgMHgwM2YxClBNVCAweDA1 MGEgZm9yIHNlcnZpY2UgMHgwM2YwClBNVCAweDA1MGUgZm9yIHNlcnZpY2UgMHgwM2Y0ClBN VCAweDA1MDEgZm9yIHNlcnZpY2UgMHgwMzAyClBNVCAweDA1MGYgZm9yIHNlcnZpY2UgMHgw M2Y1ClBNVCAweDA1MDAgZm9yIHNlcnZpY2UgMHgwMzAxClBNVCAweDA1MGQgZm9yIHNlcnZp Y2UgMHgwM2YzClBNVCAweDA1MGMgZm9yIHNlcnZpY2UgMHgwM2YyClBNVCAweDA1MDMgZm9y IHNlcnZpY2UgMHgwMzA0Ck5JVCAoYWN0dWFsIFRTKQp1bmRlZmluZWQgY29kZXJhdGUgSFAK dW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQg Y29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBI UAp1bmRlZmluZWQgY29kZXJhdGUgSFAKCXVwZGF0aW5nIHRyYW5zcG9uZGVyOgoJICAgKFFB TV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEc4WTApIDB4NDA1QQoJdG8g KFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEczMlkwKSAweDQwNUEK dW5kZWZpbmVkIGNvZGVyYXRlIEhQCgl1cGRhdGluZyB0cmFuc3BvbmRlcjoKCSAgIChRQU1f NjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHMzJZMCkgMHg0MDVBCgl0byAo UUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzhZMCkgMHg0MDVBCnVu ZGVmaW5lZCBjb2RlcmF0ZSBIUApJbmZvOiBubyBkYXRhIGZyb20gTklUKG90aGVyKQp0dW5l IHRvOiBRQU1fQVVUTyBmID0gNTU0MDAwIGtIeiBJOTk5QjhDOTk5RDk5OVQ5OTlHOTk5WTk5 OSAKKHRpbWU6IDA1OjA5KSA+Pj4gdHVuaW5nIHN0YXR1czogMHgxZiAoTE9DSykKUEFUClBN VCAweDAxMzYgZm9yIHNlcnZpY2UgMHgwYjAzClBNVCAweDAwZDIgZm9yIHNlcnZpY2UgMHgw YjAyClNEVCAoYWN0dWFsIFRTKQoJc2VydmljZSA9IDZ0ZXIgKFI4KQoJc2VydmljZSA9IE5V TUVSTyAyMyAoUjgpCglzZXJ2aWNlID0gUk1DIERFQ09VVkVSVEUgKFI4KQpQTVQgMHgwMDZl IGZvciBzZXJ2aWNlIDB4MGIwMQpOSVQgKGFjdHVhbCBUUykKdW5kZWZpbmVkIGNvZGVyYXRl IEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZp bmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJh dGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCgl1cGRhdGluZyB0cmFuc3BvbmRlcjoKCSAg IChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHOFkwKSAweDQwNUEK CXRvIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHMzJZMCkgMHg0 MDVBCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAoJdXBkYXRpbmcgdHJhbnNwb25kZXI6CgkgICAo UUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzMyWTApIDB4NDA1QQoJ dG8gKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEc4WTApIDB4NDA1 QQp1bmRlZmluZWQgY29kZXJhdGUgSFAKSW5mbzogbm8gZGF0YSBmcm9tIE5JVChvdGhlcikK dHVuZSB0bzogUUFNX0FVVE8gZiA9IDYyNjAwMCBrSHogSTk5OUI4Qzk5OUQ5OTlUOTk5Rzk5 OVk5OTkgCih0aW1lOiAwNToyMykgPj4+IHR1bmluZyBzdGF0dXM6IDB4MWYgKExPQ0spClBB VApQTVQgMHgwMjYyIGZvciBzZXJ2aWNlIDB4MDIwNgpQTVQgMHgwMTM2IGZvciBzZXJ2aWNl IDB4MDIwMwpQTVQgMHgwMWZlIGZvciBzZXJ2aWNlIDB4MDIwNQpQTVQgMHgwMTlhIGZvciBz ZXJ2aWNlIDB4MDIwNApQTVQgMHgwMmM2IGZvciBzZXJ2aWNlIDB4MDIwNwpQTVQgMHgwMDZl IGZvciBzZXJ2aWNlIDB4MDIwMQpTRFQgKGFjdHVhbCBUUykKCXNlcnZpY2UgPSBEOCAoTlRO KQoJc2VydmljZSA9IEJGTSBUViAoTlROKQoJc2VydmljZSA9IGk+VEVMRSAoTlROKQoJc2Vy dmljZSA9IEQxNyAoTlROKQoJc2VydmljZSA9IEd1bGxpIChOVE4pCglzZXJ2aWNlID0gRnJh bmNlIDQgKE5UTikKTklUIChhY3R1YWwgVFMpCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRl ZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2Rl cmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVu ZGVmaW5lZCBjb2RlcmF0ZSBIUAoJdXBkYXRpbmcgdHJhbnNwb25kZXI6CgkgICAoUUFNXzY0 ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzhZMCkgMHg0MDVBCgl0byAoUUFN XzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzMyWTApIDB4NDA1QQp1bmRl ZmluZWQgY29kZXJhdGUgSFAKCXVwZGF0aW5nIHRyYW5zcG9uZGVyOgoJICAgKFFBTV82NCAg IGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEczMlkwKSAweDQwNUEKCXRvIChRQU1f NjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHOFkwKSAweDQwNUEKdW5kZWZp bmVkIGNvZGVyYXRlIEhQCkluZm86IG5vIGRhdGEgZnJvbSBOSVQob3RoZXIpCnR1bmUgdG86 IFFBTV9BVVRPIGYgPSA2NzQwMDAga0h6IEk5OTlCOEM5OTlEOTk5VDk5OUc5OTlZOTk5IAoo dGltZTogMDU6MzcpID4+PiB0dW5pbmcgc3RhdHVzOiAweDFmIChMT0NLKQpQQVQKUE1UIDB4 MDEyYyBmb3Igc2VydmljZSAweDBhMDMKUE1UIDB4MDBkMiBmb3Igc2VydmljZSAweDBhMDIK UE1UIDB4MDA2NCBmb3Igc2VydmljZSAweDBhMDEKU0RUIChhY3R1YWwgVFMpCglzZXJ2aWNl ID0gSEQxIChNSEQ3KQoJc2VydmljZSA9IENow6lyaWUgMjUgKE1IRDcpCglzZXJ2aWNlID0g TCdFcXVpcGUgMjEgKE1IRDcpCk5JVCAoYWN0dWFsIFRTKQp1bmRlZmluZWQgY29kZXJhdGUg SFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmlu ZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0 ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKCXVwZGF0aW5nIHRyYW5zcG9uZGVyOgoJICAg KFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEc4WTApIDB4NDA1QQoJ dG8gKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEczMlkwKSAweDQw NUEKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCgl1cGRhdGluZyB0cmFuc3BvbmRlcjoKCSAgIChR QU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHMzJZMCkgMHg0MDVBCgl0 byAoUUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzhZMCkgMHg0MDVB CnVuZGVmaW5lZCBjb2RlcmF0ZSBIUApJbmZvOiBubyBkYXRhIGZyb20gTklUKG90aGVyKQp0 dW5lIHRvOiBRQU1fQVVUTyBmID0gNjk4MDAwIGtIeiBJOTk5QjhDOTk5RDk5OVQ5OTlHOTk5 WTk5OSAKKHRpbWU6IDA1OjUxKSA+Pj4gdHVuaW5nIHN0YXR1czogMHgxZiAoTE9DSykKUEFU ClBNVCAweDAwZDIgZm9yIHNlcnZpY2UgMHgwNDAyClBNVCAweDAwNmUgZm9yIHNlcnZpY2Ug MHgwNDAxClBNVCAweDAxMzYgZm9yIHNlcnZpY2UgMHgwNDAzClBNVCAweDAxOWEgZm9yIHNl cnZpY2UgMHgwNDA0ClBNVCAweDAyYzYgZm9yIHNlcnZpY2UgMHgwNDA3ClNEVCAoYWN0dWFs IFRTKQoJc2VydmljZSA9IEFSVEUgSEQgKE11bHRpIDQpCglzZXJ2aWNlID0gUEFSSVMgUFJF TUlFUkUgKE1VTFRJNCkKCXNlcnZpY2UgPSBNNiAoTVVMVEk0KQoJc2VydmljZSA9IFc5IChN VUxUSTQpCglzZXJ2aWNlID0gTlQxIChNVUxUSTQpCk5JVCAoYWN0dWFsIFRTKQp1bmRlZmlu ZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0 ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVm aW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAKCXVwZGF0aW5nIHRyYW5z cG9uZGVyOgoJICAgKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEc4 WTApIDB4NDA1QQoJdG8gKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBU OEczMlkwKSAweDQwNUEKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCgl1cGRhdGluZyB0cmFuc3Bv bmRlcjoKCSAgIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHMzJZ MCkgMHg0MDVBCgl0byAoUUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4 RzhZMCkgMHg0MDVBCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUApJbmZvOiBubyBkYXRhIGZyb20g TklUKG90aGVyKQp0dW5lIHRvOiBRQU1fQVVUTyBmID0gNzQ2MDAwIGtIeiBJOTk5QjhDOTk5 RDk5OVQ5OTlHOTk5WTk5OSAKKHRpbWU6IDA2OjA1KSA+Pj4gdHVuaW5nIHN0YXR1czogMHgx ZiAoTE9DSykKUEFUClBNVCAweDAwNmUgZm9yIHNlcnZpY2UgMHgwNTAxClNEVCAoYWN0dWFs IFRTKQoJc2VydmljZSA9IFRGMSBIRCAoTVI1KQoJc2VydmljZSA9IEZyYW5jZSAyIEhEIChN UjUpCglzZXJ2aWNlID0gTTZIRCAoTVI1KQpOSVQgKGFjdHVhbCBUUykKdW5kZWZpbmVkIGNv ZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQgY29kZXJhdGUgSFAK dW5kZWZpbmVkIGNvZGVyYXRlIEhQCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAp1bmRlZmluZWQg Y29kZXJhdGUgSFAKdW5kZWZpbmVkIGNvZGVyYXRlIEhQCgl1cGRhdGluZyB0cmFuc3BvbmRl cjoKCSAgIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHOFkwKSAw eDQwNUEKCXRvIChRQU1fNjQgICBmID0gNDI5NDk2NyBrSHogSTk5OUI4Qzk5OUQwVDhHMzJZ MCkgMHg0MDVBCnVuZGVmaW5lZCBjb2RlcmF0ZSBIUAoJdXBkYXRpbmcgdHJhbnNwb25kZXI6 CgkgICAoUUFNXzY0ICAgZiA9IDQyOTQ5Njcga0h6IEk5OTlCOEM5OTlEMFQ4RzMyWTApIDB4 NDA1QQoJdG8gKFFBTV82NCAgIGYgPSA0Mjk0OTY3IGtIeiBJOTk5QjhDOTk5RDBUOEc4WTAp IDB4NDA1QQp1bmRlZmluZWQgY29kZXJhdGUgSFAKUE1UIDB4MDBkMiBmb3Igc2VydmljZSAw eDA1MDIKUE1UIDB4MDEzNiBmb3Igc2VydmljZSAweDA1MDMKSW5mbzogbm8gZGF0YSBmcm9t IE5JVChvdGhlcikKZHVtcGluZyBsaXN0cyAoMzcgc2VydmljZXMpCkZyYW5jZSAyOjQ3NDAw MDAwMDpJTlZFUlNJT05fQVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FVVE86 UUFNX0FVVE86VFJBTlNNSVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRPOkhJ RVJBUkNIWV9BVVRPOjEyMDoxMzArMTMxKzEzMjoyNTcKRnJhbmNlIDU6NDc0MDAwMDAwOklO VkVSU0lPTl9BVVRPOkJBTkRXSURUSF84X01IWjpGRUNfQVVUTzpGRUNfQVVUTzpRQU1fQVVU TzpUUkFOU01JU1NJT05fTU9ERV9BVVRPOkdVQVJEX0lOVEVSVkFMX0FVVE86SElFUkFSQ0hZ X0FVVE86MzIwOjMzMCszMzE6MjYwCkZyYW5jZSBPOjQ3NDAwMDAwMDpJTlZFUlNJT05fQVVU TzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FVVE86UUFNX0FVVE86VFJBTlNNSVNT SU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRPOkhJRVJBUkNIWV9BVVRPOjUyMDo1 MzA6MjYxCkxDUDo0NzQwMDAwMDA6SU5WRVJTSU9OX0FVVE86QkFORFdJRFRIXzhfTUhaOkZF Q19BVVRPOkZFQ19BVVRPOlFBTV9BVVRPOlRSQU5TTUlTU0lPTl9NT0RFX0FVVE86R1VBUkRf SU5URVJWQUxfQVVUTzpISUVSQVJDSFlfQVVUTzo2MjA6NjMwOjI2MgpGcmFuY2UgMzo0NzQw MDAwMDA6SU5WRVJTSU9OX0FVVE86QkFORFdJRFRIXzhfTUhaOkZFQ19BVVRPOkZFQ19BVVRP OlFBTV9BVVRPOlRSQU5TTUlTU0lPTl9NT0RFX0FVVE86R1VBUkRfSU5URVJWQUxfQVVUTzpI SUVSQVJDSFlfQVVUTzoyMjA6MjMwKzIzMToyNzQKVFZSOjQ3NDAwMDAwMDpJTlZFUlNJT05f QVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FVVE86UUFNX0FVVE86VFJBTlNN SVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRPOkhJRVJBUkNIWV9BVVRPOjcy MDo3MzA6MzczClRGMTo0OTgwMDAwMDA6SU5WRVJTSU9OX0FVVE86QkFORFdJRFRIXzhfTUha OkZFQ19BVVRPOkZFQ19BVVRPOlFBTV9BVVRPOlRSQU5TTUlTU0lPTl9NT0RFX0FVVE86R1VB UkRfSU5URVJWQUxfQVVUTzpISUVSQVJDSFlfQVVUTzoxMjA6MTMwKzEzMSsxMzM6MTUzNwpO UkoxMjo0OTgwMDAwMDA6SU5WRVJTSU9OX0FVVE86QkFORFdJRFRIXzhfTUhaOkZFQ19BVVRP OkZFQ19BVVRPOlFBTV9BVVRPOlRSQU5TTUlTU0lPTl9NT0RFX0FVVE86R1VBUkRfSU5URVJW QUxfQVVUTzpISUVSQVJDSFlfQVVUTzoyMjA6MjMwKzIzMisyMzM6MTUzOApMQ0k6NDk4MDAw MDAwOklOVkVSU0lPTl9BVVRPOkJBTkRXSURUSF84X01IWjpGRUNfQVVUTzpGRUNfQVVUTzpR QU1fQVVUTzpUUkFOU01JU1NJT05fTU9ERV9BVVRPOkdVQVJEX0lOVEVSVkFMX0FVVE86SElF UkFSQ0hZX0FVVE86MzIwOjMzMDoxNTM5CkV1cm9zcG9ydCA6NDk4MDAwMDAwOklOVkVSU0lP Tl9BVVRPOkJBTkRXSURUSF84X01IWjpGRUNfQVVUTzpGRUNfQVVUTzpRQU1fQVVUTzpUUkFO U01JU1NJT05fTU9ERV9BVVRPOkdVQVJEX0lOVEVSVkFMX0FVVE86SElFUkFSQ0hZX0FVVE86 NDIwOjQzMDoxNTQwClRGNjo0OTgwMDAwMDA6SU5WRVJTSU9OX0FVVE86QkFORFdJRFRIXzhf TUhaOkZFQ19BVVRPOkZFQ19BVVRPOlFBTV9BVVRPOlRSQU5TTUlTU0lPTl9NT0RFX0FVVE86 R1VBUkRfSU5URVJWQUxfQVVUTzpISUVSQVJDSFlfQVVUTzo1MjA6NTMwOjE1NDEKVE1DOjQ5 ODAwMDAwMDpJTlZFUlNJT05fQVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FV VE86UUFNX0FVVE86VFJBTlNNSVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRP OkhJRVJBUkNIWV9BVVRPOjYyMDo2MzArNjMxKzYzMzoxNTQyCkFSVEU6NDk4MDAwMDAwOklO VkVSU0lPTl9BVVRPOkJBTkRXSURUSF84X01IWjpGRUNfQVVUTzpGRUNfQVVUTzpRQU1fQVVU TzpUUkFOU01JU1NJT05fTU9ERV9BVVRPOkdVQVJEX0lOVEVSVkFMX0FVVE86SElFUkFSQ0hZ X0FVVE86NzIwOjczMCs3MzErNzMyKzczMzoxNTQzCkNBTkFMKzo1MjIwMDAwMDA6SU5WRVJT SU9OX0FVVE86QkFORFdJRFRIXzhfTUhaOkZFQ19BVVRPOkZFQ19BVVRPOlFBTV9BVVRPOlRS QU5TTUlTU0lPTl9NT0RFX0FVVE86R1VBUkRfSU5URVJWQUxfQVVUTzpISUVSQVJDSFlfQVVU TzoxNjA6ODIrODMrODE6NzY5CkNBTkFMKyBDSU5FTUE6NTIyMDAwMDAwOklOVkVSU0lPTl9B VVRPOkJBTkRXSURUSF84X01IWjpGRUNfQVVUTzpGRUNfQVVUTzpRQU1fQVVUTzpUUkFOU01J U1NJT05fTU9ERV9BVVRPOkdVQVJEX0lOVEVSVkFMX0FVVE86SElFUkFSQ0hZX0FVVE86MTYx Ojg0Kzg1Ojc3MApDQU5BTCsgU1BPUlQ6NTIyMDAwMDAwOklOVkVSU0lPTl9BVVRPOkJBTkRX SURUSF84X01IWjpGRUNfQVVUTzpGRUNfQVVUTzpRQU1fQVVUTzpUUkFOU01JU1NJT05fTU9E RV9BVVRPOkdVQVJEX0lOVEVSVkFMX0FVVE86SElFUkFSQ0hZX0FVVE86MTYyOjg4Kzg5Ojc3 MQpQTEFORVRFKzo1MjIwMDAwMDA6SU5WRVJTSU9OX0FVVE86QkFORFdJRFRIXzhfTUhaOkZF Q19BVVRPOkZFQ19BVVRPOlFBTV9BVVRPOlRSQU5TTUlTU0lPTl9NT0RFX0FVVE86R1VBUkRf SU5URVJWQUxfQVVUTzpISUVSQVJDSFlfQVVUTzoxNjM6OTI6NzcyCjZ0ZXI6NTU0MDAwMDAw OklOVkVSU0lPTl9BVVRPOkJBTkRXSURUSF84X01IWjpGRUNfQVVUTzpGRUNfQVVUTzpRQU1f QVVUTzpUUkFOU01JU1NJT05fTU9ERV9BVVRPOkdVQVJEX0lOVEVSVkFMX0FVVE86SElFUkFS Q0hZX0FVVE86MTIwOjEzMCsxMzErMTMyOjI4MTcKTlVNRVJPIDIzOjU1NDAwMDAwMDpJTlZF UlNJT05fQVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FVVE86UUFNX0FVVE86 VFJBTlNNSVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRPOkhJRVJBUkNIWV9B VVRPOjIyMDoyMzArMjMxKzIzMjoyODE4ClJNQyBERUNPVVZFUlRFOjU1NDAwMDAwMDpJTlZF UlNJT05fQVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FVVE86UUFNX0FVVE86 VFJBTlNNSVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRPOkhJRVJBUkNIWV9B VVRPOjMyMDozMzArMzMxKzMzMjoyODE5CkQ4OjYyNjAwMDAwMDpJTlZFUlNJT05fQVVUTzpC QU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FVVE86UUFNX0FVVE86VFJBTlNNSVNTSU9O X01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRPOkhJRVJBUkNIWV9BVVRPOjEyMDoxMzAr MTMxOjUxMwpCRk0gVFY6NjI2MDAwMDAwOklOVkVSU0lPTl9BVVRPOkJBTkRXSURUSF84X01I WjpGRUNfQVVUTzpGRUNfQVVUTzpRQU1fQVVUTzpUUkFOU01JU1NJT05fTU9ERV9BVVRPOkdV QVJEX0lOVEVSVkFMX0FVVE86SElFUkFSQ0hZX0FVVE86MzIwOjMzMDo1MTUKaT5URUxFOjYy NjAwMDAwMDpJTlZFUlNJT05fQVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FV VE86UUFNX0FVVE86VFJBTlNNSVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRP OkhJRVJBUkNIWV9BVVRPOjQyMDo0MzA6NTE2CkQxNzo2MjYwMDAwMDA6SU5WRVJTSU9OX0FV VE86QkFORFdJRFRIXzhfTUhaOkZFQ19BVVRPOkZFQ19BVVRPOlFBTV9BVVRPOlRSQU5TTUlT U0lPTl9NT0RFX0FVVE86R1VBUkRfSU5URVJWQUxfQVVUTzpISUVSQVJDSFlfQVVUTzo1MjA6 NTMwKzUzMTo1MTcKR3VsbGk6NjI2MDAwMDAwOklOVkVSU0lPTl9BVVRPOkJBTkRXSURUSF84 X01IWjpGRUNfQVVUTzpGRUNfQVVUTzpRQU1fQVVUTzpUUkFOU01JU1NJT05fTU9ERV9BVVRP OkdVQVJEX0lOVEVSVkFMX0FVVE86SElFUkFSQ0hZX0FVVE86NjIwOjYzMCs2MzE6NTE4CkZy YW5jZSA0OjYyNjAwMDAwMDpJTlZFUlNJT05fQVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FV VE86RkVDX0FVVE86UUFNX0FVVE86VFJBTlNNSVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRF UlZBTF9BVVRPOkhJRVJBUkNIWV9BVVRPOjcyMDo3MzArNzMxOjUxOQpIRDE6Njc0MDAwMDAw OklOVkVSU0lPTl9BVVRPOkJBTkRXSURUSF84X01IWjpGRUNfQVVUTzpGRUNfQVVUTzpRQU1f QVVUTzpUUkFOU01JU1NJT05fTU9ERV9BVVRPOkdVQVJEX0lOVEVSVkFMX0FVVE86SElFUkFS Q0hZX0FVVE86MTIwOjEzMCsxMzErMTMyOjI1NjEKTCdFcXVpcGUgMjE6Njc0MDAwMDAwOklO VkVSU0lPTl9BVVRPOkJBTkRXSURUSF84X01IWjpGRUNEb25lLgpfQVVUTzpGRUNfQVVUTzpR QU1fQVVUTzpUUkFOU01JU1NJT05fTU9ERV9BVVRPOkdVQVJEX0lOVEVSVkFMX0FVVE86SElF UkFSQ0hZX0FVVE86MjIwOjIzMCsyMzE6MjU2MgpDaMOpcmllIDI1OjY3NDAwMDAwMDpJTlZF UlNJT05fQVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FVVE86UUFNX0FVVE86 VFJBTlNNSVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRPOkhJRVJBUkNIWV9B VVRPOjMyMDozMzArMzMxKzMzMjoyNTYzCk02OjY5ODAwMDAwMDpJTlZFUlNJT05fQVVUTzpC QU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FVVE86UUFNX0FVVE86VFJBTlNNSVNTSU9O X01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRPOkhJRVJBUkNIWV9BVVRPOjEyMDoxMzAr MTMxKzEzMjoxMDI1Clc5OjY5ODAwMDAwMDpJTlZFUlNJT05fQVVUTzpCQU5EV0lEVEhfOF9N SFo6RkVDX0FVVE86RkVDX0FVVE86UUFNX0FVVE86VFJBTlNNSVNTSU9OX01PREVfQVVUTzpH VUFSRF9JTlRFUlZBTF9BVVRPOkhJRVJBUkNIWV9BVVRPOjIyMDoyMzArMjMxKzIzMjoxMDI2 Ck5UMTo2OTgwMDAwMDA6SU5WRVJTSU9OX0FVVE86QkFORFdJRFRIXzhfTUhaOkZFQ19BVVRP OkZFQ19BVVRPOlFBTV9BVVRPOlRSQU5TTUlTU0lPTl9NT0RFX0FVVE86R1VBUkRfSU5URVJW QUxfQVVUTzpISUVSQVJDSFlfQVVUTzozMjA6MzMwKzMzMToxMDI3ClBBUklTIFBSRU1JRVJF OjY5ODAwMDAwMDpJTlZFUlNJT05fQVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVD X0FVVE86UUFNX0FVVE86VFJBTlNNSVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9B VVRPOkhJRVJBUkNIWV9BVVRPOjQyMTo0MzUrNDM2OjEwMjgKQVJURSBIRDo2OTgwMDAwMDA6 SU5WRVJTSU9OX0FVVE86QkFORFdJRFRIXzhfTUhaOkZFQ19BVVRPOkZFQ19BVVRPOlFBTV9B VVRPOlRSQU5TTUlTU0lPTl9NT0RFX0FVVE86R1VBUkRfSU5URVJWQUxfQVVUTzpISUVSQVJD SFlfQVVUTzo3MjA6NzMwKzczMSs3MzIrNzMzOjEwMzEKVEYxIEhEOjc0NjAwMDAwMDpJTlZF UlNJT05fQVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FVVE86UUFNX0FVVE86 VFJBTlNNSVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRPOkhJRVJBUkNIWV9B VVRPOjEyMDoxMzArMTMxKzEzMjoxMjgxCkZyYW5jZSAyIEhEOjc0NjAwMDAwMDpJTlZFUlNJ T05fQVVUTzpCQU5EV0lEVEhfOF9NSFo6RkVDX0FVVE86RkVDX0FVVE86UUFNX0FVVE86VFJB TlNNSVNTSU9OX01PREVfQVVUTzpHVUFSRF9JTlRFUlZBTF9BVVRPOkhJRVJBUkNIWV9BVVRP OjIyMDoyMzArMjMxKzIzMjoxMjgyCk02SEQ6NzQ2MDAwMDAwOklOVkVSU0lPTl9BVVRPOkJB TkRXSURUSF84X01IWjpGRUNfQVVUTzpGRUNfQVVUTzpRQU1fQVVUTzpUUkFOU01JU1NJT05f TU9ERV9BVVRPOkdVQVJEX0lOVEVSVkFMX0FVVE86SElFUkFSQ0hZX0FVVE86MzIwOjMzMCsz MzErMzMyOjEyODMK --------------080103010008050107020605--