<?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>50329</bug_id>
          
          <creation_ts>2010-12-01 09:51:53 -0800</creation_ts>
          <short_desc>Get rid of DrawingAreaBase</short_desc>
          <delta_ts>2010-12-01 10:23:39 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>315699</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-12-01 09:51:53 -0800</bug_when>
    <thetext>Get rid of DrawingAreaBase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315706</commentid>
    <comment_count>1</comment_count>
      <attachid>75282</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-12-01 09:56:15 -0800</bug_when>
    <thetext>Created attachment 75282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315712</commentid>
    <comment_count>2</comment_count>
      <attachid>75285</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-12-01 10:13:26 -0800</bug_when>
    <thetext>Created attachment 75285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315716</commentid>
    <comment_count>3</comment_count>
      <attachid>75285</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-12-01 10:21:34 -0800</bug_when>
    <thetext>Comment on attachment 75285
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315719</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-12-01 10:23:39 -0800</bug_when>
    <thetext>Committed r73036: &lt;http://trac.webkit.org/changeset/73036&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75282</attachid>
            <date>2010-12-01 09:56:15 -0800</date>
            <delta_ts>2010-12-01 10:13:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50329-20101201095614.patch</filename>
            <type>text/plain</type>
            <size>32096</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
YjMxZWQ2ODJiZDEyYjFjZDRlZTk5NDY4ZTFmZWZlZDUxYmU4Y2Y4OC4uNTY2ZTYwOTZmMDMwNTEz
OGIxNDNjYjkxOTE0OTAwNTdiZTI3NzFiNiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NCBAQAorMjAxMC0xMi0wMSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgRHJhd2luZ0FyZWFCYXNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDMyOQorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJlZC9E
cmF3aW5nQXJlYUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbmZvOjpEcmF3
aW5nQXJlYUluZm8pOgorICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOgorICAgICAgICAoLVtX
S1ZpZXcgX3N3aXRjaFRvRHJhd2luZ0FyZWFUeXBlSWZOZWNlc3Nhcnk6RHJhd2luZ0FyZWFJbmZv
OjpdKToKKyAgICAgICAgKC1bV0tWaWV3IF9wYWdlRGlkRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0
aW5nXSk6CisgICAgICAgICgtW1dLVmlldyBfcGFnZURpZExlYXZlQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ10pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcDoK
KyAgICAgICAgKFFHcmFwaGljc1dLVmlldzo6dGFrZVNuYXBzaG90KToKKyAgICAgICAgKFFHcmFw
aGljc1dLVmlld1ByaXZhdGU6OmNvbW1pdFNjYWxlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ2h1
bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHVua2Vk
VXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkpOgor
ICAgICAgICAoV2ViS2l0OjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6c2V0U2l6ZSk6
CisgICAgICAgIChXZWJLaXQ6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjpzZXRQYWdl
SXNWaXNpYmxlKToKKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJv
eHk6OnVwZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjpEcmF3aW5nQXJlYVByb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6bmV4dElkZW50aWZpZXIpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdp
bmdBcmVhUHJveHk6OmluZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdp
bmdBcmVhUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllckJhY2tlZERyYXdpbmdBcmVh
UHJveHk6OkxheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eTo6c2V0U2l6ZSk6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eTo6c2V0UGFnZUlzVmlzaWJsZSk6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eTo6dXBkYXRlKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvVGlsZWREcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VGls
ZWREcmF3aW5nQXJlYVByb3h5OjpUaWxlZERyYXdpbmdBcmVhUHJveHkpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmRpZENoYW5nZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXc6OnN3aXRjaFRvRHJhd2luZ0FyZWFUeXBlSWZOZWNlc3NhcnkpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OkNodW5rZWRVcGRhdGVEcmF3
aW5nQXJlYSk6CisgICAgICAgIChXZWJLaXQ6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYTo6ZGlk
UmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBk
YXRlRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYktpdDo6RHJhd2luZ0FyZWE6OkRyYXdpbmdBcmVhKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWE6Omlu
Zm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVh
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJCYWNrZWREcmF3aW5nQXJlYTo6TGF5ZXJCYWNr
ZWREcmF3aW5nQXJlYSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyQmFja2VkRHJhd2luZ0FyZWE6
OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJC
YWNrZWREcmF3aW5nQXJlYS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9UaWxlZERy
YXdpbmdBcmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VGlsZWREcmF3aW5nQXJlYTo6VGlsZWRE
cmF3aW5nQXJlYSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1RpbGVkRHJhd2luZ0Fy
ZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpj
aGFuZ2VBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSk6CisKIDIwMTAtMTEtMzAgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggUXQgYnVpbGQuCmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weSBiL1dlYktpdDIv
U2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CmluZGV4IDc1MTVjYTE2ZDY5MTA3OTgxYmE2YWI5
MDMzOTQzNzllYjcwZWM3YWEuLjEwNTlkMTI0NDI4MzE2Yjk1MzkyZDg0YzM1ZGRjN2ZmYjVlNDYw
YWUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CisrKyBi
L1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CkBAIC00MTUsOCArNDE1LDYgQEAg
ZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgICAgICdXZWJLaXQ6OldlYk1vdXNlRXZl
bnQnOiAnIldlYkV2ZW50LmgiJywKICAgICAgICAgJ1dlYktpdDo6V2ViV2hlZWxFdmVudCc6ICci
V2ViRXZlbnQuaCInLAogICAgICAgICAnV2ViS2l0OjpXZWJUb3VjaEV2ZW50JzogJyJXZWJFdmVu
dC5oIicsCi0gICAgICAgICdXZWJLaXQ6OkRyYXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJbmZv
JzogJyJEcmF3aW5nQXJlYUluZm8uaCInCi0KICAgICB9CiAgICAgaWYgdHlwZSBpbiBzcGVjaWFs
X2Nhc2VzOgogICAgICAgICByZXR1cm4gW3NwZWNpYWxfY2FzZXNbdHlwZV1dCmRpZmYgLS1naXQg
YS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaCBiL1dlYktpdDIvU2hhcmVkL0RyYXdp
bmdBcmVhSW5mby5oCmluZGV4IDdhMGUzOTQwZGNjMzhlZTU0Zjc2NDZmOTQzZTA1NzhlNmY4ZTZi
Y2UuLjI1Mjc4YjlhOGQzM2M1NWYyY2FlMjIxNzE2NTJkMzM3ZTBkZjk0MjMgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oCisrKyBiL1dlYktpdDIvU2hhcmVkL0Ry
YXdpbmdBcmVhSW5mby5oCkBAIC0zNiw0OSArMzYsNDAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgRHJhd2luZ0FyZWFCYXNlIHsKLXB1YmxpYzoK
K3N0cnVjdCBEcmF3aW5nQXJlYUluZm8gewogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIE5vbmUs
Ci0gICAgICAgIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVR5cGUsCisgICAgICAgIENodW5rZWRV
cGRhdGUsCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgICAgICBMYXllckJh
Y2tlZERyYXdpbmdBcmVhVHlwZSwKKyAgICAgICAgTGF5ZXJCYWNrZWQsCiAjZW5kaWYKICNpZiBF
TkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkKLSAgICAgICAgVGlsZWREcmF3aW5nQXJlYVR5cGUs
CisgICAgICAgIFRpbGVkLAogI2VuZGlmCiAgICAgfTsKICAgICAKLSAgICB0eXBlZGVmIHVpbnQ2
NF90IERyYXdpbmdBcmVhSUQ7Ci0gICAgCi0gICAgc3RydWN0IERyYXdpbmdBcmVhSW5mbyB7Ci0g
ICAgICAgIFR5cGUgdHlwZTsKLSAgICAgICAgRHJhd2luZ0FyZWFJRCBpZDsKKyAgICB0eXBlZGVm
IHVpbnQ2NF90IElkZW50aWZpZXI7CiAKLSAgICAgICAgRHJhd2luZ0FyZWFJbmZvKFR5cGUgdHlw
ZSA9IE5vbmUsIERyYXdpbmdBcmVhSUQgaWRlbnRpZmllciA9IDApCi0gICAgICAgICAgICA6IHR5
cGUodHlwZSkKLSAgICAgICAgICAgICwgaWQoaWRlbnRpZmllcikKLSAgICAgICAgewotICAgICAg
ICB9Ci0gICAgfTsKLSAgICAKLSAgICB2aXJ0dWFsIH5EcmF3aW5nQXJlYUJhc2UoKSB7IH0KLSAg
ICAKLSAgICBjb25zdCBEcmF3aW5nQXJlYUluZm8mIGluZm8oKSBjb25zdCB7IHJldHVybiBtX2lu
Zm87IH0KLSAgICAKLXByb3RlY3RlZDoKLSAgICBEcmF3aW5nQXJlYUJhc2UoVHlwZSB0eXBlLCBE
cmF3aW5nQXJlYUlEIGlkZW50aWZpZXIpCi0gICAgICAgIDogbV9pbmZvKHR5cGUsIGlkZW50aWZp
ZXIpCisgICAgRHJhd2luZ0FyZWFJbmZvKCkKKyAgICAgICAgOiB0eXBlKE5vbmUpCisgICAgICAg
ICwgaWRlbnRpZmllcigwKQogICAgIHsKICAgICB9CiAKLSAgICBEcmF3aW5nQXJlYUluZm8gbV9p
bmZvOworICAgIERyYXdpbmdBcmVhSW5mbyhUeXBlIHR5cGUsIElkZW50aWZpZXIgaWRlbnRpZmll
cikKKyAgICAgICAgOiB0eXBlKHR5cGUpCisgICAgICAgICwgaWRlbnRpZmllcihpZGVudGlmaWVy
KQorICAgIHsKKyAgICB9CisgICAgCisgICAgVHlwZSB0eXBlOworICAgIElkZW50aWZpZXIgaWRl
bnRpZmllcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiBuYW1lc3BhY2UgQ29yZUlQ
QyB7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYktpdDo6RHJhd2luZ0FyZWFC
YXNlOjpEcmF3aW5nQXJlYUluZm8+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJLaXQ6OkRyYXdp
bmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJbmZvPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1
bWVudENvZGVyPFdlYktpdDo6RHJhd2luZ0FyZWFJbmZvPiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8
V2ViS2l0OjpEcmF3aW5nQXJlYUluZm8+IHsgfTsKIH0KIAogI2VuZGlmIC8vIERyYXdpbmdBcmVh
SW5mb19oCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzLmggYi9XZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXgg
MGU4N2JkNzhkMWFmZTk0NTQwMzA2ZjA0Y2UwMTc3Y2Q5YTU4NTBiNS4uYjkwZWIzZjhmZjEyNmI2
ZDcwZGNlYjMwZmYxMzdjNzg5NTdlMDMwZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnMuaApAQCAtNDMsNyArNDMsNyBAQCBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycyB7CiAKICAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplOwogICAgIFdlYlBy
ZWZlcmVuY2VzU3RvcmUgc3RvcmU7Ci0gICAgRHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUlu
Zm8gZHJhd2luZ0FyZWFJbmZvOworICAgIERyYXdpbmdBcmVhSW5mbyBkcmF3aW5nQXJlYUluZm87
CiAgICAgYm9vbCB2aXNpYmxlVG9JbmplY3RlZEJ1bmRsZTsKICNpZiBQTEFURk9STShXSU4pCiAg
ICAgSFdORCBuYXRpdmVXaW5kb3c7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1dLVmlldy5tbSBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCmluZGV4
IGYwOGM4NjU1MmUyM2FjMDY4MWJjNWU2NmE4ZjhlYjgzYzQzZjRhOWMuLmZlMGMyNjA2OWY4N2Qy
NDIyMjZjMWYzOGQzMDdhYzBhMWRmYTNjNGUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvV0tWaWV3Lm1tCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3
Lm1tCkBAIC05NjYsMjEgKzk2NiwyMSBAQCAtICh2b2lkKV9zdG9wQWNjZWxlcmF0ZWRDb21wb3Np
dGluZwogICAgIH0KIH0KIAotLSAodm9pZClfc3dpdGNoVG9EcmF3aW5nQXJlYVR5cGVJZk5lY2Vz
c2FyeTooRHJhd2luZ0FyZWFCYXNlOjpUeXBlKXR5cGUKKy0gKHZvaWQpX3N3aXRjaFRvRHJhd2lu
Z0FyZWFUeXBlSWZOZWNlc3Nhcnk6KERyYXdpbmdBcmVhSW5mbzo6VHlwZSl0eXBlCiB7Ci0gICAg
RHJhd2luZ0FyZWFCYXNlOjpUeXBlIGV4aXN0aW5nRHJhd2luZ0FyZWFUeXBlID0gX2RhdGEtPl9w
YWdlLT5kcmF3aW5nQXJlYSgpID8gX2RhdGEtPl9wYWdlLT5kcmF3aW5nQXJlYSgpLT5pbmZvKCku
dHlwZSA6IERyYXdpbmdBcmVhQmFzZTo6Tm9uZTsKKyAgICBEcmF3aW5nQXJlYUluZm86OlR5cGUg
ZXhpc3RpbmdEcmF3aW5nQXJlYVR5cGUgPSBfZGF0YS0+X3BhZ2UtPmRyYXdpbmdBcmVhKCkgPyBf
ZGF0YS0+X3BhZ2UtPmRyYXdpbmdBcmVhKCktPmluZm8oKS50eXBlIDogRHJhd2luZ0FyZWFJbmZv
OjpOb25lOwogICAgIGlmIChleGlzdGluZ0RyYXdpbmdBcmVhVHlwZSA9PSB0eXBlKQogICAgICAg
ICByZXR1cm47CiAKICAgICBPd25QdHI8RHJhd2luZ0FyZWFQcm94eT4gbmV3RHJhd2luZ0FyZWE7
CiAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgRHJhd2luZ0FyZWFCYXNlOjpOb25l
OgorICAgICAgICBjYXNlIERyYXdpbmdBcmVhSW5mbzo6Tm9uZToKICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIERyYXdpbmdBcmVhQmFzZTo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVh
VHlwZTogeworICAgICAgICBjYXNlIERyYXdpbmdBcmVhSW5mbzo6Q2h1bmtlZFVwZGF0ZTogewog
ICAgICAgICAgICAgbmV3RHJhd2luZ0FyZWEgPSBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94
eTo6Y3JlYXRlKHNlbGYpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAg
Y2FzZSBEcmF3aW5nQXJlYUJhc2U6OkxheWVyQmFja2VkRHJhd2luZ0FyZWFUeXBlOiB7CisgICAg
ICAgIGNhc2UgRHJhd2luZ0FyZWFJbmZvOjpMYXllckJhY2tlZDogewogICAgICAgICAgICAgbmV3
RHJhd2luZ0FyZWEgPSBMYXllckJhY2tlZERyYXdpbmdBcmVhUHJveHk6OmNyZWF0ZShzZWxmKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC05OTQsMTMgKzk5NCwxMyBAQCAtICh2
b2lkKV9zd2l0Y2hUb0RyYXdpbmdBcmVhVHlwZUlmTmVjZXNzYXJ5OihEcmF3aW5nQXJlYUJhc2U6
OlR5cGUpdHlwZQogCiAtICh2b2lkKV9wYWdlRGlkRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5n
CiB7Ci0gICAgW3NlbGYgX3N3aXRjaFRvRHJhd2luZ0FyZWFUeXBlSWZOZWNlc3Nhcnk6RHJhd2lu
Z0FyZWFCYXNlOjpMYXllckJhY2tlZERyYXdpbmdBcmVhVHlwZV07CisgICAgW3NlbGYgX3N3aXRj
aFRvRHJhd2luZ0FyZWFUeXBlSWZOZWNlc3Nhcnk6RHJhd2luZ0FyZWFJbmZvOjpMYXllckJhY2tl
ZF07CiB9CiAKIC0gKHZvaWQpX3BhZ2VEaWRMZWF2ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcKIHsK
ICAgICAvLyBGSVhNRTogd2UgbWF5IHdhbnQgdG8gYXZvaWQgZmxpcHBpbmcgYmFjayB0byB0aGUg
bm9uLWxheWVyLWJhY2tlZCBkcmF3aW5nIGFyZWEgdW50aWwgdGhlIG5leHQgcGFnZSBsb2FkLCB0
byBhdm9pZCB0aHJhc2hpbmcuCi0gICAgW3NlbGYgX3N3aXRjaFRvRHJhd2luZ0FyZWFUeXBlSWZO
ZWNlc3Nhcnk6RHJhd2luZ0FyZWFCYXNlOjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFUeXBlXTsK
KyAgICBbc2VsZiBfc3dpdGNoVG9EcmF3aW5nQXJlYVR5cGVJZk5lY2Vzc2FyeTpEcmF3aW5nQXJl
YUluZm86OkNodW5rZWRVcGRhdGVdOwogfQogI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FncmFwaGlj
c3drdmlldy5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNw
cAppbmRleCBkZGQyYjI3OTdmNWY2MzQ0ZGE5ZDIwZDk4MWRiOWRjNzA0ZGU0ZTk2Li5kNmVmZDkz
ZWIyYWE3MDZlYjExYTE2NjM1OGMyOGZlODg5NWExODM1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcApAQCAtMzI2LDcgKzMyNiw3IEBAIHZvaWQgUUdy
YXBoaWNzV0tWaWV3Ojp0YWtlU25hcHNob3QoY29uc3QgUVNpemUmIHNpemUsIGNvbnN0IFFSZWN0
JiBjb250ZW50c1JlY3QpCiB7CiAjaWYgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAg
RHJhd2luZ0FyZWFQcm94eSogZHJhd2luZ0FyZWEgPSBwYWdlKCktPmQtPnBhZ2UtPmRyYXdpbmdB
cmVhKCk7Ci0gICAgaWYgKGRyYXdpbmdBcmVhLT5pbmZvKCkudHlwZSAhPSBEcmF3aW5nQXJlYUJh
c2U6OlRpbGVkRHJhd2luZ0FyZWFUeXBlKQorICAgIGlmIChkcmF3aW5nQXJlYS0+aW5mbygpLnR5
cGUgIT0gRHJhd2luZ0FyZWFJbmZvOjpUaWxlZCkKICAgICAgICAgcmV0dXJuOwogICAgIFRpbGVk
RHJhd2luZ0FyZWFQcm94eSogdGlsZWREcmF3aW5nQXJlYSA9IHN0YXRpY19jYXN0PFRpbGVkRHJh
d2luZ0FyZWFQcm94eSo+KGRyYXdpbmdBcmVhKTsKICAgICB0aWxlZERyYXdpbmdBcmVhLT50YWtl
U25hcHNob3Qoc2l6ZSwgY29udGVudHNSZWN0KTsKQEAgLTM4Niw3ICszODYsNyBAQCB2b2lkIFFH
cmFwaGljc1dLVmlld1ByaXZhdGU6OmNvbW1pdFNjYWxlKCkKICNpZiBFTkFCTEUoVElMRURfQkFD
S0lOR19TVE9SRSkKICAgICBEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5nQXJlYSA9IHBhZ2UtPmQt
PnBhZ2UtPmRyYXdpbmdBcmVhKCk7CiAgICAgZmxvYXQgbmV3U2NhbGUgPSBxLT5zY2FsZSgpOwot
ICAgIGlmIChkcmF3aW5nQXJlYS0+aW5mbygpLnR5cGUgPT0gRHJhd2luZ0FyZWFCYXNlOjpUaWxl
ZERyYXdpbmdBcmVhVHlwZSkgeworICAgIGlmIChkcmF3aW5nQXJlYS0+aW5mbygpLnR5cGUgPT0g
RHJhd2luZ0FyZWFJbmZvOjpUaWxlZCkgewogICAgICAgICBUaWxlZERyYXdpbmdBcmVhUHJveHkq
IHRpbGVkRHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxUaWxlZERyYXdpbmdBcmVhUHJveHkqPihk
cmF3aW5nQXJlYSk7CiAgICAgICAgIGlmICh0aWxlZERyYXdpbmdBcmVhLT5jb250ZW50c1NjYWxl
KCkgPT0gbmV3U2NhbGUpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9XZWJLaXQy
L1VJUHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5jcHAgYi9XZWJLaXQyL1VJ
UHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggYzk1MmU2YWIx
ZjZjOGYyYzE1ZTUzYTdkOWVlYzE5MGQyZTgzYzFhMy4uODAwZmZlZjA1NGYzM2MxZTAxZWQyNTcy
ZWZmMDNkYzQ5NWI1ZGIwZiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVw
ZGF0ZURyYXdpbmdBcmVhUHJveHkuY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRV
cGRhdGVEcmF3aW5nQXJlYVByb3h5LmNwcApAQCAtNDMsNyArNDMsNyBAQCBQYXNzT3duUHRyPENo
dW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5PiBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94
eTo6Y3JlYXRlKAogfQogCiBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6Q2h1bmtlZFVw
ZGF0ZURyYXdpbmdBcmVhUHJveHkoUGxhdGZvcm1XZWJWaWV3KiB3ZWJWaWV3KQotICAgIDogRHJh
d2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYUJhc2U6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVR5
cGUpCisgICAgOiBEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdBcmVhSW5mbzo6Q2h1bmtlZFVwZGF0
ZSkKICAgICAsIG1faXNXYWl0aW5nRm9yRGlkU2V0RnJhbWVOb3RpZmljYXRpb24oZmFsc2UpCiAg
ICAgLCBtX2lzVmlzaWJsZSh0cnVlKQogICAgICwgbV9mb3JjZVJlcGFpbnRXaGVuUmVzdW1pbmdQ
YWludGluZyhmYWxzZSkKQEAgLTkxLDcgKzkxLDcgQEAgdm9pZCBDaHVua2VkVXBkYXRlRHJhd2lu
Z0FyZWFQcm94eTo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiB2aWV3U2l6ZSkKICAgICBtX2lzV2Fp
dGluZ0ZvckRpZFNldEZyYW1lTm90aWZpY2F0aW9uID0gdHJ1ZTsKIAogICAgIHBhZ2UtPnByb2Nl
c3MoKS0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLT5zdGFydCgpOwotICAgIHBhZ2UtPnByb2Nlc3Mo
KS0+c2VuZChEcmF3aW5nQXJlYU1lc3NhZ2U6OlNldFNpemUsIHBhZ2UtPnBhZ2VJRCgpLCBDb3Jl
SVBDOjpJbihpbmZvKCkuaWQsIHZpZXdTaXplKSk7CisgICAgcGFnZS0+cHJvY2VzcygpLT5zZW5k
KERyYXdpbmdBcmVhTWVzc2FnZTo6U2V0U2l6ZSwgcGFnZS0+cGFnZUlEKCksIENvcmVJUEM6Oklu
KGluZm8oKS5pZGVudGlmaWVyLCB2aWV3U2l6ZSkpOwogfQogCiB2b2lkIENodW5rZWRVcGRhdGVE
cmF3aW5nQXJlYVByb3h5OjpzZXRQYWdlSXNWaXNpYmxlKGJvb2wgaXNWaXNpYmxlKQpAQCAtMTA3
LDEyICsxMDcsMTIgQEAgdm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6c2V0UGFn
ZUlzVmlzaWJsZShib29sIGlzVmlzaWJsZSkKIAogICAgIGlmICghbV9pc1Zpc2libGUpIHsKICAg
ICAgICAgLy8gVGVsbCB0aGUgd2ViIHByb2Nlc3MgdGhhdCBpdCBkb2Vzbid0IG5lZWQgdG8gcGFp
bnQgYW55dGhpbmcgZm9yIG5vdy4KLSAgICAgICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdp
bmdBcmVhTWVzc2FnZTo6U3VzcGVuZFBhaW50aW5nLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6
SW4oaW5mbygpLmlkKSk7CisgICAgICAgIHBhZ2UtPnByb2Nlc3MoKS0+c2VuZChEcmF3aW5nQXJl
YU1lc3NhZ2U6OlN1c3BlbmRQYWludGluZywgcGFnZS0+cGFnZUlEKCksIENvcmVJUEM6OkluKGlu
Zm8oKS5pZGVudGlmaWVyKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCiAgICAgLy8g
VGhlIHBhZ2UgaXMgbm93IHZpc2libGUsIHJlc3VtZSBwYWludGluZy4KLSAgICBwYWdlLT5wcm9j
ZXNzKCktPnNlbmQoRHJhd2luZ0FyZWFNZXNzYWdlOjpSZXN1bWVQYWludGluZywgcGFnZS0+cGFn
ZUlEKCksIENvcmVJUEM6OkluKGluZm8oKS5pZCwgbV9mb3JjZVJlcGFpbnRXaGVuUmVzdW1pbmdQ
YWludGluZykpOworICAgIHBhZ2UtPnByb2Nlc3MoKS0+c2VuZChEcmF3aW5nQXJlYU1lc3NhZ2U6
OlJlc3VtZVBhaW50aW5nLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkZW50
aWZpZXIsIG1fZm9yY2VSZXBhaW50V2hlblJlc3VtaW5nUGFpbnRpbmcpKTsKICAgICBtX2ZvcmNl
UmVwYWludFdoZW5SZXN1bWluZ1BhaW50aW5nID0gZmFsc2U7CiB9CiAgICAgCkBAIC0xNDcsNyAr
MTQ3LDcgQEAgdm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6dXBkYXRlKFVwZGF0
ZUNodW5rKiB1cGRhdGVDaHVuaykKICAgICB9CiAKICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB0
aGlzLT5wYWdlKCk7Ci0gICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2Fn
ZTo6RGlkVXBkYXRlLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkKSk7Cisg
ICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2FnZTo6RGlkVXBkYXRlLCBw
YWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkZW50aWZpZXIpKTsKIH0KIAogdm9p
ZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQ
Qzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFy
Z3VtZW50RGVjb2RlciogYXJndW1lbnRzKQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eS5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
LmNwcAppbmRleCBlYzRhNGZiYzllYjZjNGFlZGU0ZWJhNDY3ZTFlYTI2YzJkNjRjMGUwLi4wZGQw
NjZjYzQzM2I1N2ZiMzY0ZjU1ZTlmNmQ4ZWVmOTE3YjA4MDU0IDEwMDY0NAotLS0gYS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5LmNwcApAQCAtMjcsOCArMjcsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAotRHJhd2luZ0FyZWFQcm94eTo6RHJhd2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYUJhc2U6
OlR5cGUgdHlwZSkKLSAgICA6IG1faW5mbyh0eXBlLCBuZXh0RHJhd2luZ0FyZWFJRCgpKQorRHJh
d2luZ0FyZWFQcm94eTo6RHJhd2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYUluZm86OlR5cGUgdHlw
ZSkKKyAgICA6IG1faW5mbyh0eXBlLCBuZXh0SWRlbnRpZmllcigpKQogewogfQogCkBAIC0zNiw5
ICszNiw5IEBAIERyYXdpbmdBcmVhUHJveHk6On5EcmF3aW5nQXJlYVByb3h5KCkKIHsKIH0KIAot
RHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUlEIERyYXdpbmdBcmVhUHJveHk6Om5leHREcmF3
aW5nQXJlYUlEKCkKK0RyYXdpbmdBcmVhSW5mbzo6SWRlbnRpZmllciBEcmF3aW5nQXJlYVByb3h5
OjpuZXh0SWRlbnRpZmllcigpCiB7Ci0gICAgc3RhdGljIERyYXdpbmdBcmVhQmFzZTo6RHJhd2lu
Z0FyZWFJRCBuZXh0SUQgPSAxOworICAgIHN0YXRpYyBEcmF3aW5nQXJlYUluZm86OklkZW50aWZp
ZXIgbmV4dElEID0gMTsKICAgICByZXR1cm4gKytuZXh0SUQ7CiB9CiAKZGlmZiAtLWdpdCBhL1dl
YktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHkuaAppbmRleCBhN2I1NjlmZmM0MmMxMTgyYTBmZWZlZjIyMDE1MzNlYmNl
MmU0ZTRmLi5mMzhlZmM2ZjZmNWFkZDlhNWVjYTY2ZDI1OGIyMGRmODQ0ZmFkYjgzIDEwMDY0NAot
LS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCkBAIC00NSw3ICs0NSw3IEBAIHR5cGVkZWYgUVBh
aW50ZXIqIFBsYXRmb3JtRHJhd2luZ0NvbnRleHQ7CiAKIGNsYXNzIERyYXdpbmdBcmVhUHJveHkg
ewogcHVibGljOgotICAgIHN0YXRpYyBEcmF3aW5nQXJlYUJhc2U6OkRyYXdpbmdBcmVhSUQgbmV4
dERyYXdpbmdBcmVhSUQoKTsKKyAgICBzdGF0aWMgRHJhd2luZ0FyZWFJbmZvOjpJZGVudGlmaWVy
IG5leHRJZGVudGlmaWVyKCk7CiAKICAgICB2aXJ0dWFsIH5EcmF3aW5nQXJlYVByb3h5KCk7CiAK
QEAgLTYzLDEyICs2MywxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRldGFjaENvbXBv
c2l0aW5nQ29udGV4dCgpID0gMDsKICNlbmRpZgogCi0gICAgY29uc3QgRHJhd2luZ0FyZWFCYXNl
OjpEcmF3aW5nQXJlYUluZm8gaW5mbygpIGNvbnN0IHsgcmV0dXJuIG1faW5mbzsgfQorICAgIGNv
bnN0IERyYXdpbmdBcmVhSW5mbyYgaW5mbygpIGNvbnN0IHsgcmV0dXJuIG1faW5mbzsgfQogCiBw
cm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgRHJhd2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYUJhc2U6
OlR5cGUpOworICAgIGV4cGxpY2l0IERyYXdpbmdBcmVhUHJveHkoRHJhd2luZ0FyZWFJbmZvOjpU
eXBlKTsKIAotICAgIERyYXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJbmZvIG1faW5mbzsKKyAg
ICBEcmF3aW5nQXJlYUluZm8gbV9pbmZvOwogICAgIFdlYkNvcmU6OkludFNpemUgbV9zaXplOwog
fTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJCYWNrZWREcmF3aW5nQXJl
YVByb3h5LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL0xheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94
eS5jcHAKaW5kZXggMTA5YzVjMzhiNTQ3OWM1OTE2MDI0MjQ2NThiMzQ0ZTU3OWU1OTM1Ni4uOWU3
MDljZmY1MDA2YjI1NTQzN2Y1YjliM2NlZjZiMjg4OTk1YmNmZCAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9VSVByb2Nlc3MvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9XZWJLaXQy
L1VJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdpbmdBcmVhUHJveHkuY3BwCkBAIC00NCw3ICs0NCw3
IEBAIFBhc3NPd25QdHI8TGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5PiBMYXllckJhY2tlZERy
YXdpbmdBcmVhUHJveHk6OmNyZWF0ZShQbGF0CiB9CiAKIExheWVyQmFja2VkRHJhd2luZ0FyZWFQ
cm94eTo6TGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5KFBsYXRmb3JtV2ViVmlldyogd2ViVmll
dykKLSAgICA6IERyYXdpbmdBcmVhUHJveHkoRHJhd2luZ0FyZWFCYXNlOjpMYXllckJhY2tlZERy
YXdpbmdBcmVhVHlwZSkKKyAgICA6IERyYXdpbmdBcmVhUHJveHkoRHJhd2luZ0FyZWFJbmZvOjpM
YXllckJhY2tlZCkKICAgICAsIG1faXNXYWl0aW5nRm9yRGlkU2V0RnJhbWVOb3RpZmljYXRpb24o
ZmFsc2UpCiAgICAgLCBtX2lzVmlzaWJsZSh0cnVlKQogICAgICwgbV93ZWJWaWV3KHdlYlZpZXcp
CkBAIC04MSw3ICs4MSw3IEBAIHZvaWQgTGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5OjpzZXRT
aXplKGNvbnN0IEludFNpemUmIHZpZXdTaXplKQogICAgIG1faXNXYWl0aW5nRm9yRGlkU2V0RnJh
bWVOb3RpZmljYXRpb24gPSB0cnVlOwogCiAgICAgcGFnZS0+cHJvY2VzcygpLT5yZXNwb25zaXZl
bmVzc1RpbWVyKCktPnN0YXJ0KCk7Ci0gICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdB
cmVhTWVzc2FnZTo6U2V0U2l6ZSwgcGFnZS0+cGFnZUlEKCksIENvcmVJUEM6OkluKGluZm8oKS5p
ZCwgdmlld1NpemUpKTsKKyAgICBwYWdlLT5wcm9jZXNzKCktPnNlbmQoRHJhd2luZ0FyZWFNZXNz
YWdlOjpTZXRTaXplLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkZW50aWZp
ZXIsIHZpZXdTaXplKSk7CiB9CiAKICNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lO
KQpAQCAtMTAzLDEyICsxMDMsMTIgQEAgdm9pZCBMYXllckJhY2tlZERyYXdpbmdBcmVhUHJveHk6
OnNldFBhZ2VJc1Zpc2libGUoYm9vbCBpc1Zpc2libGUpCiAKICAgICBpZiAoIW1faXNWaXNpYmxl
KSB7CiAgICAgICAgIC8vIFRlbGwgdGhlIHdlYiBwcm9jZXNzIHRoYXQgaXQgZG9lc24ndCBuZWVk
IHRvIHBhaW50IGFueXRoaW5nIGZvciBub3cuCi0gICAgICAgIHBhZ2UtPnByb2Nlc3MoKS0+c2Vu
ZChEcmF3aW5nQXJlYU1lc3NhZ2U6OlN1c3BlbmRQYWludGluZywgcGFnZS0+cGFnZUlEKCksIENv
cmVJUEM6OkluKGluZm8oKS5pZCkpOworICAgICAgICBwYWdlLT5wcm9jZXNzKCktPnNlbmQoRHJh
d2luZ0FyZWFNZXNzYWdlOjpTdXNwZW5kUGFpbnRpbmcsIHBhZ2UtPnBhZ2VJRCgpLCBDb3JlSVBD
OjpJbihpbmZvKCkuaWRlbnRpZmllcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAog
ICAgIC8vIFRoZSBwYWdlIGlzIG5vdyB2aXNpYmxlLgotICAgIHBhZ2UtPnByb2Nlc3MoKS0+c2Vu
ZChEcmF3aW5nQXJlYU1lc3NhZ2U6OlJlc3VtZVBhaW50aW5nLCBwYWdlLT5wYWdlSUQoKSwgQ29y
ZUlQQzo6SW4oaW5mbygpLmlkKSk7CisgICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdB
cmVhTWVzc2FnZTo6UmVzdW1lUGFpbnRpbmcsIHBhZ2UtPnBhZ2VJRCgpLCBDb3JlSVBDOjpJbihp
bmZvKCkuaWRlbnRpZmllcikpOwogICAgIAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVxdWVz
dCBhIGZ1bGwgcmVwYWludCBoZXJlIGlmIG5lZWRlZC4KIH0KQEAgLTEyNCw3ICsxMjQsNyBAQCB2
b2lkIExheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eTo6ZGlkU2V0U2l6ZSgpCiB2b2lkIExheWVy
QmFja2VkRHJhd2luZ0FyZWFQcm94eTo6dXBkYXRlKCkKIHsKICAgICBXZWJQYWdlUHJveHkqIHBh
Z2UgPSB0aGlzLT5wYWdlKCk7Ci0gICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVh
TWVzc2FnZTo6RGlkVXBkYXRlLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlk
KSk7CisgICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2FnZTo6RGlkVXBk
YXRlLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkZW50aWZpZXIpKTsKIH0K
IAogdm9pZCBMYXllckJhY2tlZERyYXdpbmdBcmVhUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKENv
cmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBD
OjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9j
ZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9UaWxlZERy
YXdpbmdBcmVhUHJveHkuY3BwCmluZGV4IDVkYmY0MDU5MzdlZTMyZWQzNmMzNTg1YmU0ODA5MjY2
ZTZhODIwYmUuLmI3OWVjMDI3MzFhMzM3NTZhN2U1MTRiNDhjZTljNTQ4NTk2NjI3ZWQgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvVGlsZWREcmF3aW5nQXJlYVByb3h5LmNwcApAQCAtNDYsNyArNDYs
NyBAQCBQYXNzT3duUHRyPFRpbGVkRHJhd2luZ0FyZWFQcm94eT4gVGlsZWREcmF3aW5nQXJlYVBy
b3h5OjpjcmVhdGUoUGxhdGZvcm1XZWJWaWV3KgogfQogCiBUaWxlZERyYXdpbmdBcmVhUHJveHk6
OlRpbGVkRHJhd2luZ0FyZWFQcm94eShQbGF0Zm9ybVdlYlZpZXcqIHdlYlZpZXcpCi0gICAgOiBE
cmF3aW5nQXJlYVByb3h5KERyYXdpbmdBcmVhQmFzZTo6VGlsZWREcmF3aW5nQXJlYVR5cGUpCisg
ICAgOiBEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdBcmVhSW5mbzo6VGlsZWQpCiAgICAgLCBtX2lz
V2FpdGluZ0ZvckRpZFNldEZyYW1lTm90aWZpY2F0aW9uKGZhbHNlKQogICAgICwgbV9pc1Zpc2li
bGUodHJ1ZSkKICAgICAsIG1fd2ViVmlldyh3ZWJWaWV3KQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggZDcyYjM2MTE2ZjI2YTcxNTY0NzUzMWIwYjkzNThjMzMzNzM3ZWJlZS4uYzQ5
ODJiYjk2ZmViZWVlOTFiZWQ1ZGViYzkxODlkM2FhNmE3YmIwNyAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC0xNDI2LDcgKzE0MjYsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Zm9j
dXNlZEZyYW1lQ2hhbmdlZCh1aW50NjRfdCBmcmFtZUlEKQogfQogCiAjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQotdm9pZCBXZWJQYWdlUHJveHk6OmRpZENoYW5nZUFjY2VsZXJhdGVk
Q29tcG9zaXRpbmcoYm9vbCBjb21wb3NpdGluZywgRHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJl
YUluZm8mIGRyYXdpbmdBcmVhSW5mbykKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nKGJvb2wgY29tcG9zaXRpbmcsIERyYXdpbmdBcmVhSW5mbyYgZHJh
d2luZ0FyZWFJbmZvKQogewogICAgIGlmIChjb21wb3NpdGluZykKICAgICAgICAgZGlkRW50ZXJB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGNj
Yzg1ODgwNmQ4YmEyMGQxZWRjMDk3M2MxYTU1ZWQ3ZGY4ODg0NzQuLjQyMzdjYTM4MDc5YmM2NDcx
MjRhOTljMDQ0NzBkZmMyOTE5NWI3ZDggMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0z
NzUsNyArMzc1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZvY3VzZWRGcmFtZUNoYW5nZWQodWlu
dDY0X3QgZnJhbWVJRCk7CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAg
dm9pZCBkaWRDaGFuZ2VBY2NlbGVyYXRlZENvbXBvc2l0aW5nKGJvb2wgY29tcG9zaXRpbmcsIERy
YXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJbmZvJik7CisgICAgdm9pZCBkaWRDaGFuZ2VBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nKGJvb2wgY29tcG9zaXRpbmcsIERyYXdpbmdBcmVhSW5mbyYpOwog
I2VuZGlmCiAKICAgICBQYWdlQ2xpZW50KiBtX3BhZ2VDbGllbnQ7CmRpZmYgLS1naXQgYS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNzc0MzcxZjZkYTM2Njk0ODY1ZGVlYjYy
OTBkMTg0Zjg4ODRjM2Q0MS4uYTU4NWNjZWE4YzRhMWNiODM3ZTE5ZGEwOWNlZTdiNDQ1YTBkOWRh
NCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTMz
LDYgKzEzMyw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAKICNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCiAgICAgIyBBY2NlbGVyYXRlZCBjb21wc2l0aW5nIG1lc3NhZ2Vz
LgotICAgIERpZENoYW5nZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoYm9vbCBjb21wb3NpdGluZykg
LT4gKFdlYktpdDo6RHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUluZm8gbmV3RHJhd2luZ0Fy
ZWEpCisgICAgRGlkQ2hhbmdlQWNjZWxlcmF0ZWRDb21wb3NpdGluZyhib29sIGNvbXBvc2l0aW5n
KSAtPiAoV2ViS2l0OjpEcmF3aW5nQXJlYUluZm8gbmV3RHJhd2luZ0FyZWEpCiAjZW5kaWYKIH0K
ZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcCBiL1dlYktpdDIv
VUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAppbmRleCBmYTZkMzdjNjg2YzFhYzQ5MjgwMDQwNTJj
ZjY4OTIyNTk1MGRhYmFhLi42NGMyOWQxM2IyOWNmMDZjODE2NzViNTU5NjUwOTlhZjQ2ZDRmNGFm
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKKysrIGIvV2Vi
S2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCkBAIC02NjIsNyArNjYyLDcgQEAgdm9pZCBX
ZWJWaWV3OjpwYWdlRGlkTGVhdmVBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKIAogdm9pZCBXZWJW
aWV3Ojpzd2l0Y2hUb0RyYXdpbmdBcmVhVHlwZUlmTmVjZXNzYXJ5KERyYXdpbmdBcmVhUHJveHk6
OlR5cGUgdHlwZSkKIHsKLSAgICBEcmF3aW5nQXJlYUJhc2U6OlR5cGUgZXhpc3RpbmdEcmF3aW5n
QXJlYVR5cGUgPSBtX3BhZ2UtPmRyYXdpbmdBcmVhKCkgPyBtX3BhZ2UtPmRyYXdpbmdBcmVhKCkt
PmluZm8oKS50eXBlIDogRHJhd2luZ0FyZWFCYXNlOjpOb25lOworICAgIERyYXdpbmdBcmVhSW5m
bzo6VHlwZSBleGlzdGluZ0RyYXdpbmdBcmVhVHlwZSA9IG1fcGFnZS0+ZHJhd2luZ0FyZWEoKSA/
IG1fcGFnZS0+ZHJhd2luZ0FyZWEoKS0+aW5mbygpLnR5cGUgOiBEcmF3aW5nQXJlYUluZm86Ok5v
bmU7CiAgICAgaWYgKGV4aXN0aW5nRHJhd2luZ0FyZWFUeXBlID09IHR5cGUpCiAgICAgICAgIHJl
dHVybjsKIApAQCAtNjcwLDExICs2NzAsMTEgQEAgdm9pZCBXZWJWaWV3Ojpzd2l0Y2hUb0RyYXdp
bmdBcmVhVHlwZUlmTmVjZXNzYXJ5KERyYXdpbmdBcmVhUHJveHk6OlR5cGUgdHlwZSkKICAgICBz
d2l0Y2ggKHR5cGUpIHsKICAgICAgICAgY2FzZSBEcmF3aW5nQXJlYVByb3h5OjpOb25lOgogICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRHJhd2luZ0FyZWFQcm94eTo6Q2h1bmtlZFVw
ZGF0ZURyYXdpbmdBcmVhVHlwZTogeworICAgICAgICBjYXNlIERyYXdpbmdBcmVhUHJveHk6OkNo
dW5rZWRVcGRhdGU6IHsKICAgICAgICAgICAgIG5ld0RyYXdpbmdBcmVhID0gQ2h1bmtlZFVwZGF0
ZURyYXdpbmdBcmVhUHJveHk6OmNyZWF0ZSh0aGlzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9Ci0gICAgICAgIGNhc2UgRHJhd2luZ0FyZWFQcm94eTo6TGF5ZXJCYWNrZWREcmF3aW5n
QXJlYVR5cGU6IHsKKyAgICAgICAgY2FzZSBEcmF3aW5nQXJlYVByb3h5OjpMYXllckJhY2tlZDog
ewogICAgICAgICAgICAgbmV3RHJhd2luZ0FyZWEgPSBMYXllckJhY2tlZERyYXdpbmdBcmVhUHJv
eHk6OmNyZWF0ZSh0aGlzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEu
Y3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVh
LmNwcAppbmRleCBjMTFjYjQ4YTc0YzUxMDA3YTMyYTEwNTkyMDEyMzM0NDc0NTAxM2RkLi5mNDZl
ZjJlOWFhOTNlNmViNzMyNjY5NGFlYjkxZGE1NGYwZmI5N2NhIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuY3BwCisrKyBiL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5jcHAKQEAg
LTM3LDggKzM3LDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi1DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJl
YShEcmF3aW5nQXJlYUJhc2U6OkRyYXdpbmdBcmVhSUQgaWRlbnRpZmllciwgV2ViUGFnZSogd2Vi
UGFnZSkKLSAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhQmFzZTo6Q2h1bmtlZFVwZGF0ZURy
YXdpbmdBcmVhVHlwZSwgaWRlbnRpZmllciwgd2ViUGFnZSkKK0NodW5rZWRVcGRhdGVEcmF3aW5n
QXJlYTo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhKERyYXdpbmdBcmVhSW5mbzo6SWRlbnRpZmll
ciBpZGVudGlmaWVyLCBXZWJQYWdlKiB3ZWJQYWdlKQorICAgIDogRHJhd2luZ0FyZWEoRHJhd2lu
Z0FyZWFJbmZvOjpDaHVua2VkVXBkYXRlLCBpZGVudGlmaWVyLCB3ZWJQYWdlKQogICAgICwgbV9p
c1dhaXRpbmdGb3JVcGRhdGUoZmFsc2UpCiAgICAgLCBtX3BhaW50aW5nSXNTdXNwZW5kZWQoZmFs
c2UpCiAgICAgLCBtX2Rpc3BsYXlUaW1lcihXZWJQcm9jZXNzOjpzaGFyZWQoKS5ydW5Mb29wKCks
IHRoaXMsICZDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OmRpc3BsYXkpCkBAIC0xODgsMTIgKzE4
OCwxMiBAQCB2b2lkIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYTo6ZGlkVXBkYXRlKCkKIAogdm9p
ZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNv
bm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVu
dERlY29kZXIqIGFyZ3VtZW50cykKIHsKLSAgICBEcmF3aW5nQXJlYUJhc2U6OkRyYXdpbmdBcmVh
SUQgdGFyZ2V0RHJhd2luZ0FyZWFJRDsKLSAgICBpZiAoIWFyZ3VtZW50cy0+ZGVjb2RlKENvcmVJ
UEM6Ok91dCh0YXJnZXREcmF3aW5nQXJlYUlEKSkpCisgICAgRHJhd2luZ0FyZWFJbmZvOjpJZGVu
dGlmaWVyIHRhcmdldElkZW50aWZpZXI7CisgICAgaWYgKCFhcmd1bWVudHMtPmRlY29kZShDb3Jl
SVBDOjpPdXQodGFyZ2V0SWRlbnRpZmllcikpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBX
ZSBjYW4gc3dpdGNoIGRyYXdpbmcgYXJlYXMgb24gdGhlIGZseSwgc28gaWYgdGhpcyBtZXNzYWdl
IHdhcyB0YXJnZXR0ZWQgYXQgYW4gb2Jzb2xldGUgZHJhd2luZyBhcmVhLCBpZ25vcmUgaXQuCi0g
ICAgaWYgKHRhcmdldERyYXdpbmdBcmVhSUQgIT0gaW5mbygpLmlkKQorICAgIGlmICh0YXJnZXRJ
ZGVudGlmaWVyICE9IGluZm8oKS5pZGVudGlmaWVyKQogICAgICAgICByZXR1cm47CiAKICAgICBz
d2l0Y2ggKG1lc3NhZ2VJRC5nZXQ8RHJhd2luZ0FyZWFNZXNzYWdlOjpLaW5kPigpKSB7CmRpZmYg
LS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBkYXRlRHJhd2luZ0Fy
ZWEuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJl
YS5oCmluZGV4IGFkMzlkMjg2NDFjODNhMGZmNDE4ODNiNmIwOGI5MjQ2ODAyZjVkNzMuLjVjYzky
NzFiZGI3MDk5ODI1OTFlYmFlNjc1ODAzZWJmZDU5NWE2OGYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5oCisrKyBiL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5oCkBAIC0zNiw3
ICszNiw3IEBAIGNsYXNzIFVwZGF0ZUNodW5rOwogCiBjbGFzcyBDaHVua2VkVXBkYXRlRHJhd2lu
Z0FyZWEgOiBwdWJsaWMgRHJhd2luZ0FyZWEgewogcHVibGljOgotICAgIENodW5rZWRVcGRhdGVE
cmF3aW5nQXJlYShEcmF3aW5nQXJlYUJhc2U6OkRyYXdpbmdBcmVhSUQgaWRlbnRpZmllciwgV2Vi
UGFnZSopOworICAgIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYShEcmF3aW5nQXJlYUluZm86Oklk
ZW50aWZpZXIgaWRlbnRpZmllciwgV2ViUGFnZSopOwogICAgIHZpcnR1YWwgfkNodW5rZWRVcGRh
dGVEcmF3aW5nQXJlYSgpOwogCiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVXaW5kb3coY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCwgYm9vbCBpbW1lZGlhdGUpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCmluZGV4IGE1NmNlZGY5OWE4MzhkZWRkNDU2
MDI4OTdlMmNkOTBiMjFkMjgyZGYuLjk3MDA4ODRhMzg0NzA4ZjUyNTRhNWEyNTZkZDlkMThkYWIz
YzAwYmMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
LmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAKQEAg
LTM3LDIyICszNywyMiBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotUGFzc1JlZlB0cjxEcmF3
aW5nQXJlYT4gRHJhd2luZ0FyZWE6OmNyZWF0ZShEcmF3aW5nQXJlYUJhc2U6OlR5cGUgdHlwZSwg
RHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUlEIGlkZW50aWZpZXIsIFdlYlBhZ2UqIHdlYlBh
Z2UpCitQYXNzUmVmUHRyPERyYXdpbmdBcmVhPiBEcmF3aW5nQXJlYTo6Y3JlYXRlKERyYXdpbmdB
cmVhSW5mbzo6VHlwZSB0eXBlLCBEcmF3aW5nQXJlYUluZm86OklkZW50aWZpZXIgaWRlbnRpZmll
ciwgV2ViUGFnZSogd2ViUGFnZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2Fz
ZSBEcmF3aW5nQXJlYUJhc2U6Ok5vbmU6CisgICAgICAgIGNhc2UgRHJhd2luZ0FyZWFJbmZvOjpO
b25lOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICBicmVh
azsKIAotICAgICAgICBjYXNlIERyYXdpbmdBcmVhQmFzZTo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdB
cmVhVHlwZToKKyAgICAgICAgY2FzZSBEcmF3aW5nQXJlYUluZm86OkNodW5rZWRVcGRhdGU6CiAg
ICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYShp
ZGVudGlmaWVyLCB3ZWJQYWdlKSk7CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
ICYmIFBMQVRGT1JNKE1BQykKLSAgICAgICAgY2FzZSBEcmF3aW5nQXJlYUJhc2U6OkxheWVyQmFj
a2VkRHJhd2luZ0FyZWFUeXBlOgorICAgICAgICBjYXNlIERyYXdpbmdBcmVhSW5mbzo6TGF5ZXJC
YWNrZWQ6CiAgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IExheWVyQmFja2VkRHJhd2lu
Z0FyZWEoaWRlbnRpZmllciwgd2ViUGFnZSkpOwogI2VuZGlmCiAjaWYgRU5BQkxFKFRJTEVEX0JB
Q0tJTkdfU1RPUkUpCi0gICAgICAgIGNhc2UgRHJhd2luZ0FyZWFCYXNlOjpUaWxlZERyYXdpbmdB
cmVhVHlwZToKKyAgICAgICAgY2FzZSBEcmF3aW5nQXJlYUluZm86OlRpbGVkOgogICAgICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUaWxlZERyYXdpbmdBcmVhKGlkZW50aWZpZXIsIHdlYlBh
Z2UpKTsKICNlbmRpZgogICAgIH0KQEAgLTYwLDcgKzYwLDcgQEAgUGFzc1JlZlB0cjxEcmF3aW5n
QXJlYT4gRHJhd2luZ0FyZWE6OmNyZWF0ZShEcmF3aW5nQXJlYUJhc2U6OlR5cGUgdHlwZSwgRHJh
d2luZ0EKICAgICByZXR1cm4gMDsKIH0KIAotRHJhd2luZ0FyZWE6OkRyYXdpbmdBcmVhKERyYXdp
bmdBcmVhQmFzZTo6VHlwZSB0eXBlLCBEcmF3aW5nQXJlYUJhc2U6OkRyYXdpbmdBcmVhSUQgaWRl
bnRpZmllciwgV2ViUGFnZSogd2ViUGFnZSkKK0RyYXdpbmdBcmVhOjpEcmF3aW5nQXJlYShEcmF3
aW5nQXJlYUluZm86OlR5cGUgdHlwZSwgRHJhd2luZ0FyZWFJbmZvOjpJZGVudGlmaWVyIGlkZW50
aWZpZXIsIFdlYlBhZ2UqIHdlYlBhZ2UpCiAgICAgOiBtX2luZm8odHlwZSwgaWRlbnRpZmllcikK
ICAgICAsIG1fd2ViUGFnZSh3ZWJQYWdlKQogewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLmgKaW5kZXggZjk4OWI4ZGEyODM3NjliYmYyNThlMDI4OTIzNWE2NjI4NjgwODMz
MS4uNzRlOTc1Zjc0MDU1OGNjNGQ0YjQ1ZDNiN2I5ZGU1MGZiYTc4OTBjZiAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCkBAIC00NCw3ICs0NCw3IEBAIGNsYXNzIFdl
YlBhZ2U7CiBjbGFzcyBEcmF3aW5nQXJlYSA6IHB1YmxpYyBSZWZDb3VudGVkPERyYXdpbmdBcmVh
PiB7CiBwdWJsaWM6CiAgICAgLy8gRklYTUU6IEl0IG1pZ2h0IG1ha2Ugc2Vuc2UgdG8gbW92ZSB0
aGlzIGNyZWF0ZSBmdW5jdGlvbiBpbnRvIGEgZmFjdG9yeSBzdHlsZSBjbGFzcy4gCi0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8RHJhd2luZ0FyZWE+IGNyZWF0ZShEcmF3aW5nQXJlYUJhc2U6OlR5cGUs
IERyYXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJRCwgV2ViUGFnZSopOworICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPERyYXdpbmdBcmVhPiBjcmVhdGUoRHJhd2luZ0FyZWFJbmZvOjpUeXBlLCBEcmF3
aW5nQXJlYUluZm86OklkZW50aWZpZXIsIFdlYlBhZ2UqKTsKIAogICAgIHZpcnR1YWwgfkRyYXdp
bmdBcmVhKCk7CiAgICAgCkBAIC02NiwxMiArNjYsMTIgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpN
ZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopID0gMDsKIAotICAgIGNvbnN0IERy
YXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJbmZvJiBpbmZvKCkgY29uc3QgeyByZXR1cm4gbV9p
bmZvOyB9CisgICAgY29uc3QgRHJhd2luZ0FyZWFJbmZvJiBpbmZvKCkgY29uc3QgeyByZXR1cm4g
bV9pbmZvOyB9CiAKIHByb3RlY3RlZDoKLSAgICBEcmF3aW5nQXJlYShEcmF3aW5nQXJlYUJhc2U6
OlR5cGUsIERyYXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJRCwgV2ViUGFnZSopOworICAgIERy
YXdpbmdBcmVhKERyYXdpbmdBcmVhSW5mbzo6VHlwZSwgRHJhd2luZ0FyZWFJbmZvOjpJZGVudGlm
aWVyLCBXZWJQYWdlKik7CiAKLSAgICBEcmF3aW5nQXJlYUJhc2U6OkRyYXdpbmdBcmVhSW5mbyBt
X2luZm87CisgICAgRHJhd2luZ0FyZWFJbmZvIG1faW5mbzsKICAgICBXZWJQYWdlKiBtX3dlYlBh
Z2U7CiB9OwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllckJh
Y2tlZERyYXdpbmdBcmVhLmNwcCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFj
a2VkRHJhd2luZ0FyZWEuY3BwCmluZGV4IDdmYjQ4YTdiM2IwYzFkM2E5NTIzOGIxMTAyMmRlMDkx
MTg5N2ViNzAuLjQ4OTVjZTAzYjdlYWM5NjFlNjg1NTUwOTgxNmYwZDBhY2U3OTdjNjkgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFja2VkRHJhd2luZ0FyZWEu
Y3BwCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFja2VkRHJhd2luZ0Fy
ZWEuY3BwCkBAIC0zOSw4ICszOSw4IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAotTGF5ZXJCYWNrZWREcmF3aW5nQXJlYTo6TGF5ZXJCYWNrZWREcmF3
aW5nQXJlYShEcmF3aW5nQXJlYUJhc2U6OkRyYXdpbmdBcmVhSUQgaWRlbnRpZmllciwgV2ViUGFn
ZSogd2ViUGFnZSkKLSAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhQmFzZTo6TGF5ZXJCYWNr
ZWREcmF3aW5nQXJlYVR5cGUsIGlkZW50aWZpZXIsIHdlYlBhZ2UpCitMYXllckJhY2tlZERyYXdp
bmdBcmVhOjpMYXllckJhY2tlZERyYXdpbmdBcmVhKERyYXdpbmdBcmVhSW5mbzo6SWRlbnRpZmll
ciBpZGVudGlmaWVyLCBXZWJQYWdlKiB3ZWJQYWdlKQorICAgIDogRHJhd2luZ0FyZWEoRHJhd2lu
Z0FyZWFJbmZvOjpMYXllckJhY2tlZCwgaWRlbnRpZmllciwgd2ViUGFnZSkKICAgICAsIG1fc3lu
Y1RpbWVyKFdlYlByb2Nlc3M6OnNoYXJlZCgpLnJ1bkxvb3AoKSwgdGhpcywgJkxheWVyQmFja2Vk
RHJhd2luZ0FyZWE6OnN5bmNDb21wb3NpdGluZ0xheWVycykKICAgICAsIG1fYXR0YWNoZWQoZmFs
c2UpCiAgICAgLCBtX3Nob3VsZFBhaW50KHRydWUpCkBAIC0xNDMsMTIgKzE0MywxMiBAQCB2b2lk
IExheWVyQmFja2VkRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZSgpCiAKIHZvaWQgTGF5ZXJCYWNrZWRE
cmF3aW5nQXJlYTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJ
UEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1l
bnRzKQogewotICAgIERyYXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJRCB0YXJnZXREcmF3aW5n
QXJlYUlEOwotICAgIGlmICghYXJndW1lbnRzLT5kZWNvZGUoQ29yZUlQQzo6T3V0KHRhcmdldERy
YXdpbmdBcmVhSUQpKSkKKyAgICBEcmF3aW5nQXJlYUluZm86OklkZW50aWZpZXIgdGFyZ2V0SWRl
bnRpZmllcjsKKyAgICBpZiAoIWFyZ3VtZW50cy0+ZGVjb2RlKENvcmVJUEM6Ok91dCh0YXJnZXRJ
ZGVudGlmaWVyKSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFdlIGNhbiBzd2l0Y2ggZHJh
d2luZyBhcmVhcyBvbiB0aGUgZmx5LCBzbyBpZiB0aGlzIG1lc3NhZ2Ugd2FzIHRhcmdldHRlZCBh
dCBhbiBvYnNvbGV0ZSBkcmF3aW5nIGFyZWEsIGlnbm9yZSBpdC4KLSAgICBpZiAodGFyZ2V0RHJh
d2luZ0FyZWFJRCAhPSBpbmZvKCkuaWQpCisgICAgaWYgKHRhcmdldElkZW50aWZpZXIgIT0gaW5m
bygpLmlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybjsKIAogICAgIHN3aXRjaCAobWVzc2FnZUlE
LmdldDxEcmF3aW5nQXJlYU1lc3NhZ2U6OktpbmQ+KCkpIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFja2VkRHJhd2luZ0FyZWEuaCBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFja2VkRHJhd2luZ0FyZWEuaAppbmRleCA4YTRlZTAyMGVl
MTlhNGMyYjMyOTg1YjY4ZmFhZDk5ZTFiZDUxNjcwLi5iNGRjY2YzYzc2OGI3MjBhM2Y2NmQ2MGNj
OThlNzZiOWE1ZWI3YzRhIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9M
YXllckJhY2tlZERyYXdpbmdBcmVhLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
TGF5ZXJCYWNrZWREcmF3aW5nQXJlYS5oCkBAIC01Miw3ICs1Miw3IEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogCiBjbGFzcyBMYXllckJhY2tlZERyYXdpbmdBcmVhIDogcHVibGljIERyYXdpbmdBcmVh
LCBwcml2YXRlIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbGllbnQgewogcHVibGljOgotICAgIExh
eWVyQmFja2VkRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUlEIGlkZW50
aWZpZXIsIFdlYlBhZ2UqKTsKKyAgICBMYXllckJhY2tlZERyYXdpbmdBcmVhKERyYXdpbmdBcmVh
SW5mbzo6SWRlbnRpZmllciBpZGVudGlmaWVyLCBXZWJQYWdlKik7CiAgICAgdmlydHVhbCB+TGF5
ZXJCYWNrZWREcmF3aW5nQXJlYSgpOwogCiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVXaW5k
b3coY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCwgYm9vbCBpbW1lZGlhdGUpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGlsZWREcmF3aW5nQXJlYS5jcHAgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UaWxlZERyYXdpbmdBcmVhLmNwcAppbmRleCA3M2Yy
NmJlNzIwNTFhOTkwN2ZkYjAwOGU3MzQwZjhhZmM4NDVlMjkxLi44ZWNmMzk2NTFkY2NmYTA0NDZj
MDUxMTYyNGI3YmFmYWIxYWQzMzA4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9UaWxlZERyYXdpbmdBcmVhLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9UaWxlZERyYXdpbmdBcmVhLmNwcApAQCAtNDIsOCArNDIsOCBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVRpbGVkRHJhd2luZ0FyZWE6OlRpbGVk
RHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUlEIGlkZW50aWZpZXIsIFdl
YlBhZ2UqIHdlYlBhZ2UpCi0gICAgOiBEcmF3aW5nQXJlYShEcmF3aW5nQXJlYUJhc2U6OlRpbGVk
RHJhd2luZ0FyZWFUeXBlLCBpZGVudGlmaWVyLCB3ZWJQYWdlKQorVGlsZWREcmF3aW5nQXJlYTo6
VGlsZWREcmF3aW5nQXJlYShEcmF3aW5nQXJlYUluZm86OklkZW50aWZpZXIgaWRlbnRpZmllciwg
V2ViUGFnZSogd2ViUGFnZSkKKyAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhSW5mbzo6VGls
ZWQsIGlkZW50aWZpZXIsIHdlYlBhZ2UpCiAgICAgLCBtX2lzV2FpdGluZ0ZvclVwZGF0ZShmYWxz
ZSkKICAgICAsIG1fc2hvdWxkUGFpbnQodHJ1ZSkKICAgICAsIG1fZGlzcGxheVRpbWVyKFdlYlBy
b2Nlc3M6OnNoYXJlZCgpLnJ1bkxvb3AoKSwgdGhpcywgJlRpbGVkRHJhd2luZ0FyZWE6OmRpc3Bs
YXkpCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UaWxlZERyYXdpbmdB
cmVhLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UaWxlZERyYXdpbmdBcmVhLmgKaW5k
ZXggNThkYjg0MzY3NGYzOTgwMWQzNmNiNjJkNTk4ZTdiMDBlOTNiMTBmNi4uYTdlNDE4YzE3Yzlm
YmVjYWI2MGRiM2NlOThiYTEyNDlhMmNjODYzMSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvVGlsZWREcmF3aW5nQXJlYS5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1RpbGVkRHJhd2luZ0FyZWEuaApAQCAtNDAsNyArNDAsNyBAQCBjbGFzcyBVcGRhdGVD
aHVuazsKIAogY2xhc3MgVGlsZWREcmF3aW5nQXJlYSA6IHB1YmxpYyBEcmF3aW5nQXJlYSB7CiBw
dWJsaWM6Ci0gICAgVGlsZWREcmF3aW5nQXJlYShEcmF3aW5nQXJlYUJhc2U6OkRyYXdpbmdBcmVh
SUQgaWRlbnRpZmllciwgV2ViUGFnZSopOworICAgIFRpbGVkRHJhd2luZ0FyZWEoRHJhd2luZ0Fy
ZWFJbmZvOjpJZGVudGlmaWVyLCBXZWJQYWdlKik7CiAgICAgdmlydHVhbCB+VGlsZWREcmF3aW5n
QXJlYSgpOwogCiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVXaW5kb3coY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYgcmVjdCwgYm9vbCBpbW1lZGlhdGUpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCAzZDZhMTViMDczZjQ1NmRhNDIzOGRhZjJlOGFlMmUyYzdhMjVl
ZjQ3Li5jZGVkYTc5ZmVmMjdmMzg2MzdkNjYxMTE3Y2ZiNmRmZTE3N2NhMGYxIDEwMDY0NAotLS0g
YS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTQ4LDcgKzE0OCw3IEBAIFdlYlBhZ2U6
OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzKQogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogICAgIFNldHRpbmdzOjpz
ZXRNaW5ET01UaW1lckludGVydmFsKDAuMDA0KTsKIAotICAgIG1fZHJhd2luZ0FyZWEgPSBEcmF3
aW5nQXJlYTo6Y3JlYXRlKHBhcmFtZXRlcnMuZHJhd2luZ0FyZWFJbmZvLnR5cGUsIHBhcmFtZXRl
cnMuZHJhd2luZ0FyZWFJbmZvLmlkLCB0aGlzKTsKKyAgICBtX2RyYXdpbmdBcmVhID0gRHJhd2lu
Z0FyZWE6OmNyZWF0ZShwYXJhbWV0ZXJzLmRyYXdpbmdBcmVhSW5mby50eXBlLCBwYXJhbWV0ZXJz
LmRyYXdpbmdBcmVhSW5mby5pZGVudGlmaWVyLCB0aGlzKTsKIAogICAgIG1fbWFpbkZyYW1lID0g
V2ViRnJhbWU6OmNyZWF0ZU1haW5GcmFtZSh0aGlzKTsKIApAQCAtMjcyLDE1ICsyNzIsMTUgQEAg
dm9pZCBXZWJQYWdlOjpjaGFuZ2VBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShXZWJDb3JlOjpH
cmFwaGljc0xheWVyKiBsYXllcikKICAgICAKICAgICAvLyBUZWxsIHRoZSBVSSBwcm9jZXNzIHRo
YXQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgY2hhbmdlZC4gSXQgbWF5IHJlc3BvbmQgYnkgY2hh
bmdpbmcKICAgICAvLyBkcmF3aW5nIGFyZWEgdHlwZXMuCi0gICAgRHJhd2luZ0FyZWFCYXNlOjpE
cmF3aW5nQXJlYUluZm8gbmV3RHJhd2luZ0FyZWFJbmZvOworICAgIERyYXdpbmdBcmVhSW5mbyBu
ZXdEcmF3aW5nQXJlYUluZm87CiAKICAgICBpZiAoIVdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5l
Y3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ2hhbmdlQWNjZWxl
cmF0ZWRDb21wb3NpdGluZyhjb21wb3NpdGluZyksIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRp
ZENoYW5nZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmc6OlJlcGx5KG5ld0RyYXdpbmdBcmVhSW5mbyks
IG1fcGFnZUlEKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGlmIChuZXdEcmF3aW5nQXJl
YUluZm8udHlwZSAhPSBkcmF3aW5nQXJlYSgpLT5pbmZvKCkudHlwZSkgewogICAgICAgICBtX2Ry
YXdpbmdBcmVhID0gMDsKLSAgICAgICAgaWYgKG5ld0RyYXdpbmdBcmVhSW5mby50eXBlICE9IERy
YXdpbmdBcmVhQmFzZTo6Tm9uZSkgewotICAgICAgICAgICAgbV9kcmF3aW5nQXJlYSA9IERyYXdp
bmdBcmVhOjpjcmVhdGUobmV3RHJhd2luZ0FyZWFJbmZvLnR5cGUsIG5ld0RyYXdpbmdBcmVhSW5m
by5pZCwgdGhpcyk7CisgICAgICAgIGlmIChuZXdEcmF3aW5nQXJlYUluZm8udHlwZSAhPSBEcmF3
aW5nQXJlYUluZm86Ok5vbmUpIHsKKyAgICAgICAgICAgIG1fZHJhd2luZ0FyZWEgPSBEcmF3aW5n
QXJlYTo6Y3JlYXRlKG5ld0RyYXdpbmdBcmVhSW5mby50eXBlLCBuZXdEcmF3aW5nQXJlYUluZm8u
aWRlbnRpZmllciwgdGhpcyk7CiAgICAgICAgICAgICBtX2RyYXdpbmdBcmVhLT5zZXROZWVkc0Rp
c3BsYXkoSW50UmVjdChJbnRQb2ludCgwLCAwKSwgbV92aWV3U2l6ZSkpOwogICAgICAgICB9CiAg
ICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75285</attachid>
            <date>2010-12-01 10:13:26 -0800</date>
            <delta_ts>2010-12-01 10:21:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50329-20101201101324.patch</filename>
            <type>text/plain</type>
            <size>32133</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
