[MLton] Elaborator bug

Matthew Fluet fluet@cs.cornell.edu
Sat, 4 Feb 2006 11:15:20 -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.

--1417689696-313439160-1139069720=:15050
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed


> The attached source exhibits the following bug:
>  ElaborateEnv.functorClosure: firstTycons
>
> I note that the bug is sensitive to the _number_ of structure/functor 
> bindings made.  That is, if you eliminiate some bindings in c-types.sml but 
> increase the number of times c-types.sml is included in sources.mlb, then you 
> maintain the bug.  Likewise, if you increase the number of bindings in 
> c-types.sml and decrease the number of times c-types.sml is included in 
> sources.mlb, then you maintain the bug.

Here is a single, self-contained .sml file the exhibits the bug.
--1417689696-313439160-1139069720=:15050
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=z.sml
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.62.0602041115200.15050@lion.cs.cornell.edu>
Content-Description: 
Content-Disposition: attachment; filename=z.sml

c2lnbmF0dXJlIENIT09TRV9JTlROX0FSRyA9DQogICBzaWcNCiAgICAgIHR5
cGUgJ2EgdA0KICAgICAgdmFsIGZJbnQ4OiBJbnQ4LmludCB0DQogICAgICB2
YWwgZkludDE2OiBJbnQxNi5pbnQgdA0KICAgICAgdmFsIGZJbnQzMjogSW50
MzIuaW50IHQNCiAgICAgIHZhbCBmSW50NjQ6IEludDY0LmludCB0DQogICBl
bmQNCg0KZnVuY3RvciBDaG9vc2VJbnROX0ludDggKEEgOiBDSE9PU0VfSU5U
Tl9BUkcpIDogDQogICBzaWcgdmFsIGYgOiBJbnQ4LmludCBBLnQgZW5kID0g
DQogICBzdHJ1Y3QgdmFsIGYgPSBBLmZJbnQ4IGVuZA0KZnVuY3RvciBDaG9v
c2VJbnROX0ludDE2IChBIDogQ0hPT1NFX0lOVE5fQVJHKSA6IA0KICAgc2ln
IHZhbCBmIDogSW50MTYuaW50IEEudCBlbmQgPSANCiAgIHN0cnVjdCB2YWwg
ZiA9IEEuZkludDE2IGVuZA0KZnVuY3RvciBDaG9vc2VJbnROX0ludDMyIChB
IDogQ0hPT1NFX0lOVE5fQVJHKSA6IA0KICAgc2lnIHZhbCBmIDogSW50MzIu
aW50IEEudCBlbmQgPSANCiAgIHN0cnVjdCB2YWwgZiA9IEEuZkludDMyIGVu
ZA0KZnVuY3RvciBDaG9vc2VJbnROX0ludDY0IChBIDogQ0hPT1NFX0lOVE5f
QVJHKSA6IA0KICAgc2lnIHZhbCBmIDogSW50NjQuaW50IEEudCBlbmQgPSAN
CiAgIHN0cnVjdCB2YWwgZiA9IEEuZkludDY0IGVuZA0KDQpzaWduYXR1cmUg
Q0hPT1NFX1JFQUxOX0FSRyA9DQogICBzaWcNCiAgICAgIHR5cGUgJ2EgdA0K
ICAgICAgdmFsIGZSZWFsMzI6IFJlYWwzMi5yZWFsIHQNCiAgICAgIHZhbCBm
UmVhbDY0OiBSZWFsNjQucmVhbCB0DQogICBlbmQNCg0KZnVuY3RvciBDaG9v
c2VSZWFsTl9SZWFsMzIgKEEgOiBDSE9PU0VfUkVBTE5fQVJHKSA6IA0KICAg
c2lnIHZhbCBmIDogUmVhbDMyLnJlYWwgQS50IGVuZCA9IA0KICAgc3RydWN0
IHZhbCBmID0gQS5mUmVhbDMyIGVuZA0KZnVuY3RvciBDaG9vc2VSZWFsTl9S
ZWFsNjQgKEEgOiBDSE9PU0VfUkVBTE5fQVJHKSA6IA0KICAgc2lnIHZhbCBm
IDogUmVhbDY0LnJlYWwgQS50IGVuZCA9IA0KICAgc3RydWN0IHZhbCBmID0g
QS5mUmVhbDY0IGVuZA0KDQpzaWduYXR1cmUgQ0hPT1NFX1dPUkROX0FSRyA9
DQogICBzaWcNCiAgICAgIHR5cGUgJ2EgdA0KICAgICAgdmFsIGZXb3JkODog
V29yZDgud29yZCB0DQogICAgICB2YWwgZldvcmQxNjogV29yZDE2LndvcmQg
dA0KICAgICAgdmFsIGZXb3JkMzI6IFdvcmQzMi53b3JkIHQNCiAgICAgIHZh
bCBmV29yZDY0OiBXb3JkNjQud29yZCB0DQogICBlbmQNCg0KZnVuY3RvciBD
aG9vc2VXb3JkTl9Xb3JkOCAoQSA6IENIT09TRV9XT1JETl9BUkcpIDogDQog
ICBzaWcgdmFsIGYgOiBXb3JkOC53b3JkIEEudCBlbmQgPSANCiAgIHN0cnVj
dCB2YWwgZiA9IEEuZldvcmQ4IGVuZA0KZnVuY3RvciBDaG9vc2VXb3JkTl9X
b3JkMTYgKEEgOiBDSE9PU0VfV09SRE5fQVJHKSA6IA0KICAgc2lnIHZhbCBm
IDogV29yZDE2LndvcmQgQS50IGVuZCA9IA0KICAgc3RydWN0IHZhbCBmID0g
QS5mV29yZDE2IGVuZA0KZnVuY3RvciBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEg
OiBDSE9PU0VfV09SRE5fQVJHKSA6IA0KICAgc2lnIHZhbCBmIDogV29yZDMy
LndvcmQgQS50IGVuZCA9IA0KICAgc3RydWN0IHZhbCBmID0gQS5mV29yZDMy
IGVuZA0KZnVuY3RvciBDaG9vc2VXb3JkTl9Xb3JkNjQgKEEgOiBDSE9PU0Vf
V09SRE5fQVJHKSA6IA0KICAgc2lnIHZhbCBmIDogV29yZDY0LndvcmQgQS50
IGVuZCA9IA0KICAgc3RydWN0IHZhbCBmID0gQS5mV29yZDY0IGVuZA0KDQoo
KiBDICopDQpzdHJ1Y3R1cmUgQzBfQ2hhciA9IHN0cnVjdCBvcGVuIEludDgg
dHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMF9DaGFyX0Nob29zZUludE4g
KEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDggKEEpDQpz
dHJ1Y3R1cmUgQzBfU0NoYXIgPSBzdHJ1Y3Qgb3BlbiBJbnQ4IHR5cGUgdCA9
IGludCBlbmQNCmZ1bmN0b3IgQzBfU0NoYXJfQ2hvb3NlSW50TiAoQTogQ0hP
T1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50OCAoQSkNCnN0cnVjdHVy
ZSBDMF9VQ2hhciA9IHN0cnVjdCBvcGVuIFdvcmQ4IHR5cGUgdCA9IHdvcmQg
ZW5kDQpmdW5jdG9yIEMwX1VDaGFyX0Nob29zZVdvcmROIChBOiBDSE9PU0Vf
V09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQ4IChBKQ0Kc3RydWN0dXJl
IEMwX1Nob3J0ID0gc3RydWN0IG9wZW4gSW50MTYgdHlwZSB0ID0gaW50IGVu
ZA0KZnVuY3RvciBDMF9TaG9ydF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5U
Tl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQxNiAoQSkNCnN0cnVjdHVyZSBDMF9T
U2hvcnQgPSBzdHJ1Y3Qgb3BlbiBJbnQxNiB0eXBlIHQgPSBpbnQgZW5kDQpm
dW5jdG9yIEMwX1NTaG9ydF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9B
UkcpID0gQ2hvb3NlSW50Tl9JbnQxNiAoQSkNCnN0cnVjdHVyZSBDMF9VU2hv
cnQgPSBzdHJ1Y3Qgb3BlbiBXb3JkMTYgdHlwZSB0ID0gd29yZCBlbmQNCmZ1
bmN0b3IgQzBfVVNob3J0X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5f
QVJHKSA9IENob29zZVdvcmROX1dvcmQxNiAoQSkNCnN0cnVjdHVyZSBDMF9J
bnQgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5j
dG9yIEMwX0ludF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0g
Q2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVyZSBDMF9TSW50ID0gc3Ry
dWN0IG9wZW4gSW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMF9T
SW50X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJ
bnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEMwX1VJbnQgPSBzdHJ1Y3Qgb3Bl
biBXb3JkMzIgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzBfVUludF9D
aG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3Jk
Tl9Xb3JkMzIgKEEpDQpzdHJ1Y3R1cmUgQzBfTG9uZyA9IHN0cnVjdCBvcGVu
IEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzBfTG9uZ19DaG9v
c2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQz
MiAoQSkNCnN0cnVjdHVyZSBDMF9TTG9uZyA9IHN0cnVjdCBvcGVuIEludDMy
IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzBfU0xvbmdfQ2hvb3NlSW50
TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MzIgKEEp
DQpzdHJ1Y3R1cmUgQzBfVUxvbmcgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIgdHlw
ZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzBfVUxvbmdfQ2hvb3NlV29yZE4g
KEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChB
KQ0Kc3RydWN0dXJlIEMwX0xvbmdMb25nID0gc3RydWN0IG9wZW4gSW50NjQg
dHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMF9Mb25nTG9uZ19DaG9vc2VJ
bnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ2NCAo
QSkNCnN0cnVjdHVyZSBDMF9TTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2
NCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMwX1NMb25nTG9uZ19DaG9v
c2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ2
NCAoQSkNCnN0cnVjdHVyZSBDMF9VTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBX
b3JkNjQgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzBfVUxvbmdMb25n
X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdv
cmROX1dvcmQ2NCAoQSkNCnN0cnVjdHVyZSBDMF9GbG9hdCA9IHN0cnVjdCBv
cGVuIFJlYWwzMiB0eXBlIHQgPSByZWFsIGVuZA0KZnVuY3RvciBDMF9GbG9h
dF9DaG9vc2VSZWFsTiAoQTogQ0hPT1NFX1JFQUxOX0FSRykgPSBDaG9vc2VS
ZWFsTl9SZWFsMzIgKEEpDQpzdHJ1Y3R1cmUgQzBfRG91YmxlID0gc3RydWN0
IG9wZW4gUmVhbDY0IHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5jdG9yIEMwX0Rv
dWJsZV9DaG9vc2VSZWFsTiAoQTogQ0hPT1NFX1JFQUxOX0FSRykgPSBDaG9v
c2VSZWFsTl9SZWFsNjQgKEEpDQpzdHJ1Y3R1cmUgQzBfU2l6ZSA9IHN0cnVj
dCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDMF9T
aXplX0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29z
ZVdvcmROX1dvcmQzMiAoQSkNCg0KKCogQyAqKQ0Kc3RydWN0dXJlIEMyX0No
YXIgPSBzdHJ1Y3Qgb3BlbiBJbnQ4IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0
b3IgQzJfQ2hhcl9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0g
Q2hvb3NlSW50Tl9JbnQ4IChBKQ0Kc3RydWN0dXJlIEMyX1NDaGFyID0gc3Ry
dWN0IG9wZW4gSW50OCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMyX1ND
aGFyX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJ
bnROX0ludDggKEEpDQpzdHJ1Y3R1cmUgQzJfVUNoYXIgPSBzdHJ1Y3Qgb3Bl
biBXb3JkOCB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDMl9VQ2hhcl9D
aG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3Jk
Tl9Xb3JkOCAoQSkNCnN0cnVjdHVyZSBDMl9TaG9ydCA9IHN0cnVjdCBvcGVu
IEludDE2IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzJfU2hvcnRfQ2hv
b3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50
MTYgKEEpDQpzdHJ1Y3R1cmUgQzJfU1Nob3J0ID0gc3RydWN0IG9wZW4gSW50
MTYgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMl9TU2hvcnRfQ2hvb3Nl
SW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MTYg
KEEpDQpzdHJ1Y3R1cmUgQzJfVVNob3J0ID0gc3RydWN0IG9wZW4gV29yZDE2
IHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMyX1VTaG9ydF9DaG9vc2VX
b3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3Jk
MTYgKEEpDQpzdHJ1Y3R1cmUgQzJfSW50ID0gc3RydWN0IG9wZW4gSW50MzIg
dHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMl9JbnRfQ2hvb3NlSW50TiAo
QTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MzIgKEEpDQpz
dHJ1Y3R1cmUgQzJfU0ludCA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9
IGludCBlbmQNCmZ1bmN0b3IgQzJfU0ludF9DaG9vc2VJbnROIChBOiBDSE9P
U0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVy
ZSBDMl9VSW50ID0gc3RydWN0IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQg
ZW5kDQpmdW5jdG9yIEMyX1VJbnRfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9X
T1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChBKQ0Kc3RydWN0dXJl
IEMyX0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5k
DQpmdW5jdG9yIEMyX0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5f
QVJHKSA9IENob29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzJfU0xv
bmcgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5j
dG9yIEMyX1NMb25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykg
PSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEMyX1VMb25nID0g
c3RydWN0IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9y
IEMyX1VMb25nX0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9
IENob29zZVdvcmROX1dvcmQzMiAoQSkNCnN0cnVjdHVyZSBDMl9Mb25nTG9u
ZyA9IHN0cnVjdCBvcGVuIEludDY0IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0
b3IgQzJfTG9uZ0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJH
KSA9IENob29zZUludE5fSW50NjQgKEEpDQpzdHJ1Y3R1cmUgQzJfU0xvbmdM
b25nID0gc3RydWN0IG9wZW4gSW50NjQgdHlwZSB0ID0gaW50IGVuZA0KZnVu
Y3RvciBDMl9TTG9uZ0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5f
QVJHKSA9IENob29zZUludE5fSW50NjQgKEEpDQpzdHJ1Y3R1cmUgQzJfVUxv
bmdMb25nID0gc3RydWN0IG9wZW4gV29yZDY0IHR5cGUgdCA9IHdvcmQgZW5k
DQpmdW5jdG9yIEMyX1VMb25nTG9uZ19DaG9vc2VXb3JkTiAoQTogQ0hPT1NF
X1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkNjQgKEEpDQpzdHJ1Y3R1
cmUgQzJfRmxvYXQgPSBzdHJ1Y3Qgb3BlbiBSZWFsMzIgdHlwZSB0ID0gcmVh
bCBlbmQNCmZ1bmN0b3IgQzJfRmxvYXRfQ2hvb3NlUmVhbE4gKEE6IENIT09T
RV9SRUFMTl9BUkcpID0gQ2hvb3NlUmVhbE5fUmVhbDMyIChBKQ0Kc3RydWN0
dXJlIEMyX0RvdWJsZSA9IHN0cnVjdCBvcGVuIFJlYWw2NCB0eXBlIHQgPSBy
ZWFsIGVuZA0KZnVuY3RvciBDMl9Eb3VibGVfQ2hvb3NlUmVhbE4gKEE6IENI
T09TRV9SRUFMTl9BUkcpID0gQ2hvb3NlUmVhbE5fUmVhbDY0IChBKQ0Kc3Ry
dWN0dXJlIEMyX1NpemUgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIgdHlwZSB0ID0g
d29yZCBlbmQNCmZ1bmN0b3IgQzJfU2l6ZV9DaG9vc2VXb3JkTiAoQTogQ0hP
T1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQoNCigq
IEMgKikNCnN0cnVjdHVyZSBDM19DaGFyID0gc3RydWN0IG9wZW4gSW50OCB0
eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMzX0NoYXJfQ2hvb3NlSW50TiAo
QTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50OCAoQSkNCnN0
cnVjdHVyZSBDM19TQ2hhciA9IHN0cnVjdCBvcGVuIEludDggdHlwZSB0ID0g
aW50IGVuZA0KZnVuY3RvciBDM19TQ2hhcl9DaG9vc2VJbnROIChBOiBDSE9P
U0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ4IChBKQ0Kc3RydWN0dXJl
IEMzX1VDaGFyID0gc3RydWN0IG9wZW4gV29yZDggdHlwZSB0ID0gd29yZCBl
bmQNCmZ1bmN0b3IgQzNfVUNoYXJfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9X
T1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDggKEEpDQpzdHJ1Y3R1cmUg
QzNfU2hvcnQgPSBzdHJ1Y3Qgb3BlbiBJbnQxNiB0eXBlIHQgPSBpbnQgZW5k
DQpmdW5jdG9yIEMzX1Nob3J0X0Nob29zZUludE4gKEE6IENIT09TRV9JTlRO
X0FSRykgPSBDaG9vc2VJbnROX0ludDE2IChBKQ0Kc3RydWN0dXJlIEMzX1NT
aG9ydCA9IHN0cnVjdCBvcGVuIEludDE2IHR5cGUgdCA9IGludCBlbmQNCmZ1
bmN0b3IgQzNfU1Nob3J0X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FS
RykgPSBDaG9vc2VJbnROX0ludDE2IChBKQ0Kc3RydWN0dXJlIEMzX1VTaG9y
dCA9IHN0cnVjdCBvcGVuIFdvcmQxNiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVu
Y3RvciBDM19VU2hvcnRfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9B
UkcpID0gQ2hvb3NlV29yZE5fV29yZDE2IChBKQ0Kc3RydWN0dXJlIEMzX0lu
dCA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0
b3IgQzNfSW50X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBD
aG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEMzX1NJbnQgPSBzdHJ1
Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMzX1NJ
bnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUlu
dE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzNfVUludCA9IHN0cnVjdCBvcGVu
IFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDM19VSW50X0No
b29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmRO
X1dvcmQzMiAoQSkNCnN0cnVjdHVyZSBDM19Mb25nID0gc3RydWN0IG9wZW4g
SW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDM19Mb25nX0Nob29z
ZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMy
IChBKQ0Kc3RydWN0dXJlIEMzX1NMb25nID0gc3RydWN0IG9wZW4gSW50MzIg
dHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDM19TTG9uZ19DaG9vc2VJbnRO
IChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkN
CnN0cnVjdHVyZSBDM19VTG9uZyA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBl
IHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDM19VTG9uZ19DaG9vc2VXb3JkTiAo
QTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEp
DQpzdHJ1Y3R1cmUgQzNfTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2NCB0
eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMzX0xvbmdMb25nX0Nob29zZUlu
dE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDY0IChB
KQ0Kc3RydWN0dXJlIEMzX1NMb25nTG9uZyA9IHN0cnVjdCBvcGVuIEludDY0
IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzNfU0xvbmdMb25nX0Nob29z
ZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDY0
IChBKQ0Kc3RydWN0dXJlIEMzX1VMb25nTG9uZyA9IHN0cnVjdCBvcGVuIFdv
cmQ2NCB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDM19VTG9uZ0xvbmdf
Q2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29y
ZE5fV29yZDY0IChBKQ0Kc3RydWN0dXJlIEMzX0Zsb2F0ID0gc3RydWN0IG9w
ZW4gUmVhbDMyIHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5jdG9yIEMzX0Zsb2F0
X0Nob29zZVJlYWxOIChBOiBDSE9PU0VfUkVBTE5fQVJHKSA9IENob29zZVJl
YWxOX1JlYWwzMiAoQSkNCnN0cnVjdHVyZSBDM19Eb3VibGUgPSBzdHJ1Y3Qg
b3BlbiBSZWFsNjQgdHlwZSB0ID0gcmVhbCBlbmQNCmZ1bmN0b3IgQzNfRG91
YmxlX0Nob29zZVJlYWxOIChBOiBDSE9PU0VfUkVBTE5fQVJHKSA9IENob29z
ZVJlYWxOX1JlYWw2NCAoQSkNCnN0cnVjdHVyZSBDM19TaXplID0gc3RydWN0
IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMzX1Np
emVfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3Nl
V29yZE5fV29yZDMyIChBKQ0KDQooKiBDICopDQpzdHJ1Y3R1cmUgQzRfQ2hh
ciA9IHN0cnVjdCBvcGVuIEludDggdHlwZSB0ID0gaW50IGVuZA0KZnVuY3Rv
ciBDNF9DaGFyX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBD
aG9vc2VJbnROX0ludDggKEEpDQpzdHJ1Y3R1cmUgQzRfU0NoYXIgPSBzdHJ1
Y3Qgb3BlbiBJbnQ4IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzRfU0No
YXJfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUlu
dE5fSW50OCAoQSkNCnN0cnVjdHVyZSBDNF9VQ2hhciA9IHN0cnVjdCBvcGVu
IFdvcmQ4IHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEM0X1VDaGFyX0No
b29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmRO
X1dvcmQ4IChBKQ0Kc3RydWN0dXJlIEM0X1Nob3J0ID0gc3RydWN0IG9wZW4g
SW50MTYgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDNF9TaG9ydF9DaG9v
c2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQx
NiAoQSkNCnN0cnVjdHVyZSBDNF9TU2hvcnQgPSBzdHJ1Y3Qgb3BlbiBJbnQx
NiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEM0X1NTaG9ydF9DaG9vc2VJ
bnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQxNiAo
QSkNCnN0cnVjdHVyZSBDNF9VU2hvcnQgPSBzdHJ1Y3Qgb3BlbiBXb3JkMTYg
dHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzRfVVNob3J0X0Nob29zZVdv
cmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQx
NiAoQSkNCnN0cnVjdHVyZSBDNF9JbnQgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0
eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEM0X0ludF9DaG9vc2VJbnROIChB
OiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0
cnVjdHVyZSBDNF9TSW50ID0gc3RydWN0IG9wZW4gSW50MzIgdHlwZSB0ID0g
aW50IGVuZA0KZnVuY3RvciBDNF9TSW50X0Nob29zZUludE4gKEE6IENIT09T
RV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJl
IEM0X1VJbnQgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIgdHlwZSB0ID0gd29yZCBl
bmQNCmZ1bmN0b3IgQzRfVUludF9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dP
UkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQpzdHJ1Y3R1cmUg
QzRfTG9uZyA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQN
CmZ1bmN0b3IgQzRfTG9uZ19DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9B
UkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVyZSBDNF9TTG9u
ZyA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0
b3IgQzRfU0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9
IENob29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzRfVUxvbmcgPSBz
dHJ1Y3Qgb3BlbiBXb3JkMzIgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3Ig
QzRfVUxvbmdfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0g
Q2hvb3NlV29yZE5fV29yZDMyIChBKQ0Kc3RydWN0dXJlIEM0X0xvbmdMb25n
ID0gc3RydWN0IG9wZW4gSW50NjQgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3Rv
ciBDNF9Mb25nTG9uZ19DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcp
ID0gQ2hvb3NlSW50Tl9JbnQ2NCAoQSkNCnN0cnVjdHVyZSBDNF9TTG9uZ0xv
bmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2NCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5j
dG9yIEM0X1NMb25nTG9uZ19DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9B
UkcpID0gQ2hvb3NlSW50Tl9JbnQ2NCAoQSkNCnN0cnVjdHVyZSBDNF9VTG9u
Z0xvbmcgPSBzdHJ1Y3Qgb3BlbiBXb3JkNjQgdHlwZSB0ID0gd29yZCBlbmQN
CmZ1bmN0b3IgQzRfVUxvbmdMb25nX0Nob29zZVdvcmROIChBOiBDSE9PU0Vf
V09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQ2NCAoQSkNCnN0cnVjdHVy
ZSBDNF9GbG9hdCA9IHN0cnVjdCBvcGVuIFJlYWwzMiB0eXBlIHQgPSByZWFs
IGVuZA0KZnVuY3RvciBDNF9GbG9hdF9DaG9vc2VSZWFsTiAoQTogQ0hPT1NF
X1JFQUxOX0FSRykgPSBDaG9vc2VSZWFsTl9SZWFsMzIgKEEpDQpzdHJ1Y3R1
cmUgQzRfRG91YmxlID0gc3RydWN0IG9wZW4gUmVhbDY0IHR5cGUgdCA9IHJl
YWwgZW5kDQpmdW5jdG9yIEM0X0RvdWJsZV9DaG9vc2VSZWFsTiAoQTogQ0hP
T1NFX1JFQUxOX0FSRykgPSBDaG9vc2VSZWFsTl9SZWFsNjQgKEEpDQpzdHJ1
Y3R1cmUgQzRfU2l6ZSA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3
b3JkIGVuZA0KZnVuY3RvciBDNF9TaXplX0Nob29zZVdvcmROIChBOiBDSE9P
U0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQzMiAoQSkNCg0KKCog
QyAqKQ0Kc3RydWN0dXJlIEM1X0NoYXIgPSBzdHJ1Y3Qgb3BlbiBJbnQ4IHR5
cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzVfQ2hhcl9DaG9vc2VJbnROIChB
OiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ4IChBKQ0Kc3Ry
dWN0dXJlIEM1X1NDaGFyID0gc3RydWN0IG9wZW4gSW50OCB0eXBlIHQgPSBp
bnQgZW5kDQpmdW5jdG9yIEM1X1NDaGFyX0Nob29zZUludE4gKEE6IENIT09T
RV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDggKEEpDQpzdHJ1Y3R1cmUg
QzVfVUNoYXIgPSBzdHJ1Y3Qgb3BlbiBXb3JkOCB0eXBlIHQgPSB3b3JkIGVu
ZA0KZnVuY3RvciBDNV9VQ2hhcl9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dP
UkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkOCAoQSkNCnN0cnVjdHVyZSBD
NV9TaG9ydCA9IHN0cnVjdCBvcGVuIEludDE2IHR5cGUgdCA9IGludCBlbmQN
CmZ1bmN0b3IgQzVfU2hvcnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5f
QVJHKSA9IENob29zZUludE5fSW50MTYgKEEpDQpzdHJ1Y3R1cmUgQzVfU1No
b3J0ID0gc3RydWN0IG9wZW4gSW50MTYgdHlwZSB0ID0gaW50IGVuZA0KZnVu
Y3RvciBDNV9TU2hvcnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJH
KSA9IENob29zZUludE5fSW50MTYgKEEpDQpzdHJ1Y3R1cmUgQzVfVVNob3J0
ID0gc3RydWN0IG9wZW4gV29yZDE2IHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5j
dG9yIEM1X1VTaG9ydF9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FS
RykgPSBDaG9vc2VXb3JkTl9Xb3JkMTYgKEEpDQpzdHJ1Y3R1cmUgQzVfSW50
ID0gc3RydWN0IG9wZW4gSW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3Rv
ciBDNV9JbnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENo
b29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzVfU0ludCA9IHN0cnVj
dCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzVfU0lu
dF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50
Tl9JbnQzMiAoQSkNCnN0cnVjdHVyZSBDNV9VSW50ID0gc3RydWN0IG9wZW4g
V29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEM1X1VJbnRfQ2hv
b3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5f
V29yZDMyIChBKQ0Kc3RydWN0dXJlIEM1X0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJ
bnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEM1X0xvbmdfQ2hvb3Nl
SW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MzIg
KEEpDQpzdHJ1Y3R1cmUgQzVfU0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0
eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEM1X1NMb25nX0Nob29zZUludE4g
KEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0K
c3RydWN0dXJlIEM1X1VMb25nID0gc3RydWN0IG9wZW4gV29yZDMyIHR5cGUg
dCA9IHdvcmQgZW5kDQpmdW5jdG9yIEM1X1VMb25nX0Nob29zZVdvcmROIChB
OiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQzMiAoQSkN
CnN0cnVjdHVyZSBDNV9Mb25nTG9uZyA9IHN0cnVjdCBvcGVuIEludDY0IHR5
cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzVfTG9uZ0xvbmdfQ2hvb3NlSW50
TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50NjQgKEEp
DQpzdHJ1Y3R1cmUgQzVfU0xvbmdMb25nID0gc3RydWN0IG9wZW4gSW50NjQg
dHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDNV9TTG9uZ0xvbmdfQ2hvb3Nl
SW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50NjQg
KEEpDQpzdHJ1Y3R1cmUgQzVfVUxvbmdMb25nID0gc3RydWN0IG9wZW4gV29y
ZDY0IHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEM1X1VMb25nTG9uZ19D
aG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3Jk
Tl9Xb3JkNjQgKEEpDQpzdHJ1Y3R1cmUgQzVfRmxvYXQgPSBzdHJ1Y3Qgb3Bl
biBSZWFsMzIgdHlwZSB0ID0gcmVhbCBlbmQNCmZ1bmN0b3IgQzVfRmxvYXRf
Q2hvb3NlUmVhbE4gKEE6IENIT09TRV9SRUFMTl9BUkcpID0gQ2hvb3NlUmVh
bE5fUmVhbDMyIChBKQ0Kc3RydWN0dXJlIEM1X0RvdWJsZSA9IHN0cnVjdCBv
cGVuIFJlYWw2NCB0eXBlIHQgPSByZWFsIGVuZA0KZnVuY3RvciBDNV9Eb3Vi
bGVfQ2hvb3NlUmVhbE4gKEE6IENIT09TRV9SRUFMTl9BUkcpID0gQ2hvb3Nl
UmVhbE5fUmVhbDY0IChBKQ0Kc3RydWN0dXJlIEM1X1NpemUgPSBzdHJ1Y3Qg
b3BlbiBXb3JkMzIgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzVfU2l6
ZV9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VX
b3JkTl9Xb3JkMzIgKEEpDQoNCigqIEMgKikNCnN0cnVjdHVyZSBDNl9DaGFy
ID0gc3RydWN0IG9wZW4gSW50OCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9y
IEM2X0NoYXJfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENo
b29zZUludE5fSW50OCAoQSkNCnN0cnVjdHVyZSBDNl9TQ2hhciA9IHN0cnVj
dCBvcGVuIEludDggdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDNl9TQ2hh
cl9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50
Tl9JbnQ4IChBKQ0Kc3RydWN0dXJlIEM2X1VDaGFyID0gc3RydWN0IG9wZW4g
V29yZDggdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzZfVUNoYXJfQ2hv
b3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5f
V29yZDggKEEpDQpzdHJ1Y3R1cmUgQzZfU2hvcnQgPSBzdHJ1Y3Qgb3BlbiBJ
bnQxNiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEM2X1Nob3J0X0Nob29z
ZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDE2
IChBKQ0Kc3RydWN0dXJlIEM2X1NTaG9ydCA9IHN0cnVjdCBvcGVuIEludDE2
IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzZfU1Nob3J0X0Nob29zZUlu
dE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDE2IChB
KQ0Kc3RydWN0dXJlIEM2X1VTaG9ydCA9IHN0cnVjdCBvcGVuIFdvcmQxNiB0
eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDNl9VU2hvcnRfQ2hvb3NlV29y
ZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDE2
IChBKQ0Kc3RydWN0dXJlIEM2X0ludCA9IHN0cnVjdCBvcGVuIEludDMyIHR5
cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzZfSW50X0Nob29zZUludE4gKEE6
IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3Ry
dWN0dXJlIEM2X1NJbnQgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBp
bnQgZW5kDQpmdW5jdG9yIEM2X1NJbnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NF
X0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUg
QzZfVUludCA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVu
ZA0KZnVuY3RvciBDNl9VSW50X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09S
RE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQzMiAoQSkNCnN0cnVjdHVyZSBD
Nl9Mb25nID0gc3RydWN0IG9wZW4gSW50MzIgdHlwZSB0ID0gaW50IGVuZA0K
ZnVuY3RvciBDNl9Mb25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FS
RykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEM2X1NMb25n
ID0gc3RydWN0IG9wZW4gSW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3Rv
ciBDNl9TTG9uZ19DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0g
Q2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVyZSBDNl9VTG9uZyA9IHN0
cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBD
Nl9VTG9uZ19DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBD
aG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQpzdHJ1Y3R1cmUgQzZfTG9uZ0xvbmcg
PSBzdHJ1Y3Qgb3BlbiBJbnQ2NCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9y
IEM2X0xvbmdMb25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykg
PSBDaG9vc2VJbnROX0ludDY0IChBKQ0Kc3RydWN0dXJlIEM2X1NMb25nTG9u
ZyA9IHN0cnVjdCBvcGVuIEludDY0IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0
b3IgQzZfU0xvbmdMb25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FS
RykgPSBDaG9vc2VJbnROX0ludDY0IChBKQ0Kc3RydWN0dXJlIEM2X1VMb25n
TG9uZyA9IHN0cnVjdCBvcGVuIFdvcmQ2NCB0eXBlIHQgPSB3b3JkIGVuZA0K
ZnVuY3RvciBDNl9VTG9uZ0xvbmdfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9X
T1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDY0IChBKQ0Kc3RydWN0dXJl
IEM2X0Zsb2F0ID0gc3RydWN0IG9wZW4gUmVhbDMyIHR5cGUgdCA9IHJlYWwg
ZW5kDQpmdW5jdG9yIEM2X0Zsb2F0X0Nob29zZVJlYWxOIChBOiBDSE9PU0Vf
UkVBTE5fQVJHKSA9IENob29zZVJlYWxOX1JlYWwzMiAoQSkNCnN0cnVjdHVy
ZSBDNl9Eb3VibGUgPSBzdHJ1Y3Qgb3BlbiBSZWFsNjQgdHlwZSB0ID0gcmVh
bCBlbmQNCmZ1bmN0b3IgQzZfRG91YmxlX0Nob29zZVJlYWxOIChBOiBDSE9P
U0VfUkVBTE5fQVJHKSA9IENob29zZVJlYWxOX1JlYWw2NCAoQSkNCnN0cnVj
dHVyZSBDNl9TaXplID0gc3RydWN0IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdv
cmQgZW5kDQpmdW5jdG9yIEM2X1NpemVfQ2hvb3NlV29yZE4gKEE6IENIT09T
RV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChBKQ0KDQooKiBD
ICopDQpzdHJ1Y3R1cmUgQzdfQ2hhciA9IHN0cnVjdCBvcGVuIEludDggdHlw
ZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDN19DaGFyX0Nob29zZUludE4gKEE6
IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDggKEEpDQpzdHJ1
Y3R1cmUgQzdfU0NoYXIgPSBzdHJ1Y3Qgb3BlbiBJbnQ4IHR5cGUgdCA9IGlu
dCBlbmQNCmZ1bmN0b3IgQzdfU0NoYXJfQ2hvb3NlSW50TiAoQTogQ0hPT1NF
X0lOVE5fQVJHKSA9IENob29zZUludE5fSW50OCAoQSkNCnN0cnVjdHVyZSBD
N19VQ2hhciA9IHN0cnVjdCBvcGVuIFdvcmQ4IHR5cGUgdCA9IHdvcmQgZW5k
DQpmdW5jdG9yIEM3X1VDaGFyX0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09S
RE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQ4IChBKQ0Kc3RydWN0dXJlIEM3
X1Nob3J0ID0gc3RydWN0IG9wZW4gSW50MTYgdHlwZSB0ID0gaW50IGVuZA0K
ZnVuY3RvciBDN19TaG9ydF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9B
UkcpID0gQ2hvb3NlSW50Tl9JbnQxNiAoQSkNCnN0cnVjdHVyZSBDN19TU2hv
cnQgPSBzdHJ1Y3Qgb3BlbiBJbnQxNiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5j
dG9yIEM3X1NTaG9ydF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcp
ID0gQ2hvb3NlSW50Tl9JbnQxNiAoQSkNCnN0cnVjdHVyZSBDN19VU2hvcnQg
PSBzdHJ1Y3Qgb3BlbiBXb3JkMTYgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0
b3IgQzdfVVNob3J0X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJH
KSA9IENob29zZVdvcmROX1dvcmQxNiAoQSkNCnN0cnVjdHVyZSBDN19JbnQg
PSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9y
IEM3X0ludF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hv
b3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVyZSBDN19TSW50ID0gc3RydWN0
IG9wZW4gSW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDN19TSW50
X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnRO
X0ludDMyIChBKQ0Kc3RydWN0dXJlIEM3X1VJbnQgPSBzdHJ1Y3Qgb3BlbiBX
b3JkMzIgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzdfVUludF9DaG9v
c2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9X
b3JkMzIgKEEpDQpzdHJ1Y3R1cmUgQzdfTG9uZyA9IHN0cnVjdCBvcGVuIElu
dDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzdfTG9uZ19DaG9vc2VJ
bnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAo
QSkNCnN0cnVjdHVyZSBDN19TTG9uZyA9IHN0cnVjdCBvcGVuIEludDMyIHR5
cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzdfU0xvbmdfQ2hvb3NlSW50TiAo
QTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MzIgKEEpDQpz
dHJ1Y3R1cmUgQzdfVUxvbmcgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIgdHlwZSB0
ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzdfVUxvbmdfQ2hvb3NlV29yZE4gKEE6
IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChBKQ0K
c3RydWN0dXJlIEM3X0xvbmdMb25nID0gc3RydWN0IG9wZW4gSW50NjQgdHlw
ZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDN19Mb25nTG9uZ19DaG9vc2VJbnRO
IChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ2NCAoQSkN
CnN0cnVjdHVyZSBDN19TTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2NCB0
eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEM3X1NMb25nTG9uZ19DaG9vc2VJ
bnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ2NCAo
QSkNCnN0cnVjdHVyZSBDN19VTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBXb3Jk
NjQgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzdfVUxvbmdMb25nX0No
b29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmRO
X1dvcmQ2NCAoQSkNCnN0cnVjdHVyZSBDN19GbG9hdCA9IHN0cnVjdCBvcGVu
IFJlYWwzMiB0eXBlIHQgPSByZWFsIGVuZA0KZnVuY3RvciBDN19GbG9hdF9D
aG9vc2VSZWFsTiAoQTogQ0hPT1NFX1JFQUxOX0FSRykgPSBDaG9vc2VSZWFs
Tl9SZWFsMzIgKEEpDQpzdHJ1Y3R1cmUgQzdfRG91YmxlID0gc3RydWN0IG9w
ZW4gUmVhbDY0IHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5jdG9yIEM3X0RvdWJs
ZV9DaG9vc2VSZWFsTiAoQTogQ0hPT1NFX1JFQUxOX0FSRykgPSBDaG9vc2VS
ZWFsTl9SZWFsNjQgKEEpDQpzdHJ1Y3R1cmUgQzdfU2l6ZSA9IHN0cnVjdCBv
cGVuIFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDN19TaXpl
X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdv
cmROX1dvcmQzMiAoQSkNCg0KKCogQyAqKQ0Kc3RydWN0dXJlIEM4X0NoYXIg
PSBzdHJ1Y3Qgb3BlbiBJbnQ4IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3Ig
QzhfQ2hhcl9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hv
b3NlSW50Tl9JbnQ4IChBKQ0Kc3RydWN0dXJlIEM4X1NDaGFyID0gc3RydWN0
IG9wZW4gSW50OCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEM4X1NDaGFy
X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnRO
X0ludDggKEEpDQpzdHJ1Y3R1cmUgQzhfVUNoYXIgPSBzdHJ1Y3Qgb3BlbiBX
b3JkOCB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDOF9VQ2hhcl9DaG9v
c2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9X
b3JkOCAoQSkNCnN0cnVjdHVyZSBDOF9TaG9ydCA9IHN0cnVjdCBvcGVuIElu
dDE2IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzhfU2hvcnRfQ2hvb3Nl
SW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MTYg
KEEpDQpzdHJ1Y3R1cmUgQzhfU1Nob3J0ID0gc3RydWN0IG9wZW4gSW50MTYg
dHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDOF9TU2hvcnRfQ2hvb3NlSW50
TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MTYgKEEp
DQpzdHJ1Y3R1cmUgQzhfVVNob3J0ID0gc3RydWN0IG9wZW4gV29yZDE2IHR5
cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEM4X1VTaG9ydF9DaG9vc2VXb3Jk
TiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMTYg
KEEpDQpzdHJ1Y3R1cmUgQzhfSW50ID0gc3RydWN0IG9wZW4gSW50MzIgdHlw
ZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDOF9JbnRfQ2hvb3NlSW50TiAoQTog
Q0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MzIgKEEpDQpzdHJ1
Y3R1cmUgQzhfU0ludCA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGlu
dCBlbmQNCmZ1bmN0b3IgQzhfU0ludF9DaG9vc2VJbnROIChBOiBDSE9PU0Vf
SU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVyZSBD
OF9VSW50ID0gc3RydWN0IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5k
DQpmdW5jdG9yIEM4X1VJbnRfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JE
Tl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChBKQ0Kc3RydWN0dXJlIEM4
X0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpm
dW5jdG9yIEM4X0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJH
KSA9IENob29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzhfU0xvbmcg
PSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9y
IEM4X1NMb25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBD
aG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEM4X1VMb25nID0gc3Ry
dWN0IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEM4
X1VMb25nX0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENo
b29zZVdvcmROX1dvcmQzMiAoQSkNCnN0cnVjdHVyZSBDOF9Mb25nTG9uZyA9
IHN0cnVjdCBvcGVuIEludDY0IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3Ig
QzhfTG9uZ0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9
IENob29zZUludE5fSW50NjQgKEEpDQpzdHJ1Y3R1cmUgQzhfU0xvbmdMb25n
ID0gc3RydWN0IG9wZW4gSW50NjQgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3Rv
ciBDOF9TTG9uZ0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJH
KSA9IENob29zZUludE5fSW50NjQgKEEpDQpzdHJ1Y3R1cmUgQzhfVUxvbmdM
b25nID0gc3RydWN0IG9wZW4gV29yZDY0IHR5cGUgdCA9IHdvcmQgZW5kDQpm
dW5jdG9yIEM4X1VMb25nTG9uZ19DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dP
UkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkNjQgKEEpDQpzdHJ1Y3R1cmUg
QzhfRmxvYXQgPSBzdHJ1Y3Qgb3BlbiBSZWFsMzIgdHlwZSB0ID0gcmVhbCBl
bmQNCmZ1bmN0b3IgQzhfRmxvYXRfQ2hvb3NlUmVhbE4gKEE6IENIT09TRV9S
RUFMTl9BUkcpID0gQ2hvb3NlUmVhbE5fUmVhbDMyIChBKQ0Kc3RydWN0dXJl
IEM4X0RvdWJsZSA9IHN0cnVjdCBvcGVuIFJlYWw2NCB0eXBlIHQgPSByZWFs
IGVuZA0KZnVuY3RvciBDOF9Eb3VibGVfQ2hvb3NlUmVhbE4gKEE6IENIT09T
RV9SRUFMTl9BUkcpID0gQ2hvb3NlUmVhbE5fUmVhbDY0IChBKQ0Kc3RydWN0
dXJlIEM4X1NpemUgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIgdHlwZSB0ID0gd29y
ZCBlbmQNCmZ1bmN0b3IgQzhfU2l6ZV9DaG9vc2VXb3JkTiAoQTogQ0hPT1NF
X1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQoNCigqIEMg
KikNCnN0cnVjdHVyZSBDOV9DaGFyID0gc3RydWN0IG9wZW4gSW50OCB0eXBl
IHQgPSBpbnQgZW5kDQpmdW5jdG9yIEM5X0NoYXJfQ2hvb3NlSW50TiAoQTog
Q0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50OCAoQSkNCnN0cnVj
dHVyZSBDOV9TQ2hhciA9IHN0cnVjdCBvcGVuIEludDggdHlwZSB0ID0gaW50
IGVuZA0KZnVuY3RvciBDOV9TQ2hhcl9DaG9vc2VJbnROIChBOiBDSE9PU0Vf
SU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ4IChBKQ0Kc3RydWN0dXJlIEM5
X1VDaGFyID0gc3RydWN0IG9wZW4gV29yZDggdHlwZSB0ID0gd29yZCBlbmQN
CmZ1bmN0b3IgQzlfVUNoYXJfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JE
Tl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDggKEEpDQpzdHJ1Y3R1cmUgQzlf
U2hvcnQgPSBzdHJ1Y3Qgb3BlbiBJbnQxNiB0eXBlIHQgPSBpbnQgZW5kDQpm
dW5jdG9yIEM5X1Nob3J0X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FS
RykgPSBDaG9vc2VJbnROX0ludDE2IChBKQ0Kc3RydWN0dXJlIEM5X1NTaG9y
dCA9IHN0cnVjdCBvcGVuIEludDE2IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0
b3IgQzlfU1Nob3J0X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykg
PSBDaG9vc2VJbnROX0ludDE2IChBKQ0Kc3RydWN0dXJlIEM5X1VTaG9ydCA9
IHN0cnVjdCBvcGVuIFdvcmQxNiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3Rv
ciBDOV9VU2hvcnRfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcp
ID0gQ2hvb3NlV29yZE5fV29yZDE2IChBKQ0Kc3RydWN0dXJlIEM5X0ludCA9
IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3Ig
QzlfSW50X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9v
c2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEM5X1NJbnQgPSBzdHJ1Y3Qg
b3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEM5X1NJbnRf
Q2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5f
SW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzlfVUludCA9IHN0cnVjdCBvcGVuIFdv
cmQzMiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDOV9VSW50X0Nob29z
ZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dv
cmQzMiAoQSkNCnN0cnVjdHVyZSBDOV9Mb25nID0gc3RydWN0IG9wZW4gSW50
MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDOV9Mb25nX0Nob29zZUlu
dE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChB
KQ0Kc3RydWN0dXJlIEM5X1NMb25nID0gc3RydWN0IG9wZW4gSW50MzIgdHlw
ZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDOV9TTG9uZ19DaG9vc2VJbnROIChB
OiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0
cnVjdHVyZSBDOV9VTG9uZyA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQg
PSB3b3JkIGVuZA0KZnVuY3RvciBDOV9VTG9uZ19DaG9vc2VXb3JkTiAoQTog
Q0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQpz
dHJ1Y3R1cmUgQzlfTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2NCB0eXBl
IHQgPSBpbnQgZW5kDQpmdW5jdG9yIEM5X0xvbmdMb25nX0Nob29zZUludE4g
KEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDY0IChBKQ0K
c3RydWN0dXJlIEM5X1NMb25nTG9uZyA9IHN0cnVjdCBvcGVuIEludDY0IHR5
cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzlfU0xvbmdMb25nX0Nob29zZUlu
dE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDY0IChB
KQ0Kc3RydWN0dXJlIEM5X1VMb25nTG9uZyA9IHN0cnVjdCBvcGVuIFdvcmQ2
NCB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDOV9VTG9uZ0xvbmdfQ2hv
b3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5f
V29yZDY0IChBKQ0Kc3RydWN0dXJlIEM5X0Zsb2F0ID0gc3RydWN0IG9wZW4g
UmVhbDMyIHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5jdG9yIEM5X0Zsb2F0X0No
b29zZVJlYWxOIChBOiBDSE9PU0VfUkVBTE5fQVJHKSA9IENob29zZVJlYWxO
X1JlYWwzMiAoQSkNCnN0cnVjdHVyZSBDOV9Eb3VibGUgPSBzdHJ1Y3Qgb3Bl
biBSZWFsNjQgdHlwZSB0ID0gcmVhbCBlbmQNCmZ1bmN0b3IgQzlfRG91Ymxl
X0Nob29zZVJlYWxOIChBOiBDSE9PU0VfUkVBTE5fQVJHKSA9IENob29zZVJl
YWxOX1JlYWw2NCAoQSkNCnN0cnVjdHVyZSBDOV9TaXplID0gc3RydWN0IG9w
ZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEM5X1NpemVf
Q2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29y
ZE5fV29yZDMyIChBKQ0KDQooKiBDICopDQpzdHJ1Y3R1cmUgQzEwX0NoYXIg
PSBzdHJ1Y3Qgb3BlbiBJbnQ4IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3Ig
QzEwX0NoYXJfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENo
b29zZUludE5fSW50OCAoQSkNCnN0cnVjdHVyZSBDMTBfU0NoYXIgPSBzdHJ1
Y3Qgb3BlbiBJbnQ4IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzEwX1ND
aGFyX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJ
bnROX0ludDggKEEpDQpzdHJ1Y3R1cmUgQzEwX1VDaGFyID0gc3RydWN0IG9w
ZW4gV29yZDggdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzEwX1VDaGFy
X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdv
cmROX1dvcmQ4IChBKQ0Kc3RydWN0dXJlIEMxMF9TaG9ydCA9IHN0cnVjdCBv
cGVuIEludDE2IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzEwX1Nob3J0
X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnRO
X0ludDE2IChBKQ0Kc3RydWN0dXJlIEMxMF9TU2hvcnQgPSBzdHJ1Y3Qgb3Bl
biBJbnQxNiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxMF9TU2hvcnRf
Q2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5f
SW50MTYgKEEpDQpzdHJ1Y3R1cmUgQzEwX1VTaG9ydCA9IHN0cnVjdCBvcGVu
IFdvcmQxNiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDMTBfVVNob3J0
X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdv
cmROX1dvcmQxNiAoQSkNCnN0cnVjdHVyZSBDMTBfSW50ID0gc3RydWN0IG9w
ZW4gSW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTBfSW50X0No
b29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0lu
dDMyIChBKQ0Kc3RydWN0dXJlIEMxMF9TSW50ID0gc3RydWN0IG9wZW4gSW50
MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTBfU0ludF9DaG9vc2VJ
bnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAo
QSkNCnN0cnVjdHVyZSBDMTBfVUludCA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0
eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDMTBfVUludF9DaG9vc2VXb3Jk
TiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIg
KEEpDQpzdHJ1Y3R1cmUgQzEwX0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0
eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxMF9Mb25nX0Nob29zZUludE4g
KEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0K
c3RydWN0dXJlIEMxMF9TTG9uZyA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUg
dCA9IGludCBlbmQNCmZ1bmN0b3IgQzEwX1NMb25nX0Nob29zZUludE4gKEE6
IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3Ry
dWN0dXJlIEMxMF9VTG9uZyA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQg
PSB3b3JkIGVuZA0KZnVuY3RvciBDMTBfVUxvbmdfQ2hvb3NlV29yZE4gKEE6
IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChBKQ0K
c3RydWN0dXJlIEMxMF9Mb25nTG9uZyA9IHN0cnVjdCBvcGVuIEludDY0IHR5
cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzEwX0xvbmdMb25nX0Nob29zZUlu
dE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDY0IChB
KQ0Kc3RydWN0dXJlIEMxMF9TTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2
NCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxMF9TTG9uZ0xvbmdfQ2hv
b3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50
NjQgKEEpDQpzdHJ1Y3R1cmUgQzEwX1VMb25nTG9uZyA9IHN0cnVjdCBvcGVu
IFdvcmQ2NCB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDMTBfVUxvbmdM
b25nX0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29z
ZVdvcmROX1dvcmQ2NCAoQSkNCnN0cnVjdHVyZSBDMTBfRmxvYXQgPSBzdHJ1
Y3Qgb3BlbiBSZWFsMzIgdHlwZSB0ID0gcmVhbCBlbmQNCmZ1bmN0b3IgQzEw
X0Zsb2F0X0Nob29zZVJlYWxOIChBOiBDSE9PU0VfUkVBTE5fQVJHKSA9IENo
b29zZVJlYWxOX1JlYWwzMiAoQSkNCnN0cnVjdHVyZSBDMTBfRG91YmxlID0g
c3RydWN0IG9wZW4gUmVhbDY0IHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5jdG9y
IEMxMF9Eb3VibGVfQ2hvb3NlUmVhbE4gKEE6IENIT09TRV9SRUFMTl9BUkcp
ID0gQ2hvb3NlUmVhbE5fUmVhbDY0IChBKQ0Kc3RydWN0dXJlIEMxMF9TaXpl
ID0gc3RydWN0IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5j
dG9yIEMxMF9TaXplX0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJH
KSA9IENob29zZVdvcmROX1dvcmQzMiAoQSkNCg0KKCogQyAqKQ0Kc3RydWN0
dXJlIEMxMV9DaGFyID0gc3RydWN0IG9wZW4gSW50OCB0eXBlIHQgPSBpbnQg
ZW5kDQpmdW5jdG9yIEMxMV9DaGFyX0Nob29zZUludE4gKEE6IENIT09TRV9J
TlROX0FSRykgPSBDaG9vc2VJbnROX0ludDggKEEpDQpzdHJ1Y3R1cmUgQzEx
X1NDaGFyID0gc3RydWN0IG9wZW4gSW50OCB0eXBlIHQgPSBpbnQgZW5kDQpm
dW5jdG9yIEMxMV9TQ2hhcl9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9B
UkcpID0gQ2hvb3NlSW50Tl9JbnQ4IChBKQ0Kc3RydWN0dXJlIEMxMV9VQ2hh
ciA9IHN0cnVjdCBvcGVuIFdvcmQ4IHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5j
dG9yIEMxMV9VQ2hhcl9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FS
RykgPSBDaG9vc2VXb3JkTl9Xb3JkOCAoQSkNCnN0cnVjdHVyZSBDMTFfU2hv
cnQgPSBzdHJ1Y3Qgb3BlbiBJbnQxNiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5j
dG9yIEMxMV9TaG9ydF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcp
ID0gQ2hvb3NlSW50Tl9JbnQxNiAoQSkNCnN0cnVjdHVyZSBDMTFfU1Nob3J0
ID0gc3RydWN0IG9wZW4gSW50MTYgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3Rv
ciBDMTFfU1Nob3J0X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykg
PSBDaG9vc2VJbnROX0ludDE2IChBKQ0Kc3RydWN0dXJlIEMxMV9VU2hvcnQg
PSBzdHJ1Y3Qgb3BlbiBXb3JkMTYgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0
b3IgQzExX1VTaG9ydF9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FS
RykgPSBDaG9vc2VXb3JkTl9Xb3JkMTYgKEEpDQpzdHJ1Y3R1cmUgQzExX0lu
dCA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0
b3IgQzExX0ludF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0g
Q2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVyZSBDMTFfU0ludCA9IHN0
cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzEx
X1NJbnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29z
ZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzExX1VJbnQgPSBzdHJ1Y3Qg
b3BlbiBXb3JkMzIgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzExX1VJ
bnRfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3Nl
V29yZE5fV29yZDMyIChBKQ0Kc3RydWN0dXJlIEMxMV9Mb25nID0gc3RydWN0
IG9wZW4gSW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTFfTG9u
Z19DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50
Tl9JbnQzMiAoQSkNCnN0cnVjdHVyZSBDMTFfU0xvbmcgPSBzdHJ1Y3Qgb3Bl
biBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxMV9TTG9uZ19D
aG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9J
bnQzMiAoQSkNCnN0cnVjdHVyZSBDMTFfVUxvbmcgPSBzdHJ1Y3Qgb3BlbiBX
b3JkMzIgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzExX1VMb25nX0No
b29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmRO
X1dvcmQzMiAoQSkNCnN0cnVjdHVyZSBDMTFfTG9uZ0xvbmcgPSBzdHJ1Y3Qg
b3BlbiBJbnQ2NCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxMV9Mb25n
TG9uZ19DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3Nl
SW50Tl9JbnQ2NCAoQSkNCnN0cnVjdHVyZSBDMTFfU0xvbmdMb25nID0gc3Ry
dWN0IG9wZW4gSW50NjQgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTFf
U0xvbmdMb25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBD
aG9vc2VJbnROX0ludDY0IChBKQ0Kc3RydWN0dXJlIEMxMV9VTG9uZ0xvbmcg
PSBzdHJ1Y3Qgb3BlbiBXb3JkNjQgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0
b3IgQzExX1VMb25nTG9uZ19DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkRO
X0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkNjQgKEEpDQpzdHJ1Y3R1cmUgQzEx
X0Zsb2F0ID0gc3RydWN0IG9wZW4gUmVhbDMyIHR5cGUgdCA9IHJlYWwgZW5k
DQpmdW5jdG9yIEMxMV9GbG9hdF9DaG9vc2VSZWFsTiAoQTogQ0hPT1NFX1JF
QUxOX0FSRykgPSBDaG9vc2VSZWFsTl9SZWFsMzIgKEEpDQpzdHJ1Y3R1cmUg
QzExX0RvdWJsZSA9IHN0cnVjdCBvcGVuIFJlYWw2NCB0eXBlIHQgPSByZWFs
IGVuZA0KZnVuY3RvciBDMTFfRG91YmxlX0Nob29zZVJlYWxOIChBOiBDSE9P
U0VfUkVBTE5fQVJHKSA9IENob29zZVJlYWxOX1JlYWw2NCAoQSkNCnN0cnVj
dHVyZSBDMTFfU2l6ZSA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3
b3JkIGVuZA0KZnVuY3RvciBDMTFfU2l6ZV9DaG9vc2VXb3JkTiAoQTogQ0hP
T1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQoNCigq
IEMgKikNCnN0cnVjdHVyZSBDMTJfQ2hhciA9IHN0cnVjdCBvcGVuIEludDgg
dHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTJfQ2hhcl9DaG9vc2VJbnRO
IChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ4IChBKQ0K
c3RydWN0dXJlIEMxMl9TQ2hhciA9IHN0cnVjdCBvcGVuIEludDggdHlwZSB0
ID0gaW50IGVuZA0KZnVuY3RvciBDMTJfU0NoYXJfQ2hvb3NlSW50TiAoQTog
Q0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50OCAoQSkNCnN0cnVj
dHVyZSBDMTJfVUNoYXIgPSBzdHJ1Y3Qgb3BlbiBXb3JkOCB0eXBlIHQgPSB3
b3JkIGVuZA0KZnVuY3RvciBDMTJfVUNoYXJfQ2hvb3NlV29yZE4gKEE6IENI
T09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDggKEEpDQpzdHJ1
Y3R1cmUgQzEyX1Nob3J0ID0gc3RydWN0IG9wZW4gSW50MTYgdHlwZSB0ID0g
aW50IGVuZA0KZnVuY3RvciBDMTJfU2hvcnRfQ2hvb3NlSW50TiAoQTogQ0hP
T1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MTYgKEEpDQpzdHJ1Y3R1
cmUgQzEyX1NTaG9ydCA9IHN0cnVjdCBvcGVuIEludDE2IHR5cGUgdCA9IGlu
dCBlbmQNCmZ1bmN0b3IgQzEyX1NTaG9ydF9DaG9vc2VJbnROIChBOiBDSE9P
U0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQxNiAoQSkNCnN0cnVjdHVy
ZSBDMTJfVVNob3J0ID0gc3RydWN0IG9wZW4gV29yZDE2IHR5cGUgdCA9IHdv
cmQgZW5kDQpmdW5jdG9yIEMxMl9VU2hvcnRfQ2hvb3NlV29yZE4gKEE6IENI
T09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDE2IChBKQ0Kc3Ry
dWN0dXJlIEMxMl9JbnQgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBp
bnQgZW5kDQpmdW5jdG9yIEMxMl9JbnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NF
X0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUg
QzEyX1NJbnQgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5k
DQpmdW5jdG9yIEMxMl9TSW50X0Nob29zZUludE4gKEE6IENIT09TRV9JTlRO
X0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEMxMl9V
SW50ID0gc3RydWN0IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpm
dW5jdG9yIEMxMl9VSW50X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5f
QVJHKSA9IENob29zZVdvcmROX1dvcmQzMiAoQSkNCnN0cnVjdHVyZSBDMTJf
TG9uZyA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1
bmN0b3IgQzEyX0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJH
KSA9IENob29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzEyX1NMb25n
ID0gc3RydWN0IG9wZW4gSW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3Rv
ciBDMTJfU0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9
IENob29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzEyX1VMb25nID0g
c3RydWN0IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9y
IEMxMl9VTG9uZ19DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykg
PSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQpzdHJ1Y3R1cmUgQzEyX0xvbmdM
b25nID0gc3RydWN0IG9wZW4gSW50NjQgdHlwZSB0ID0gaW50IGVuZA0KZnVu
Y3RvciBDMTJfTG9uZ0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5f
QVJHKSA9IENob29zZUludE5fSW50NjQgKEEpDQpzdHJ1Y3R1cmUgQzEyX1NM
b25nTG9uZyA9IHN0cnVjdCBvcGVuIEludDY0IHR5cGUgdCA9IGludCBlbmQN
CmZ1bmN0b3IgQzEyX1NMb25nTG9uZ19DaG9vc2VJbnROIChBOiBDSE9PU0Vf
SU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ2NCAoQSkNCnN0cnVjdHVyZSBD
MTJfVUxvbmdMb25nID0gc3RydWN0IG9wZW4gV29yZDY0IHR5cGUgdCA9IHdv
cmQgZW5kDQpmdW5jdG9yIEMxMl9VTG9uZ0xvbmdfQ2hvb3NlV29yZE4gKEE6
IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDY0IChBKQ0K
c3RydWN0dXJlIEMxMl9GbG9hdCA9IHN0cnVjdCBvcGVuIFJlYWwzMiB0eXBl
IHQgPSByZWFsIGVuZA0KZnVuY3RvciBDMTJfRmxvYXRfQ2hvb3NlUmVhbE4g
KEE6IENIT09TRV9SRUFMTl9BUkcpID0gQ2hvb3NlUmVhbE5fUmVhbDMyIChB
KQ0Kc3RydWN0dXJlIEMxMl9Eb3VibGUgPSBzdHJ1Y3Qgb3BlbiBSZWFsNjQg
dHlwZSB0ID0gcmVhbCBlbmQNCmZ1bmN0b3IgQzEyX0RvdWJsZV9DaG9vc2VS
ZWFsTiAoQTogQ0hPT1NFX1JFQUxOX0FSRykgPSBDaG9vc2VSZWFsTl9SZWFs
NjQgKEEpDQpzdHJ1Y3R1cmUgQzEyX1NpemUgPSBzdHJ1Y3Qgb3BlbiBXb3Jk
MzIgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzEyX1NpemVfQ2hvb3Nl
V29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29y
ZDMyIChBKQ0KDQooKiBDICopDQpzdHJ1Y3R1cmUgQzEzX0NoYXIgPSBzdHJ1
Y3Qgb3BlbiBJbnQ4IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzEzX0No
YXJfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUlu
dE5fSW50OCAoQSkNCnN0cnVjdHVyZSBDMTNfU0NoYXIgPSBzdHJ1Y3Qgb3Bl
biBJbnQ4IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzEzX1NDaGFyX0No
b29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0lu
dDggKEEpDQpzdHJ1Y3R1cmUgQzEzX1VDaGFyID0gc3RydWN0IG9wZW4gV29y
ZDggdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzEzX1VDaGFyX0Nob29z
ZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dv
cmQ4IChBKQ0Kc3RydWN0dXJlIEMxM19TaG9ydCA9IHN0cnVjdCBvcGVuIElu
dDE2IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzEzX1Nob3J0X0Nob29z
ZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDE2
IChBKQ0Kc3RydWN0dXJlIEMxM19TU2hvcnQgPSBzdHJ1Y3Qgb3BlbiBJbnQx
NiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxM19TU2hvcnRfQ2hvb3Nl
SW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MTYg
KEEpDQpzdHJ1Y3R1cmUgQzEzX1VTaG9ydCA9IHN0cnVjdCBvcGVuIFdvcmQx
NiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDMTNfVVNob3J0X0Nob29z
ZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dv
cmQxNiAoQSkNCnN0cnVjdHVyZSBDMTNfSW50ID0gc3RydWN0IG9wZW4gSW50
MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTNfSW50X0Nob29zZUlu
dE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChB
KQ0Kc3RydWN0dXJlIEMxM19TSW50ID0gc3RydWN0IG9wZW4gSW50MzIgdHlw
ZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTNfU0ludF9DaG9vc2VJbnROIChB
OiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0
cnVjdHVyZSBDMTNfVUludCA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQg
PSB3b3JkIGVuZA0KZnVuY3RvciBDMTNfVUludF9DaG9vc2VXb3JkTiAoQTog
Q0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQpz
dHJ1Y3R1cmUgQzEzX0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQg
PSBpbnQgZW5kDQpmdW5jdG9yIEMxM19Mb25nX0Nob29zZUludE4gKEE6IENI
T09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0
dXJlIEMxM19TTG9uZyA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGlu
dCBlbmQNCmZ1bmN0b3IgQzEzX1NMb25nX0Nob29zZUludE4gKEE6IENIT09T
RV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJl
IEMxM19VTG9uZyA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3Jk
IGVuZA0KZnVuY3RvciBDMTNfVUxvbmdfQ2hvb3NlV29yZE4gKEE6IENIT09T
RV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChBKQ0Kc3RydWN0
dXJlIEMxM19Mb25nTG9uZyA9IHN0cnVjdCBvcGVuIEludDY0IHR5cGUgdCA9
IGludCBlbmQNCmZ1bmN0b3IgQzEzX0xvbmdMb25nX0Nob29zZUludE4gKEE6
IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDY0IChBKQ0Kc3Ry
dWN0dXJlIEMxM19TTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2NCB0eXBl
IHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxM19TTG9uZ0xvbmdfQ2hvb3NlSW50
TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50NjQgKEEp
DQpzdHJ1Y3R1cmUgQzEzX1VMb25nTG9uZyA9IHN0cnVjdCBvcGVuIFdvcmQ2
NCB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDMTNfVUxvbmdMb25nX0No
b29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmRO
X1dvcmQ2NCAoQSkNCnN0cnVjdHVyZSBDMTNfRmxvYXQgPSBzdHJ1Y3Qgb3Bl
biBSZWFsMzIgdHlwZSB0ID0gcmVhbCBlbmQNCmZ1bmN0b3IgQzEzX0Zsb2F0
X0Nob29zZVJlYWxOIChBOiBDSE9PU0VfUkVBTE5fQVJHKSA9IENob29zZVJl
YWxOX1JlYWwzMiAoQSkNCnN0cnVjdHVyZSBDMTNfRG91YmxlID0gc3RydWN0
IG9wZW4gUmVhbDY0IHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5jdG9yIEMxM19E
b3VibGVfQ2hvb3NlUmVhbE4gKEE6IENIT09TRV9SRUFMTl9BUkcpID0gQ2hv
b3NlUmVhbE5fUmVhbDY0IChBKQ0Kc3RydWN0dXJlIEMxM19TaXplID0gc3Ry
dWN0IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMx
M19TaXplX0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENo
b29zZVdvcmROX1dvcmQzMiAoQSkNCg0KKCogQyAqKQ0Kc3RydWN0dXJlIEMx
NF9DaGFyID0gc3RydWN0IG9wZW4gSW50OCB0eXBlIHQgPSBpbnQgZW5kDQpm
dW5jdG9yIEMxNF9DaGFyX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FS
RykgPSBDaG9vc2VJbnROX0ludDggKEEpDQpzdHJ1Y3R1cmUgQzE0X1NDaGFy
ID0gc3RydWN0IG9wZW4gSW50OCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9y
IEMxNF9TQ2hhcl9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0g
Q2hvb3NlSW50Tl9JbnQ4IChBKQ0Kc3RydWN0dXJlIEMxNF9VQ2hhciA9IHN0
cnVjdCBvcGVuIFdvcmQ4IHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMx
NF9VQ2hhcl9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBD
aG9vc2VXb3JkTl9Xb3JkOCAoQSkNCnN0cnVjdHVyZSBDMTRfU2hvcnQgPSBz
dHJ1Y3Qgb3BlbiBJbnQxNiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMx
NF9TaG9ydF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hv
b3NlSW50Tl9JbnQxNiAoQSkNCnN0cnVjdHVyZSBDMTRfU1Nob3J0ID0gc3Ry
dWN0IG9wZW4gSW50MTYgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTRf
U1Nob3J0X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9v
c2VJbnROX0ludDE2IChBKQ0Kc3RydWN0dXJlIEMxNF9VU2hvcnQgPSBzdHJ1
Y3Qgb3BlbiBXb3JkMTYgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzE0
X1VTaG9ydF9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBD
aG9vc2VXb3JkTl9Xb3JkMTYgKEEpDQpzdHJ1Y3R1cmUgQzE0X0ludCA9IHN0
cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzE0
X0ludF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3Nl
SW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVyZSBDMTRfU0ludCA9IHN0cnVjdCBv
cGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzE0X1NJbnRf
Q2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5f
SW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzE0X1VJbnQgPSBzdHJ1Y3Qgb3BlbiBX
b3JkMzIgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzE0X1VJbnRfQ2hv
b3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5f
V29yZDMyIChBKQ0Kc3RydWN0dXJlIEMxNF9Mb25nID0gc3RydWN0IG9wZW4g
SW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTRfTG9uZ19DaG9v
c2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQz
MiAoQSkNCnN0cnVjdHVyZSBDMTRfU0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQz
MiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxNF9TTG9uZ19DaG9vc2VJ
bnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAo
QSkNCnN0cnVjdHVyZSBDMTRfVUxvbmcgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIg
dHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzE0X1VMb25nX0Nob29zZVdv
cmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQz
MiAoQSkNCnN0cnVjdHVyZSBDMTRfTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJ
bnQ2NCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxNF9Mb25nTG9uZ19D
aG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9J
bnQ2NCAoQSkNCnN0cnVjdHVyZSBDMTRfU0xvbmdMb25nID0gc3RydWN0IG9w
ZW4gSW50NjQgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTRfU0xvbmdM
b25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJ
bnROX0ludDY0IChBKQ0Kc3RydWN0dXJlIEMxNF9VTG9uZ0xvbmcgPSBzdHJ1
Y3Qgb3BlbiBXb3JkNjQgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzE0
X1VMb25nTG9uZ19DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykg
PSBDaG9vc2VXb3JkTl9Xb3JkNjQgKEEpDQpzdHJ1Y3R1cmUgQzE0X0Zsb2F0
ID0gc3RydWN0IG9wZW4gUmVhbDMyIHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5j
dG9yIEMxNF9GbG9hdF9DaG9vc2VSZWFsTiAoQTogQ0hPT1NFX1JFQUxOX0FS
RykgPSBDaG9vc2VSZWFsTl9SZWFsMzIgKEEpDQpzdHJ1Y3R1cmUgQzE0X0Rv
dWJsZSA9IHN0cnVjdCBvcGVuIFJlYWw2NCB0eXBlIHQgPSByZWFsIGVuZA0K
ZnVuY3RvciBDMTRfRG91YmxlX0Nob29zZVJlYWxOIChBOiBDSE9PU0VfUkVB
TE5fQVJHKSA9IENob29zZVJlYWxOX1JlYWw2NCAoQSkNCnN0cnVjdHVyZSBD
MTRfU2l6ZSA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVu
ZA0KZnVuY3RvciBDMTRfU2l6ZV9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dP
UkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQoNCigqIEMgKikN
CnN0cnVjdHVyZSBDMTVfQ2hhciA9IHN0cnVjdCBvcGVuIEludDggdHlwZSB0
ID0gaW50IGVuZA0KZnVuY3RvciBDMTVfQ2hhcl9DaG9vc2VJbnROIChBOiBD
SE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ4IChBKQ0Kc3RydWN0
dXJlIEMxNV9TQ2hhciA9IHN0cnVjdCBvcGVuIEludDggdHlwZSB0ID0gaW50
IGVuZA0KZnVuY3RvciBDMTVfU0NoYXJfQ2hvb3NlSW50TiAoQTogQ0hPT1NF
X0lOVE5fQVJHKSA9IENob29zZUludE5fSW50OCAoQSkNCnN0cnVjdHVyZSBD
MTVfVUNoYXIgPSBzdHJ1Y3Qgb3BlbiBXb3JkOCB0eXBlIHQgPSB3b3JkIGVu
ZA0KZnVuY3RvciBDMTVfVUNoYXJfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9X
T1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDggKEEpDQpzdHJ1Y3R1cmUg
QzE1X1Nob3J0ID0gc3RydWN0IG9wZW4gSW50MTYgdHlwZSB0ID0gaW50IGVu
ZA0KZnVuY3RvciBDMTVfU2hvcnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lO
VE5fQVJHKSA9IENob29zZUludE5fSW50MTYgKEEpDQpzdHJ1Y3R1cmUgQzE1
X1NTaG9ydCA9IHN0cnVjdCBvcGVuIEludDE2IHR5cGUgdCA9IGludCBlbmQN
CmZ1bmN0b3IgQzE1X1NTaG9ydF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5U
Tl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQxNiAoQSkNCnN0cnVjdHVyZSBDMTVf
VVNob3J0ID0gc3RydWN0IG9wZW4gV29yZDE2IHR5cGUgdCA9IHdvcmQgZW5k
DQpmdW5jdG9yIEMxNV9VU2hvcnRfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9X
T1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDE2IChBKQ0Kc3RydWN0dXJl
IEMxNV9JbnQgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5k
DQpmdW5jdG9yIEMxNV9JbnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5f
QVJHKSA9IENob29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzE1X1NJ
bnQgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5j
dG9yIEMxNV9TSW50X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykg
PSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEMxNV9VSW50ID0g
c3RydWN0IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9y
IEMxNV9VSW50X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9
IENob29zZVdvcmROX1dvcmQzMiAoQSkNCnN0cnVjdHVyZSBDMTVfTG9uZyA9
IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3Ig
QzE1X0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENo
b29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzE1X1NMb25nID0gc3Ry
dWN0IG9wZW4gSW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTVf
U0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29z
ZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzE1X1VMb25nID0gc3RydWN0
IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMxNV9V
TG9uZ19DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9v
c2VXb3JkTl9Xb3JkMzIgKEEpDQpzdHJ1Y3R1cmUgQzE1X0xvbmdMb25nID0g
c3RydWN0IG9wZW4gSW50NjQgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBD
MTVfTG9uZ0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9
IENob29zZUludE5fSW50NjQgKEEpDQpzdHJ1Y3R1cmUgQzE1X1NMb25nTG9u
ZyA9IHN0cnVjdCBvcGVuIEludDY0IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0
b3IgQzE1X1NMb25nTG9uZ19DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9B
UkcpID0gQ2hvb3NlSW50Tl9JbnQ2NCAoQSkNCnN0cnVjdHVyZSBDMTVfVUxv
bmdMb25nID0gc3RydWN0IG9wZW4gV29yZDY0IHR5cGUgdCA9IHdvcmQgZW5k
DQpmdW5jdG9yIEMxNV9VTG9uZ0xvbmdfQ2hvb3NlV29yZE4gKEE6IENIT09T
RV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDY0IChBKQ0Kc3RydWN0
dXJlIEMxNV9GbG9hdCA9IHN0cnVjdCBvcGVuIFJlYWwzMiB0eXBlIHQgPSBy
ZWFsIGVuZA0KZnVuY3RvciBDMTVfRmxvYXRfQ2hvb3NlUmVhbE4gKEE6IENI
T09TRV9SRUFMTl9BUkcpID0gQ2hvb3NlUmVhbE5fUmVhbDMyIChBKQ0Kc3Ry
dWN0dXJlIEMxNV9Eb3VibGUgPSBzdHJ1Y3Qgb3BlbiBSZWFsNjQgdHlwZSB0
ID0gcmVhbCBlbmQNCmZ1bmN0b3IgQzE1X0RvdWJsZV9DaG9vc2VSZWFsTiAo
QTogQ0hPT1NFX1JFQUxOX0FSRykgPSBDaG9vc2VSZWFsTl9SZWFsNjQgKEEp
DQpzdHJ1Y3R1cmUgQzE1X1NpemUgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIgdHlw
ZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzE1X1NpemVfQ2hvb3NlV29yZE4g
KEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChB
KQ0KDQooKiBDICopDQpzdHJ1Y3R1cmUgQzE2X0NoYXIgPSBzdHJ1Y3Qgb3Bl
biBJbnQ4IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzE2X0NoYXJfQ2hv
b3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50
OCAoQSkNCnN0cnVjdHVyZSBDMTZfU0NoYXIgPSBzdHJ1Y3Qgb3BlbiBJbnQ4
IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzE2X1NDaGFyX0Nob29zZUlu
dE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDggKEEp
DQpzdHJ1Y3R1cmUgQzE2X1VDaGFyID0gc3RydWN0IG9wZW4gV29yZDggdHlw
ZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzE2X1VDaGFyX0Nob29zZVdvcmRO
IChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQ4IChB
KQ0Kc3RydWN0dXJlIEMxNl9TaG9ydCA9IHN0cnVjdCBvcGVuIEludDE2IHR5
cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzE2X1Nob3J0X0Nob29zZUludE4g
KEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDE2IChBKQ0K
c3RydWN0dXJlIEMxNl9TU2hvcnQgPSBzdHJ1Y3Qgb3BlbiBJbnQxNiB0eXBl
IHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxNl9TU2hvcnRfQ2hvb3NlSW50TiAo
QTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MTYgKEEpDQpz
dHJ1Y3R1cmUgQzE2X1VTaG9ydCA9IHN0cnVjdCBvcGVuIFdvcmQxNiB0eXBl
IHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDMTZfVVNob3J0X0Nob29zZVdvcmRO
IChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQxNiAo
QSkNCnN0cnVjdHVyZSBDMTZfSW50ID0gc3RydWN0IG9wZW4gSW50MzIgdHlw
ZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTZfSW50X0Nob29zZUludE4gKEE6
IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3Ry
dWN0dXJlIEMxNl9TSW50ID0gc3RydWN0IG9wZW4gSW50MzIgdHlwZSB0ID0g
aW50IGVuZA0KZnVuY3RvciBDMTZfU0ludF9DaG9vc2VJbnROIChBOiBDSE9P
U0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVy
ZSBDMTZfVUludCA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3Jk
IGVuZA0KZnVuY3RvciBDMTZfVUludF9DaG9vc2VXb3JkTiAoQTogQ0hPT1NF
X1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQpzdHJ1Y3R1
cmUgQzE2X0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQg
ZW5kDQpmdW5jdG9yIEMxNl9Mb25nX0Nob29zZUludE4gKEE6IENIT09TRV9J
TlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEMx
Nl9TTG9uZyA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQN
CmZ1bmN0b3IgQzE2X1NMb25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlRO
X0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEMxNl9V
TG9uZyA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVuZA0K
ZnVuY3RvciBDMTZfVUxvbmdfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JE
Tl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChBKQ0Kc3RydWN0dXJlIEMx
Nl9Mb25nTG9uZyA9IHN0cnVjdCBvcGVuIEludDY0IHR5cGUgdCA9IGludCBl
bmQNCmZ1bmN0b3IgQzE2X0xvbmdMb25nX0Nob29zZUludE4gKEE6IENIT09T
RV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDY0IChBKQ0Kc3RydWN0dXJl
IEMxNl9TTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2NCB0eXBlIHQgPSBp
bnQgZW5kDQpmdW5jdG9yIEMxNl9TTG9uZ0xvbmdfQ2hvb3NlSW50TiAoQTog
Q0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50NjQgKEEpDQpzdHJ1
Y3R1cmUgQzE2X1VMb25nTG9uZyA9IHN0cnVjdCBvcGVuIFdvcmQ2NCB0eXBl
IHQgPSB3b3JkIGVuZA0KZnVuY3RvciBDMTZfVUxvbmdMb25nX0Nob29zZVdv
cmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQ2
NCAoQSkNCnN0cnVjdHVyZSBDMTZfRmxvYXQgPSBzdHJ1Y3Qgb3BlbiBSZWFs
MzIgdHlwZSB0ID0gcmVhbCBlbmQNCmZ1bmN0b3IgQzE2X0Zsb2F0X0Nob29z
ZVJlYWxOIChBOiBDSE9PU0VfUkVBTE5fQVJHKSA9IENob29zZVJlYWxOX1Jl
YWwzMiAoQSkNCnN0cnVjdHVyZSBDMTZfRG91YmxlID0gc3RydWN0IG9wZW4g
UmVhbDY0IHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5jdG9yIEMxNl9Eb3VibGVf
Q2hvb3NlUmVhbE4gKEE6IENIT09TRV9SRUFMTl9BUkcpID0gQ2hvb3NlUmVh
bE5fUmVhbDY0IChBKQ0Kc3RydWN0dXJlIEMxNl9TaXplID0gc3RydWN0IG9w
ZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMxNl9TaXpl
X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdv
cmROX1dvcmQzMiAoQSkNCg0KKCogQyAqKQ0Kc3RydWN0dXJlIEMxN19DaGFy
ID0gc3RydWN0IG9wZW4gSW50OCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9y
IEMxN19DaGFyX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBD
aG9vc2VJbnROX0ludDggKEEpDQpzdHJ1Y3R1cmUgQzE3X1NDaGFyID0gc3Ry
dWN0IG9wZW4gSW50OCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxN19T
Q2hhcl9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3Nl
SW50Tl9JbnQ4IChBKQ0Kc3RydWN0dXJlIEMxN19VQ2hhciA9IHN0cnVjdCBv
cGVuIFdvcmQ4IHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMxN19VQ2hh
cl9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VX
b3JkTl9Xb3JkOCAoQSkNCnN0cnVjdHVyZSBDMTdfU2hvcnQgPSBzdHJ1Y3Qg
b3BlbiBJbnQxNiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxN19TaG9y
dF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50
Tl9JbnQxNiAoQSkNCnN0cnVjdHVyZSBDMTdfU1Nob3J0ID0gc3RydWN0IG9w
ZW4gSW50MTYgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTdfU1Nob3J0
X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnRO
X0ludDE2IChBKQ0Kc3RydWN0dXJlIEMxN19VU2hvcnQgPSBzdHJ1Y3Qgb3Bl
biBXb3JkMTYgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzE3X1VTaG9y
dF9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VX
b3JkTl9Xb3JkMTYgKEEpDQpzdHJ1Y3R1cmUgQzE3X0ludCA9IHN0cnVjdCBv
cGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzE3X0ludF9D
aG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9J
bnQzMiAoQSkNCnN0cnVjdHVyZSBDMTdfU0ludCA9IHN0cnVjdCBvcGVuIElu
dDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzE3X1NJbnRfQ2hvb3Nl
SW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MzIg
KEEpDQpzdHJ1Y3R1cmUgQzE3X1VJbnQgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIg
dHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzE3X1VJbnRfQ2hvb3NlV29y
ZE4gKEE6IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMy
IChBKQ0Kc3RydWN0dXJlIEMxN19Mb25nID0gc3RydWN0IG9wZW4gSW50MzIg
dHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTdfTG9uZ19DaG9vc2VJbnRO
IChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkN
CnN0cnVjdHVyZSBDMTdfU0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBl
IHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxN19TTG9uZ19DaG9vc2VJbnROIChB
OiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0
cnVjdHVyZSBDMTdfVUxvbmcgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIgdHlwZSB0
ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzE3X1VMb25nX0Nob29zZVdvcmROIChB
OiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQzMiAoQSkN
CnN0cnVjdHVyZSBDMTdfTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2NCB0
eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMxN19Mb25nTG9uZ19DaG9vc2VJ
bnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ2NCAo
QSkNCnN0cnVjdHVyZSBDMTdfU0xvbmdMb25nID0gc3RydWN0IG9wZW4gSW50
NjQgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMTdfU0xvbmdMb25nX0No
b29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0lu
dDY0IChBKQ0Kc3RydWN0dXJlIEMxN19VTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3Bl
biBXb3JkNjQgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzE3X1VMb25n
TG9uZ19DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9v
c2VXb3JkTl9Xb3JkNjQgKEEpDQpzdHJ1Y3R1cmUgQzE3X0Zsb2F0ID0gc3Ry
dWN0IG9wZW4gUmVhbDMyIHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5jdG9yIEMx
N19GbG9hdF9DaG9vc2VSZWFsTiAoQTogQ0hPT1NFX1JFQUxOX0FSRykgPSBD
aG9vc2VSZWFsTl9SZWFsMzIgKEEpDQpzdHJ1Y3R1cmUgQzE3X0RvdWJsZSA9
IHN0cnVjdCBvcGVuIFJlYWw2NCB0eXBlIHQgPSByZWFsIGVuZA0KZnVuY3Rv
ciBDMTdfRG91YmxlX0Nob29zZVJlYWxOIChBOiBDSE9PU0VfUkVBTE5fQVJH
KSA9IENob29zZVJlYWxOX1JlYWw2NCAoQSkNCnN0cnVjdHVyZSBDMTdfU2l6
ZSA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVu
Y3RvciBDMTdfU2l6ZV9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FS
RykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQoNCigqIEMgKikNCnN0cnVj
dHVyZSBDMThfQ2hhciA9IHN0cnVjdCBvcGVuIEludDggdHlwZSB0ID0gaW50
IGVuZA0KZnVuY3RvciBDMThfQ2hhcl9DaG9vc2VJbnROIChBOiBDSE9PU0Vf
SU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ4IChBKQ0Kc3RydWN0dXJlIEMx
OF9TQ2hhciA9IHN0cnVjdCBvcGVuIEludDggdHlwZSB0ID0gaW50IGVuZA0K
ZnVuY3RvciBDMThfU0NoYXJfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5f
QVJHKSA9IENob29zZUludE5fSW50OCAoQSkNCnN0cnVjdHVyZSBDMThfVUNo
YXIgPSBzdHJ1Y3Qgb3BlbiBXb3JkOCB0eXBlIHQgPSB3b3JkIGVuZA0KZnVu
Y3RvciBDMThfVUNoYXJfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9B
UkcpID0gQ2hvb3NlV29yZE5fV29yZDggKEEpDQpzdHJ1Y3R1cmUgQzE4X1No
b3J0ID0gc3RydWN0IG9wZW4gSW50MTYgdHlwZSB0ID0gaW50IGVuZA0KZnVu
Y3RvciBDMThfU2hvcnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJH
KSA9IENob29zZUludE5fSW50MTYgKEEpDQpzdHJ1Y3R1cmUgQzE4X1NTaG9y
dCA9IHN0cnVjdCBvcGVuIEludDE2IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0
b3IgQzE4X1NTaG9ydF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcp
ID0gQ2hvb3NlSW50Tl9JbnQxNiAoQSkNCnN0cnVjdHVyZSBDMThfVVNob3J0
ID0gc3RydWN0IG9wZW4gV29yZDE2IHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5j
dG9yIEMxOF9VU2hvcnRfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9B
UkcpID0gQ2hvb3NlV29yZE5fV29yZDE2IChBKQ0Kc3RydWN0dXJlIEMxOF9J
bnQgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5j
dG9yIEMxOF9JbnRfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9
IENob29zZUludE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzE4X1NJbnQgPSBz
dHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMx
OF9TSW50X0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9v
c2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEMxOF9VSW50ID0gc3RydWN0
IG9wZW4gV29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMxOF9V
SW50X0Nob29zZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29z
ZVdvcmROX1dvcmQzMiAoQSkNCnN0cnVjdHVyZSBDMThfTG9uZyA9IHN0cnVj
dCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzE4X0xv
bmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUlu
dE5fSW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzE4X1NMb25nID0gc3RydWN0IG9w
ZW4gSW50MzIgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMThfU0xvbmdf
Q2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5f
SW50MzIgKEEpDQpzdHJ1Y3R1cmUgQzE4X1VMb25nID0gc3RydWN0IG9wZW4g
V29yZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMxOF9VTG9uZ19D
aG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3Jk
Tl9Xb3JkMzIgKEEpDQpzdHJ1Y3R1cmUgQzE4X0xvbmdMb25nID0gc3RydWN0
IG9wZW4gSW50NjQgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMThfTG9u
Z0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29z
ZUludE5fSW50NjQgKEEpDQpzdHJ1Y3R1cmUgQzE4X1NMb25nTG9uZyA9IHN0
cnVjdCBvcGVuIEludDY0IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzE4
X1NMb25nTG9uZ19DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0g
Q2hvb3NlSW50Tl9JbnQ2NCAoQSkNCnN0cnVjdHVyZSBDMThfVUxvbmdMb25n
ID0gc3RydWN0IG9wZW4gV29yZDY0IHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5j
dG9yIEMxOF9VTG9uZ0xvbmdfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JE
Tl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDY0IChBKQ0Kc3RydWN0dXJlIEMx
OF9GbG9hdCA9IHN0cnVjdCBvcGVuIFJlYWwzMiB0eXBlIHQgPSByZWFsIGVu
ZA0KZnVuY3RvciBDMThfRmxvYXRfQ2hvb3NlUmVhbE4gKEE6IENIT09TRV9S
RUFMTl9BUkcpID0gQ2hvb3NlUmVhbE5fUmVhbDMyIChBKQ0Kc3RydWN0dXJl
IEMxOF9Eb3VibGUgPSBzdHJ1Y3Qgb3BlbiBSZWFsNjQgdHlwZSB0ID0gcmVh
bCBlbmQNCmZ1bmN0b3IgQzE4X0RvdWJsZV9DaG9vc2VSZWFsTiAoQTogQ0hP
T1NFX1JFQUxOX0FSRykgPSBDaG9vc2VSZWFsTl9SZWFsNjQgKEEpDQpzdHJ1
Y3R1cmUgQzE4X1NpemUgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIgdHlwZSB0ID0g
d29yZCBlbmQNCmZ1bmN0b3IgQzE4X1NpemVfQ2hvb3NlV29yZE4gKEE6IENI
T09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChBKQ0KDQoo
KiBDICopDQpzdHJ1Y3R1cmUgQzE5X0NoYXIgPSBzdHJ1Y3Qgb3BlbiBJbnQ4
IHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzE5X0NoYXJfQ2hvb3NlSW50
TiAoQTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50OCAoQSkN
CnN0cnVjdHVyZSBDMTlfU0NoYXIgPSBzdHJ1Y3Qgb3BlbiBJbnQ4IHR5cGUg
dCA9IGludCBlbmQNCmZ1bmN0b3IgQzE5X1NDaGFyX0Nob29zZUludE4gKEE6
IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDggKEEpDQpzdHJ1
Y3R1cmUgQzE5X1VDaGFyID0gc3RydWN0IG9wZW4gV29yZDggdHlwZSB0ID0g
d29yZCBlbmQNCmZ1bmN0b3IgQzE5X1VDaGFyX0Nob29zZVdvcmROIChBOiBD
SE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQ4IChBKQ0Kc3Ry
dWN0dXJlIEMxOV9TaG9ydCA9IHN0cnVjdCBvcGVuIEludDE2IHR5cGUgdCA9
IGludCBlbmQNCmZ1bmN0b3IgQzE5X1Nob3J0X0Nob29zZUludE4gKEE6IENI
T09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDE2IChBKQ0Kc3RydWN0
dXJlIEMxOV9TU2hvcnQgPSBzdHJ1Y3Qgb3BlbiBJbnQxNiB0eXBlIHQgPSBp
bnQgZW5kDQpmdW5jdG9yIEMxOV9TU2hvcnRfQ2hvb3NlSW50TiAoQTogQ0hP
T1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MTYgKEEpDQpzdHJ1Y3R1
cmUgQzE5X1VTaG9ydCA9IHN0cnVjdCBvcGVuIFdvcmQxNiB0eXBlIHQgPSB3
b3JkIGVuZA0KZnVuY3RvciBDMTlfVVNob3J0X0Nob29zZVdvcmROIChBOiBD
SE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQxNiAoQSkNCnN0
cnVjdHVyZSBDMTlfSW50ID0gc3RydWN0IG9wZW4gSW50MzIgdHlwZSB0ID0g
aW50IGVuZA0KZnVuY3RvciBDMTlfSW50X0Nob29zZUludE4gKEE6IENIT09T
RV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJl
IEMxOV9TSW50ID0gc3RydWN0IG9wZW4gSW50MzIgdHlwZSB0ID0gaW50IGVu
ZA0KZnVuY3RvciBDMTlfU0ludF9DaG9vc2VJbnROIChBOiBDSE9PU0VfSU5U
Tl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVyZSBDMTlf
VUludCA9IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVuZA0K
ZnVuY3RvciBDMTlfVUludF9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkRO
X0FSRykgPSBDaG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQpzdHJ1Y3R1cmUgQzE5
X0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBpbnQgZW5kDQpm
dW5jdG9yIEMxOV9Mb25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FS
RykgPSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEMxOV9TTG9u
ZyA9IHN0cnVjdCBvcGVuIEludDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0
b3IgQzE5X1NMb25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykg
PSBDaG9vc2VJbnROX0ludDMyIChBKQ0Kc3RydWN0dXJlIEMxOV9VTG9uZyA9
IHN0cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3Rv
ciBDMTlfVUxvbmdfQ2hvb3NlV29yZE4gKEE6IENIT09TRV9XT1JETl9BUkcp
ID0gQ2hvb3NlV29yZE5fV29yZDMyIChBKQ0Kc3RydWN0dXJlIEMxOV9Mb25n
TG9uZyA9IHN0cnVjdCBvcGVuIEludDY0IHR5cGUgdCA9IGludCBlbmQNCmZ1
bmN0b3IgQzE5X0xvbmdMb25nX0Nob29zZUludE4gKEE6IENIT09TRV9JTlRO
X0FSRykgPSBDaG9vc2VJbnROX0ludDY0IChBKQ0Kc3RydWN0dXJlIEMxOV9T
TG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2NCB0eXBlIHQgPSBpbnQgZW5k
DQpmdW5jdG9yIEMxOV9TTG9uZ0xvbmdfQ2hvb3NlSW50TiAoQTogQ0hPT1NF
X0lOVE5fQVJHKSA9IENob29zZUludE5fSW50NjQgKEEpDQpzdHJ1Y3R1cmUg
QzE5X1VMb25nTG9uZyA9IHN0cnVjdCBvcGVuIFdvcmQ2NCB0eXBlIHQgPSB3
b3JkIGVuZA0KZnVuY3RvciBDMTlfVUxvbmdMb25nX0Nob29zZVdvcmROIChB
OiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQ2NCAoQSkN
CnN0cnVjdHVyZSBDMTlfRmxvYXQgPSBzdHJ1Y3Qgb3BlbiBSZWFsMzIgdHlw
ZSB0ID0gcmVhbCBlbmQNCmZ1bmN0b3IgQzE5X0Zsb2F0X0Nob29zZVJlYWxO
IChBOiBDSE9PU0VfUkVBTE5fQVJHKSA9IENob29zZVJlYWxOX1JlYWwzMiAo
QSkNCnN0cnVjdHVyZSBDMTlfRG91YmxlID0gc3RydWN0IG9wZW4gUmVhbDY0
IHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5jdG9yIEMxOV9Eb3VibGVfQ2hvb3Nl
UmVhbE4gKEE6IENIT09TRV9SRUFMTl9BUkcpID0gQ2hvb3NlUmVhbE5fUmVh
bDY0IChBKQ0Kc3RydWN0dXJlIEMxOV9TaXplID0gc3RydWN0IG9wZW4gV29y
ZDMyIHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMxOV9TaXplX0Nob29z
ZVdvcmROIChBOiBDSE9PU0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dv
cmQzMiAoQSkNCg0KKCogQyAqKQ0Kc3RydWN0dXJlIEMyMF9DaGFyID0gc3Ry
dWN0IG9wZW4gSW50OCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMyMF9D
aGFyX0Nob29zZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJ
bnROX0ludDggKEEpDQpzdHJ1Y3R1cmUgQzIwX1NDaGFyID0gc3RydWN0IG9w
ZW4gSW50OCB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMyMF9TQ2hhcl9D
aG9vc2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9J
bnQ4IChBKQ0Kc3RydWN0dXJlIEMyMF9VQ2hhciA9IHN0cnVjdCBvcGVuIFdv
cmQ4IHR5cGUgdCA9IHdvcmQgZW5kDQpmdW5jdG9yIEMyMF9VQ2hhcl9DaG9v
c2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9X
b3JkOCAoQSkNCnN0cnVjdHVyZSBDMjBfU2hvcnQgPSBzdHJ1Y3Qgb3BlbiBJ
bnQxNiB0eXBlIHQgPSBpbnQgZW5kDQpmdW5jdG9yIEMyMF9TaG9ydF9DaG9v
c2VJbnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQx
NiAoQSkNCnN0cnVjdHVyZSBDMjBfU1Nob3J0ID0gc3RydWN0IG9wZW4gSW50
MTYgdHlwZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMjBfU1Nob3J0X0Nob29z
ZUludE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDE2
IChBKQ0Kc3RydWN0dXJlIEMyMF9VU2hvcnQgPSBzdHJ1Y3Qgb3BlbiBXb3Jk
MTYgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzIwX1VTaG9ydF9DaG9v
c2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3JkTl9X
b3JkMTYgKEEpDQpzdHJ1Y3R1cmUgQzIwX0ludCA9IHN0cnVjdCBvcGVuIElu
dDMyIHR5cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzIwX0ludF9DaG9vc2VJ
bnROIChBOiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAo
QSkNCnN0cnVjdHVyZSBDMjBfU0ludCA9IHN0cnVjdCBvcGVuIEludDMyIHR5
cGUgdCA9IGludCBlbmQNCmZ1bmN0b3IgQzIwX1NJbnRfQ2hvb3NlSW50TiAo
QTogQ0hPT1NFX0lOVE5fQVJHKSA9IENob29zZUludE5fSW50MzIgKEEpDQpz
dHJ1Y3R1cmUgQzIwX1VJbnQgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIgdHlwZSB0
ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzIwX1VJbnRfQ2hvb3NlV29yZE4gKEE6
IENIT09TRV9XT1JETl9BUkcpID0gQ2hvb3NlV29yZE5fV29yZDMyIChBKQ0K
c3RydWN0dXJlIEMyMF9Mb25nID0gc3RydWN0IG9wZW4gSW50MzIgdHlwZSB0
ID0gaW50IGVuZA0KZnVuY3RvciBDMjBfTG9uZ19DaG9vc2VJbnROIChBOiBD
SE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVj
dHVyZSBDMjBfU0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQzMiB0eXBlIHQgPSBp
bnQgZW5kDQpmdW5jdG9yIEMyMF9TTG9uZ19DaG9vc2VJbnROIChBOiBDSE9P
U0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQzMiAoQSkNCnN0cnVjdHVy
ZSBDMjBfVUxvbmcgPSBzdHJ1Y3Qgb3BlbiBXb3JkMzIgdHlwZSB0ID0gd29y
ZCBlbmQNCmZ1bmN0b3IgQzIwX1VMb25nX0Nob29zZVdvcmROIChBOiBDSE9P
U0VfV09SRE5fQVJHKSA9IENob29zZVdvcmROX1dvcmQzMiAoQSkNCnN0cnVj
dHVyZSBDMjBfTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBJbnQ2NCB0eXBlIHQg
PSBpbnQgZW5kDQpmdW5jdG9yIEMyMF9Mb25nTG9uZ19DaG9vc2VJbnROIChB
OiBDSE9PU0VfSU5UTl9BUkcpID0gQ2hvb3NlSW50Tl9JbnQ2NCAoQSkNCnN0
cnVjdHVyZSBDMjBfU0xvbmdMb25nID0gc3RydWN0IG9wZW4gSW50NjQgdHlw
ZSB0ID0gaW50IGVuZA0KZnVuY3RvciBDMjBfU0xvbmdMb25nX0Nob29zZUlu
dE4gKEE6IENIT09TRV9JTlROX0FSRykgPSBDaG9vc2VJbnROX0ludDY0IChB
KQ0Kc3RydWN0dXJlIEMyMF9VTG9uZ0xvbmcgPSBzdHJ1Y3Qgb3BlbiBXb3Jk
NjQgdHlwZSB0ID0gd29yZCBlbmQNCmZ1bmN0b3IgQzIwX1VMb25nTG9uZ19D
aG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBDaG9vc2VXb3Jk
Tl9Xb3JkNjQgKEEpDQpzdHJ1Y3R1cmUgQzIwX0Zsb2F0ID0gc3RydWN0IG9w
ZW4gUmVhbDMyIHR5cGUgdCA9IHJlYWwgZW5kDQpmdW5jdG9yIEMyMF9GbG9h
dF9DaG9vc2VSZWFsTiAoQTogQ0hPT1NFX1JFQUxOX0FSRykgPSBDaG9vc2VS
ZWFsTl9SZWFsMzIgKEEpDQpzdHJ1Y3R1cmUgQzIwX0RvdWJsZSA9IHN0cnVj
dCBvcGVuIFJlYWw2NCB0eXBlIHQgPSByZWFsIGVuZA0KZnVuY3RvciBDMjBf
RG91YmxlX0Nob29zZVJlYWxOIChBOiBDSE9PU0VfUkVBTE5fQVJHKSA9IENo
b29zZVJlYWxOX1JlYWw2NCAoQSkNCnN0cnVjdHVyZSBDMjBfU2l6ZSA9IHN0
cnVjdCBvcGVuIFdvcmQzMiB0eXBlIHQgPSB3b3JkIGVuZA0KZnVuY3RvciBD
MjBfU2l6ZV9DaG9vc2VXb3JkTiAoQTogQ0hPT1NFX1dPUkROX0FSRykgPSBD
aG9vc2VXb3JkTl9Xb3JkMzIgKEEpDQoNCg==

--1417689696-313439160-1139069720=:15050--