[OpenAFS-port-darwin] Darwin 1.4/Mac OS 10.1 patch

Chaskiel M Grundman cg2v@andrew.cmu.edu
Fri, 9 Nov 2001 23:53:04 -0500 (EST)


  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.

--41945465-504382577-1005367984=:8225
Content-Type: TEXT/PLAIN; charset=US-ASCII

Attached is my "official" patch for 1.4/10.1 against the OpenAFS 1.2.2
release. I recommend that anyone using afs with 10.1 use this patch and
not one from any other source. In particular, no one else is likely to
have properly modified osi_VM_TryReclaim to work properly under the
Darwin 1.4 kernel.

Comments, questions, and problem reports should be sent to the list.

--41945465-504382577-1005367984=:8225
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="openafs-1.4-darwin14.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.33L-022.0111092353040.8225@sphinx.andrew.cmu.edu>
Content-Description: 
Content-Disposition: attachment; filename="openafs-1.4-darwin14.diff"

SW5kZXg6IHNyYy9hZnMvYWZzX29zaS5jDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQpSQ1MgZmlsZTogL2N2cy9vcGVuYWZzL3NyYy9hZnMvYWZzX29zaS5j
LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS44DQpkaWZmIC11IC1kIC1iIC13
IC1yMS44IGFmc19vc2kuYw0KLS0tIHNyYy9hZnMvYWZzX29zaS5jCTIwMDEv
MDgvMDggMDA6MDM6MjgJMS44DQorKysgc3JjL2Fmcy9hZnNfb3NpLmMJMjAw
MS8xMS8xMCAwNDowODo0Mg0KQEAgLTMwMCw2ICszMDAsNyBAQA0KICAgICBz
ZXRfc3lzdGVtX3Byb2ModS51X3Byb2NwKTsNCiAjZWxzZQ0KICNpZiBkZWZp
bmVkKEFGU19EQVJXSU5fRU5WKSB8fCBkZWZpbmVkKEFGU19GQlNEX0VOVikN
CisgICAgLyogbWF5YmUgY2FsbCBpbml0X3Byb2Nlc3MgaW5zdGVhZD8gKi8N
CiAgICAgY3VycmVudF9wcm9jKCktPnBfZmxhZyB8PSBQX1NZU1RFTTsNCiAj
ZWxzZQ0KICNpZiAhZGVmaW5lZChBRlNfU0dJNjRfRU5WKSAmJiAhZGVmaW5l
ZChBRlNfTElOVVgyMF9FTlYpDQpJbmRleDogc3JjL2Fmcy9EQVJXSU4vb3Np
X21vZHVsZS5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTog
L2N2cy9vcGVuYWZzL3NyYy9hZnMvREFSV0lOL29zaV9tb2R1bGUuYyx2DQpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuNg0KZGlmZiAtdSAtZCAtYiAtdyAtcjEu
NiBvc2lfbW9kdWxlLmMNCi0tLSBzcmMvYWZzL0RBUldJTi9vc2lfbW9kdWxl
LmMJMjAwMS8wOS8wNyAwNDowMDowNQkxLjYNCisrKyBzcmMvYWZzL0RBUldJ
Ti9vc2lfbW9kdWxlLmMJMjAwMS8xMS8xMCAwNDowODo0Ng0KQEAgLTU4LDQg
KzU4LDQgQEANCiAgICByZXR1cm4gS0VSTl9TVUNDRVNTOw0KICB9IA0KIA0K
LUtNT0RfRVhQTElDSVRfREVDTChvcGVuYWZzLCBWRVJTSU9OLCBhZnNfbW9k
bG9hZCwgYWZzX21vZHVubG9hZCkNCitLTU9EX0VYUExJQ0lUX0RFQ0wob3Jn
Lm9wZW5hZnMuZmlsZXN5c3RlbXMub3BlbmFmcywgVkVSU0lPTiwgYWZzX21v
ZGxvYWQsIGFmc19tb2R1bmxvYWQpDQpJbmRleDogc3JjL2Fmcy9EQVJXSU4v
b3NpX3NsZWVwLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxl
OiAvY3ZzL29wZW5hZnMvc3JjL2Fmcy9EQVJXSU4vb3NpX3NsZWVwLmMsdg0K
cmV0cmlldmluZyByZXZpc2lvbiAxLjMNCmRpZmYgLXUgLWQgLWIgLXcgLXIx
LjMgb3NpX3NsZWVwLmMNCi0tLSBzcmMvYWZzL0RBUldJTi9vc2lfc2xlZXAu
YwkyMDAxLzA3LzEyIDE5OjU4OjE5CTEuMw0KKysrIHNyYy9hZnMvREFSV0lO
L29zaV9zbGVlcC5jCTIwMDEvMTEvMTAgMDQ6MDg6NDYNCkBAIC0xMzEsOSAr
MTMxLDE0IEBADQogICAgIHNlcSA9IGV2cC0+c2VxOw0KICAgICB3aGlsZSAo
c2VxID09IGV2cC0+c2VxKSB7DQogCUFGU19BU1NFUlRfR0xPQ0soKTsNCi0J
YXNzZXJ0X3dhaXQoKGV2ZW50X3QpZXZlbnQsIDApOw0KIAlBRlNfR1VOTE9D
SygpOw0KKyNpZmRlZiBBRlNfREFSV0lOMTRfRU5WDQorICAgICAgICAvKiB0
aGlzIGlzIHByb2JhYmx5IHNhZmUgZm9yIGFsbCB2ZXJzaW9ucywgYnV0IHRl
c3RpbmcgaXMgaGFyZCAqLw0KKyAgICAgICAgc2xlZXAoZXZlbnQsIFBWRlMp
Ow0KKyNlbHNlDQorCWFzc2VydF93YWl0KChldmVudF90KWV2ZW50LCAwKTsN
CiAJdGhyZWFkX2Jsb2NrKDApOw0KKyNlbmRpZg0KIAlBRlNfR0xPQ0soKTsN
CiAgICAgfQ0KICAgICByZWxldmVudChldnApOw0KQEAgLTE1MywyNCArMTU4
LDM3IEBADQogICAgIGludCBjb2RlID0gMDsNCiAgICAgc3RydWN0IGFmc19l
dmVudCAqZXZwOw0KICAgICBpbnQgdGlja3Msc2VxOw0KKyAgICBpbnQgcHJp
bzsNCiANCiAgICAgdGlja3MgPSAoIGFtcyAqIGFmc19oeiApLzEwMDA7DQog
DQogDQogICAgIGV2cCA9IGFmc19nZXRldmVudChldmVudCk7DQogICAgIHNl
cT1ldnAtPnNlcTsNCi0gICAgYXNzZXJ0X3dhaXQoKGV2ZW50X3QpZXZlbnQs
IGFpbnRvayA/IFRIUkVBRF9BQk9SVFNBRkUgOiAwKTsNCiAgICAgQUZTX0dV
TkxPQ0soKTsNCisjaWZkZWYgQUZTX0RBUldJTjE0X0VOVg0KKyAgICAvKiB0
aGlzIGlzIHByb2JhYmx5IHNhZmUgZm9yIGFsbCB2ZXJzaW9ucywgYnV0IHRl
c3RpbmcgaXMgaGFyZC4gKi8NCisgICAgLyogdXNpbmcgdHNsZWVwIGluc3Rl
YWQgb2YgYXNzZXJ0X3dhaXQvdGhyZWFkX3NldF90aW1lci90aHJlYWRfYmxv
Y2sNCisgICAgICAgYWxsb3dzIHNodXRkb3duIHRvIHdvcmsgaW4gMS40ICov
DQorICAgIC8qIGxhY2sgb2YgUENBVENIIGRvZXMgKm5vdCogcHJldmVudCBz
aWduYWwgZGVsaXZlcnksIG5laXRoZXIgZG9lcyANCisgICAgICAgYSBsb3cg
cHJpb3JpdHkuIFdlIHdvdWxkIG5lZWQgdG8gZGVhbCB3aXRoIEVSRVNUQVJU
IGhlcmUgaWYgd2UgDQorICAgICAgIHdhbnRlZCB0byBtZXNzIHdpdGggcC0+
cF9zaWdtYXNrLCBhbmQgbWVzc2luZyB3aXRoIHBfc2lnaWdub3JlIGlzDQor
ICAgICAgIG5vdCB0aGUgd2F5IHRvIGdvLi4uLiAoc29tZW9uZSBjb3JyZWN0
IG1lIGlmIEknbSB3cm9uZykNCisgICAgKi8NCisgICAgaWYgKGFpbnRvaykN
CisgICAgICAgcHJpbz1QQ0FUQ0h8UFBBVVNFOw0KKyAgICBlbHNlDQorICAg
ICAgIHByaW89UFZGUzsNCisgICAgY29kZT10c2xlZXAoZXZlbnQsIHByaW8s
ICJhZnNfb3NpX1RpbWVkU2xlZXAiLCB0aWNrcyk7DQorI2Vsc2UgDQorICAg
IGFzc2VydF93YWl0KChldmVudF90KWV2ZW50LCBhaW50b2sgPyBUSFJFQURf
QUJPUlRTQUZFIDogVEhSRUFEX1VOSU5UKTsNCiAgICAgdGhyZWFkX3NldF90
aW1lcih0aWNrcywgTlNFQ19QRVJfU0VDIC8gaHopOw0KICAgICB0aHJlYWRf
YmxvY2soMCk7DQorICAgIGNvZGU9MDsNCisjZW5kaWYNCiAgICAgQUZTX0dM
T0NLKCk7DQotI2lmIDAgLyogdGhyZWFkX3Qgc3RydWN0dXJlIG9ubHkgYXZh
aWxhYmxlIGlmIE1BQ0hfS0VSTkVMX1BSSVZBVEUgKi8NCi0gICAgaWYgKGN1
cnJlbnRfdGhyZWFkKCktPndhaXRfcmVzdWx0ICE9IFRIUkVBRF9BV0FLRU5F
RCkNCi0JY29kZSA9IEVJTlRSOw0KLSNlbHNlDQogICAgIGlmIChzZXEgPT0g
ZXZwLT5zZXEpDQogCWNvZGUgPSBFSU5UUjsNCi0jZW5kaWYNCiAgICAgDQog
ICAgIHJlbGV2ZW50KGV2cCk7DQogICAgIHJldHVybiBjb2RlOw0KQEAgLTE4
NCw3ICsyMDIsMTIgQEANCiAgICAgZXZwID0gYWZzX2dldGV2ZW50KGV2ZW50
KTsNCiAgICAgaWYgKGV2cC0+cmVmY291bnQgPiAxKSB7DQogCWV2cC0+c2Vx
Kys7ICAgIA0KKyNpZmRlZiBBRlNfREFSV0lOMTRfRU5WDQorICAgIC8qIHRo
aXMgaXMgcHJvYmFibHkgc2FmZSBmb3IgYWxsIHZlcnNpb25zLCBidXQgdGVz
dGluZyBpcyBoYXJkLiAqLw0KKyAgICAgICAgd2FrZXVwKGV2ZW50KTsNCisj
ZWxzZQ0KIAl0aHJlYWRfd2FrZXVwKChldmVudF90KWV2ZW50KTsNCisjZW5k
aWYNCiAgICAgfQ0KICAgICByZWxldmVudChldnApOw0KIH0NCkluZGV4OiBz
cmMvYWZzL0RBUldJTi9vc2lfdm0uYw0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KUkNTIGZpbGU6IC9jdnMvb3BlbmFmcy9zcmMvYWZzL0RBUldJTi9vc2lf
dm0uYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMw0KZGlmZiAtdSAtZCAt
YiAtdyAtcjEuMyBvc2lfdm0uYw0KLS0tIHNyYy9hZnMvREFSV0lOL29zaV92
bS5jCTIwMDEvMDcvMTIgMTk6NTg6MTkJMS4zDQorKysgc3JjL2Fmcy9EQVJX
SU4vb3NpX3ZtLmMJMjAwMS8xMS8xMCAwNDowODo0Ng0KQEAgLTM5LDYgKzM5
LDEwIEBADQogICAgIGludCAqc2xlcHQ7DQogew0KICAgICBzdHJ1Y3Qgdm5v
ZGUgKnZwPShzdHJ1Y3Qgdm5vZGUgKilhdmM7DQorI2lmZGVmIEFGU19EQVJX
SU4xNF9FTlYNCisgICAgaWYgKFVCQ0lORk9FWElTVFModnApKQ0KKwlyZXR1
cm4gRUJVU1k7DQorI2VuZGlmDQogICAgIGlmIChhdmMtPnZyZWZDb3VudCkN
CiAJcmV0dXJuIEVCVVNZOw0KIA0KQEAgLTUxLDYgKzU1LDcgQEANCiANCiAg
ICAgQUZTX0dVTkxPQ0soKTsNCiAgICAgY2FjaGVfcHVyZ2UodnApOw0KKyNp
Zm5kZWYgQUZTX0RBUldJTjE0X0VOVg0KICAgICBpZiAoVUJDSU5GT0VYSVNU
Uyh2cCkpDQogCXsNCiAgICAgICAgICAgICAgICAgdWJjX2NsZWFuKHZwLCAx
KTsNCkBAIC01OCw2ICs2Myw3IEBADQogICAgICAgICAgICAgICAgIHViY19y
ZWxlYXNlKHZwKTsNCiAJICAgICAgICB1YmNfaW5mb19mcmVlKHZwKTsNCiAJ
fQ0KKyNlbmRpZg0KIA0KICAgICBBRlNfR0xPQ0soKTsNCiANCkBAIC0xODYs
MTEgKzE5MiwxOSBAQA0KICAgICAgICAgQUZTX1JFTEUodnApOw0KICAgICAg
ICAgcmV0dXJuOw0KICAgICB9DQorI2lmZGVmIEFGU19EQVJXSU4xNF9FTlYN
CisgICAgaWYgKHZwLT52X3ViY2luZm8tPnVpX3JlZmNvdW50ID4gMSkgew0K
KyAgICAgICAgc2ltcGxlX3VubG9jaygmdnAtPnZfaW50ZXJsb2NrKTsNCisg
ICAgICAgIEFGU19SRUxFKHZwKTsNCisgICAgICAgIHJldHVybjsNCisgICAg
fQ0KKyNlbHNlDQogICAgIGlmICh2cC0+dl91YmNpbmZvLT51aV9ob2xkY250
KSB7DQogICAgICAgICBzaW1wbGVfdW5sb2NrKCZ2cC0+dl9pbnRlcmxvY2sp
Ow0KICAgICAgICAgQUZTX1JFTEUodnApOw0KICAgICAgICAgcmV0dXJuOw0K
ICAgICB9DQorI2VuZGlmDQogICAgIGlmIChzbGVwdCAmJiB1YmNfaXNzZXRm
bGFncyh2cCwgVUlfV0FTTUFQUEVEKSkgew0KICAgICAgICAvKiBXZSBjYW4n
dCBwb3NzaWJseSByZWxlYXNlIHRoaXMgaW4gdGltZSBmb3IgdGhpcyBOZXdW
Q2FjaGUgdG8gZ2V0IGl0ICovDQogICAgICAgICBzaW1wbGVfdW5sb2NrKCZ2
cC0+dl9pbnRlcmxvY2spOw0KQEAgLTIwOSwyMSArMjIzLDMwIEBADQogICAg
IG9iaj0wOw0KICAgICBpZiAodWJjX2lzc2V0ZmxhZ3ModnAsIFVJX1dBU01B
UFBFRCkpIHsNCiAgICAgICAgIHNpbXBsZV91bmxvY2soJnZwLT52X2ludGVy
bG9jayk7DQorI2lmZGVmICBBRlNfREFSV0lOMTRfRU5WDQorICAgICAgICB1
YmNfcmVsZWFzZV9uYW1lZCh2cCk7DQorI2Vsc2UNCiAgICAgICAgIHViY19y
ZWxlYXNlKHZwKTsNCisjZW5kaWYNCiAgICAgICAgIGlmICh1YmNfaXNzZXRm
bGFncyh2cCwgVUlfSEFTT0JKUkVGKSkNCiAgICAgICAgICAgICBwcmludGYo
InViY19yZWxlYXNlIGRpZG4ndCByZWxlYXNlIHRoZSByZWZlcmVuY2U/IVxu
Iik7DQogICAgIH0gZWxzZSBpZiAoIXZuX2xvY2sodnAsIExLX0VYQ0xVU0lW
RXxMS19JTlRFUkxPQ0ssY3VycmVudF9wcm9jKCkpKSB7DQotI2lmZGVmIFVC
Q19OT1JFQUNUSVZBVEUNCisjaWZkZWYgQUZTX0RBUldJTjE0X0VOVg0KKyAg
ICAgICAgb2JqID0gdWJjX2dldG9iamVjdCh2cCxVQkNfSE9MRE9CSkVDVCk7
DQorI2Vsc2UNCisjaWZkZWYgQUZTX0RBUldJTjEzX0VOVg0KICAgICAgICAg
b2JqID0gdWJjX2dldG9iamVjdCh2cCwoVUJDX05PUkVBQ1RJVkFURXxVQkNf
SE9MRE9CSkVDVCkpOw0KICNlbHNlDQogICAgICAgICBvYmogPSB1YmNfZ2V0
b2JqZWN0KHZwKTsNCiAjZW5kaWYNCisjZW5kaWYNCiAgICAgICAgICh2b2lk
KXViY19jbGVhbih2cCwgMSk7DQogICAgICAgICB2aW52YWxidWYodnAsIFZf
U0FWRSwgJmFmc19vc2lfY3JlZCwgcCwgMCwgMCk7DQogICAgICAgICBpZiAo
dnAtPnZfdXNlY291bnQgPT0gMSkNCiAgICAgICAgICAgIFZPUF9JTkFDVElW
RSh2cCwgcCk7DQogICAgICAgICBlbHNlDQogICAgICAgICAgICBWT1BfVU5M
T0NLKHZwLCAwLCBwKTsNCisgICAgICAgIGlmIChvYmopIHsNCiAgICAgICAg
IGlmIChJU1NFVCh2cC0+dl9mbGFnLCBWVEVSTUlOQVRFKSkNCiAgICAgICAg
ICAgICBwYW5pYygiYWZzX3ZucmVjbGFpbTogYWxyZWFkeSB0ZW1pbmF0aW5n
Iik7DQogICAgICAgICBTRVQodnAtPnZfZmxhZywgVlRFUk1JTkFURSk7DQpA
QCAtMjMyLDEzICsyNTUsMTQgQEANCiAgICAgICAgICAgICAgIFNFVCh2cC0+
dl9mbGFnLCBWVEVSTVdBTlQpOw0KICAgICAgICAgICAgICAgdHNsZWVwKChj
YWRkcl90KSZ2cC0+dl91YmNpbmZvLCBQSU5PRCwgImFmc192bnJlY2xhaW0i
LCAwKTsNCiAgICAgICAgIH0NCisgICAgICAgIH0NCiAgICB9IGVsc2Ugew0K
ICAgICAgICAgaWYgKHNpbXBsZV9sb2NrX3RyeSgmdnAtPnZfaW50ZXJsb2Nr
KSkNCiAgICAgICAgICAgICBwYW5pYygiYWZzX3ZucmVjbGFpbTogc2xlcHQs
IGJ1dCBkaWQgbm8gd29yayA6KCIpOw0KICAgICAgICAgaWYgKFVCQ0lORk9F
WElTVFModnApICYmIHZwLT52X2NvdW50ID09IDEpIHsNCiAgICAgICAgICAg
IHZwLT52X3VzZWNvdW50Kys7DQogICAgICAgICAgICBzaW1wbGVfdW5sb2Nr
KCZ2cC0+dl9pbnRlcmxvY2spOw0KLSAgICAgICAgICAgQUZTX1JFTEUodnAp
Ow0KKyAgICAgICAgICAgVk5fUkVMRSh2cCk7DQogICAgICAgICB9IGVsc2Ug
DQogICAgICAgICAgICBzaW1wbGVfdW5sb2NrKCZ2cC0+dl9pbnRlcmxvY2sp
Ow0KICAgIH0NCkBAIC0yNTQsOCArMjc4LDE5IEBADQogICAgIHZvaWQgKm9i
amVjdDsNCiAgICAgc3RydWN0IHZjYWNoZSAqYXZjID0gKHN0cnVjdCB2Y2Fj
aGUgKil2cDsNCiANCisjaWZkZWYgQUZTX0RBUldJTjE0X0VOVg0KKyAgICBv
ZmZzZXQ9dHJ1bmNfcGFnZShvZmZzZXQpOw0KKyAgICBzaXplPXJvdW5kX3Bh
Z2Uoc2l6ZSsxKTsNCisgICAgd2hpbGUgKHNpemUpIHsNCisgICAgICAgIHVi
Y19wYWdlX29wKHZwLCAodm1fb2Zmc2V0X3Qpb2Zmc2V0LCANCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBVUExfUE9QX1NFVCB8IFVQTF9QT1Bf
QlVTWSB8IFVQTF9QT1BfRFVNUCwNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAwLCAwKTsNCisgICAgICAgIHNpemUtPVBBR0VfU0laRTsNCisg
ICAgICAgIG9mZnNldCs9UEFHRV9TSVpFOw0KKyAgICB9DQorI2Vsc2UNCiAg
ICAgb2JqZWN0PU5VTEw7DQotI2lmZGVmIFVCQ19OT1JFQUNUSVZBVEUNCisj
aWZkZWYgQUZTX0RBUldJTjEzX0VOVg0KICAgICBpZiAoVUJDSU5GT0VYSVNU
Uyh2cCkpDQogICAgICAgICBvYmplY3QgPSB1YmNfZ2V0b2JqZWN0KHZwLCBV
QkNfTk9SRUFDVElWQVRFKTsNCiAjZWxzZQ0KQEAgLTI2OCw3ICszMDMsNyBA
QA0KICAgICBvZmZzZXQ9dHJ1bmNfcGFnZShvZmZzZXQpOw0KICAgICBzaXpl
PXJvdW5kX3BhZ2Uoc2l6ZSsxKTsNCiANCi0jaWZkZWYgVUJDX05PUkVBQ1RJ
VkFURQ0KKyNpZmRlZiBBRlNfREFSV0lOMTNfRU5WDQogICAgIHdoaWxlIChz
aXplKSB7DQogICAgICAgICBtZW1vcnlfb2JqZWN0X3BhZ2Vfb3Aob2JqZWN0
LCAodm1fb2Zmc2V0X3Qpb2Zmc2V0LCANCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBVUExfUE9QX1NFVCB8IFVQTF9QT1BfQlVTWSB8IFVQTF9Q
T1BfRFVNUCwNCkBAIC0yNzcsMTAgKzMxMiwxMiBAQA0KICAgICAgICAgb2Zm
c2V0Kz1QQUdFX1NJWkU7DQogICAgIH0NCiAjZWxzZSANCisgICAgLyogVGhp
cyBpcyBhbGwgd2UgY2FuIGRvLCBhbmQgaXQncyBub3QgZW5vdWdoLiBzdWNr
cyB0byBiZSB1cyAqLw0KICAgICB1YmNfc2V0c2l6ZSh2cCwgb2Zmc2V0KTsN
CiAgICAgc2l6ZT0ob2Zmc2V0ICsgc2l6ZSA+IGF2Yy0+bS5MZW5ndGgpID8g
b2Zmc2V0ICsgc2l6ZSA6IGF2Yy0+bS5MZW5ndGg7DQogICAgIHViY19zZXRz
aXplKHZwLCBzaXplKTsNCiAjZW5kaWYNCisjZW5kaWYNCiANCiB9DQogaW50
IG9zaV9WTV9TZXR1cChzdHJ1Y3QgdmNhY2hlICphdmMpIHsNCkBAIC0yOTYs
MTUgKzMzMywxNyBAQA0KICAgICAgICAgICAgICBBRlNfUkVMRShhdmMpOw0K
ICAgICAgICAgICAgICByZXR1cm4gZXJyb3I7DQogICAgICAgICAgfQ0KKyNp
Zm5kZWYgQUZTX0RBUldJTjE0X0VOVg0KICAgICAgICAgIHNpbXBsZV9sb2Nr
KCZhdmMtPnYudl9pbnRlcmxvY2spOw0KICAgICAgICAgIGlmICghdWJjX2lz
c2V0ZmxhZ3MoJmF2Yy0+diwgVUlfSEFTT0JKUkVGKSkNCi0jaWZkZWYgVUJD
X05PUkVBQ1RJVkFURQ0KKyNpZmRlZiBBRlNfREFSV0lOMTNfRU5WDQogICAg
ICAgICAgICAgaWYgKHViY19nZXRvYmplY3QoJmF2Yy0+diwgKFVCQ19OT1JF
QUNUSVZBVEV8VUJDX0hPTERPQkpFQ1QpKSkNCiAgICAgICAgICAgICAgICAg
ICAgcGFuaWMoIlZNX1NldHVwOiBudWxsIG9iamVjdCIpOw0KICNlbHNlDQog
ICAgICAgICAgICAgKHZvaWQpX3ViY19nZXRvYmplY3QoJmF2Yy0+diwgMSk7
IC8qIHJldHVybiB2YWx1ZSBub3QgdXNlZCAqLw0KICNlbmRpZg0KICAgICAg
ICAgIHNpbXBsZV91bmxvY2soJmF2Yy0+di52X2ludGVybG9jayk7DQorI2Vu
ZGlmDQogICAgICAgICAgQUZTX0dMT0NLKCk7DQogICAgICAgICAgQUZTX1JF
TEUoYXZjKTsNCiAgICAgICB9DQpJbmRleDogc3JjL2Fmcy9EQVJXSU4vb3Np
X3Zub2Rlb3BzLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxl
OiAvY3ZzL29wZW5hZnMvc3JjL2Fmcy9EQVJXSU4vb3NpX3Zub2Rlb3BzLmMs
dg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjQNCmRpZmYgLXUgLWQgLWIgLXcg
LXIxLjQgb3NpX3Zub2Rlb3BzLmMNCi0tLSBzcmMvYWZzL0RBUldJTi9vc2lf
dm5vZGVvcHMuYwkyMDAxLzA4LzA4IDAwOjAzOjI5CTEuNA0KKysrIHNyYy9h
ZnMvREFSV0lOL29zaV92bm9kZW9wcy5jCTIwMDEvMTEvMTAgMDQ6MDg6NDYN
CkBAIC03NTUsMTIgKzc1NSwxMCBAQA0KICAgICBlcnJvciA9ICBhZnNfcmVt
b3ZlKChzdHJ1Y3QgdmNhY2hlICopZHZwLCBuYW1lLCBjbnAtPmNuX2NyZWQp
Ow0KICAgICBBRlNfR1VOTE9DSygpOw0KICAgICBjYWNoZV9wdXJnZSh2cCk7
DQotICAgIGlmIChkdnAgPT0gdnApDQotCXZyZWxlKHZwKTsNCi0gICAgZWxz
ZQ0KLQl2cHV0KHZwKTsNCi0gICAgdnB1dChkdnApOw0KLSAgICBpZiAoVUJD
SU5GT0VYSVNUUyh2cCkpIHsNCisgICAgaWYgKCFlcnJvciAmJiBVQkNJTkZP
RVhJU1RTKHZwKSkgew0KKyNpZmRlZiBBRlNfREFSV0lOMTRfRU5WDQorICAg
ICAgICAgICAgICh2b2lkKSB1YmNfdW5jYWNoZSh2cCk7IA0KKyNlbHNlDQog
ICAgICAgICAgICAgIGludCB3YXNtYXBwZWQ9dWJjX2lzc2V0ZmxhZ3ModnAs
IFVJX1dBU01BUFBFRCk7DQogICAgICAgICAgICAgIGludCBoYXNvYmpyZWY9
dWJjX2lzc2V0ZmxhZ3ModnAsIFVJX0hBU09CSlJFRik7DQogICAgICAgICAg
ICAgIGlmICh3YXNtYXBwZWQpDQpAQCAtNzY4LDcgKzc2NiwxMyBAQA0KICAg
ICAgICAgICAgICBpZiAoaGFzb2JqcmVmKQ0KICAgICAgICAgICAgICAgICB1
YmNfcmVsZWFzZSh2cCk7DQogICAgICAgICAgICAgIC8qIFdBUk5JTkcgdnAg
bWF5IG5vdCBiZSB2YWxpZCBhZnRlciB0aGlzICovDQorI2VuZGlmDQogICAg
IH0NCisgICAgaWYgKGR2cCA9PSB2cCkNCisJdnJlbGUodnApOw0KKyAgICBl
bHNlDQorCXZwdXQodnApOw0KKyAgICB2cHV0KGR2cCk7DQogDQogICAgIEZS
RUVfWk9ORShjbnAtPmNuX3BuYnVmLCBjbnAtPmNuX3BubGVuLCBNX05BTUVJ
KTsNCiAgICAgRFJPUE5BTUUoKTsNCkBAIC0xMjE4LDggKzEyMjIsMTMgQEAN
CiAgICAgaWYgKFVCQ0lTVkFMSUQodnApKQ0KICAgICAgICAgcHJpbnRmKCJc
biAgVUJDOiAlcyVzIiwNCiAgICAgICAgICAgICAgICBVQkNJTkZPRVhJU1RT
KHZwKSA/ICJleGlzdHMsICIgOiAiZG9lcyBub3QgZXhpc3QiLA0KKyNpZmRl
ZiBBRlNfREFSV0lOMTRfRU5WDQogICAgICAgICAgICAgICAgVUJDSU5GT0VY
SVNUUyh2cCkgPw0KKyAgICAgICAgICAgICAgICAgc3ByaW50ZihidWYsICJy
ZWZzICVkIiwgdnAtPnZfdWJjaW5mby0+dWlfcmVmY291bnQpLGJ1ZiA6ICIi
KTsNCisjZWxzZQ0KKyAgICAgICAgICAgICAgIFVCQ0lORk9FWElTVFModnAp
ID8NCiAgICAgICAgICAgICAgICAgIHNwcmludGYoYnVmLCAiaG9sZGNudCAl
ZCIsIHZwLT52X3ViY2luZm8tPnVpX2hvbGRjbnQpLGJ1ZiA6ICIiKTsNCisj
ZW5kaWYNCiAgICAgcHJpbnRmKCJcbiIpOw0KICAgICByZXR1cm4gMDsNCiB9
DQpJbmRleDogc3JjL2NvbmZpZy9NYWtlZmlsZS5wcGNfZGFyd2luXzEzLmlu
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2cy9vcGVu
YWZzL3NyYy9jb25maWcvQXR0aWMvTWFrZWZpbGUucHBjX2Rhcndpbl8xMy5p
bix2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNC4yLjENCmRpZmYgLXUgLWQg
LWIgLXcgLXIxLjQuMi4xIE1ha2VmaWxlLnBwY19kYXJ3aW5fMTMuaW4NCi0t
LSBzcmMvY29uZmlnL01ha2VmaWxlLnBwY19kYXJ3aW5fMTMuaW4JMjAwMS8w
OS8yMCAyMDoxMjozMwkxLjQuMi4xDQorKysgc3JjL2NvbmZpZy9NYWtlZmls
ZS5wcGNfZGFyd2luXzEzLmluCTIwMDEvMTEvMTAgMDQ6MDk6MDQNCkBAIC01
LDcgKzUsNyBAQA0KICMNCiAjDQogIyBjb21waWxhdGlvbiBhbmQgbGluayBl
ZGl0b3IgZmxhZ3MNCi1YQ0ZMQUdTPS1uby1wcmVjb21wDQorWENGTEFHUz0t
bm8tY3BwLXByZWNvbXANCiAjTVRfQ0ZMQUdTPS1EX1JFRU5UUkFOVCAtREFG
U19QVEhSRUFEX0VOViAke1hDRkxBR1N9DQogI01UX0NDPWNjDQogS1JPT1Q9
DQpJbmRleDogc3JjL2NvbmZpZy9NYWtlZmlsZS5wcGNfZGFyd2luXzE0Lmlu
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogTWFrZWZpbGUu
cHBjX2Rhcndpbl8xNC5pbg0KZGlmZiAtTiBNYWtlZmlsZS5wcGNfZGFyd2lu
XzE0LmluDQotLS0gL2Rldi9udWxsCVR1ZSBNYXkgIDUgMTY6MzI6MjcgMTk5
OA0KKysrIE1ha2VmaWxlLnBwY19kYXJ3aW5fMTQuaW4JRnJpIE5vdiAgOSAy
MzowOTowNCAyMDAxDQpAQCAtMCwwICsxLDQzIEBADQorIyBLZWVwIG1hY3Jv
cyB3aXRoaW4gZWFjaCBzZWN0aW9uIGluIHNvcnRlZCBvcmRlciBmb3IgY2xl
YW4gZGlmZiBkaXNwbGF5cy4NCisjDQorIyBBRlNfT1NUWVBFIHVzZWQgdG8g
aW5kaWNhdGUgc3VmZml4ZXMgYW5kIG9zIHNwZWNpZmljIHN1YmRpcmVjdG9y
aWVzLg0KK0FGU19PU1RZUEUgPSBEQVJXSU4NCisjDQorIw0KKyMgY29tcGls
YXRpb24gYW5kIGxpbmsgZWRpdG9yIGZsYWdzDQorWENGTEFHUz0tbm8tY3Bw
LXByZWNvbXANCisjTVRfQ0ZMQUdTPS1EX1JFRU5UUkFOVCAtREFGU19QVEhS
RUFEX0VOViAke1hDRkxBR1N9DQorI01UX0NDPWNjDQorS1JPT1Q9DQorS0lO
Q0xVREVTPS1JJChLUk9PVCkvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9L
ZXJuZWwuZnJhbWV3b3JrL0hlYWRlcnMNCisjU0hBUkVfTERGTEFHUyA9DQor
TFdQX09QVE1aPS1PMg0KK09QVE1aPS1PMg0KK0RCRz0tZw0KK1JFR0VYX09C
Sj1yZWdleC5vDQorDQorDQorIw0KKyMgbGlicmFyaWVzDQorWExJQlM9QExJ
Ql9BRlNEQkANCitUWExJQlM9DQorI01UTElCUz0NCisjWExJQkVMRkE9DQor
I1hMSUJLVk09DQorIw0KK1NITElCX1NVRkZJWD0NCitTSExJQl9DRkxBR1M9
DQorIw0KKyMgcHJvZ3JhbXMNCitBUj1hcg0KK0FTPWFzDQorQ0M9Y2MNCitD
UD1jcA0KK0lOU1RBTEw9JHtUT1BfU1JDRElSfS9waW5zdGFsbC9waW5zdGFs
bA0KK0xFWD1sZXggLWwNCitMRD0gbGQNCitMT1JERVIgPSBsb3JkZXINCitN
Vj1tdg0KK1JBTkxJQj1yYW5saWINCitSTT1ybQ0KK1NUUklQPSBzdHJpcA0K
SW5kZXg6IHNyYy9jb25maWcvYWZzX3N5c25hbWVzLmgNCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NClJDUyBmaWxlOiAvY3ZzL29wZW5hZnMvc3JjL2NvbmZp
Zy9hZnNfc3lzbmFtZXMuaCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTQu
Mi4xDQpkaWZmIC11IC1kIC1iIC13IC1yMS4xNC4yLjEgYWZzX3N5c25hbWVz
LmgNCi0tLSBzcmMvY29uZmlnL2Fmc19zeXNuYW1lcy5oCTIwMDEvMTAvMTMg
MDQ6MjE6MTgJMS4xNC4yLjENCisrKyBzcmMvY29uZmlnL2Fmc19zeXNuYW1l
cy5oCTIwMDEvMTEvMTAgMDQ6MDk6MDQNCkBAIC00OSw2ICs0OSw3IEBADQog
I2RlZmluZSBTWVNfTkFNRV9JRF9tYWNfbWFjaDUxCQkgNTAyDQogI2RlZmlu
ZSBTWVNfTkFNRV9JRF9wcGNfZGFyd2luXzEyICAgICAgICA1MDMNCiAjZGVm
aW5lIFNZU19OQU1FX0lEX3BwY19kYXJ3aW5fMTMgICAgICAgIDUwNA0KKyNk
ZWZpbmUgU1lTX05BTUVfSURfcHBjX2Rhcndpbl8xNCAgICAgICAgNTA1DQog
DQogI2RlZmluZSBTWVNfTkFNRV9JRF9uZXh0X21hY2gyMAkJIDYwMQ0KICNk
ZWZpbmUgU1lTX05BTUVfSURfbmV4dF9tYWNoMzAJCSA2MDINCkluZGV4OiBz
cmMvY29uZmlnL3BhcmFtLnBwY19kYXJ3aW5fMTQuaA0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KUkNTIGZpbGU6IHBhcmFtLnBwY19kYXJ3aW5fMTQuaA0K
ZGlmZiAtTiBwYXJhbS5wcGNfZGFyd2luXzE0LmgNCi0tLSAvZGV2L251bGwJ
VHVlIE1heSAgNSAxNjozMjoyNyAxOTk4DQorKysgcGFyYW0ucHBjX2Rhcndp
bl8xNC5oCUZyaSBOb3YgIDkgMjM6MDk6MDQgMjAwMQ0KQEAgLTAsMCArMSw2
MiBAQA0KKyNpZm5kZWYgQUZTX1BBUkFNX0gNCisjZGVmaW5lIEFGU19QQVJB
TV9IDQorDQorI2RlZmluZSBBRlNfRU5WICAgICAgICAgICAgICAgICAxDQor
I2RlZmluZSBBRlNfNjRCSVRfRU5WICAgICAgICAgICAxICAgICAgIC8qIERl
ZmluZXMgYWZzX2ludDMyIGFzIGludCwgbm90IGxvbmcuICovDQorI2RlZmlu
ZSBBRlNfUFBDX0VOViAxDQorI2RlZmluZSBBRlNfVkZTSU5DTF9FTlYgMQ0K
Kw0KKyNpbmNsdWRlIDxhZnMvYWZzX3N5c25hbWVzLmg+DQorDQorI2RlZmlu
ZSBBRlNfREFSV0lOX0VOVg0KKyNkZWZpbmUgQUZTX0RBUldJTjEzX0VOVg0K
KyNkZWZpbmUgQUZTX0RBUldJTjE0X0VOVg0KKyNkZWZpbmUgQUZTX05PTkZT
VFJBTlMNCisjZGVmaW5lIEFGU19TWVNDQUxMICAgICAgICAgICAgIDIzMA0K
Kw0KKy8qIEZpbGUgc3lzdGVtIGVudHJ5ICh1c2VkIGlmIG1vdW50LmggZG9l
c24ndCBkZWZpbmUgTU9VTlRfQUZTICovDQorI2RlZmluZSBBRlNfTU9VTlRf
QUZTICAgICJhZnMiDQorDQorLyogTWFjaGluZSAvIE9wZXJhdGluZyBzeXN0
ZW0gaW5mb3JtYXRpb24gKi8NCisjZGVmaW5lIHN5c19wcGNfZGFyd2luXzEy
ICAgMQ0KKyNkZWZpbmUgc3lzX3BwY19kYXJ3aW5fMTMgICAxDQorI2RlZmlu
ZSBzeXNfcHBjX2Rhcndpbl8xNCAgIDENCisjZGVmaW5lIFNZU19OQU1FICAg
ICAgICAicHBjX2Rhcndpbl8xNCINCisjZGVmaW5lIFNZU19OQU1FX0lEICAg
ICBTWVNfTkFNRV9JRF9wcGNfZGFyd2luXzE0DQorI2RlZmluZSBBRlNCSUdf
RU5ESUFOICAgMQ0KKyNkZWZpbmUgQUZTX0hBVkVfRkZTICAgIDEgICAgICAg
LyogVXNlIHN5c3RlbSdzIGZmcy4gKi8NCisNCisjZGVmaW5lIEFGU19HQ1BB
R1MgICAgICAgICAgICAgICAgMSAgICAgICAvKiBpZiBub256ZXJvLCBnYXJi
YWdlIGNvbGxlY3QgUEFHcyAqLw0KKyNkZWZpbmUgUlhLX0xJU1RFTkVSX0VO
ViAgICAgICAgIDENCisNCisjaWZkZWYgS0VSTkVMDQorI3VuZGVmIE1BQ1JP
X0JFR0lODQorI3VuZGVmIE1BQ1JPX0VORA0KKyNpbmNsdWRlIDxrZXJuL21h
Y3JvX2hlbHAuaD4NCisjZGVmaW5lIEFGU19HTE9CQUxfU1VOTE9DSyAgICAg
ICAgMQ0KKyNkZWZpbmUgQUZTX1ZGUzM0ICAgICAgIDEgICAgICAgLyogV2hh
dCBpcyBWRlMzND8/PyAqLw0KKyNkZWZpbmUgYWZzaW9faW92ICAgICAgIHVp
b19pb3YNCisjZGVmaW5lIGFmc2lvX2lvdmNudCAgICB1aW9faW92Y250DQor
I2RlZmluZSBhZnNpb19vZmZzZXQgICAgdWlvX29mZnNldA0KKyNkZWZpbmUg
YWZzaW9fc2VnICAgICAgIHVpb19zZWdmbGcNCisjZGVmaW5lIGFmc2lvX3Jl
c2lkICAgICB1aW9fcmVzaWQNCisjZGVmaW5lIEFGU19VSU9TWVMgICAgICBV
SU9fU1lTU1BBQ0UNCisjZGVmaW5lIEFGU19VSU9VU0VSICAgICBVSU9fVVNF
UlNQQUNFDQorI2RlZmluZSBBRlNfQ0xCWVRFUyAgICAgQ0xCWVRFUw0KKyNk
ZWZpbmUgb3NpX0dldFRpbWUoeCkgIG1pY3JvdGltZSh4KQ0KKyNkZWZpbmUg
QUZTX0tBTExPQyh4KSAgIGthbGxvYyh4KQ0KKyNkZWZpbmUgQUZTX0tGUkVF
KHgseSkgIGtmcmVlKHgseSkNCisjZGVmaW5lIHZfY291bnQgICAgICAgICB2
X3VzZWNvdW50DQorI2RlZmluZSB2X3Zmc3AgICAgICAgICAgdl9tb3VudA0K
KyNkZWZpbmUgdmZzX2JzaXplICAgICAgIG1udF9zdGF0LmZfYnNpemUNCisj
ZGVmaW5lIHZmc19mc2lkICAgICAgICBtbnRfc3RhdC5mX2ZzaWQNCisjZGVm
aW5lIHZhX25vZGVpZCAgICAgICB2YV9maWxlaWQNCisjZGVmaW5lIHZmc192
bm9kZWNvdmVyZWQgbW50X3Zub2RlY292ZXJlZA0KKyNkZWZpbmUgZGlyZWN0
ICAgICAgICAgIGRpcmVudA0KKyNkZWZpbmUgdm5vZGVfdCAgICAgICAgIHN0
cnVjdCB2bm9kZQ0KKw0KKyNkZWZpbmUgVk5fUkVMRSh2cCkgICAgIHZyZWxl
KCgoc3RydWN0IHZub2RlICopKHZwKSkpDQorI2RlZmluZSBWTl9IT0xEKHZw
KSAgICAgVlJFRigoKHN0cnVjdCB2bm9kZSAqKSh2cCkpKQ0KKw0KKyNlbmRp
Zg0KKyNlbmRpZiAvKiBBRlNfUEFSQU1fSCAqLw0KSW5kZXg6IHNyYy9jb25m
aWcvcGFyYW0ucHBjX2Rhcndpbl8xNF91c3IuaA0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KUkNTIGZpbGU6IHBhcmFtLnBwY19kYXJ3aW5fMTRfdXNyLmgN
CmRpZmYgLU4gcGFyYW0ucHBjX2Rhcndpbl8xNF91c3IuaA0KLS0tIC9kZXYv
bnVsbAlUdWUgTWF5ICA1IDE2OjMyOjI3IDE5OTgNCisrKyBwYXJhbS5wcGNf
ZGFyd2luXzE0X3Vzci5oCUZyaSBOb3YgIDkgMjM6MDk6MDQgMjAwMQ0KQEAg
LTAsMCArMSw1MCBAQA0KKyNpZm5kZWYgQUZTX1BBUkFNX0gNCisjZGVmaW5l
IEFGU19QQVJBTV9IDQorDQorI2RlZmluZSBBRlNfVkZTSU5DTF9FTlYgMSAg
ICAgICAvKiBOT0JPRFkgdXNlcyB0aGlzLi4uLiAqLw0KKyNkZWZpbmUgQUZT
X0VOViAgICAgICAgICAgICAgICAgMQ0KKyNkZWZpbmUgQUZTXzY0QklUX0VO
ViAgICAgICAgICAgMSAgICAgICAvKiBEZWZpbmVzIGFmc19pbnQzMiBhcyBp
bnQsIG5vdCBsb25nLiAqLw0KKyNkZWZpbmUgQUZTX1BQQ19FTlYgMQ0KKw0K
KyNpbmNsdWRlIDxhZnMvYWZzX3N5c25hbWVzLmg+DQorI2RlZmluZSBBRlNf
VVNFUlNQQUNFX0VOVg0KKyNkZWZpbmUgQUZTX1VTUl9EQVJXSU5fRU5WDQor
I2RlZmluZSBBRlNfVVNSX0RBUldJTjEzX0VOVg0KKyNkZWZpbmUgQUZTX1VT
Ul9EQVJXSU4xNF9FTlYNCisjZGVmaW5lIEFGU19OT05GU1RSQU5TIA0KKyNk
ZWZpbmUgQUZTX1NZU0NBTEwgICAgICAgICAgICAgMjMwDQorDQorLyogRmls
ZSBzeXN0ZW0gZW50cnkgKHVzZWQgaWYgbW91bnQuaCBkb2Vzbid0IGRlZmlu
ZSBNT1VOVF9BRlMgKi8NCisjZGVmaW5lIEFGU19NT1VOVF9BRlMgICAgImFm
cyINCisNCisvKiBNYWNoaW5lIC8gT3BlcmF0aW5nIHN5c3RlbSBpbmZvcm1h
dGlvbiAqLw0KKyNkZWZpbmUgc3lzX3BwY19kYXJ3aW5fMTIgICAxDQorI2Rl
ZmluZSBzeXNfcHBjX2Rhcndpbl8xMyAgIDENCisjZGVmaW5lIHN5c19wcGNf
ZGFyd2luXzE0ICAgMQ0KKyNkZWZpbmUgU1lTX05BTUUgICAgICAgICJwcGNf
ZGFyd2luXzE0Ig0KKyNkZWZpbmUgU1lTX05BTUVfSUQgICAgIFNZU19OQU1F
X0lEX3BwY19kYXJ3aW5fMTQNCisjZGVmaW5lIEFGU0JJR19FTkRJQU4gICAx
DQorI2RlZmluZSBBRlNfSEFWRV9GRlMgICAgMSAgICAgICAvKiBVc2Ugc3lz
dGVtJ3MgZmZzLiAqLw0KKw0KKyNkZWZpbmUgQUZTX1VJT1NZUyAgICAgIFVJ
T19TWVNTUEFDRQ0KKyNkZWZpbmUgQUZTX1VJT1VTRVIgICAgIFVJT19VU0VS
U1BBQ0UNCisNCisjZGVmaW5lIEFGU19HQ1BBR1MgICAgICAgICAgICAgICAg
MCAgICAgICAvKiBpZiBub256ZXJvLCBnYXJiYWdlIGNvbGxlY3QgUEFHcyAq
Lw0KKyNkZWZpbmUgUlhLX0xJU1RFTkVSX0VOViAgICAgICAgICAxDQorDQor
I2RlZmluZSBBRlNfVkZTMzQgICAgICAgMSAgICAgICAvKiBXaGF0IGlzIFZG
UzM0Pz8/ICovDQorI2RlZmluZSBhZnNpb19pb3YgICAgICAgdWlvX2lvdg0K
KyNkZWZpbmUgYWZzaW9faW92Y250ICAgIHVpb19pb3ZjbnQNCisjZGVmaW5l
IGFmc2lvX29mZnNldCAgICB1aW9fb2Zmc2V0DQorI2RlZmluZSBhZnNpb19z
ZWcgICAgICAgdWlvX3NlZ2ZsZw0KKyNkZWZpbmUgYWZzaW9fcmVzaWQgICAg
IHVpb19yZXNpZA0KKyNkZWZpbmUgQUZTX1VJT1NZUyAgICAgIFVJT19TWVNT
UEFDRQ0KKyNkZWZpbmUgQUZTX1VJT1VTRVIgICAgIFVJT19VU0VSU1BBQ0UN
CisjZGVmaW5lICAgICAgICBWQVRUUl9OVUxMICAgICAgdXNyX3ZhdHRyX251
bGwNCisNCisjZGVmaW5lIEFGU19ESVJFTlQNCisjaWZuZGVmIENNU0VSVkVS
UFJFRg0KKyNkZWZpbmUgQ01TRVJWRVJQUkVGDQorI2VuZGlmDQorDQorI2Vu
ZGlmIC8qIEFGU19QQVJBTV9IICovDQpJbmRleDogc3JjL2xpYmFmcy9hZnMu
cHBjX2Rhcndpbl8xNC5wbGlzdC5pbg0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KUkNTIGZpbGU6IC9jdnMvb3BlbmFmcy9zcmMvbGliYWZzL2Fmcy5wcGNf
ZGFyd2luXzE0LnBsaXN0LmluLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4x
LjIuMQ0KZGlmZiAtdSAtZCAtYiAtdyAtcjEuMS4yLjEgYWZzLnBwY19kYXJ3
aW5fMTQucGxpc3QuaW4NCi0tLSBzcmMvbGliYWZzL2Fmcy5wcGNfZGFyd2lu
XzE0LnBsaXN0LmluCTIwMDEvMDkvMTIgMDU6MDM6NTMJMS4xLjIuMQ0KKysr
IHNyYy9saWJhZnMvYWZzLnBwY19kYXJ3aW5fMTQucGxpc3QuaW4JMjAwMS8x
MS8xMCAwNDowOToyMA0KQEAgLTI1LDcgKzI1LDcgQEANCiAJCTxrZXk+Y29t
LmFwcGxlLmtlcm5lbC5ic2Q8L2tleT4NCiAJCTxzdHJpbmc+MS4xPC9zdHJp
bmc+DQogCQk8a2V5PmNvbS5hcHBsZS5rZXJuZWwubWFjaDwva2V5Pg0KLQkJ
PHN0cmluZz4xLjAuMGIxPC9zdHJpbmc+DQorCQk8c3RyaW5nPjEuMTwvc3Ry
aW5nPg0KIAk8L2RpY3Q+DQogPC9kaWN0Pg0KIDwvcGxpc3Q+DQo=
--41945465-504382577-1005367984=:8225--