MTM4MmM0MzQ2N2NkYWNmZTliMjFlMzAzMzIzYjc2NTc1MDM3OTk3NS4uZjRjNmNjNzI0Nzg3YjIw
M2EyYzNhYzUyOWQ1MGZlMWJmMGI1YTgyNiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NCBAQAorMjAxMC0xMi0wMSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgRHJhd2luZ0FyZWFCYXNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDMyOQorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJlZC9E
cmF3aW5nQXJlYUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbmZvOjpEcmF3
aW5nQXJlYUluZm8pOgorICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOgorICAgICAgICAoLVtX
S1ZpZXcgX3N3aXRjaFRvRHJhd2luZ0FyZWFUeXBlSWZOZWNlc3Nhcnk6RHJhd2luZ0FyZWFJbmZv
OjpdKToKKyAgICAgICAgKC1bV0tWaWV3IF9wYWdlRGlkRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0
aW5nXSk6CisgICAgICAgICgtW1dLVmlldyBfcGFnZURpZExlYXZlQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ10pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcDoK
KyAgICAgICAgKFFHcmFwaGljc1dLVmlldzo6dGFrZVNuYXBzaG90KToKKyAgICAgICAgKFFHcmFw
aGljc1dLVmlld1ByaXZhdGU6OmNvbW1pdFNjYWxlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ2h1
bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHVua2Vk
VXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkpOgor
ICAgICAgICAoV2ViS2l0OjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6c2V0U2l6ZSk6
CisgICAgICAgIChXZWJLaXQ6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjpzZXRQYWdl
SXNWaXNpYmxlKToKKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJv
eHk6OnVwZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjpEcmF3aW5nQXJlYVByb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6bmV4dElkZW50aWZpZXIpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdp
bmdBcmVhUHJveHk6OmluZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdp
bmdBcmVhUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllckJhY2tlZERyYXdpbmdBcmVh
UHJveHk6OkxheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eTo6c2V0U2l6ZSk6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eTo6c2V0UGFnZUlzVmlzaWJsZSk6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eTo6dXBkYXRlKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvVGlsZWREcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VGls
ZWREcmF3aW5nQXJlYVByb3h5OjpUaWxlZERyYXdpbmdBcmVhUHJveHkpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmRpZENoYW5nZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXc6OnN3aXRjaFRvRHJhd2luZ0FyZWFUeXBlSWZOZWNlc3NhcnkpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OkNodW5rZWRVcGRhdGVEcmF3
aW5nQXJlYSk6CisgICAgICAgIChXZWJLaXQ6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYTo6ZGlk
UmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBk
YXRlRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYktpdDo6RHJhd2luZ0FyZWE6OkRyYXdpbmdBcmVhKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWE6Omlu
Zm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVh
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJCYWNrZWREcmF3aW5nQXJlYTo6TGF5ZXJCYWNr
ZWREcmF3aW5nQXJlYSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyQmFja2VkRHJhd2luZ0FyZWE6
OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJC
YWNrZWREcmF3aW5nQXJlYS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9UaWxlZERy
YXdpbmdBcmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VGlsZWREcmF3aW5nQXJlYTo6VGlsZWRE
cmF3aW5nQXJlYSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1RpbGVkRHJhd2luZ0Fy
ZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpj
aGFuZ2VBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSk6CisKIDIwMTAtMTEtMzAgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBzcGVjdWxhdGl2
ZSBidWlsZCBmaXggZm9yIFdpbmRvd3MuCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NjcmlwdHMvd2Vi
a2l0Mi9tZXNzYWdlcy5weSBiL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5Cmlu
ZGV4IDc1MTVjYTE2ZDY5MTA3OTgxYmE2YWI5MDMzOTQzNzllYjcwZWM3YWEuLjEwNTlkMTI0NDI4
MzE2Yjk1MzkyZDg0YzM1ZGRjN2ZmYjVlNDYwYWUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2NyaXB0
cy93ZWJraXQyL21lc3NhZ2VzLnB5CisrKyBiL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3Nh
Z2VzLnB5CkBAIC00MTUsOCArNDE1LDYgQEAgZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAg
ICAgICAgICdXZWJLaXQ6OldlYk1vdXNlRXZlbnQnOiAnIldlYkV2ZW50LmgiJywKICAgICAgICAg
J1dlYktpdDo6V2ViV2hlZWxFdmVudCc6ICciV2ViRXZlbnQuaCInLAogICAgICAgICAnV2ViS2l0
OjpXZWJUb3VjaEV2ZW50JzogJyJXZWJFdmVudC5oIicsCi0gICAgICAgICdXZWJLaXQ6OkRyYXdp
bmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJbmZvJzogJyJEcmF3aW5nQXJlYUluZm8uaCInCi0KICAg
ICB9CiAgICAgaWYgdHlwZSBpbiBzcGVjaWFsX2Nhc2VzOgogICAgICAgICByZXR1cm4gW3NwZWNp
YWxfY2FzZXNbdHlwZV1dCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUlu
Zm8uaCBiL1dlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oCmluZGV4IDdhMGUzOTQwZGNj
MzhlZTU0Zjc2NDZmOTQzZTA1NzhlNmY4ZTZiY2UuLjI1Mjc4YjlhOGQzM2M1NWYyY2FlMjIxNzE2
NTJkMzM3ZTBkZjk0MjMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhSW5m
by5oCisrKyBiL1dlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oCkBAIC0zNiw0OSArMzYs
NDAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3Mg
RHJhd2luZ0FyZWFCYXNlIHsKLXB1YmxpYzoKK3N0cnVjdCBEcmF3aW5nQXJlYUluZm8gewogICAg
IGVudW0gVHlwZSB7CiAgICAgICAgIE5vbmUsCi0gICAgICAgIENodW5rZWRVcGRhdGVEcmF3aW5n
QXJlYVR5cGUsCisgICAgICAgIENodW5rZWRVcGRhdGUsCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQotICAgICAgICBMYXllckJhY2tlZERyYXdpbmdBcmVhVHlwZSwKKyAgICAgICAg
TGF5ZXJCYWNrZWQsCiAjZW5kaWYKICNpZiBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkKLSAg
ICAgICAgVGlsZWREcmF3aW5nQXJlYVR5cGUsCisgICAgICAgIFRpbGVkLAogI2VuZGlmCiAgICAg
fTsKICAgICAKLSAgICB0eXBlZGVmIHVpbnQ2NF90IERyYXdpbmdBcmVhSUQ7Ci0gICAgCi0gICAg
c3RydWN0IERyYXdpbmdBcmVhSW5mbyB7Ci0gICAgICAgIFR5cGUgdHlwZTsKLSAgICAgICAgRHJh
d2luZ0FyZWFJRCBpZDsKKyAgICB0eXBlZGVmIHVpbnQ2NF90IElkZW50aWZpZXI7CiAKLSAgICAg
ICAgRHJhd2luZ0FyZWFJbmZvKFR5cGUgdHlwZSA9IE5vbmUsIERyYXdpbmdBcmVhSUQgaWRlbnRp
ZmllciA9IDApCi0gICAgICAgICAgICA6IHR5cGUodHlwZSkKLSAgICAgICAgICAgICwgaWQoaWRl
bnRpZmllcikKLSAgICAgICAgewotICAgICAgICB9Ci0gICAgfTsKLSAgICAKLSAgICB2aXJ0dWFs
IH5EcmF3aW5nQXJlYUJhc2UoKSB7IH0KLSAgICAKLSAgICBjb25zdCBEcmF3aW5nQXJlYUluZm8m
IGluZm8oKSBjb25zdCB7IHJldHVybiBtX2luZm87IH0KLSAgICAKLXByb3RlY3RlZDoKLSAgICBE
cmF3aW5nQXJlYUJhc2UoVHlwZSB0eXBlLCBEcmF3aW5nQXJlYUlEIGlkZW50aWZpZXIpCi0gICAg
ICAgIDogbV9pbmZvKHR5cGUsIGlkZW50aWZpZXIpCisgICAgRHJhd2luZ0FyZWFJbmZvKCkKKyAg
ICAgICAgOiB0eXBlKE5vbmUpCisgICAgICAgICwgaWRlbnRpZmllcigwKQogICAgIHsKICAgICB9
CiAKLSAgICBEcmF3aW5nQXJlYUluZm8gbV9pbmZvOworICAgIERyYXdpbmdBcmVhSW5mbyhUeXBl
IHR5cGUsIElkZW50aWZpZXIgaWRlbnRpZmllcikKKyAgICAgICAgOiB0eXBlKHR5cGUpCisgICAg
ICAgICwgaWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgIHsKKyAgICB9CisgICAgCisgICAgVHlw
ZSB0eXBlOworICAgIElkZW50aWZpZXIgaWRlbnRpZmllcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCiBuYW1lc3BhY2UgQ29yZUlQQyB7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYktpdDo6RHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUluZm8+IDogU2ltcGxl
QXJndW1lbnRDb2RlcjxXZWJLaXQ6OkRyYXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJbmZvPiB7
IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYktpdDo6RHJhd2luZ0FyZWFJ
bmZvPiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViS2l0OjpEcmF3aW5nQXJlYUluZm8+IHsgfTsK
IH0KIAogI2VuZGlmIC8vIERyYXdpbmdBcmVhSW5mb19oCmRpZmYgLS1naXQgYS9XZWJLaXQyL1No
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9XZWJLaXQyL1NoYXJlZC9XZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggMGU4N2JkNzhkMWFmZTk0NTQwMzA2ZjA0Y2UwMTc3
Y2Q5YTU4NTBiNS4uYjkwZWIzZjhmZjEyNmI2ZDcwZGNlYjMwZmYxMzdjNzg5NTdlMDMwZSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBi
L1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtNDMsNyArNDMs
NyBAQCBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyB7CiAKICAgICBXZWJDb3JlOjpJ
bnRTaXplIHZpZXdTaXplOwogICAgIFdlYlByZWZlcmVuY2VzU3RvcmUgc3RvcmU7Ci0gICAgRHJh
d2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUluZm8gZHJhd2luZ0FyZWFJbmZvOworICAgIERyYXdp
bmdBcmVhSW5mbyBkcmF3aW5nQXJlYUluZm87CiAgICAgYm9vbCB2aXNpYmxlVG9JbmplY3RlZEJ1
bmRsZTsKICNpZiBQTEFURk9STShXSU4pCiAgICAgSFdORCBuYXRpdmVXaW5kb3c7CmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBiL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCmluZGV4IGYwOGM4NjU1MmUyM2FjMDY4MWJjNWU2NmE4Zjhl
YjgzYzQzZjRhOWMuLmZlMGMyNjA2OWY4N2QyNDIyMjZjMWYzOGQzMDdhYzBhMWRmYTNjNGUgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisrKyBiL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCkBAIC05NjYsMjEgKzk2NiwyMSBAQCAtICh2
b2lkKV9zdG9wQWNjZWxlcmF0ZWRDb21wb3NpdGluZwogICAgIH0KIH0KIAotLSAodm9pZClfc3dp
dGNoVG9EcmF3aW5nQXJlYVR5cGVJZk5lY2Vzc2FyeTooRHJhd2luZ0FyZWFCYXNlOjpUeXBlKXR5
cGUKKy0gKHZvaWQpX3N3aXRjaFRvRHJhd2luZ0FyZWFUeXBlSWZOZWNlc3Nhcnk6KERyYXdpbmdB
cmVhSW5mbzo6VHlwZSl0eXBlCiB7Ci0gICAgRHJhd2luZ0FyZWFCYXNlOjpUeXBlIGV4aXN0aW5n
RHJhd2luZ0FyZWFUeXBlID0gX2RhdGEtPl9wYWdlLT5kcmF3aW5nQXJlYSgpID8gX2RhdGEtPl9w
YWdlLT5kcmF3aW5nQXJlYSgpLT5pbmZvKCkudHlwZSA6IERyYXdpbmdBcmVhQmFzZTo6Tm9uZTsK
KyAgICBEcmF3aW5nQXJlYUluZm86OlR5cGUgZXhpc3RpbmdEcmF3aW5nQXJlYVR5cGUgPSBfZGF0
YS0+X3BhZ2UtPmRyYXdpbmdBcmVhKCkgPyBfZGF0YS0+X3BhZ2UtPmRyYXdpbmdBcmVhKCktPmlu
Zm8oKS50eXBlIDogRHJhd2luZ0FyZWFJbmZvOjpOb25lOwogICAgIGlmIChleGlzdGluZ0RyYXdp
bmdBcmVhVHlwZSA9PSB0eXBlKQogICAgICAgICByZXR1cm47CiAKICAgICBPd25QdHI8RHJhd2lu
Z0FyZWFQcm94eT4gbmV3RHJhd2luZ0FyZWE7CiAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAg
IGNhc2UgRHJhd2luZ0FyZWFCYXNlOjpOb25lOgorICAgICAgICBjYXNlIERyYXdpbmdBcmVhSW5m
bzo6Tm9uZToKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIERyYXdpbmdBcmVhQmFz
ZTo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhVHlwZTogeworICAgICAgICBjYXNlIERyYXdpbmdB
cmVhSW5mbzo6Q2h1bmtlZFVwZGF0ZTogewogICAgICAgICAgICAgbmV3RHJhd2luZ0FyZWEgPSBD
aHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6Y3JlYXRlKHNlbGYpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY2FzZSBEcmF3aW5nQXJlYUJhc2U6OkxheWVyQmFj
a2VkRHJhd2luZ0FyZWFUeXBlOiB7CisgICAgICAgIGNhc2UgRHJhd2luZ0FyZWFJbmZvOjpMYXll
ckJhY2tlZDogewogICAgICAgICAgICAgbmV3RHJhd2luZ0FyZWEgPSBMYXllckJhY2tlZERyYXdp
bmdBcmVhUHJveHk6OmNyZWF0ZShzZWxmKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CkBAIC05OTQsMTMgKzk5NCwxMyBAQCAtICh2b2lkKV9zd2l0Y2hUb0RyYXdpbmdBcmVhVHlwZUlm
TmVjZXNzYXJ5OihEcmF3aW5nQXJlYUJhc2U6OlR5cGUpdHlwZQogCiAtICh2b2lkKV9wYWdlRGlk
RW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nCiB7Ci0gICAgW3NlbGYgX3N3aXRjaFRvRHJhd2lu
Z0FyZWFUeXBlSWZOZWNlc3Nhcnk6RHJhd2luZ0FyZWFCYXNlOjpMYXllckJhY2tlZERyYXdpbmdB
cmVhVHlwZV07CisgICAgW3NlbGYgX3N3aXRjaFRvRHJhd2luZ0FyZWFUeXBlSWZOZWNlc3Nhcnk6
RHJhd2luZ0FyZWFJbmZvOjpMYXllckJhY2tlZF07CiB9CiAKIC0gKHZvaWQpX3BhZ2VEaWRMZWF2
ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcKIHsKICAgICAvLyBGSVhNRTogd2UgbWF5IHdhbnQgdG8g
YXZvaWQgZmxpcHBpbmcgYmFjayB0byB0aGUgbm9uLWxheWVyLWJhY2tlZCBkcmF3aW5nIGFyZWEg
dW50aWwgdGhlIG5leHQgcGFnZSBsb2FkLCB0byBhdm9pZCB0aHJhc2hpbmcuCi0gICAgW3NlbGYg
X3N3aXRjaFRvRHJhd2luZ0FyZWFUeXBlSWZOZWNlc3Nhcnk6RHJhd2luZ0FyZWFCYXNlOjpDaHVu
a2VkVXBkYXRlRHJhd2luZ0FyZWFUeXBlXTsKKyAgICBbc2VsZiBfc3dpdGNoVG9EcmF3aW5nQXJl
YVR5cGVJZk5lY2Vzc2FyeTpEcmF3aW5nQXJlYUluZm86OkNodW5rZWRVcGRhdGVdOwogfQogI2Vu
ZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FncmFwaGljc3drdmlldy5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcAppbmRleCBkZGQyYjI3OTdmNWY2MzQ0ZGE5ZDIw
ZDk4MWRiOWRjNzA0ZGU0ZTk2Li5kNmVmZDkzZWIyYWE3MDZlYjExYTE2NjM1OGMyOGZlODg5NWEx
ODM1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3
LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcApA
QCAtMzI2LDcgKzMyNiw3IEBAIHZvaWQgUUdyYXBoaWNzV0tWaWV3Ojp0YWtlU25hcHNob3QoY29u
c3QgUVNpemUmIHNpemUsIGNvbnN0IFFSZWN0JiBjb250ZW50c1JlY3QpCiB7CiAjaWYgRU5BQkxF
KFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgRHJhd2luZ0FyZWFQcm94eSogZHJhd2luZ0FyZWEg
PSBwYWdlKCktPmQtPnBhZ2UtPmRyYXdpbmdBcmVhKCk7Ci0gICAgaWYgKGRyYXdpbmdBcmVhLT5p
bmZvKCkudHlwZSAhPSBEcmF3aW5nQXJlYUJhc2U6OlRpbGVkRHJhd2luZ0FyZWFUeXBlKQorICAg
IGlmIChkcmF3aW5nQXJlYS0+aW5mbygpLnR5cGUgIT0gRHJhd2luZ0FyZWFJbmZvOjpUaWxlZCkK
ICAgICAgICAgcmV0dXJuOwogICAgIFRpbGVkRHJhd2luZ0FyZWFQcm94eSogdGlsZWREcmF3aW5n
QXJlYSA9IHN0YXRpY19jYXN0PFRpbGVkRHJhd2luZ0FyZWFQcm94eSo+KGRyYXdpbmdBcmVhKTsK
ICAgICB0aWxlZERyYXdpbmdBcmVhLT50YWtlU25hcHNob3Qoc2l6ZSwgY29udGVudHNSZWN0KTsK
QEAgLTM4Niw3ICszODYsNyBAQCB2b2lkIFFHcmFwaGljc1dLVmlld1ByaXZhdGU6OmNvbW1pdFNj
YWxlKCkKICNpZiBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkKICAgICBEcmF3aW5nQXJlYVBy
b3h5KiBkcmF3aW5nQXJlYSA9IHBhZ2UtPmQtPnBhZ2UtPmRyYXdpbmdBcmVhKCk7CiAgICAgZmxv
YXQgbmV3U2NhbGUgPSBxLT5zY2FsZSgpOwotICAgIGlmIChkcmF3aW5nQXJlYS0+aW5mbygpLnR5
cGUgPT0gRHJhd2luZ0FyZWFCYXNlOjpUaWxlZERyYXdpbmdBcmVhVHlwZSkgeworICAgIGlmIChk
cmF3aW5nQXJlYS0+aW5mbygpLnR5cGUgPT0gRHJhd2luZ0FyZWFJbmZvOjpUaWxlZCkgewogICAg
ICAgICBUaWxlZERyYXdpbmdBcmVhUHJveHkqIHRpbGVkRHJhd2luZ0FyZWEgPSBzdGF0aWNfY2Fz
dDxUaWxlZERyYXdpbmdBcmVhUHJveHkqPihkcmF3aW5nQXJlYSk7CiAgICAgICAgIGlmICh0aWxl
ZERyYXdpbmdBcmVhLT5jb250ZW50c1NjYWxlKCkgPT0gbmV3U2NhbGUpCiAgICAgICAgICAgICBy
ZXR1cm47CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2lu
Z0FyZWFQcm94eS5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0Fy
ZWFQcm94eS5jcHAKaW5kZXggYzk1MmU2YWIxZjZjOGYyYzE1ZTUzYTdkOWVlYzE5MGQyZTgzYzFh
My4uODAwZmZlZjA1NGYzM2MxZTAxZWQyNTcyZWZmMDNkYzQ5NWI1ZGIwZiAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuY3BwCisrKyBi
L1dlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmNwcApAQCAt
NDMsNyArNDMsNyBAQCBQYXNzT3duUHRyPENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5PiBD
aHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6Y3JlYXRlKAogfQogCiBDaHVua2VkVXBkYXRl
RHJhd2luZ0FyZWFQcm94eTo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkoUGxhdGZvcm1X
ZWJWaWV3KiB3ZWJWaWV3KQotICAgIDogRHJhd2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYUJhc2U6
OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVR5cGUpCisgICAgOiBEcmF3aW5nQXJlYVByb3h5KERy
YXdpbmdBcmVhSW5mbzo6Q2h1bmtlZFVwZGF0ZSkKICAgICAsIG1faXNXYWl0aW5nRm9yRGlkU2V0
RnJhbWVOb3RpZmljYXRpb24oZmFsc2UpCiAgICAgLCBtX2lzVmlzaWJsZSh0cnVlKQogICAgICwg
bV9mb3JjZVJlcGFpbnRXaGVuUmVzdW1pbmdQYWludGluZyhmYWxzZSkKQEAgLTkxLDcgKzkxLDcg
QEAgdm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6c2V0U2l6ZShjb25zdCBJbnRT
aXplJiB2aWV3U2l6ZSkKICAgICBtX2lzV2FpdGluZ0ZvckRpZFNldEZyYW1lTm90aWZpY2F0aW9u
ID0gdHJ1ZTsKIAogICAgIHBhZ2UtPnByb2Nlc3MoKS0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLT5z
dGFydCgpOwotICAgIHBhZ2UtPnByb2Nlc3MoKS0+c2VuZChEcmF3aW5nQXJlYU1lc3NhZ2U6OlNl
dFNpemUsIHBhZ2UtPnBhZ2VJRCgpLCBDb3JlSVBDOjpJbihpbmZvKCkuaWQsIHZpZXdTaXplKSk7
CisgICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2FnZTo6U2V0U2l6ZSwg
cGFnZS0+cGFnZUlEKCksIENvcmVJUEM6OkluKGluZm8oKS5pZGVudGlmaWVyLCB2aWV3U2l6ZSkp
OwogfQogCiB2b2lkIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjpzZXRQYWdlSXNWaXNp
YmxlKGJvb2wgaXNWaXNpYmxlKQpAQCAtMTA3LDEyICsxMDcsMTIgQEAgdm9pZCBDaHVua2VkVXBk
YXRlRHJhd2luZ0FyZWFQcm94eTo6c2V0UGFnZUlzVmlzaWJsZShib29sIGlzVmlzaWJsZSkKIAog
ICAgIGlmICghbV9pc1Zpc2libGUpIHsKICAgICAgICAgLy8gVGVsbCB0aGUgd2ViIHByb2Nlc3Mg
dGhhdCBpdCBkb2Vzbid0IG5lZWQgdG8gcGFpbnQgYW55dGhpbmcgZm9yIG5vdy4KLSAgICAgICAg
cGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2FnZTo6U3VzcGVuZFBhaW50aW5n
LCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkKSk7CisgICAgICAgIHBhZ2Ut
PnByb2Nlc3MoKS0+c2VuZChEcmF3aW5nQXJlYU1lc3NhZ2U6OlN1c3BlbmRQYWludGluZywgcGFn
ZS0+cGFnZUlEKCksIENvcmVJUEM6OkluKGluZm8oKS5pZGVudGlmaWVyKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgCiAgICAgLy8gVGhlIHBhZ2UgaXMgbm93IHZpc2libGUsIHJlc3Vt
ZSBwYWludGluZy4KLSAgICBwYWdlLT5wcm9jZXNzKCktPnNlbmQoRHJhd2luZ0FyZWFNZXNzYWdl
OjpSZXN1bWVQYWludGluZywgcGFnZS0+cGFnZUlEKCksIENvcmVJUEM6OkluKGluZm8oKS5pZCwg
bV9mb3JjZVJlcGFpbnRXaGVuUmVzdW1pbmdQYWludGluZykpOworICAgIHBhZ2UtPnByb2Nlc3Mo
KS0+c2VuZChEcmF3aW5nQXJlYU1lc3NhZ2U6OlJlc3VtZVBhaW50aW5nLCBwYWdlLT5wYWdlSUQo
KSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkZW50aWZpZXIsIG1fZm9yY2VSZXBhaW50V2hlblJlc3Vt
aW5nUGFpbnRpbmcpKTsKICAgICBtX2ZvcmNlUmVwYWludFdoZW5SZXN1bWluZ1BhaW50aW5nID0g
ZmFsc2U7CiB9CiAgICAgCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBDaHVua2VkVXBkYXRlRHJh
d2luZ0FyZWFQcm94eTo6dXBkYXRlKFVwZGF0ZUNodW5rKiB1cGRhdGVDaHVuaykKICAgICB9CiAK
ICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7Ci0gICAgcGFnZS0+cHJvY2Vz
cygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2FnZTo6RGlkVXBkYXRlLCBwYWdlLT5wYWdlSUQoKSwg
Q29yZUlQQzo6SW4oaW5mbygpLmlkKSk7CisgICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdp
bmdBcmVhTWVzc2FnZTo6RGlkVXBkYXRlLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5m
bygpLmlkZW50aWZpZXIpKTsKIH0KIAogdm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94
eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3Nh
Z2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzKQpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAgYi9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcAppbmRleCBlYzRhNGZiYzllYjZjNGFlZGU0
ZWJhNDY3ZTFlYTI2YzJkNjRjMGUwLi4wZGQwNjZjYzQzM2I1N2ZiMzY0ZjU1ZTlmNmQ4ZWVmOTE3
YjA4MDU0IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNw
cAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcApAQCAtMjcsOCAr
MjcsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotRHJhd2luZ0FyZWFQcm94eTo6RHJhd2lu
Z0FyZWFQcm94eShEcmF3aW5nQXJlYUJhc2U6OlR5cGUgdHlwZSkKLSAgICA6IG1faW5mbyh0eXBl
LCBuZXh0RHJhd2luZ0FyZWFJRCgpKQorRHJhd2luZ0FyZWFQcm94eTo6RHJhd2luZ0FyZWFQcm94
eShEcmF3aW5nQXJlYUluZm86OlR5cGUgdHlwZSkKKyAgICA6IG1faW5mbyh0eXBlLCBuZXh0SWRl
bnRpZmllcigpKQogewogfQogCkBAIC0zNiw5ICszNiw5IEBAIERyYXdpbmdBcmVhUHJveHk6On5E
cmF3aW5nQXJlYVByb3h5KCkKIHsKIH0KIAotRHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUlE
IERyYXdpbmdBcmVhUHJveHk6Om5leHREcmF3aW5nQXJlYUlEKCkKK0RyYXdpbmdBcmVhSW5mbzo6
SWRlbnRpZmllciBEcmF3aW5nQXJlYVByb3h5OjpuZXh0SWRlbnRpZmllcigpCiB7Ci0gICAgc3Rh
dGljIERyYXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJRCBuZXh0SUQgPSAxOworICAgIHN0YXRp
YyBEcmF3aW5nQXJlYUluZm86OklkZW50aWZpZXIgbmV4dElEID0gMTsKICAgICByZXR1cm4gKytu
ZXh0SUQ7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAppbmRleCBhN2I1Njlm
ZmM0MmMxMTgyYTBmZWZlZjIyMDE1MzNlYmNlMmU0ZTRmLi5mMzhlZmM2ZjZmNWFkZDlhNWVjYTY2
ZDI1OGIyMGRmODQ0ZmFkYjgzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCkBA
IC00NSw3ICs0NSw3IEBAIHR5cGVkZWYgUVBhaW50ZXIqIFBsYXRmb3JtRHJhd2luZ0NvbnRleHQ7
CiAKIGNsYXNzIERyYXdpbmdBcmVhUHJveHkgewogcHVibGljOgotICAgIHN0YXRpYyBEcmF3aW5n
QXJlYUJhc2U6OkRyYXdpbmdBcmVhSUQgbmV4dERyYXdpbmdBcmVhSUQoKTsKKyAgICBzdGF0aWMg
RHJhd2luZ0FyZWFJbmZvOjpJZGVudGlmaWVyIG5leHRJZGVudGlmaWVyKCk7CiAKICAgICB2aXJ0
dWFsIH5EcmF3aW5nQXJlYVByb3h5KCk7CiAKQEAgLTYzLDEyICs2MywxMiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGRldGFjaENvbXBvc2l0aW5nQ29udGV4dCgpID0gMDsKICNlbmRpZgog
Ci0gICAgY29uc3QgRHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUluZm8gaW5mbygpIGNvbnN0
IHsgcmV0dXJuIG1faW5mbzsgfQorICAgIGNvbnN0IERyYXdpbmdBcmVhSW5mbyYgaW5mbygpIGNv
bnN0IHsgcmV0dXJuIG1faW5mbzsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgRHJhd2lu
Z0FyZWFQcm94eShEcmF3aW5nQXJlYUJhc2U6OlR5cGUpOworICAgIGV4cGxpY2l0IERyYXdpbmdB
cmVhUHJveHkoRHJhd2luZ0FyZWFJbmZvOjpUeXBlKTsKIAotICAgIERyYXdpbmdBcmVhQmFzZTo6
RHJhd2luZ0FyZWFJbmZvIG1faW5mbzsKKyAgICBEcmF3aW5nQXJlYUluZm8gbV9pbmZvOwogICAg
IFdlYkNvcmU6OkludFNpemUgbV9zaXplOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNz
L0xheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggMTA5YzVjMzhiNTQ3OWM1OTE2
MDI0MjQ2NThiMzQ0ZTU3OWU1OTM1Ni4uOWU3MDljZmY1MDA2YjI1NTQzN2Y1YjliM2NlZjZiMjg4
OTk1YmNmZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJCYWNrZWREcmF3aW5n
QXJlYVByb3h5LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdpbmdB
cmVhUHJveHkuY3BwCkBAIC00NCw3ICs0NCw3IEBAIFBhc3NPd25QdHI8TGF5ZXJCYWNrZWREcmF3
aW5nQXJlYVByb3h5PiBMYXllckJhY2tlZERyYXdpbmdBcmVhUHJveHk6OmNyZWF0ZShQbGF0CiB9
CiAKIExheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eTo6TGF5ZXJCYWNrZWREcmF3aW5nQXJlYVBy
b3h5KFBsYXRmb3JtV2ViVmlldyogd2ViVmlldykKLSAgICA6IERyYXdpbmdBcmVhUHJveHkoRHJh
d2luZ0FyZWFCYXNlOjpMYXllckJhY2tlZERyYXdpbmdBcmVhVHlwZSkKKyAgICA6IERyYXdpbmdB
cmVhUHJveHkoRHJhd2luZ0FyZWFJbmZvOjpMYXllckJhY2tlZCkKICAgICAsIG1faXNXYWl0aW5n
Rm9yRGlkU2V0RnJhbWVOb3RpZmljYXRpb24oZmFsc2UpCiAgICAgLCBtX2lzVmlzaWJsZSh0cnVl
KQogICAgICwgbV93ZWJWaWV3KHdlYlZpZXcpCkBAIC04MSw3ICs4MSw3IEBAIHZvaWQgTGF5ZXJC
YWNrZWREcmF3aW5nQXJlYVByb3h5OjpzZXRTaXplKGNvbnN0IEludFNpemUmIHZpZXdTaXplKQog
ICAgIG1faXNXYWl0aW5nRm9yRGlkU2V0RnJhbWVOb3RpZmljYXRpb24gPSB0cnVlOwogCiAgICAg
cGFnZS0+cHJvY2VzcygpLT5yZXNwb25zaXZlbmVzc1RpbWVyKCktPnN0YXJ0KCk7Ci0gICAgcGFn
ZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2FnZTo6U2V0U2l6ZSwgcGFnZS0+cGFn
ZUlEKCksIENvcmVJUEM6OkluKGluZm8oKS5pZCwgdmlld1NpemUpKTsKKyAgICBwYWdlLT5wcm9j
ZXNzKCktPnNlbmQoRHJhd2luZ0FyZWFNZXNzYWdlOjpTZXRTaXplLCBwYWdlLT5wYWdlSUQoKSwg
Q29yZUlQQzo6SW4oaW5mbygpLmlkZW50aWZpZXIsIHZpZXdTaXplKSk7CiB9CiAKICNpZiAhUExB
VEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKQpAQCAtMTAzLDEyICsxMDMsMTIgQEAgdm9pZCBM
YXllckJhY2tlZERyYXdpbmdBcmVhUHJveHk6OnNldFBhZ2VJc1Zpc2libGUoYm9vbCBpc1Zpc2li
bGUpCiAKICAgICBpZiAoIW1faXNWaXNpYmxlKSB7CiAgICAgICAgIC8vIFRlbGwgdGhlIHdlYiBw
cm9jZXNzIHRoYXQgaXQgZG9lc24ndCBuZWVkIHRvIHBhaW50IGFueXRoaW5nIGZvciBub3cuCi0g
ICAgICAgIHBhZ2UtPnByb2Nlc3MoKS0+c2VuZChEcmF3aW5nQXJlYU1lc3NhZ2U6OlN1c3BlbmRQ
YWludGluZywgcGFnZS0+cGFnZUlEKCksIENvcmVJUEM6OkluKGluZm8oKS5pZCkpOworICAgICAg
ICBwYWdlLT5wcm9jZXNzKCktPnNlbmQoRHJhd2luZ0FyZWFNZXNzYWdlOjpTdXNwZW5kUGFpbnRp
bmcsIHBhZ2UtPnBhZ2VJRCgpLCBDb3JlSVBDOjpJbihpbmZvKCkuaWRlbnRpZmllcikpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIAogICAgIC8vIFRoZSBwYWdlIGlzIG5vdyB2aXNpYmxl
LgotICAgIHBhZ2UtPnByb2Nlc3MoKS0+c2VuZChEcmF3aW5nQXJlYU1lc3NhZ2U6OlJlc3VtZVBh
aW50aW5nLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkKSk7CisgICAgcGFn
ZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2FnZTo6UmVzdW1lUGFpbnRpbmcsIHBh
Z2UtPnBhZ2VJRCgpLCBDb3JlSVBDOjpJbihpbmZvKCkuaWRlbnRpZmllcikpOwogICAgIAogICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgcmVxdWVzdCBhIGZ1bGwgcmVwYWludCBoZXJlIGlmIG5lZWRl
ZC4KIH0KQEAgLTEyNCw3ICsxMjQsNyBAQCB2b2lkIExheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94
eTo6ZGlkU2V0U2l6ZSgpCiB2b2lkIExheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eTo6dXBkYXRl
KCkKIHsKICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7Ci0gICAgcGFnZS0+
cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2FnZTo6RGlkVXBkYXRlLCBwYWdlLT5wYWdl
SUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkKSk7CisgICAgcGFnZS0+cHJvY2VzcygpLT5zZW5k
KERyYXdpbmdBcmVhTWVzc2FnZTo6RGlkVXBkYXRlLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6
SW4oaW5mbygpLmlkZW50aWZpZXIpKTsKIH0KIAogdm9pZCBMYXllckJhY2tlZERyYXdpbmdBcmVh
UHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpN
ZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5jcHAg
Yi9XZWJLaXQyL1VJUHJvY2Vzcy9UaWxlZERyYXdpbmdBcmVhUHJveHkuY3BwCmluZGV4IDVkYmY0
MDU5MzdlZTMyZWQzNmMzNTg1YmU0ODA5MjY2ZTZhODIwYmUuLmI3OWVjMDI3MzFhMzM3NTZhN2U1
MTRiNDhjZTljNTQ4NTk2NjI3ZWQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVk
RHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvVGlsZWREcmF3aW5n
QXJlYVByb3h5LmNwcApAQCAtNDYsNyArNDYsNyBAQCBQYXNzT3duUHRyPFRpbGVkRHJhd2luZ0Fy
ZWFQcm94eT4gVGlsZWREcmF3aW5nQXJlYVByb3h5OjpjcmVhdGUoUGxhdGZvcm1XZWJWaWV3Kgog
fQogCiBUaWxlZERyYXdpbmdBcmVhUHJveHk6OlRpbGVkRHJhd2luZ0FyZWFQcm94eShQbGF0Zm9y
bVdlYlZpZXcqIHdlYlZpZXcpCi0gICAgOiBEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdBcmVhQmFz
ZTo6VGlsZWREcmF3aW5nQXJlYVR5cGUpCisgICAgOiBEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdB
cmVhSW5mbzo6VGlsZWQpCiAgICAgLCBtX2lzV2FpdGluZ0ZvckRpZFNldEZyYW1lTm90aWZpY2F0
aW9uKGZhbHNlKQogICAgICwgbV9pc1Zpc2libGUodHJ1ZSkKICAgICAsIG1fd2ViVmlldyh3ZWJW
aWV3KQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZDcyYjM2MTE2ZjI2YTcxNTY0
NzUzMWIwYjkzNThjMzMzNzM3ZWJlZS4uYzQ5ODJiYjk2ZmViZWVlOTFiZWQ1ZGViYzkxODlkM2Fh
NmE3YmIwNyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xNDI2LDcgKzE0MjYs
NyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Zm9jdXNlZEZyYW1lQ2hhbmdlZCh1aW50NjRfdCBmcmFt
ZUlEKQogfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotdm9pZCBXZWJQYWdl
UHJveHk6OmRpZENoYW5nZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoYm9vbCBjb21wb3NpdGluZywg
RHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUluZm8mIGRyYXdpbmdBcmVhSW5mbykKK3ZvaWQg
V2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VBY2NlbGVyYXRlZENvbXBvc2l0aW5nKGJvb2wgY29tcG9z
aXRpbmcsIERyYXdpbmdBcmVhSW5mbyYgZHJhd2luZ0FyZWFJbmZvKQogewogICAgIGlmIChjb21w
b3NpdGluZykKICAgICAgICAgZGlkRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCk7CmRpZmYg
LS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGNjYzg1ODgwNmQ4YmEyMGQxZWRjMDk3M2MxYTU1ZWQ3
ZGY4ODg0NzQuLjQyMzdjYTM4MDc5YmM2NDcxMjRhOTljMDQ0NzBkZmMyOTE5NWI3ZDggMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zNzUsNyArMzc1LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGZvY3VzZWRGcmFtZUNoYW5nZWQodWludDY0X3QgZnJhbWVJRCk7CiAKICNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgdm9pZCBkaWRDaGFuZ2VBY2NlbGVyYXRlZENvbXBv
c2l0aW5nKGJvb2wgY29tcG9zaXRpbmcsIERyYXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJbmZv
Jik7CisgICAgdm9pZCBkaWRDaGFuZ2VBY2NlbGVyYXRlZENvbXBvc2l0aW5nKGJvb2wgY29tcG9z
aXRpbmcsIERyYXdpbmdBcmVhSW5mbyYpOwogI2VuZGlmCiAKICAgICBQYWdlQ2xpZW50KiBtX3Bh
Z2VDbGllbnQ7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4gYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5k
ZXggNzc0MzcxZjZkYTM2Njk0ODY1ZGVlYjYyOTBkMTg0Zjg4ODRjM2Q0MS4uYTU4NWNjZWE4YzRh
MWNiODM3ZTE5ZGEwOWNlZTdiNDQ1YTBkOWRhNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTMzLDYgKzEzMyw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBh
Z2VQcm94eSB7CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgIyBBY2Nl
bGVyYXRlZCBjb21wc2l0aW5nIG1lc3NhZ2VzLgotICAgIERpZENoYW5nZUFjY2VsZXJhdGVkQ29t
cG9zaXRpbmcoYm9vbCBjb21wb3NpdGluZykgLT4gKFdlYktpdDo6RHJhd2luZ0FyZWFCYXNlOjpE
cmF3aW5nQXJlYUluZm8gbmV3RHJhd2luZ0FyZWEpCisgICAgRGlkQ2hhbmdlQWNjZWxlcmF0ZWRD
b21wb3NpdGluZyhib29sIGNvbXBvc2l0aW5nKSAtPiAoV2ViS2l0OjpEcmF3aW5nQXJlYUluZm8g
bmV3RHJhd2luZ0FyZWEpCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNz
L3dpbi9XZWJWaWV3LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAppbmRl
eCA5MWQ3NDMzMzFjMzRkYzk2ZTQ3MmQ2MWMzMWE2YWE2NWU4ZDYxYTRkLi5mOTY5Mjk0ODEwZjQ3
ZDFhMzY0NjU0ZTkxNzM4MWE2NjgyNmIzYTg3IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vz
cy93aW4vV2ViVmlldy5jcHAKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3Bw
CkBAIC02NjIsMjIgKzY2MiwyMCBAQCB2b2lkIFdlYlZpZXc6OnBhZ2VEaWRMZWF2ZUFjY2VsZXJh
dGVkQ29tcG9zaXRpbmcoKQogCiB2b2lkIFdlYlZpZXc6OnN3aXRjaFRvRHJhd2luZ0FyZWFUeXBl
SWZOZWNlc3NhcnkoRHJhd2luZ0FyZWFCYXNlOjpUeXBlIHR5cGUpCiB7Ci0gICAgRHJhd2luZ0Fy
ZWFCYXNlOjpUeXBlIGV4aXN0aW5nRHJhd2luZ0FyZWFUeXBlID0gbV9wYWdlLT5kcmF3aW5nQXJl
YSgpID8gbV9wYWdlLT5kcmF3aW5nQXJlYSgpLT5pbmZvKCkudHlwZSA6IERyYXdpbmdBcmVhQmFz
ZTo6Tm9uZTsKKyAgICBEcmF3aW5nQXJlYUluZm86OlR5cGUgZXhpc3RpbmdEcmF3aW5nQXJlYVR5
cGUgPSBtX3BhZ2UtPmRyYXdpbmdBcmVhKCkgPyBtX3BhZ2UtPmRyYXdpbmdBcmVhKCktPmluZm8o
KS50eXBlIDogRHJhd2luZ0FyZWFJbmZvOjpOb25lOwogICAgIGlmIChleGlzdGluZ0RyYXdpbmdB
cmVhVHlwZSA9PSB0eXBlKQogICAgICAgICByZXR1cm47CiAKICAgICBPd25QdHI8RHJhd2luZ0Fy
ZWFQcm94eT4gbmV3RHJhd2luZ0FyZWE7CiAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNh
c2UgRHJhd2luZ0FyZWFCYXNlOjpOb25lOgorICAgICAgICBjYXNlIERyYXdpbmdBcmVhSW5mbzo6
Tm9uZToKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIERyYXdpbmdBcmVhQmFzZTo6
Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhVHlwZTogeworICAgICAgICBjYXNlIERyYXdpbmdBcmVh
SW5mbzo6Q2h1bmtlZDoKICAgICAgICAgICAgIG5ld0RyYXdpbmdBcmVhID0gQ2h1bmtlZFVwZGF0
ZURyYXdpbmdBcmVhUHJveHk6OmNyZWF0ZSh0aGlzKTsKICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgICAgIGNhc2UgRHJhd2luZ0FyZWFCYXNlOjpMYXllckJhY2tlZERyYXdpbmdB
cmVhVHlwZTogeworICAgICAgICBjYXNlIERyYXdpbmdBcmVhSW5mbzo6TGF5ZXJCYWNrZWQ6CiAg
ICAgICAgICAgICBuZXdEcmF3aW5nQXJlYSA9IExheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eTo6
Y3JlYXRlKHRoaXMpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KICAgICB9CiAKICAg
ICBpZiAobV9wYWdlLT5kcmF3aW5nQXJlYSgpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmNwcCBiL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5jcHAKaW5kZXggYzExY2I0OGE3
NGM1MTAwN2EzMmExMDU5MjAxMjMzNDQ3NDUwMTNkZC4uZjQ2ZWYyZTlhYTkzZTZlYjczMjY2OTRh
ZWI5MWRhNTRmMGZiOTdjYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuY3BwCkBAIC0zNyw4ICszNyw4IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotQ2h1bmtlZFVwZGF0
ZURyYXdpbmdBcmVhOjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFCYXNlOjpE
cmF3aW5nQXJlYUlEIGlkZW50aWZpZXIsIFdlYlBhZ2UqIHdlYlBhZ2UpCi0gICAgOiBEcmF3aW5n
QXJlYShEcmF3aW5nQXJlYUJhc2U6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVR5cGUsIGlkZW50
aWZpZXIsIHdlYlBhZ2UpCitDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OkNodW5rZWRVcGRhdGVE
cmF3aW5nQXJlYShEcmF3aW5nQXJlYUluZm86OklkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViUGFn
ZSogd2ViUGFnZSkKKyAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhSW5mbzo6Q2h1bmtlZFVw
ZGF0ZSwgaWRlbnRpZmllciwgd2ViUGFnZSkKICAgICAsIG1faXNXYWl0aW5nRm9yVXBkYXRlKGZh
bHNlKQogICAgICwgbV9wYWludGluZ0lzU3VzcGVuZGVkKGZhbHNlKQogICAgICwgbV9kaXNwbGF5
VGltZXIoV2ViUHJvY2Vzczo6c2hhcmVkKCkucnVuTG9vcCgpLCB0aGlzLCAmQ2h1bmtlZFVwZGF0
ZURyYXdpbmdBcmVhOjpkaXNwbGF5KQpAQCAtMTg4LDEyICsxODgsMTIgQEAgdm9pZCBDaHVua2Vk
VXBkYXRlRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZSgpCiAKIHZvaWQgQ2h1bmtlZFVwZGF0ZURyYXdp
bmdBcmVhOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6
TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMp
CiB7Ci0gICAgRHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUlEIHRhcmdldERyYXdpbmdBcmVh
SUQ7Ci0gICAgaWYgKCFhcmd1bWVudHMtPmRlY29kZShDb3JlSVBDOjpPdXQodGFyZ2V0RHJhd2lu
Z0FyZWFJRCkpKQorICAgIERyYXdpbmdBcmVhSW5mbzo6SWRlbnRpZmllciB0YXJnZXRJZGVudGlm
aWVyOworICAgIGlmICghYXJndW1lbnRzLT5kZWNvZGUoQ29yZUlQQzo6T3V0KHRhcmdldElkZW50
aWZpZXIpKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2UgY2FuIHN3aXRjaCBkcmF3aW5n
IGFyZWFzIG9uIHRoZSBmbHksIHNvIGlmIHRoaXMgbWVzc2FnZSB3YXMgdGFyZ2V0dGVkIGF0IGFu
IG9ic29sZXRlIGRyYXdpbmcgYXJlYSwgaWdub3JlIGl0LgotICAgIGlmICh0YXJnZXREcmF3aW5n
QXJlYUlEICE9IGluZm8oKS5pZCkKKyAgICBpZiAodGFyZ2V0SWRlbnRpZmllciAhPSBpbmZvKCku
aWRlbnRpZmllcikKICAgICAgICAgcmV0dXJuOwogCiAgICAgc3dpdGNoIChtZXNzYWdlSUQuZ2V0
PERyYXdpbmdBcmVhTWVzc2FnZTo6S2luZD4oKSkgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmggYi9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuaAppbmRleCBhZDM5ZDI4NjQx
YzgzYTBmZjQxODgzYjZiMDhiOTI0NjgwMmY1ZDczLi41Y2M5MjcxYmRiNzA5OTgyNTkxZWJhZTY3
NTgwM2ViZmQ1OTVhNjhmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
aHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBVcGRh
dGVDaHVuazsKIAogY2xhc3MgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhIDogcHVibGljIERyYXdp
bmdBcmVhIHsKIHB1YmxpYzoKLSAgICBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEoRHJhd2luZ0Fy
ZWFCYXNlOjpEcmF3aW5nQXJlYUlEIGlkZW50aWZpZXIsIFdlYlBhZ2UqKTsKKyAgICBDaHVua2Vk
VXBkYXRlRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFJbmZvOjpJZGVudGlmaWVyIGlkZW50aWZpZXIs
IFdlYlBhZ2UqKTsKICAgICB2aXJ0dWFsIH5DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEoKTsKIAog
ICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IHJlY3QsIGJvb2wgaW1tZWRpYXRlKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhLmNwcCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLmNwcAppbmRleCBhNTZjZWRmOTlhODM4ZGVkZDQ1NjAyODk3ZTJjZDkwYjIxZDI4MmRm
Li45NzAwODg0YTM4NDcwOGY1MjU0YTVhMjU2ZGQ5ZDE4ZGFiM2MwMGJjIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAKKysrIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCkBAIC0zNywyMiArMzcsMjIgQEAKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKLVBhc3NSZWZQdHI8RHJhd2luZ0FyZWE+IERyYXdpbmdBcmVh
OjpjcmVhdGUoRHJhd2luZ0FyZWFCYXNlOjpUeXBlIHR5cGUsIERyYXdpbmdBcmVhQmFzZTo6RHJh
d2luZ0FyZWFJRCBpZGVudGlmaWVyLCBXZWJQYWdlKiB3ZWJQYWdlKQorUGFzc1JlZlB0cjxEcmF3
aW5nQXJlYT4gRHJhd2luZ0FyZWE6OmNyZWF0ZShEcmF3aW5nQXJlYUluZm86OlR5cGUgdHlwZSwg
RHJhd2luZ0FyZWFJbmZvOjpJZGVudGlmaWVyIGlkZW50aWZpZXIsIFdlYlBhZ2UqIHdlYlBhZ2Up
CiB7CiAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgRHJhd2luZ0FyZWFCYXNlOjpO
b25lOgorICAgICAgICBjYXNlIERyYXdpbmdBcmVhSW5mbzo6Tm9uZToKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSBE
cmF3aW5nQXJlYUJhc2U6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVR5cGU6CisgICAgICAgIGNh
c2UgRHJhd2luZ0FyZWFJbmZvOjpDaHVua2VkVXBkYXRlOgogICAgICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEoaWRlbnRpZmllciwgd2ViUGFnZSkp
OwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBQTEFURk9STShNQUMpCi0g
ICAgICAgIGNhc2UgRHJhd2luZ0FyZWFCYXNlOjpMYXllckJhY2tlZERyYXdpbmdBcmVhVHlwZToK
KyAgICAgICAgY2FzZSBEcmF3aW5nQXJlYUluZm86OkxheWVyQmFja2VkOgogICAgICAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBMYXllckJhY2tlZERyYXdpbmdBcmVhKGlkZW50aWZpZXIsIHdl
YlBhZ2UpKTsKICNlbmRpZgogI2lmIEVOQUJMRShUSUxFRF9CQUNLSU5HX1NUT1JFKQotICAgICAg
ICBjYXNlIERyYXdpbmdBcmVhQmFzZTo6VGlsZWREcmF3aW5nQXJlYVR5cGU6CisgICAgICAgIGNh
c2UgRHJhd2luZ0FyZWFJbmZvOjpUaWxlZDoKICAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgVGlsZWREcmF3aW5nQXJlYShpZGVudGlmaWVyLCB3ZWJQYWdlKSk7CiAjZW5kaWYKICAgICB9
CkBAIC02MCw3ICs2MCw3IEBAIFBhc3NSZWZQdHI8RHJhd2luZ0FyZWE+IERyYXdpbmdBcmVhOjpj
cmVhdGUoRHJhd2luZ0FyZWFCYXNlOjpUeXBlIHR5cGUsIERyYXdpbmdBCiAgICAgcmV0dXJuIDA7
CiB9CiAKLURyYXdpbmdBcmVhOjpEcmF3aW5nQXJlYShEcmF3aW5nQXJlYUJhc2U6OlR5cGUgdHlw
ZSwgRHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUlEIGlkZW50aWZpZXIsIFdlYlBhZ2UqIHdl
YlBhZ2UpCitEcmF3aW5nQXJlYTo6RHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFJbmZvOjpUeXBlIHR5
cGUsIERyYXdpbmdBcmVhSW5mbzo6SWRlbnRpZmllciBpZGVudGlmaWVyLCBXZWJQYWdlKiB3ZWJQ
YWdlKQogICAgIDogbV9pbmZvKHR5cGUsIGlkZW50aWZpZXIpCiAgICAgLCBtX3dlYlBhZ2Uod2Vi
UGFnZSkKIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IGY5
ODliOGRhMjgzNzY5YmJmMjU4ZTAyODkyMzVhNjYyODY4MDgzMzEuLjc0ZTk3NWY3NDA1NThjYzRk
NGI0NWQzYjdiOWRlNTBmYmE3ODkwY2YgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuaApAQCAtNDQsNyArNDQsNyBAQCBjbGFzcyBXZWJQYWdlOwogY2xhc3MgRHJhd2lu
Z0FyZWEgOiBwdWJsaWMgUmVmQ291bnRlZDxEcmF3aW5nQXJlYT4gewogcHVibGljOgogICAgIC8v
IEZJWE1FOiBJdCBtaWdodCBtYWtlIHNlbnNlIHRvIG1vdmUgdGhpcyBjcmVhdGUgZnVuY3Rpb24g
aW50byBhIGZhY3Rvcnkgc3R5bGUgY2xhc3MuIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERyYXdp
bmdBcmVhPiBjcmVhdGUoRHJhd2luZ0FyZWFCYXNlOjpUeXBlLCBEcmF3aW5nQXJlYUJhc2U6OkRy
YXdpbmdBcmVhSUQsIFdlYlBhZ2UqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEcmF3aW5nQXJl
YT4gY3JlYXRlKERyYXdpbmdBcmVhSW5mbzo6VHlwZSwgRHJhd2luZ0FyZWFJbmZvOjpJZGVudGlm
aWVyLCBXZWJQYWdlKik7CiAKICAgICB2aXJ0dWFsIH5EcmF3aW5nQXJlYSgpOwogICAgIApAQCAt
NjYsMTIgKzY2LDEyIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpB
cmd1bWVudERlY29kZXIqKSA9IDA7CiAKLSAgICBjb25zdCBEcmF3aW5nQXJlYUJhc2U6OkRyYXdp
bmdBcmVhSW5mbyYgaW5mbygpIGNvbnN0IHsgcmV0dXJuIG1faW5mbzsgfQorICAgIGNvbnN0IERy
YXdpbmdBcmVhSW5mbyYgaW5mbygpIGNvbnN0IHsgcmV0dXJuIG1faW5mbzsgfQogCiBwcm90ZWN0
ZWQ6Ci0gICAgRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFCYXNlOjpUeXBlLCBEcmF3aW5nQXJlYUJh
c2U6OkRyYXdpbmdBcmVhSUQsIFdlYlBhZ2UqKTsKKyAgICBEcmF3aW5nQXJlYShEcmF3aW5nQXJl
YUluZm86OlR5cGUsIERyYXdpbmdBcmVhSW5mbzo6SWRlbnRpZmllciwgV2ViUGFnZSopOwogCi0g
ICAgRHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUluZm8gbV9pbmZvOworICAgIERyYXdpbmdB
cmVhSW5mbyBtX2luZm87CiAgICAgV2ViUGFnZSogbV93ZWJQYWdlOwogfTsKIApkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYS5jcHAg
Yi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVhLmNwcApp
bmRleCA3ZmI0OGE3YjNiMGMxZDNhOTUyMzhiMTEwMjJkZTA5MTE4OTdlYjcwLi40ODk1Y2UwM2I3
ZWFjOTYxZTY4NTU1MDk4MTZmMGQwYWNlNzk3YzY5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVhLmNwcAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVhLmNwcApAQCAtMzksOCArMzks
OCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLUxh
eWVyQmFja2VkRHJhd2luZ0FyZWE6OkxheWVyQmFja2VkRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFC
YXNlOjpEcmF3aW5nQXJlYUlEIGlkZW50aWZpZXIsIFdlYlBhZ2UqIHdlYlBhZ2UpCi0gICAgOiBE
cmF3aW5nQXJlYShEcmF3aW5nQXJlYUJhc2U6OkxheWVyQmFja2VkRHJhd2luZ0FyZWFUeXBlLCBp
ZGVudGlmaWVyLCB3ZWJQYWdlKQorTGF5ZXJCYWNrZWREcmF3aW5nQXJlYTo6TGF5ZXJCYWNrZWRE
cmF3aW5nQXJlYShEcmF3aW5nQXJlYUluZm86OklkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViUGFn
ZSogd2ViUGFnZSkKKyAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhSW5mbzo6TGF5ZXJCYWNr
ZWQsIGlkZW50aWZpZXIsIHdlYlBhZ2UpCiAgICAgLCBtX3N5bmNUaW1lcihXZWJQcm9jZXNzOjpz
aGFyZWQoKS5ydW5Mb29wKCksIHRoaXMsICZMYXllckJhY2tlZERyYXdpbmdBcmVhOjpzeW5jQ29t
cG9zaXRpbmdMYXllcnMpCiAgICAgLCBtX2F0dGFjaGVkKGZhbHNlKQogICAgICwgbV9zaG91bGRQ
YWludCh0cnVlKQpAQCAtMTQzLDEyICsxNDMsMTIgQEAgdm9pZCBMYXllckJhY2tlZERyYXdpbmdB
cmVhOjpkaWRVcGRhdGUoKQogCiB2b2lkIExheWVyQmFja2VkRHJhd2luZ0FyZWE6OmRpZFJlY2Vp
dmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2Fn
ZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKIHsKLSAgICBEcmF3aW5n
QXJlYUJhc2U6OkRyYXdpbmdBcmVhSUQgdGFyZ2V0RHJhd2luZ0FyZWFJRDsKLSAgICBpZiAoIWFy
Z3VtZW50cy0+ZGVjb2RlKENvcmVJUEM6Ok91dCh0YXJnZXREcmF3aW5nQXJlYUlEKSkpCisgICAg
RHJhd2luZ0FyZWFJbmZvOjpJZGVudGlmaWVyIHRhcmdldElkZW50aWZpZXI7CisgICAgaWYgKCFh
cmd1bWVudHMtPmRlY29kZShDb3JlSVBDOjpPdXQodGFyZ2V0SWRlbnRpZmllcikpKQogICAgICAg
ICByZXR1cm47CiAKICAgICAvLyBXZSBjYW4gc3dpdGNoIGRyYXdpbmcgYXJlYXMgb24gdGhlIGZs
eSwgc28gaWYgdGhpcyBtZXNzYWdlIHdhcyB0YXJnZXR0ZWQgYXQgYW4gb2Jzb2xldGUgZHJhd2lu
ZyBhcmVhLCBpZ25vcmUgaXQuCi0gICAgaWYgKHRhcmdldERyYXdpbmdBcmVhSUQgIT0gaW5mbygp
LmlkKQorICAgIGlmICh0YXJnZXRJZGVudGlmaWVyICE9IGluZm8oKS5pZGVudGlmaWVyKQogICAg
ICAgICByZXR1cm47CiAKICAgICBzd2l0Y2ggKG1lc3NhZ2VJRC5nZXQ8RHJhd2luZ0FyZWFNZXNz
YWdlOjpLaW5kPigpKSB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9M
YXllckJhY2tlZERyYXdpbmdBcmVhLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXll
ckJhY2tlZERyYXdpbmdBcmVhLmgKaW5kZXggOGE0ZWUwMjBlZTE5YTRjMmIzMjk4NWI2OGZhYWQ5
OWUxYmQ1MTY3MC4uYjRkY2NmM2M3NjhiNzIwYTNmNjZkNjBjYzk4ZTc2YjlhNWViN2M0YSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJCYWNrZWREcmF3aW5nQXJl
YS5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFja2VkRHJhd2luZ0Fy
ZWEuaApAQCAtNTIsNyArNTIsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTGF5ZXJC
YWNrZWREcmF3aW5nQXJlYSA6IHB1YmxpYyBEcmF3aW5nQXJlYSwgcHJpdmF0ZSBXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBMYXllckJhY2tlZERyYXdpbmdBcmVh
KERyYXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJRCBpZGVudGlmaWVyLCBXZWJQYWdlKik7Cisg
ICAgTGF5ZXJCYWNrZWREcmF3aW5nQXJlYShEcmF3aW5nQXJlYUluZm86OklkZW50aWZpZXIgaWRl
bnRpZmllciwgV2ViUGFnZSopOwogICAgIHZpcnR1YWwgfkxheWVyQmFja2VkRHJhd2luZ0FyZWEo
KTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIHJlY3QsIGJvb2wgaW1tZWRpYXRlKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1RpbGVkRHJhd2luZ0FyZWEuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvVGlsZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggNzNmMjZiZTcyMDUxYTk5MDdmZGIwMDhl
NzM0MGY4YWZjODQ1ZTI5MS4uOGVjZjM5NjUxZGNjZmEwNDQ2YzA1MTE2MjRiN2JhZmFiMWFkMzMw
OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGlsZWREcmF3aW5nQXJl
YS5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGlsZWREcmF3aW5nQXJlYS5j
cHAKQEAgLTQyLDggKzQyLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi1UaWxlZERyYXdpbmdBcmVhOjpUaWxlZERyYXdpbmdBcmVhKERyYXdpbmdB
cmVhQmFzZTo6RHJhd2luZ0FyZWFJRCBpZGVudGlmaWVyLCBXZWJQYWdlKiB3ZWJQYWdlKQotICAg
IDogRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFCYXNlOjpUaWxlZERyYXdpbmdBcmVhVHlwZSwgaWRl
bnRpZmllciwgd2ViUGFnZSkKK1RpbGVkRHJhd2luZ0FyZWE6OlRpbGVkRHJhd2luZ0FyZWEoRHJh
d2luZ0FyZWFJbmZvOjpJZGVudGlmaWVyIGlkZW50aWZpZXIsIFdlYlBhZ2UqIHdlYlBhZ2UpCisg
ICAgOiBEcmF3aW5nQXJlYShEcmF3aW5nQXJlYUluZm86OlRpbGVkLCBpZGVudGlmaWVyLCB3ZWJQ
YWdlKQogICAgICwgbV9pc1dhaXRpbmdGb3JVcGRhdGUoZmFsc2UpCiAgICAgLCBtX3Nob3VsZFBh
aW50KHRydWUpCiAgICAgLCBtX2Rpc3BsYXlUaW1lcihXZWJQcm9jZXNzOjpzaGFyZWQoKS5ydW5M
b29wKCksIHRoaXMsICZUaWxlZERyYXdpbmdBcmVhOjpkaXNwbGF5KQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGlsZWREcmF3aW5nQXJlYS5oIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvVGlsZWREcmF3aW5nQXJlYS5oCmluZGV4IDU4ZGI4NDM2NzRmMzk4MDFk
MzZjYjYyZDU5OGU3YjAwZTkzYjEwZjYuLmE3ZTQxOGMxN2M5ZmJlY2FiNjBkYjNjZTk4YmExMjQ5
YTJjYzg2MzEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RpbGVkRHJh
d2luZ0FyZWEuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UaWxlZERyYXdpbmdB
cmVhLmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgVXBkYXRlQ2h1bms7CiAKIGNsYXNzIFRpbGVk
RHJhd2luZ0FyZWEgOiBwdWJsaWMgRHJhd2luZ0FyZWEgewogcHVibGljOgotICAgIFRpbGVkRHJh
d2luZ0FyZWEoRHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUlEIGlkZW50aWZpZXIsIFdlYlBh
Z2UqKTsKKyAgICBUaWxlZERyYXdpbmdBcmVhKERyYXdpbmdBcmVhSW5mbzo6SWRlbnRpZmllciwg
V2ViUGFnZSopOwogICAgIHZpcnR1YWwgflRpbGVkRHJhd2luZ0FyZWEoKTsKIAogICAgIHZpcnR1
YWwgdm9pZCBpbnZhbGlkYXRlV2luZG93KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QsIGJv
b2wgaW1tZWRpYXRlKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
M2Q2YTE1YjA3M2Y0NTZkYTQyMzhkYWYyZThhZTJlMmM3YTI1ZWY0Ny4uY2RlZGE3OWZlZjI3ZjM4
NjM3ZDY2MTExN2NmYjZkZmUxNzdjYTBmMSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTE0OCw3ICsxNDgsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBh
Z2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICAgICBw
bGF0Zm9ybUluaXRpYWxpemUoKTsKICAgICBTZXR0aW5nczo6c2V0TWluRE9NVGltZXJJbnRlcnZh
bCgwLjAwNCk7CiAKLSAgICBtX2RyYXdpbmdBcmVhID0gRHJhd2luZ0FyZWE6OmNyZWF0ZShwYXJh
bWV0ZXJzLmRyYXdpbmdBcmVhSW5mby50eXBlLCBwYXJhbWV0ZXJzLmRyYXdpbmdBcmVhSW5mby5p
ZCwgdGhpcyk7CisgICAgbV9kcmF3aW5nQXJlYSA9IERyYXdpbmdBcmVhOjpjcmVhdGUocGFyYW1l
dGVycy5kcmF3aW5nQXJlYUluZm8udHlwZSwgcGFyYW1ldGVycy5kcmF3aW5nQXJlYUluZm8uaWRl
bnRpZmllciwgdGhpcyk7CiAKICAgICBtX21haW5GcmFtZSA9IFdlYkZyYW1lOjpjcmVhdGVNYWlu
RnJhbWUodGhpcyk7CiAKQEAgLTI3MiwxNSArMjcyLDE1IEBAIHZvaWQgV2ViUGFnZTo6Y2hhbmdl
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbGF5ZXIp
CiAgICAgCiAgICAgLy8gVGVsbCB0aGUgVUkgcHJvY2VzcyB0aGF0IGFjY2VsZXJhdGVkIGNvbXBv
c2l0aW5nIGNoYW5nZWQuIEl0IG1heSByZXNwb25kIGJ5IGNoYW5naW5nCiAgICAgLy8gZHJhd2lu
ZyBhcmVhIHR5cGVzLgotICAgIERyYXdpbmdBcmVhQmFzZTo6RHJhd2luZ0FyZWFJbmZvIG5ld0Ry
YXdpbmdBcmVhSW5mbzsKKyAgICBEcmF3aW5nQXJlYUluZm8gbmV3RHJhd2luZ0FyZWFJbmZvOwog
CiAgICAgaWYgKCFXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmRTeW5jKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoY29t
cG9zaXRpbmcpLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDaGFuZ2VBY2NlbGVyYXRlZENv
bXBvc2l0aW5nOjpSZXBseShuZXdEcmF3aW5nQXJlYUluZm8pLCBtX3BhZ2VJRCkpCiAgICAgICAg
IHJldHVybjsKICAgICAKICAgICBpZiAobmV3RHJhd2luZ0FyZWFJbmZvLnR5cGUgIT0gZHJhd2lu
Z0FyZWEoKS0+aW5mbygpLnR5cGUpIHsKICAgICAgICAgbV9kcmF3aW5nQXJlYSA9IDA7Ci0gICAg
ICAgIGlmIChuZXdEcmF3aW5nQXJlYUluZm8udHlwZSAhPSBEcmF3aW5nQXJlYUJhc2U6Ok5vbmUp
IHsKLSAgICAgICAgICAgIG1fZHJhd2luZ0FyZWEgPSBEcmF3aW5nQXJlYTo6Y3JlYXRlKG5ld0Ry
YXdpbmdBcmVhSW5mby50eXBlLCBuZXdEcmF3aW5nQXJlYUluZm8uaWQsIHRoaXMpOworICAgICAg
ICBpZiAobmV3RHJhd2luZ0FyZWFJbmZvLnR5cGUgIT0gRHJhd2luZ0FyZWFJbmZvOjpOb25lKSB7
CisgICAgICAgICAgICBtX2RyYXdpbmdBcmVhID0gRHJhd2luZ0FyZWE6OmNyZWF0ZShuZXdEcmF3
aW5nQXJlYUluZm8udHlwZSwgbmV3RHJhd2luZ0FyZWFJbmZvLmlkZW50aWZpZXIsIHRoaXMpOwog
ICAgICAgICAgICAgbV9kcmF3aW5nQXJlYS0+c2V0TmVlZHNEaXNwbGF5KEludFJlY3QoSW50UG9p
bnQoMCwgMCksIG1fdmlld1NpemUpKTsKICAgICAgICAgfQogICAgIH0K
</data>
<flag name="review"
          id="66070"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>