<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>105104</bug_id>
          
          <creation_ts>2012-12-15 13:22:35 -0800</creation_ts>
          <short_desc>Make the NetworkProcess be managed by the WebContext, rather than a singleton NetworkProcessMananger</short_desc>
          <delta_ts>2012-12-15 16:24:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>792180</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-15 13:22:35 -0800</bug_when>
    <thetext>Make the NetworkProcess be managed by the WebContext, rather than a singleton NetworkProcessMananger</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792181</commentid>
    <comment_count>1</comment_count>
      <attachid>179611</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-15 13:26:42 -0800</bug_when>
    <thetext>Created attachment 179611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792182</commentid>
    <comment_count>2</comment_count>
      <attachid>179611</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-15 13:29:27 -0800</bug_when>
    <thetext>Comment on attachment 179611
Patch

OK. But as discussed in person, I&apos;m unsure if we can have multiple network processes, so we might end up undoing most or all of this patch later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792246</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-15 16:24:28 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/137808.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179611</attachid>
            <date>2012-12-15 13:26:42 -0800</date>
            <delta_ts>2012-12-15 13:29:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105104-20121215132402.patch</filename>
            <type>text/plain</type>
            <size>31286</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3ODA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTg3N2U1ZjcxZjQyMWU5
ZTJjNDQyZTZiOGMxNzNkNTczNDM1NGFlZS4uMTQyZmRmNjQ1YmI4ZjRhYzMxNzIwNGU4OWFhOWUy
ZTYwMjI0YmM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTEyLTE1ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSB0aGUgTmV0d29ya1Byb2Nl
c3MgYmUgbWFuYWdlZCBieSB0aGUgV2ViQ29udGV4dCwgcmF0aGVyIHRoYW4gYSBzaW5nbGV0b24g
TmV0d29ya1Byb2Nlc3NNYW5hbmdlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA1MTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTW92ZSB0byBoYXZpbmcgdGhlIFdlYkNvbnRleHQgb3duIGFuZCBtYW5h
Z2UgdGhlIE5ldHdvcmtQcm9jZXNzUHJveHkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc01hbmFnZXIuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzTWFuYWdlci5oOiBSZW1vdmVkLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzc1Byb3h5OjpOZXR3b3JrUHJvY2Vzc1Byb3h5KToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Byb2Nlc3NQcm94eTo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkT3JGYWlsZWRUb0xhdW5jaCk6
CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAg
ICAgICAoV2ViS2l0KToKKyAgICAgICAgKE5ldHdvcmtQcm9jZXNzUHJveHkpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9OZXR3b3JrL21hYy9OZXR3b3JrUHJvY2Vzc01hbmFnZXJNYWMubW06IFJlbW92
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb250ZXh0OjplbnN1cmVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNvbnRleHQ6OnJlbW92ZU5ldHdvcmtQcm9jZXNzUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJDb250ZXh0OjpnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb250ZXh0Ojp3aWxsU3RhcnRVc2luZ1ByaXZhdGVCcm93c2luZyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkNvbnRleHQ6OndpbGxTdG9wVXNpbmdQcml2YXRlQnJvd3NpbmcpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDb250ZXh0OjpjcmVhdGVOZXdXZWJQcm9jZXNzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViQ29udGV4dC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkNv
bnRleHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpuZXR3b3JrUHJvY2Vzcyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQcm94eTo6Z2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkNv
bnRleHQ6OmFwcGxpY2F0aW9uQmVjYW1lVmlzaWJsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNv
bnRleHQ6OmFwcGxpY2F0aW9uQmVjYW1lT2NjbHVkZWQpOgorICAgICAgICAqIFdlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0xMi0xNSAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEdldCByaWQgb2YgRG93bmxvYWRQcm94eU1h
cDo6ZG93bmxvYWRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc01hbmFnZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA0MzQwZGEzOTQwYjU2N2M4Zjg5MmIzMDkwNWI3NGNlMzE5N2FlMzQyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzTWFuYWdlci5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSw3NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAyMDEyIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzTWFuYWdlci5oIgotCi0jaW5jbHVkZSAiTmV0
d29ya1Byb2Nlc3NQcm94eS5oIgotCi0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLQotbmFt
ZXNwYWNlIFdlYktpdCB7Ci0KLU5ldHdvcmtQcm9jZXNzTWFuYWdlciYgTmV0d29ya1Byb2Nlc3NN
YW5hZ2VyOjpzaGFyZWQoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoTmV0d29ya1Byb2Nl
c3NNYW5hZ2VyLCBuZXR3b3JrUHJvY2Vzc01hbmFnZXIsICgpKTsKLSAgICByZXR1cm4gbmV0d29y
a1Byb2Nlc3NNYW5hZ2VyOwotfQotCi1OZXR3b3JrUHJvY2Vzc01hbmFnZXI6Ok5ldHdvcmtQcm9j
ZXNzTWFuYWdlcigpCi17Ci19Ci0KLXZvaWQgTmV0d29ya1Byb2Nlc3NNYW5hZ2VyOjpnZXROZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oUGFzc1JlZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5
OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4gcmVwbHkpCi17Ci0g
ICAgQVNTRVJUKHJlcGx5KTsKLQotICAgIGVuc3VyZU5ldHdvcmtQcm9jZXNzKCk7Ci0gICAgQVNT
RVJUKG1fbmV0d29ya1Byb2Nlc3MpOwotCi0gICAgbV9uZXR3b3JrUHJvY2Vzcy0+Z2V0TmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uKHJlcGx5KTsKLX0KLQotdm9pZCBOZXR3b3JrUHJvY2Vzc01hbmFn
ZXI6OmVuc3VyZU5ldHdvcmtQcm9jZXNzKCkKLXsKLSAgICBpZiAobV9uZXR3b3JrUHJvY2VzcykK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9uZXR3b3JrUHJvY2VzcyA9IE5ldHdvcmtQcm9jZXNz
UHJveHk6OmNyZWF0ZSh0aGlzKTsKLX0KLQotdm9pZCBOZXR3b3JrUHJvY2Vzc01hbmFnZXI6OnJl
bW92ZU5ldHdvcmtQcm9jZXNzUHJveHkoTmV0d29ya1Byb2Nlc3NQcm94eSogbmV0d29ya1Byb2Nl
c3NQcm94eSkKLXsKLSAgICBBU1NFUlQobV9uZXR3b3JrUHJvY2Vzcyk7Ci0gICAgQVNTRVJUKG5l
dHdvcmtQcm9jZXNzUHJveHkgPT0gbV9uZXR3b3JrUHJvY2Vzcy5nZXQoKSk7Ci0gICAgCi0gICAg
bV9uZXR3b3JrUHJvY2VzcyA9IDA7Ci19Ci0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNl
bmRpZiAvLyBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NNYW5hZ2VyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc01hbmFnZXIuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjU1YzBkMDg3ZmM5YzI2YWFkODVlY2IzN2M5MjUxNjg3ODNl
YzE3NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc01hbmFnZXIuaAorKysg
L2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIw
MTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIE5ldHdvcmtQcm9jZXNzTWFuYWdlcl9oCi0jZGVmaW5lIE5ldHdvcmtQcm9jZXNzTWFuYWdl
cl9oCi0KLSNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQotCi0jaW5jbHVkZSAiQ29ubmVjdGlv
bi5oIgotI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCi0jaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNw
YWNlIFdlYktpdCB7Ci0KLWNsYXNzIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjsKLWNsYXNzIE5l
dHdvcmtQcm9jZXNzUHJveHk7Ci1jbGFzcyBXZWJQcm9jZXNzUHJveHk7Ci0KLWNsYXNzIE5ldHdv
cmtQcm9jZXNzTWFuYWdlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1Byb2Nl
c3NNYW5hZ2VyKTsKLXB1YmxpYzoKLSAgICBzdGF0aWMgTmV0d29ya1Byb2Nlc3NNYW5hZ2VyJiBz
aGFyZWQoKTsKLQotICAgIHZvaWQgZW5zdXJlTmV0d29ya1Byb2Nlc3MoKTsKLQotICAgIE5ldHdv
cmtQcm9jZXNzUHJveHkqIHByb2Nlc3MoKSB7IHJldHVybiBtX25ldHdvcmtQcm9jZXNzLmdldCgp
OyB9Ci0KLSAgICB2b2lkIGdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1l
c3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6RGVs
YXllZFJlcGx5Pik7Ci0gICAgCi0gICAgdm9pZCByZW1vdmVOZXR3b3JrUHJvY2Vzc1Byb3h5KE5l
dHdvcmtQcm9jZXNzUHJveHkqKTsKLQotI2lmIFBMQVRGT1JNKE1BQykKLSAgICB2b2lkIHNldEFw
cGxpY2F0aW9uSXNPY2NsdWRlZChib29sKTsKLSNlbmRpZgotCi1wcml2YXRlOgotICAgIE5ldHdv
cmtQcm9jZXNzTWFuYWdlcigpOwotCi0gICAgUmVmUHRyPE5ldHdvcmtQcm9jZXNzUHJveHk+IG1f
bmV0d29ya1Byb2Nlc3M7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8v
IEVOQUJMRShORVRXT1JLX1BST0NFU1MpCi0KLSNlbmRpZiAvLyBOZXR3b3JrUHJvY2Vzc01hbmFn
ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA2YmUyN2M2ODU3NjM4ZjYxYTg1Y2JhZDY1YjkwZDVj
NTI0ZGNmMjRiLi5lOTFkNmY5NjcxZWIyOWU4MGZjOWUxNWJhYmE3NGFhZDc1NzljMjZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5LmNwcApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNz
UHJveHkuaCIKIAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgi
Ci0jaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiTmV0d29ya1By
b2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJQ
cm9jZXNzTWVzc2FnZXMuaCIKQEAgLTM5LDEzICszOCwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVBhc3NSZWZQdHI8TmV0d29ya1Byb2Nlc3NQ
cm94eT4gTmV0d29ya1Byb2Nlc3NQcm94eTo6Y3JlYXRlKE5ldHdvcmtQcm9jZXNzTWFuYWdlciog
bWFuYWdlcikKK1Bhc3NSZWZQdHI8TmV0d29ya1Byb2Nlc3NQcm94eT4gTmV0d29ya1Byb2Nlc3NQ
cm94eTo6Y3JlYXRlKFdlYkNvbnRleHQqIHdlYkNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBOZXR3b3JrUHJvY2Vzc1Byb3h5KG1hbmFnZXIpKTsKKyAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IE5ldHdvcmtQcm9jZXNzUHJveHkod2ViQ29udGV4dCkpOwogfQogCi1OZXR3b3JrUHJv
Y2Vzc1Byb3h5OjpOZXR3b3JrUHJvY2Vzc1Byb3h5KE5ldHdvcmtQcm9jZXNzTWFuYWdlciogbWFu
YWdlcikKLSAgICA6IG1fbmV0d29ya1Byb2Nlc3NNYW5hZ2VyKG1hbmFnZXIpCitOZXR3b3JrUHJv
Y2Vzc1Byb3h5OjpOZXR3b3JrUHJvY2Vzc1Byb3h5KFdlYkNvbnRleHQqIHdlYkNvbnRleHQpCisg
ICAgOiBtX3dlYkNvbnRleHQod2ViQ29udGV4dCkKICAgICAsIG1fbnVtUGVuZGluZ0Nvbm5lY3Rp
b25SZXF1ZXN0cygwKQogewogICAgIGNvbm5lY3QoKTsKQEAgLTk0LDcgKzkzLDcgQEAgdm9pZCBO
ZXR3b3JrUHJvY2Vzc1Byb3h5OjpuZXR3b3JrUHJvY2Vzc0NyYXNoZWRPckZhaWxlZFRvTGF1bmNo
KCkKICAgICB9CiAKICAgICAvLyBUZWxsIHRoZSBuZXR3b3JrIHByb2Nlc3MgbWFuYWdlciB0byBm
b3JnZXQgYWJvdXQgdGhpcyBuZXR3b3JrIHByb2Nlc3MgcHJveHkuIFRoaXMgbWF5IGNhdXNlIHVz
IHRvIGJlIGRlbGV0ZWQuCi0gICAgbV9uZXR3b3JrUHJvY2Vzc01hbmFnZXItPnJlbW92ZU5ldHdv
cmtQcm9jZXNzUHJveHkodGhpcyk7CisgICAgbV93ZWJDb250ZXh0LT5yZW1vdmVOZXR3b3JrUHJv
Y2Vzc1Byb3h5KHRoaXMpOwogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZFJlY2Vp
dmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3Nh
Z2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5oCmluZGV4IDhhMmI2YTQ3YzdkMjE3NDQyOGY4ZTA2MGU4YWQ3M2QwM2Y0MzBkODUuLjA4ZDA2
NzE3YTE1ZmQxNzQ2NTdmODRkMjYzN2EyYjIwM2QwNTU5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTM2
LDEyICszNiwxMiBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgTmV0d29ya1Byb2Nl
c3NNYW5hZ2VyOworY2xhc3MgV2ViQ29udGV4dDsKIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczsKIAogY2xhc3MgTmV0d29ya1Byb2Nlc3NQcm94eSA6IHB1YmxpYyBSZWZD
b3VudGVkPE5ldHdvcmtQcm9jZXNzUHJveHk+LCBwdWJsaWMgQ2hpbGRQcm9jZXNzUHJveHkgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5ldHdvcmtQcm9jZXNzUHJveHk+IGNyZWF0
ZShOZXR3b3JrUHJvY2Vzc01hbmFnZXIqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxOZXR3b3Jr
UHJvY2Vzc1Byb3h5PiBjcmVhdGUoV2ViQ29udGV4dCopOwogICAgIH5OZXR3b3JrUHJvY2Vzc1By
b3h5KCk7CiAKICAgICB2b2lkIGdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRy
PE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6
RGVsYXllZFJlcGx5Pik7CkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2
YXRlOgotICAgIE5ldHdvcmtQcm9jZXNzUHJveHkoTmV0d29ya1Byb2Nlc3NNYW5hZ2VyKik7Cisg
ICAgTmV0d29ya1Byb2Nlc3NQcm94eShXZWJDb250ZXh0Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQg
Z2V0TGF1bmNoT3B0aW9ucyhQcm9jZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmKSBPVkVSUklE
RTsKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAgICAg
Ly8gUHJvY2Vzc0xhdW5jaGVyOjpDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTGF1
bmNoaW5nKFByb2Nlc3NMYXVuY2hlciosIENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIp
OwogCi0gICAgTmV0d29ya1Byb2Nlc3NNYW5hZ2VyKiBtX25ldHdvcmtQcm9jZXNzTWFuYWdlcjsK
KyAgICBXZWJDb250ZXh0KiBtX3dlYkNvbnRleHQ7CiAgICAgCiAgICAgdW5zaWduZWQgbV9udW1Q
ZW5kaW5nQ29ubmVjdGlvblJlcXVlc3RzOwogICAgIERlcXVlPFJlZlB0cjxNZXNzYWdlczo6V2Vi
UHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4g
PiBtX3BlbmRpbmdDb25uZWN0aW9uUmVwbGllczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9OZXR3b3JrL21hYy9OZXR3b3JrUHJvY2Vzc01hbmFnZXJNYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9tYWMvTmV0d29ya1Byb2Nlc3NNYW5hZ2VyTWFj
Lm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYWY5ODg4YTUwZmY5NDU2MWMwMDgz
YjJmY2U3MTBmYmRlNGQwNTc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL21hYy9OZXR3b3JrUHJv
Y2Vzc01hbmFnZXJNYWMubW0KKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc01hbmFnZXIu
aCIKLQotI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCi0KLSNpbXBvcnQgIk5ldHdvcmtQcm9j
ZXNzUHJveHkuaCIKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLXZvaWQgTmV0d29ya1Byb2Nlc3NN
YW5hZ2VyOjpzZXRBcHBsaWNhdGlvbklzT2NjbHVkZWQoYm9vbCBhcHBsaWNhdGlvbklzT2NjbHVk
ZWQpCi17Ci0gICAgaWYgKG1fbmV0d29ya1Byb2Nlc3MpCi0gICAgICAgIHJldHVybiBtX25ldHdv
cmtQcm9jZXNzLT5zZXRBcHBsaWNhdGlvbklzT2NjbHVkZWQoYXBwbGljYXRpb25Jc09jY2x1ZGVk
KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoTkVUV09S
S19QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IGY2
NzQyMTdjZTA1NDMwM2JmOTI2ZTExOWNkNWQyZjcxMDkwMTYzMTQuLjM4N2FjMTUyZGVmZTY3YTQ2
NmUwMzc1NWYwN2UyNDNlOTU5NTk2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dC5jcHAKQEAgLTcyLDcgKzcyLDYgQEAKICNlbmRpZgogCiAjaWYgRU5BQkxFKE5FVFdPUktf
UFJPQ0VTUykKLSNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc01hbmFnZXIuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NQcm94eS5o
IgogI2VuZGlmCkBAIC0zNTgsMzAgKzM1Nyw0NyBAQCBib29sIFdlYkNvbnRleHQ6OnVzZXNOZXR3
b3JrUHJvY2VzcygpIGNvbnN0CiB9CiAKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQotc3Rh
dGljIGJvb2wgYW55Q29udGV4dFVzZXNOZXR3b3JrUHJvY2VzcygpCit2b2lkIFdlYkNvbnRleHQ6
OmVuc3VyZU5ldHdvcmtQcm9jZXNzKCkKIHsKLSAgICBjb25zdCBWZWN0b3I8V2ViQ29udGV4dCo+
JiBjb250ZXh0cyA9IFdlYkNvbnRleHQ6OmFsbENvbnRleHRzKCk7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDAsIGNvdW50ID0gY29udGV4dHMuc2l6ZSgpOyBpIDwgY291bnQ7ICsraSkKLSAgICBpZiAo
Y29udGV4dHNbaV0tPnVzZXNOZXR3b3JrUHJvY2VzcygpKQotICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICBpZiAobV9uZXR3b3JrUHJvY2VzcykKKyAgICAgICAgcmV0dXJuOwogCi0gICAgcmV0dXJu
IGZhbHNlOworICAgIG1fbmV0d29ya1Byb2Nlc3MgPSBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpjcmVh
dGUodGhpcyk7Cit9CisKK3ZvaWQgV2ViQ29udGV4dDo6cmVtb3ZlTmV0d29ya1Byb2Nlc3NQcm94
eShOZXR3b3JrUHJvY2Vzc1Byb3h5KiBuZXR3b3JrUHJvY2Vzc1Byb3h5KQoreworICAgIEFTU0VS
VChtX25ldHdvcmtQcm9jZXNzKTsKKyAgICBBU1NFUlQobmV0d29ya1Byb2Nlc3NQcm94eSA9PSBt
X25ldHdvcmtQcm9jZXNzLmdldCgpKTsKKyAgICAKKyAgICBtX25ldHdvcmtQcm9jZXNzID0gbnVs
bHB0cjsKK30KKwordm9pZCBXZWJDb250ZXh0OjpnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24o
UGFzc1JlZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb246OkRlbGF5ZWRSZXBseT4gcmVwbHkpCit7CisgICAgQVNTRVJUKHJlcGx5KTsKKwor
ICAgIGVuc3VyZU5ldHdvcmtQcm9jZXNzKCk7CisgICAgQVNTRVJUKG1fbmV0d29ya1Byb2Nlc3Mp
OworCisgICAgbV9uZXR3b3JrUHJvY2Vzcy0+Z2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKHJl
cGx5KTsKIH0KICNlbmRpZgogCisKIHZvaWQgV2ViQ29udGV4dDo6d2lsbFN0YXJ0VXNpbmdQcml2
YXRlQnJvd3NpbmcoKQogewogICAgIGlmIChtX3ByaXZhdGVCcm93c2luZ0VudGVyQ291bnQrKykK
ICAgICAgICAgcmV0dXJuOwogCisgICAgY29uc3QgVmVjdG9yPFdlYkNvbnRleHQqPiYgY29udGV4
dHMgPSBhbGxDb250ZXh0cygpOworICAgIGZvciAoc2l6ZV90IGkgPSAwLCBjb3VudCA9IGNvbnRl
eHRzLnNpemUoKTsgaSA8IGNvdW50OyArK2kpIHsKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNT
KQotICAgIGlmIChhbnlDb250ZXh0VXNlc05ldHdvcmtQcm9jZXNzKCkpCi0gICAgICAgIE5ldHdv
cmtQcm9jZXNzTWFuYWdlcjo6c2hhcmVkKCkucHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3
b3JrUHJvY2Vzczo6RW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpLCAwKTsKKyAgICAgICAg
aWYgKGNvbnRleHRzW2ldLT51c2VzTmV0d29ya1Byb2Nlc3MoKSAmJiBjb250ZXh0c1tpXS0+bmV0
d29ya1Byb2Nlc3MoKSkKKyAgICAgICAgICAgIGNvbnRleHRzW2ldLT5uZXR3b3JrUHJvY2Vzcygp
LT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vz
c2lvbigpLCAwKTsKICNlbmRpZgotCi0gICAgY29uc3QgVmVjdG9yPFdlYkNvbnRleHQqPiYgY29u
dGV4dHMgPSBhbGxDb250ZXh0cygpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwLCBjb3VudCA9IGNv
bnRleHRzLnNpemUoKTsgaSA8IGNvdW50OyArK2kpCiAgICAgICAgIGNvbnRleHRzW2ldLT5zZW5k
VG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkVuc3VyZVByaXZhdGVCcm93c2lu
Z1Nlc3Npb24oKSk7CisgICAgfQogfQogCiB2b2lkIFdlYkNvbnRleHQ6OndpbGxTdG9wVXNpbmdQ
cml2YXRlQnJvd3NpbmcoKQpAQCAtMzkxLDE0ICs0MDcsMTUgQEAgdm9pZCBXZWJDb250ZXh0Ojp3
aWxsU3RvcFVzaW5nUHJpdmF0ZUJyb3dzaW5nKCkKICAgICBpZiAobV9wcml2YXRlQnJvd3NpbmdF
bnRlckNvdW50ICYmIC0tbV9wcml2YXRlQnJvd3NpbmdFbnRlckNvdW50KQogICAgICAgICByZXR1
cm47CiAKKyAgICBjb25zdCBWZWN0b3I8V2ViQ29udGV4dCo+JiBjb250ZXh0cyA9IGFsbENvbnRl
eHRzKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDAsIGNvdW50ID0gY29udGV4dHMuc2l6ZSgpOyBp
IDwgY291bnQ7ICsraSkgewogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCi0gICAgaWYgKGFu
eUNvbnRleHRVc2VzTmV0d29ya1Byb2Nlc3MoKSkKLSAgICAgICAgTmV0d29ya1Byb2Nlc3NNYW5h
Z2VyOjpzaGFyZWQoKS5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpE
ZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpLCAwKTsKKyAgICAgICAgaWYgKGNvbnRleHRz
W2ldLT51c2VzTmV0d29ya1Byb2Nlc3MoKSAmJiBjb250ZXh0c1tpXS0+bmV0d29ya1Byb2Nlc3Mo
KSkKKyAgICAgICAgICAgIGNvbnRleHRzW2ldLT5uZXR3b3JrUHJvY2VzcygpLT5zZW5kKE1lc3Nh
Z2VzOjpOZXR3b3JrUHJvY2Vzczo6RGVzdHJveVByaXZhdGVCcm93c2luZ1Nlc3Npb24oKSwgMCk7
CiAjZW5kaWYKIAotICAgIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0Kj4mIGNvbnRleHRzID0gYWxs
Q29udGV4dHMoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMCwgY291bnQgPSBjb250ZXh0cy5zaXpl
KCk7IGkgPCBjb3VudDsgKytpKQogICAgICAgICBjb250ZXh0c1tpXS0+c2VuZFRvQWxsUHJvY2Vz
c2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpEZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigp
KTsKKyAgICB9CiB9CiAKIFdlYlByb2Nlc3NQcm94eSogV2ViQ29udGV4dDo6ZW5zdXJlU2hhcmVk
V2ViUHJvY2VzcygpCkBAIC00MTMsNyArNDMwLDcgQEAgV2ViUHJvY2Vzc1Byb3h5KiBXZWJDb250
ZXh0OjpjcmVhdGVOZXdXZWJQcm9jZXNzKCkKIHsKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNT
KQogICAgIGlmIChtX3VzZXNOZXR3b3JrUHJvY2VzcykKLSAgICAgICAgTmV0d29ya1Byb2Nlc3NN
YW5hZ2VyOjpzaGFyZWQoKS5lbnN1cmVOZXR3b3JrUHJvY2VzcygpOworICAgICAgICBlbnN1cmVO
ZXR3b3JrUHJvY2VzcygpOwogI2VuZGlmCiAKICAgICBSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBw
cm9jZXNzID0gV2ViUHJvY2Vzc1Byb3h5OjpjcmVhdGUodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuaAppbmRleCA0Y2UxOWMzNmEzZmVjZDFjYTQ5YWYwNzk3YTRlOWNkNjI1
ZmI2OWUzLi4wNzBlNDY3YjYzMjA4YjM0YjU1ODE5MjY2MjI0ZTBiNTZiOGE3M2I2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTUyLDMwICs1MiwzMiBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgRG93bmxvYWRQcm94eTsKIGNsYXNzIFdlYkFwcGxpY2F0aW9u
Q2FjaGVNYW5hZ2VyUHJveHk7Ci0jaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQotY2xhc3MgV2Vi
QmF0dGVyeU1hbmFnZXJQcm94eTsKLSNlbmRpZgogY2xhc3MgV2ViQ29va2llTWFuYWdlclByb3h5
OwogY2xhc3MgV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk7CiBjbGFzcyBXZWJHZW9sb2NhdGlvbk1h
bmFnZXJQcm94eTsKIGNsYXNzIFdlYkljb25EYXRhYmFzZTsKIGNsYXNzIFdlYktleVZhbHVlU3Rv
cmFnZU1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk7Ci0jaWYg
RU5BQkxFKE5FVFdPUktfSU5GTykKLWNsYXNzIFdlYk5ldHdvcmtJbmZvTWFuYWdlclByb3h5Owot
I2VuZGlmCitjbGFzcyBOZXR3b3JrUHJvY2Vzc1Byb3h5OwogY2xhc3MgV2ViTm90aWZpY2F0aW9u
TWFuYWdlclByb3h5OwogY2xhc3MgV2ViUGFnZUdyb3VwOwogY2xhc3MgV2ViUGFnZVByb3h5Owog
Y2xhc3MgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTsKLSNpZiBVU0UoU09VUCkKLWNsYXNz
IFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5OwotI2VuZGlmCiBzdHJ1Y3QgU3RhdGlzdGljc0Rh
dGE7CiBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICAgICAKIHR5cGVkZWYg
R2VuZXJpY0NhbGxiYWNrPFdLRGljdGlvbmFyeVJlZj4gRGljdGlvbmFyeUNhbGxiYWNrOwogCisj
aWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQorY2xhc3MgV2ViQmF0dGVyeU1hbmFnZXJQcm94eTsK
KyNlbmRpZgorI2lmIEVOQUJMRShORVRXT1JLX0lORk8pCitjbGFzcyBXZWJOZXR3b3JrSW5mb01h
bmFnZXJQcm94eTsKKyNlbmRpZgorI2lmIFVTRShTT1VQKQorY2xhc3MgV2ViU291cFJlcXVlc3RN
YW5hZ2VyUHJveHk7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKIGV4dGVybiBOU1N0cmlu
ZyAqU2NoZW1lRm9yQ3VzdG9tUHJvdG9jb2xSZWdpc3RlcmVkTm90aWZpY2F0aW9uTmFtZTsKIGV4
dGVybiBOU1N0cmluZyAqU2NoZW1lRm9yQ3VzdG9tUHJvdG9jb2xVbnJlZ2lzdGVyZWROb3RpZmlj
YXRpb25OYW1lOwpAQCAtMjQ4LDkgKzI1MCwyMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHRleHRD
aGVja2VyU3RhdGVDaGFuZ2VkKCk7CiAKKworICAgIC8vIE5ldHdvcmsgUHJvY2VzcyBNYW5hZ2Vt
ZW50CisKICAgICB2b2lkIHNldFVzZXNOZXR3b3JrUHJvY2Vzcyhib29sKTsKICAgICBib29sIHVz
ZXNOZXR3b3JrUHJvY2VzcygpIGNvbnN0OwogCisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykK
KyAgICB2b2lkIGVuc3VyZU5ldHdvcmtQcm9jZXNzKCk7CisgICAgTmV0d29ya1Byb2Nlc3NQcm94
eSogbmV0d29ya1Byb2Nlc3MoKSB7IHJldHVybiBtX25ldHdvcmtQcm9jZXNzLmdldCgpOyB9Cisg
ICAgdm9pZCByZW1vdmVOZXR3b3JrUHJvY2Vzc1Byb3h5KE5ldHdvcmtQcm9jZXNzUHJveHkqKTsK
KworICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKFBhc3NSZWZQdHI8TWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVk
UmVwbHk+KTsKKyNlbmRpZgorCisKICNpZiBQTEFURk9STShNQUMpCiAgICAgc3RhdGljIGJvb2wg
YXBwbGljYXRpb25Jc09jY2x1ZGVkKCkgeyByZXR1cm4gc19hcHBsaWNhdGlvbklzT2NjbHVkZWQ7
IH0KICNlbmRpZgpAQCAtNDI0LDYgKzQzOCw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoTkVU
V09SS19QUk9DRVNTKQogICAgIGJvb2wgbV91c2VzTmV0d29ya1Byb2Nlc3M7CisgICAgUmVmUHRy
PE5ldHdvcmtQcm9jZXNzUHJveHk+IG1fbmV0d29ya1Byb2Nlc3M7CiAjZW5kaWYKICAgICAKICAg
ICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8RGljdGlvbmFyeUNhbGxiYWNrPiA+IG1fZGljdGlv
bmFyeUNhbGxiYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHAKaW5kZXggMDk3MGU0ZTM4MmQ5ZDc1YTg4YzMxYmU1ZmU1YTdmZDIxZDYwYjZiNC4uOWZj
ZmY0YzdkNzg4ZTdkNDRmOGNkMGY1NTBlYzMxZjljYmZhMGI3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTQ1LDEwICs0NSw2IEBACiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCi0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLSNpbmNsdWRlICJOZXR3b3JrUHJvY2Vz
c01hbmFnZXIuaCIKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNpbXBs
ZVBERlBsdWdpbi5oIgogI2lmIEVOQUJMRShQREZLSVRfUExVR0lOKQpAQCAtMzc2LDcgKzM3Miw3
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpnZXRTaGFyZWRXb3JrZXJQcm9jZXNzQ29ubmVjdGlv
bihjb25zdCBTdHJpbmcmIC8qIHVybCAqLywKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQog
dm9pZCBXZWJQcm9jZXNzUHJveHk6OmdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVm
UHRyPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bjo6RGVsYXllZFJlcGx5PiByZXBseSkKIHsKLSAgICBOZXR3b3JrUHJvY2Vzc01hbmFnZXI6OnNo
YXJlZCgpLmdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihyZXBseSk7CisgICAgbV9jb250ZXh0
LT5nZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24ocmVwbHkpOwogfQogI2VuZGlmIC8vIEVOQUJM
RShORVRXT1JLX1BST0NFU1MpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvV2ViQ29udGV4dE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
Q29udGV4dE1hYy5tbQppbmRleCA3NGJkMGU3NTI5MGYzZDYyMjg4MDRlYWJjNTZlZjI5ZTczZDUw
NzliLi4zMDRlZTEyYjk0MzNmNjIyM2RhMjMzZWU0M2U3Y2VmZWZiNzAxOGY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNYWMubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWFjLm1tCkBAIC0yNiw3ICsyNiw3
IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIldlYkNvbnRleHQuaCIKIAotI2ltcG9y
dCAiTmV0d29ya1Byb2Nlc3NNYW5hZ2VyLmgiCisjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc1Byb3h5
LmgiCiAjaW1wb3J0ICJQbHVnaW5Qcm9jZXNzTWFuYWdlci5oIgogI2ltcG9ydCAiU2hhcmVkV29y
a2VyUHJvY2Vzc01hbmFnZXIuaCIKICNpbXBvcnQgIldLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ckludGVybmFsLmgiCkBAIC0zNSw3ICszNSw3IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2Fn
ZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5
c3RlbS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1QYXN0ZWJv
YXJkLmg+CiAjaW1wb3J0IDxzeXMvcGFyYW0uaD4KIApAQCAtMjczLDE1ICsyNzMsMTggQEAgdm9p
ZCBXZWJDb250ZXh0OjphcHBsaWNhdGlvbkJlY2FtZVZpc2libGUodWludDMyX3QsIHZvaWQqLCB1
aW50MzJfdCwgdm9pZCosIHVpbnQKICAgICAgICAgc19hcHBsaWNhdGlvbklzT2NjbHVkZWQgPSBm
YWxzZTsKIAogICAgICAgICBjb25zdCBWZWN0b3I8V2ViQ29udGV4dCo+JiBjb250ZXh0cyA9IFdl
YkNvbnRleHQ6OmFsbENvbnRleHRzKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwLCBjb3Vu
dCA9IGNvbnRleHRzLnNpemUoKTsgaSA8IGNvdW50OyArK2kpCisgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwLCBjb3VudCA9IGNvbnRleHRzLnNpemUoKTsgaSA8IGNvdW50OyArK2kpIHsKKyNpZiBF
TkFCTEUoTkVUV09SS19QUk9DRVNTKQorICAgICAgICAgICAgaWYgKGNvbnRleHRzW2ldLT51c2Vz
TmV0d29ya1Byb2Nlc3MoKSAmJiBjb250ZXh0c1tpXS0+bmV0d29ya1Byb2Nlc3MoKSkKKyAgICAg
ICAgICAgICAgICBjb250ZXh0c1tpXS0+bmV0d29ya1Byb2Nlc3MoKS0+c2V0QXBwbGljYXRpb25J
c09jY2x1ZGVkKGZhbHNlKTsKKyNlbmRpZgorCiAgICAgICAgICAgICBjb250ZXh0c1tpXS0+c2Vu
ZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRBcHBsaWNhdGlvbklzT2Nj
bHVkZWQoZmFsc2UpKTsKKyAgICAgICAgfQogCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQog
ICAgICAgICBQbHVnaW5Qcm9jZXNzTWFuYWdlcjo6c2hhcmVkKCkuc2V0QXBwbGljYXRpb25Jc09j
Y2x1ZGVkKGZhbHNlKTsKICNlbmRpZgotI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCi0gICAg
ICAgIE5ldHdvcmtQcm9jZXNzTWFuYWdlcjo6c2hhcmVkKCkuc2V0QXBwbGljYXRpb25Jc09jY2x1
ZGVkKGZhbHNlKTsKLSNlbmRpZgogI2lmIEVOQUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCiAg
ICAgICAgIFNoYXJlZFdvcmtlclByb2Nlc3NNYW5hZ2VyOjpzaGFyZWQoKS5zZXRBcHBsaWNhdGlv
bklzT2NjbHVkZWQoZmFsc2UpOwogI2VuZGlmCkBAIC0yOTMsMTUgKzI5NiwxOCBAQCB2b2lkIFdl
YkNvbnRleHQ6OmFwcGxpY2F0aW9uQmVjYW1lT2NjbHVkZWQodWludDMyX3QsIHZvaWQqLCB1aW50
MzJfdCwgdm9pZCosIHVpbgogICAgIGlmICghc19hcHBsaWNhdGlvbklzT2NjbHVkZWQpIHsKICAg
ICAgICAgc19hcHBsaWNhdGlvbklzT2NjbHVkZWQgPSB0cnVlOwogICAgICAgICBjb25zdCBWZWN0
b3I8V2ViQ29udGV4dCo+JiBjb250ZXh0cyA9IFdlYkNvbnRleHQ6OmFsbENvbnRleHRzKCk7Ci0g
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwLCBjb3VudCA9IGNvbnRleHRzLnNpemUoKTsgaSA8IGNv
dW50OyArK2kpCisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwLCBjb3VudCA9IGNvbnRleHRzLnNp
emUoKTsgaSA8IGNvdW50OyArK2kpIHsKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorICAg
ICAgICAgICAgaWYgKGNvbnRleHRzW2ldLT51c2VzTmV0d29ya1Byb2Nlc3MoKSAmJiBjb250ZXh0
c1tpXS0+bmV0d29ya1Byb2Nlc3MoKSkKKyAgICAgICAgICAgICAgICBjb250ZXh0c1tpXS0+bmV0
d29ya1Byb2Nlc3MoKS0+c2V0QXBwbGljYXRpb25Jc09jY2x1ZGVkKHRydWUpOworI2VuZGlmCisK
ICAgICAgICAgICAgIGNvbnRleHRzW2ldLT5zZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6Oldl
YlByb2Nlc3M6OlNldEFwcGxpY2F0aW9uSXNPY2NsdWRlZCh0cnVlKSk7CisgICAgICAgIH0KIAog
I2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICAgICAgUGx1Z2luUHJvY2Vzc01hbmFnZXI6
OnNoYXJlZCgpLnNldEFwcGxpY2F0aW9uSXNPY2NsdWRlZCh0cnVlKTsKICNlbmRpZgotI2lmIEVO
QUJMRShORVRXT1JLX1BST0NFU1MpCi0gICAgICAgIE5ldHdvcmtQcm9jZXNzTWFuYWdlcjo6c2hh
cmVkKCkuc2V0QXBwbGljYXRpb25Jc09jY2x1ZGVkKHRydWUpOwotI2VuZGlmCiAjaWYgRU5BQkxF
KFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKICAgICAgICAgU2hhcmVkV29ya2VyUHJvY2Vzc01hbmFn
ZXI6OnNoYXJlZCgpLnNldEFwcGxpY2F0aW9uSXNPY2NsdWRlZCh0cnVlKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGVhZmRlYTAxYjEzMDZjNGRjMTViNTc4OWNhNDA2YjllMjhlZTMxZjYuLmIxOGE1OGNmYjg0Mzc5
YzhmMWU1YWUxNDE0ODA2ZGE3MTM2NWVlNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM4Miw4ICszODIsNiBAQAogCQkzRjg3
QjlDMDE1ODk0MEQ4MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyUHJveHkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGODdCOUJGMTU4OTQwRDgwMDkw
RkY2MiAvKiBXZWJDb2xvckNob29zZXJQcm94eS5oICovOyB9OwogCQk0RjYwMTQzMjE1NUM1QUEy
MDAxRkJERTAgLyogQmxvY2tpbmdSZXNwb25zZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEY2MDE0MzAxNTVDNUEzMjAwMUZCREUwIC8qIEJsb2Nr
aW5nUmVzcG9uc2VNYXAuaCAqLzsgfTsKIAkJNTEwMjFFOUMxMkIxNjc4ODAwNUMwMzNDIC8qIFdl
YkNvbnRleHRNZW51Q2xpZW50TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEwMjFFOUIxMkIxNjc4ODAwNUMwMzNDIC8qIFdlYkNvbnRleHRNZW51
Q2xpZW50TWFjLm1tICovOyB9OwotCQk1MTA1QjBERDE2MkY3RTlEMDBFMjc3MDkgLyogTmV0d29y
a1Byb2Nlc3NNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxMDVCMERCMTYyRjdFOUQwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc01hbmFn
ZXIuY3BwICovOyB9OwotCQk1MTA1QjBERTE2MkY3RTlEMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nl
c3NNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTA1QjBEQzE2MkY3RTlEMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NNYW5hZ2VyLmggKi87
IH07CiAJCTUxMEFGRkI5MTY1NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBRkZCNzE2
NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuY3BwICovOyB9OwogCQk1MTBBRkZC
QTE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEFGRkI4MTY1NDIwNDgwMDFCQTA1RSAv
KiBXZWJSZXNvdXJjZUxvYWRlci5oICovOyB9OwogCQk1MTBDQzg0OTE2MTNDODVDMDBEMDNFRDMg
LyogTmV0d29ya1Byb2Nlc3MuYXBwIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTBDQzgwRTE2MTNDNzk5MDBEMDNFRDMgLyogTmV0d29ya1Byb2Nlc3Mu
YXBwICovOyB9OwpAQCAtNTY4LDcgKzU2Niw2IEBACiAJCTkzRkM2N0MwMTJEM0NDRjIwMEE2MDYx
MCAvKiBFbmNvZGVyQWRhcHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNGQzY3QTAxMkQzQ0M3NDAwQTYwNjEwIC8qIEVuY29kZXJBZGFwdGVyLmgg
Ki87IH07CiAJCTlGNEY1OTQyMTY0OEI0MDcwMDQ5M0I3RSAvKiBTaGFyZWRXb3JrZXJQcm9jZXNz
TWFuYWdlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDlGNEY1OTQxMTY0OEI0MDcwMDQ5M0I3RSAvKiBTaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdl
ck1hYy5tbSAqLzsgfTsKIAkJOUY0RjU5NDQxNjQ4QjY3RjAwNDkzQjdFIC8qIFNoYXJlZFdvcmtl
clByb2Nlc3NQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDlGNEY1OTQzMTY0OEI2N0YwMDQ5M0I3RSAvKiBTaGFyZWRXb3JrZXJQcm9jZXNz
UHJveHlNYWMubW0gKi87IH07Ci0JCTlGNEY1OTQ2MTY0OEJBOEUwMDQ5M0I3RSAvKiBOZXR3b3Jr
UHJvY2Vzc01hbmFnZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5RjRGNTk0NTE2NDhCQThFMDA0OTNCN0UgLyogTmV0d29ya1Byb2Nlc3NNYW5h
Z2VyTWFjLm1tICovOyB9OwogCQk5RjU0Rjg4RjE2NDg4RTg3MDA3REY4MUEgLyogQ2hpbGRQcm9j
ZXNzTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OUY1NEY4OEUxNjQ4OEU4NzAwN0RGODFBIC8qIENoaWxkUHJvY2Vzc01hYy5tbSAqLzsgfTsKIAkJ
OUY1NEY4OTUxNjQ4QUUwRjAwN0RGODFBIC8qIFBsdWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUY1NEY4OTQxNjQ4
QUUwRTAwN0RGODFBIC8qIFBsdWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tICovOyB9OwogCQlCNjJF
NzMxMDE0MzA0N0E2MDA2OUVDMzUgLyogV0tIaXRUZXN0UmVzdWx0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2MkU3MzBGMTQzMDQ3QTYwMDY5RUMz
NSAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwICovOyB9OwpAQCAtMTYyMyw4ICsxNjIwLDYgQEAKIAkJ
NTEwMjFFOUIxMkIxNjc4ODAwNUMwMzNDIC8qIFdlYkNvbnRleHRNZW51Q2xpZW50TWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29udGV4dE1lbnVDbGll
bnRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDVCMEQ0MTYyRjdBN0Ew
MEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcDsgcGF0aCA9
IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTEwNUIwRDUxNjJGN0E3QTAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24uaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxMDVCMERCMTYyRjdFOUQwMEUyNzcwOSAv
KiBOZXR3b3JrUHJvY2Vzc01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTmV0d29ya1Byb2Nlc3NNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNTEwNUIwREMxNjJGN0U5RDAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNzTWFuYWdl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzc01hbmFn
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwNUIwRjMxNjMwODcyRTAwRTI3
NzA5IC8qIE5ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmV0d29ya1Byb2Nl
c3NQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwQUZG
QjcxNjU0MjA0ODAwMUJBMDVFIC8qIFdlYlJlc291cmNlTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlJlc291cmNlTG9hZGVyLmNwcDsgcGF0aCA9IE5l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MTBBRkZCODE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViUmVzb3VyY2VMb2FkZXIuaDsgcGF0aCA9IE5l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE4MjksNyArMTgyNCw2IEBACiAJCTkzRkM2N0EwMTJEM0NDNzQwMEE2MDYxMCAvKiBFbmNvZGVy
QWRhcHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbmNvZGVyQWRhcHRl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RjRGNTk0MTE2NDhCNDA3MDA0OTNC
N0UgLyogU2hhcmVkV29ya2VyUHJvY2Vzc01hbmFnZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlck1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUY0RjU5NDMxNjQ4QjY3RjAwNDkzQjdFIC8q
IFNoYXJlZFdvcmtlclByb2Nlc3NQcm94eU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFNoYXJlZFdvcmtlclByb2Nlc3NQcm94eU1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOUY0RjU5NDUxNjQ4QkE4RTAwNDkzQjdFIC8qIE5ldHdvcmtQ
cm9jZXNzTWFuYWdlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFt
ZSA9IE5ldHdvcmtQcm9jZXNzTWFuYWdlck1hYy5tbTsgcGF0aCA9IG1hYy9OZXR3b3JrUHJvY2Vz
c01hbmFnZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlGNTRGODhFMTY0
ODhFODcwMDdERjgxQSAvKiBDaGlsZFByb2Nlc3NNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBDaGlsZFByb2Nlc3NNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTlGNTRGODk0MTY0OEFFMEUwMDdERjgxQSAvKiBQbHVnaW5Qcm9jZXNzTWFu
YWdlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsdWdp
blByb2Nlc3NNYW5hZ2VyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzJE
NUQ3RjEyMzZDQkE4MDBBODhCMTUgLyogV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE5MCw4ICszMTg0LDYgQEAKIAkJCWNoaWxk
cmVuID0gKAogCQkJCTI5QUQzMDkxMTY0QjRDMTAwMDcyREVBOSAvKiBDdXN0b21Qcm90b2NvbHMg
Ki8sCiAJCQkJNTE2MzE5OTMxNjI4OTgwRTAwRTIyRjAwIC8qIG1hYyAqLywKLQkJCQk1MTA1QjBE
QjE2MkY3RTlEMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NNYW5hZ2VyLmNwcCAqLywKLQkJCQk1
MTA1QjBEQzE2MkY3RTlEMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NNYW5hZ2VyLmggKi8sCiAJ
CQkJNTEwQ0M3RUExNjEzOEU3MjAwRDAzRUQzIC8qIE5ldHdvcmtQcm9jZXNzUHJveHkuY3BwICov
LAogCQkJCTUxMENDN0VCMTYxMzhFNzIwMEQwM0VEMyAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5Lmgg
Ki8sCiAJCQkJNTEwNUIwRjMxNjMwODcyRTAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNzUHJveHku
bWVzc2FnZXMuaW4gKi8sCkBAIC0zMjU1LDcgKzMyNDcsNiBAQAogCQk1MTYzMTk5MzE2Mjg5ODBF
MDBFMjJGMDAgLyogbWFjICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKLQkJCQk5RjRGNTk0NTE2NDhCQThFMDA0OTNCN0UgLyogTmV0d29ya1Byb2Nlc3NNYW5hZ2Vy
TWFjLm1tICovLAogCQkJCTUxNjMxOTkxMTYyODk4MEEwMEUyMkYwMCAvKiBOZXR3b3JrUHJvY2Vz
c1Byb3h5TWFjLm1tICovLAogCQkJKTsKIAkJCW5hbWUgPSBtYWM7CkBAIC00OTkzLDcgKzQ5ODQs
NiBAQAogCQkJCTFBMjMyOEZGMTYyQzg2NkEwMEQ4MkY3QSAvKiBNZXNzYWdlRW5jb2Rlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUEyMzI5MDMxNjJDODY3MzAwRDgyRjdBIC8qIE1lc3NhZ2VEZWNv
ZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTM2MTgzRTE2MzEyNkRBMDBBOTlEREUgLyogQ29u
bmVjdGlvblN0YWNrLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTA1QjBERTE2MkY3RTlEMDBFMjc3
MDkgLyogTmV0d29ya1Byb2Nlc3NNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTNBMTYz
RDE2MzA4OEY2MDA1RDdEMjIgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTNBMTY0RDE2MzBBOUJGMDA1RDdEMjIgLyogTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMTNCRUI0MTYzNUE5QzgwMEYx
OUMwMyAvKiBTdHJpbmdSZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLApAQCAtNTkzOCw3ICs1OTI4
LDYgQEAKIAkJCQkxQTIzMjhGRTE2MkM4NjZBMDBEODJGN0EgLyogTWVzc2FnZUVuY29kZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyMzI5MDIxNjJDODY3MzAwRDgyRjdBIC8qIE1lc3NhZ2VE
ZWNvZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMzYxODNEMTYzMTI2REEwMEE5OURERSAv
KiBDb25uZWN0aW9uU3RhY2suY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEwNUIwREQxNjJGN0U5
RDAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1MTNBMTYzQzE2MzA4OEY2MDA1RDdEMjIgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTNBMTY0QzE2MzBBOUJGMDA1RDdEMjIg
LyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTE4M0RERUMxNjMwQkRGQzAwOEJFNUM3IC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTU5NTksNyArNTk0OCw2IEBACiAJCQkJOUY1NEY4OTUxNjQ4QUUw
RjAwN0RGODFBIC8qIFBsdWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOUY0RjU5NDIxNjQ4QjQwNzAwNDkzQjdFIC8qIFNoYXJlZFdvcmtlclByb2Nlc3NNYW5hZ2Vy
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOUY0RjU5NDQxNjQ4QjY3RjAwNDkzQjdFIC8qIFNo
YXJlZFdvcmtlclByb2Nlc3NQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTlGNEY1OTQ2
MTY0OEJBOEUwMDQ5M0I3RSAvKiBOZXR3b3JrUHJvY2Vzc01hbmFnZXJNYWMubW0gaW4gU291cmNl
cyAqLywKIAkJCQkxQUIxNkFFOTE2NEIzQTg4MDAyOTBENjIgLyogUmVtb3RlTGF5ZXJUcmVlQ29u
dGV4dC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQjE2QUVEMTY0QjQxRTQwMDI5MEQ2MiAvKiBS
ZW1vdGVHcmFwaGljc0xheWVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyMTc0NjAxNjRDMjBF
MzAwMzdBNUMxIC8qIFNoYXJlYWJsZVJlc291cmNlLmNwcCBpbiBTb3VyY2VzICovLAo=
</data>
<flag name="review"
          id="196550"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>