<?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>114065</bug_id>
          
          <creation_ts>2013-04-05 14:47:06 -0700</creation_ts>
          <short_desc>[BlackBerry] Update BlackBerry JavaScript API</short_desc>
          <delta_ts>2013-04-08 16:16:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit BlackBerry</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="Jeff Rogers">jrogers</reporter>
          <assigned_to name="Jeff Rogers">jrogers</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mifenton</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>870087</commentid>
    <comment_count>0</comment_count>
    <who name="Jeff Rogers">jrogers</who>
    <bug_when>2013-04-05 14:47:06 -0700</bug_when>
    <thetext>- Removes some BB-specific files
- Export JSC symbols
- Add an API function that returns if a user gesture is being processed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871139</commentid>
    <comment_count>1</comment_count>
      <attachid>196948</attachid>
    <who name="Jeff Rogers">jrogers</who>
    <bug_when>2013-04-08 13:26:17 -0700</bug_when>
    <thetext>Created attachment 196948
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871234</commentid>
    <comment_count>2</comment_count>
      <attachid>196948</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-04-08 15:38:06 -0700</bug_when>
    <thetext>Comment on attachment 196948
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871258</commentid>
    <comment_count>3</comment_count>
      <attachid>196948</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-08 16:16:32 -0700</bug_when>
    <thetext>Comment on attachment 196948
Patch

Clearing flags on attachment: 196948

Committed r147960: &lt;http://trac.webkit.org/changeset/147960&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871260</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-08 16:16:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196948</attachid>
            <date>2013-04-08 13:26:17 -0700</date>
            <delta_ts>2013-04-08 16:16:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114065-20130408162601.patch</filename>
            <type>text/plain</type>
            <size>28730</size>
            <attacher name="Jeff Rogers">jrogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3OTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDllZjNjNDdhZjU2MjQ3N2Ex
ZDM5NzAwYmExNWQxNzUxNzk5NWRkMWIuLjNjMWE5MzY5OGJlYjI0MzdlNjQzOWQzNmMwMjU3NTk4
ZGY5ZDhjYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDQtMDggIEplZmYgUm9n
ZXJzICA8anJvZ2Vyc0ByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBVcGRhdGUgQmxh
Y2tCZXJyeSBKYXZhU2NyaXB0IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTE0MDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW50ZXJuYWwgUFIgMzE3MzUwCisgICAgICAgIFJlbW92ZSBvYnNvbGV0
ZSBmaWxlcy4KKworICAgICAgICAqIFBsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZToKKwogMjAxMy0w
NC0wNyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZW1vdmUgcmVmZXJlbmNlcyB0byBTa2lhIGFuZCBWOCBmcm9tIENNYWtlIGZpbGVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCAxYmEzN2NmZTQzYmU0Y2QyYTk3MTE4ZDdjMTBiYTU5
YjE5ODBlZGVhLi4zMTMyNTkwNmY5MDg4ZWI1MGUzNzhlYTQ1NWYwY2VlNTM0MzMxZmE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMy0wNC0wOCAg
SmVmZiBSb2dlcnMgIDxqcm9nZXJzQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnldIFVw
ZGF0ZSBCbGFja0JlcnJ5IEphdmFTY3JpcHQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQwNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbnRlcm5hbCBQUiAzMTczNTAKKyAgICAgICAgQWRkIG5l
dyBBUEkgZm9yIGRldGVybWluaW5nIGlmIHVzZXIgZ2VzdHVyZSBpcyBiZWluZyBwcm9jZXNzZWQu
CisgICAgICAgIFJlbW92ZSBvYnNvbGV0ZSBmaWxlcy4KKyAgICAgICAgUHJvcGVybHkgZXhwb3Nl
IEpTQyBnbG9iYWwgY29udGV4dC4KKworICAgICAgICAqIEFwaS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OldlYlBhZ2VQcml2YXRlKToK
KyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZTo6ZXhlY3V0ZUphdmFTY3JpcHRG
dW5jdGlvbik6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2U6Omdsb2JhbENv
bnRleHQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlOjppc1Byb2Nlc3Np
bmdVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIEFwaS9XZWJQYWdl
Lmg6CisgICAgICAgICogQXBpL1dlYlBhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBBcGkvV2ViUGFn
ZV9wLmg6CisgICAgICAgIChXZWJQYWdlUHJpdmF0ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50QmxhY2tCZXJy
eSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2xpZW50RXh0ZW5zaW9uLmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DbGllbnRFeHRlbnNpb24uaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FeHRlcm5hbEV4dGVuc2lvbi5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5OjpkaXNwYXRj
aERpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZCk6CisKIDIwMTMtMDQtMDggIElyaXMgV3UgIDxz
aHV3dUBibGFja2JlcnJ5LmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRm9yY2UgaG9yaXpv
bnRhbCBsaXN0IHRvIGJlIGhvcml6b250YWwgc2Nyb2xsYWJsZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bUJsYWNrQmVycnkuY21ha2UKaW5kZXggMjM1OTBhOTJhYzEzNWU5NzhkYTc3MDYxNmVkZGMzZGZl
ZTc5ZmUzNi4uODg0MDA0MTQ3NGU4ZjllZTVmMjg0NjNiZDY2ODBkZWI5MGJkYjRjNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKysrIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKQEAgLTg3LDcgKzg3LDYgQEAgbGlzdChB
UFBFTkQgV2ViS2l0X1NPVVJDRVMKICAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0JhY2tG
b3J3YXJkTGlzdEJsYWNrQmVycnkuY3BwCiAgICAgYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9D
YWNoZUNsaWVudEJsYWNrQmVycnkuY3BwCiAgICAgYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcAotICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQv
Q2xpZW50RXh0ZW5zaW9uLmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ29udGV4
dE1lbnVDbGllbnRCbGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQv
Q3JlZGVudGlhbE1hbmFnZXIuY3BwCiAgICAgYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DcmVk
ZW50aWFsVHJhbnNmb3JtRGF0YS5jcHAKQEAgLTk1LDcgKzk0LDYgQEAgbGlzdChBUFBFTkQgV2Vi
S2l0X1NPVVJDRVMKICAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0
aW9uQ2xpZW50QmxhY2tCZXJyeS5jcHAKICAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Ry
YWdDbGllbnRCbGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50QmxhY2tCZXJyeS5jcHAKLSAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0V4
dGVybmFsRXh0ZW5zaW9uLmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQv
RnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnkuY3BwCiAgICAgYmxhY2tiZXJyeS9XZWJD
b3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEJsYWNrQmVycnkuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAppbmRleCA4YmJhMjhmOWI4MDA4YjUxNGUxNDNkMWJj
MzI3NjY0MjI1ZWI1NWE4Li40ZGEzYWY3YzhiNjFkODI0MjBkNjcyNzZhNDI1YWNlMDI3ZmEwNmFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKQEAgLTExNCw2ICsx
MTQsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRyZWVBc1RleHQuaCIKICNpbmNsdWRlICJSZW5kZXJW
aWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCisjaW5jbHVkZSAiU2NyaXB0Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTY3JpcHRW
YWx1ZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCkBAIC0zNDQsMTEgKzM0NSw2IEBAIHZv
aWQgV2ViUGFnZTo6YXV0b2ZpbGxUZXh0RmllbGQoY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06
OlN0cmluZyYgaXRlbSkKICAgICBkLT5tX2F1dG9maWxsTWFuYWdlci0+YXV0b2ZpbGxUZXh0Rmll
bGQoaXRlbSk7CiB9CiAKLXZvaWQgV2ViUGFnZTo6ZW5hYmxlUW54SmF2YVNjcmlwdE9iamVjdChi
b29sIGVuYWJsZWQpCi17Ci0gICAgZC0+bV9lbmFibGVRbnhKYXZhU2NyaXB0T2JqZWN0ID0gZW5h
YmxlZDsKLX0KLQogQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZyBXZWJQYWdlOjpyZW5kZXJU
cmVlQXNUZXh0KCkKIHsKICAgICByZXR1cm4gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihkLT5tX21h
aW5GcmFtZSk7CkBAIC00MjQsNyArNDIwLDYgQEAgV2ViUGFnZVByaXZhdGU6OldlYlBhZ2VQcml2
YXRlKFdlYlBhZ2UqIHdlYlBhZ2UsIFdlYlBhZ2VDbGllbnQqIGNsaWVudCwgY29uc3QgSW4KICAg
ICAsIG1fZnVsbHNjcmVlbk5vZGUoMCkKICAgICAsIG1faGFzSW5SZWdpb25TY3JvbGxhYmxlQXJl
YXMoZmFsc2UpCiAgICAgLCBtX3VwZGF0ZURlbGVnYXRlZE92ZXJsYXlzRGlzcGF0Y2hlZChmYWxz
ZSkKLSAgICAsIG1fZW5hYmxlUW54SmF2YVNjcmlwdE9iamVjdChmYWxzZSkKICAgICAsIG1fZGVm
ZXJyZWRUYXNrc1RpbWVyKHRoaXMsICZXZWJQYWdlUHJpdmF0ZTo6ZGVmZXJyZWRUYXNrc1RpbWVy
RmlyZWQpCiAgICAgLCBtX3NlbGVjdFBvcHVwKDApCiAgICAgLCBtX2F1dG9maWxsTWFuYWdlcihB
dXRvZmlsbE1hbmFnZXI6OmNyZWF0ZSh0aGlzKSkKQEAgLTkwMCw3ICs4OTUsNyBAQCB2b2lkIFdl
YlBhZ2U6OmV4ZWN1dGVKYXZhU2NyaXB0RnVuY3Rpb24oY29uc3Qgc3RkOjp2ZWN0b3I8QmxhY2tC
ZXJyeTo6UGxhdGZvcm06OgogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhcmdzLnNpemUo
KTsgKytpKQogICAgICAgICBhcmdMaXN0UmVmW2ldID0gQmxhY2tCZXJyeUphdmFTY3JpcHRWYXJp
YW50VG9KU1ZhbHVlUmVmKGN0eCwgYXJnc1tpXSk7CiAKLSAgICBKU1ZhbHVlUmVmIHdpbmRvd09i
amVjdFZhbHVlID0gd2luZG93T2JqZWN0KCk7CisgICAgSlNWYWx1ZVJlZiB3aW5kb3dPYmplY3RW
YWx1ZSA9IHRvUmVmKGQtPm1fbWFpbkZyYW1lLT5zY3JpcHQoKS0+Z2xvYmFsT2JqZWN0KG1haW5U
aHJlYWROb3JtYWxXb3JsZCgpKSk7CiAgICAgSlNPYmplY3RSZWYgb2JqID0gSlNWYWx1ZVRvT2Jq
ZWN0KGN0eCwgd2luZG93T2JqZWN0VmFsdWUsIDApOwogICAgIEpTT2JqZWN0UmVmIHRoaXNPYmpl
Y3QgPSBvYmo7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZ1bmN0aW9uLnNpemUoKTsg
KytpKSB7CkBAIC00NzQyLDIyICs0NzM3LDEyIEBAIHZvaWQgV2ViUGFnZTo6c2V0VGltZW91dEZv
ckphdmFTY3JpcHRFeGVjdXRpb24odW5zaWduZWQgbXMpCiAgICAgZG9jLT5nbG9iYWxEYXRhKCkt
PnRpbWVvdXRDaGVja2VyLnNldFRpbWVvdXRJbnRlcnZhbChtcyk7CiB9CiAKLUpTQ29udGV4dFJl
ZiBXZWJQYWdlOjpzY3JpcHRDb250ZXh0KCkgY29uc3QKK0pTR2xvYmFsQ29udGV4dFJlZiBXZWJQ
YWdlOjpnbG9iYWxDb250ZXh0KCkgY29uc3QKIHsKICAgICBpZiAoIWQtPm1fbWFpbkZyYW1lKQog
ICAgICAgICByZXR1cm4gMDsKIAotICAgIEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QgKnJvb3Qg
PSBkLT5tX21haW5GcmFtZS0+c2NyaXB0KCktPmJpbmRpbmdSb290T2JqZWN0KCk7Ci0gICAgaWYg
KCFyb290KQotICAgICAgICByZXR1cm4gMDsKLQotICAgIEpTQzo6RXhlY1N0YXRlICpleGVjID0g
cm9vdC0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKLSAgICByZXR1cm4gdG9SZWYoZXhl
Yyk7Ci19Ci0KLUpTVmFsdWVSZWYgV2ViUGFnZTo6d2luZG93T2JqZWN0KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gdG9SZWYoZC0+bV9tYWluRnJhbWUtPnNjcmlwdCgpLT5nbG9iYWxPYmplY3QobWFp
blRocmVhZE5vcm1hbFdvcmxkKCkpKTsKKyAgICByZXR1cm4gdG9HbG9iYWxSZWYoZC0+bV9tYWlu
RnJhbWUtPnNjcmlwdCgpLT5nbG9iYWxPYmplY3QobWFpblRocmVhZE5vcm1hbFdvcmxkKCkpLT5n
bG9iYWxFeGVjKCkpOwogfQogCiAvLyBTZXJpYWxpemUgb25seSB0aGUgbWVtYmVycyBvZiBIaXN0
b3J5SXRlbSB3aGljaCBhcmUgbmVlZGVkIGJ5IHRoZSBjbGllbnQsCkBAIC02MjYwLDUgKzYyNDUs
MTAgQEAgQ29sb3IgV2ViUGFnZVByaXZhdGU6OmRvY3VtZW50QmFja2dyb3VuZENvbG9yKCkgY29u
c3QKICAgICByZXR1cm4gY29sb3I7CiB9CiAKK2Jvb2wgV2ViUGFnZTo6aXNQcm9jZXNzaW5nVXNl
ckdlc3R1cmUoKSBjb25zdAoreworICAgIHJldHVybiBTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNz
aW5nVXNlckdlc3R1cmUoKTsKK30KKwogfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0FwaS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dl
YlBhZ2UuaAppbmRleCAzZmRmMTdjNWViM2IwY2I4NzcwMjI4MGIzZmJiOGI3N2NiNDg4Y2NmLi43
MWNhMDkxM2VjYTQzOTgzNDc2YTNlMTZmMDEwZDAzYThkYzNkMGRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQXBpL1dlYlBhZ2UuaApAQCAtMjYsMTcgKzI2LDEyIEBACiAjaW5jbHVkZSA8Qmxh
Y2tCZXJyeVBsYXRmb3JtSW5wdXRFdmVudHMuaD4KICNpbmNsdWRlIDxCbGFja0JlcnJ5UGxhdGZv
cm1TdHJpbmcuaD4KICNpbmNsdWRlIDxCbGFja0JlcnJ5UGxhdGZvcm1XZWJDb250ZXh0Lmg+Cisj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNCYXNlLmg+CiAjaW5jbHVkZSA8aW1mL2lucHV0X2Rh
dGEuaD4KICNpbmNsdWRlIDxuZXR3b3JrL05ldHdvcmtSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8c3Ry
aW5nPgogI2luY2x1ZGUgPHZlY3Rvcj4KIAotc3RydWN0IE9wYXF1ZUpTQ29udGV4dDsKLXR5cGVk
ZWYgY29uc3Qgc3RydWN0IE9wYXF1ZUpTQ29udGV4dCogSlNDb250ZXh0UmVmOwotCi1zdHJ1Y3Qg
T3BhcXVlSlNWYWx1ZTsKLXR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZUpTVmFsdWUqIEpTVmFs
dWVSZWY7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENocm9tZUNsaWVudEJsYWNrQmVy
cnk7CiBjbGFzcyBGcmFtZTsKQEAgLTI0MCw4ICsyMzUsNyBAQCBwdWJsaWM6CiAgICAgLy8gQ2Fz
ZSBzZW5zaXRpdml0eSwgd3JhcHBpbmcsIGFuZCBoaWdobGlnaHRpbmcgYWxsIG1hdGNoZXMgYXJl
IGFsc28gdG9nZ2xlYWJsZS4KICAgICBib29sIGZpbmROZXh0U3RyaW5nKGNvbnN0IGNoYXIqLCBi
b29sIGZvcndhcmQsIGJvb2wgY2FzZVNlbnNpdGl2ZSwgYm9vbCB3cmFwLCBib29sIGhpZ2hsaWdo
dEFsbE1hdGNoZXMpOwogCi0gICAgSlNDb250ZXh0UmVmIHNjcmlwdENvbnRleHQoKSBjb25zdDsK
LSAgICBKU1ZhbHVlUmVmIHdpbmRvd09iamVjdCgpIGNvbnN0OworICAgIEpTR2xvYmFsQ29udGV4
dFJlZiBnbG9iYWxDb250ZXh0KCkgY29uc3Q7CiAKICAgICB1bnNpZ25lZCB0aW1lb3V0Rm9ySmF2
YVNjcmlwdEV4ZWN1dGlvbigpIGNvbnN0OwogICAgIHZvaWQgc2V0VGltZW91dEZvckphdmFTY3Jp
cHRFeGVjdXRpb24odW5zaWduZWQgbXMpOwpAQCAtMzgzLDggKzM3Nyw2IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgYXV0b2ZpbGxUZXh0RmllbGQoY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0
cmluZyYpOwogCi0gICAgdm9pZCBlbmFibGVRbnhKYXZhU2NyaXB0T2JqZWN0KGJvb2wpOwotCiAg
ICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZyByZW5kZXJUcmVlQXNUZXh0KCk7CiAKICAg
ICB2b2lkIHVwZGF0ZU5vdGlmaWNhdGlvblBlcm1pc3Npb24oY29uc3QgQmxhY2tCZXJyeTo6UGxh
dGZvcm06OlN0cmluZyYgcmVxdWVzdElkLCBib29sIGFsbG93ZWQpOwpAQCAtMzk1LDYgKzM4Nyw4
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYW5pbWF0ZVRvU2NhbGVBbmREb2N1bWVudFNjcm9sbFBv
c2l0aW9uKGRvdWJsZSBkZXN0aW5hdGlvblpvb21TY2FsZSwgY29uc3QgQmxhY2tCZXJyeTo6UGxh
dGZvcm06OkZsb2F0UG9pbnQmIGRlc3RpbmF0aW9uU2Nyb2xsUG9zaXRpb24sIGJvb2wgc2hvdWxk
Q29uc3RyYWluU2Nyb2xsaW5nVG9Db250ZW50RWRnZSA9IHRydWUpOwogCisgICAgYm9vbCBpc1By
b2Nlc3NpbmdVc2VyR2VzdHVyZSgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgfldl
YlBhZ2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQ
YWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQu
aAppbmRleCAxNjMzOTM3NGQyOGJhM2QzOGJlMmY5MWQxNTVkMjMyYzIyNjBkYjU0Li5lOTRiMWY1
MmUwNTYwNjE0MjU2YjdkMTY0MTJmNTI0NjMwODhmM2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaApAQCAtMTA4LDcgKzEwOCw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RG9jdW1lbnRPbkxvYWQoYm9vbCkgPSAwOwogCiAgICAg
dmlydHVhbCB2b2lkIG5vdGlmeVdpbmRvd09iamVjdENsZWFyZWQoKSA9IDA7Ci0gICAgdmlydHVh
bCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U3RyaW5nIGludm9rZUNsaWVudEphdmFTY3JpcHRDYWxs
YmFjayhjb25zdCBjaGFyKiBjb25zdCogYXJncywgdW5zaWduZWQgbnVtQXJncykgPSAwOwogCiAg
ICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoY29uc3QgdW5zaWduZWQgc2hvcnQq
IG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5ndGgsIGNvbnN0IHVuc2lnbmVkIHNob3J0KiBz
b3VyY2UsIHVuc2lnbmVkIHNvdXJjZUxlbmd0aCwgdW5zaWduZWQgbGluZU51bWJlcikgPSAwOwog
ICAgIHZpcnR1YWwgaW50IHNob3dBbGVydERpYWxvZyhBbGVydFR5cGUpID0gMDsKQEAgLTEyMywx
MSArMTIyLDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZEludGVycnVwdEph
dmFTY3JpcHQoKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgamF2YXNjcmlwdFNvdXJjZVBhcnNl
ZChjb25zdCB1bnNpZ25lZCBzaG9ydCogdXJsLCB1bnNpZ25lZCB1cmxMZW5ndGgsIGNvbnN0IHVu
c2lnbmVkIHNob3J0KiBzY3JpcHQsIHVuc2lnbmVkIHNjcmlwdExlbmd0aCkgPSAwOwotICAgIHZp
cnR1YWwgdm9pZCBqYXZhc2NyaXB0UGFyc2luZ0ZhaWxlZChjb25zdCB1bnNpZ25lZCBzaG9ydCog
dXJsLCB1bnNpZ25lZCB1cmxMZW5ndGgsIGNvbnN0IHVuc2lnbmVkIHNob3J0KiBlcnJvciwgdW5z
aWduZWQgZXJyb3JMZW5ndGgsIGludCBsaW5lTnVtYmVyKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IGphdmFzY3JpcHRQYXVzZWQoY29uc3QgdW5zaWduZWQgc2hvcnQqIHN0YWNrLCB1bnNpZ25lZCBz
dGFja0xlbmd0aCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBqYXZhc2NyaXB0Q29udGludWVkKCkg
PSAwOwotCiAgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHNjcm9sbENoYW5nZWQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNjYWxl
Q2hhbmdlZCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkv
V2ViUGFnZV9wLmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oCmlu
ZGV4IDQ4NjRlOGM2ZDZjNjE1YjQ3ZjRmYWU1YWY1MmZlYWU2MmFkZDQ4ZmEuLmMxNGU1NmEwY2Y0
ZjUwZjMwZDBmNzQ3NzNhZWVlN2I3ZTQwNzJhZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9XZWJQYWdlX3AuaApAQCAtNTkxLDcgKzU5MSw2IEBAIHB1YmxpYzoKICAgICBib29sIG1f
d291bGRTZXRGb2N1c2VkOwogICAgIGJvb2wgbV93b3VsZFNldFBhZ2VWaXNpYmlsaXR5U3RhdGU7
CiAgICAgYm9vbCBtX2NhY2hlZEZvY3VzZWQ7Ci0gICAgYm9vbCBtX2VuYWJsZVFueEphdmFTY3Jp
cHRPYmplY3Q7CiAgICAgVmVjdG9yPGJvb2w+IG1fY2FjaGVkUG9wdXBMaXN0U2VsZWN0ZWRzOwog
ICAgIGludCBtX2NhY2hlZFBvcHVwTGlzdFNlbGVjdGVkSW5kZXg7CiAgICAgQmxhY2tCZXJyeTo6
UGxhdGZvcm06OlN0cmluZyBtX2NhY2hlZERhdGVUaW1lSW5wdXQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJy
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50QmxhY2tCZXJyeS5jcHAKaW5kZXggYjdjZDQ3NTYzODI1MmNhZWRmYzZiNDBmMWQwZmFkNGM2
MTQ4MmZhOS4uZWQ0MTE2YTFhYjgwYmQyZjI2YTc5MzNhMzUwY2E0NTg1NzdhZTA5MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEJsYWNrQmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtODI0LDMxICs4MjQsNCBAQCBQYXNz
T3duUHRyPENvbG9yQ2hvb3Nlcj4gQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6Y3JlYXRlQ29sb3JD
aG9vc2VyKENvbG9yQ2hvb3NlcgogICAgIHJldHVybiBudWxscHRyOwogfQogCi12b2lkIENocm9t
ZUNsaWVudEJsYWNrQmVycnk6OmFkZFNlYXJjaFByb3ZpZGVyKGNvbnN0IEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpTdHJpbmcmIG9yaWdpblVSTCwgY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0
cmluZyYgbmV3VVJMKQotewotICAgIC8vIEVhcmx5IHJldHVybiBpZiB0aGlzIGZ1bmN0aW9uIGlz
IG5vdCB0cmlnZ2VyZWQgYnkgYSB1c2VyIGdlc3R1cmUuCi0gICAgaWYgKCFTY3JpcHRDb250cm9s
bGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8g
U2VjdXJpdHkgb3JpZ2luIGhvc3QgJiB0YXJnZXQgaG9zdCBtdXN0IHNoYXJlIGEgY29tbW9uIHJl
Z2lzdGVyZWQgZG9tYWluCi0gICAgS1VSTCB1cmwgPSBLVVJMKEtVUkwoKSwgbmV3VVJMKTsKLSAg
ICBTdHJpbmcgb3JpZ2luSG9zdCA9IEtVUkwoS1VSTCgpLCBvcmlnaW5VUkwpLmhvc3QoKTsKLQot
ICAgIGlmICh1cmwuaXNWYWxpZCgpICYmIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpnZXRSZWdpc3Rl
cmVkRG9tYWluKG9yaWdpbkhvc3QpID09IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpnZXRSZWdpc3Rl
cmVkRG9tYWluKHVybC5ob3N0KCkpKQotICAgICAgICBtX3dlYlBhZ2VQcml2YXRlLT5jbGllbnQo
KS0+YWRkU2VhcmNoUHJvdmlkZXIobmV3VVJMKTsKLX0KLQotaW50IENocm9tZUNsaWVudEJsYWNr
QmVycnk6OmlzU2VhcmNoUHJvdmlkZXJJbnN0YWxsZWQoY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZv
cm06OlN0cmluZyYgbmV3VVJMKQotewotLy8gICAgUmV0dXJucyBhIHZhbHVlIGJhc2VkIG9uIGNv
bXBhcmluZyB1cmwgdG8gdGhlIFVSTHMgb2YgdGhlIHJlc3VsdHMgcGFnZXMgb2YgdGhlIGluc3Rh
bGxlZCBzZWFyY2ggZW5naW5lcy4KLS8vICAgIDAgLSBOb25lIG9mIHRoZSBpbnN0YWxsZWQgc2Vh
cmNoIGVuZ2luZXMgbWF0Y2ggdXJsLgotLy8gICAgMSAtIE9uZSBvciBtb3JlIGluc3RhbGxlZCBz
ZWFyY2ggZW5naW5lcyBtYXRjaCB1cmwsIGJ1dCBub25lIGFyZSB0aGUgdXNlcidzIGRlZmF1bHQg
c2VhcmNoIGVuZ2luZS4KLS8vICAgIDIgLSBUaGUgdXNlcidzIGRlZmF1bHQgc2VhcmNoIGVuZ2lu
ZSBtYXRjaGVzIHVybC4KLQotICAgIEtVUkwgdXJsID0gS1VSTChLVVJMKCksIG5ld1VSTCk7Ci0g
ICAgaWYgKHVybC5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiBtX3dlYlBhZ2VQcml2YXRlLT5j
bGllbnQoKS0+aXNTZWFyY2hQcm92aWRlckluc3RhbGxlZChuZXdVUkwpOwotICAgIHJldHVybiAw
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVy
cnkuaAppbmRleCA4NjUyY2Q1NTU5MTliNDcyNmY2ZjA5ZjczYmNlOTM3MmU3Nzc0MTBkLi40OTZl
NGU5NzY3Zjc2NDc3NmQ2MGQ2NzJjMzdjMWE3M2U0NjJlNzRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRCbGFja0JlcnJ5LmgKQEAgLTE1MSw5ICsxNTEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIGFsbG93c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSBjb25zdDsKICNlbmRpZgogCi0gICAg
dmlydHVhbCB2b2lkIGFkZFNlYXJjaFByb3ZpZGVyKGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpTdHJpbmcmLCBjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U3RyaW5nJik7Ci0gICAgdmly
dHVhbCBpbnQgaXNTZWFyY2hQcm92aWRlckluc3RhbGxlZChjb25zdCBCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6U3RyaW5nJik7Ci0KICAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRl
KiB3ZWJQYWdlUHJpdmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViUGFnZVByaXZhdGU7IH0KIAog
cHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9DbGllbnRFeHRlbnNpb24uY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNv
cmVTdXBwb3J0L0NsaWVudEV4dGVuc2lvbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDgxNTMzMjFjZjgzYzBhODMyMzAwMmMzNzI2MDAzYjJmNjNiYmNmZDMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYkNvcmVTdXBwb3J0L0NsaWVudEV4dGVuc2lvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSwxMTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMiBSZXNl
YXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQotICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBp
ZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBV
U0EKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQ2xpZW50RXh0ZW5zaW9u
LmgiCi0KLSNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIldlYlBhZ2VDbGllbnQuaCIKLSNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oPgotI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0UmVmLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SlNTdHJpbmdSZWYuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1ZhbHVlUmVmLmg+Ci0j
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgotI2luY2x1ZGUgPHN0cmluZz4K
LQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgQmxhY2tCZXJyeTo6
V2ViS2l0OwotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQotc3RhdGljIEpTVmFsdWVSZWYgY2xpZW50
RXh0ZW5zaW9uTWV0aG9kKAotICAgIEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIGZ1bmN0
aW9uT2JqZWN0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LAotICAgIHNpemVfdCBhcmd1bWVudENv
dW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24p
Ci17Ci0gICAgSlNWYWx1ZVJlZiBqc1JldFZhbCA9IEpTVmFsdWVNYWtlVW5kZWZpbmVkKGN0eCk7
Ci0gICAgaWYgKGFyZ3VtZW50Q291bnQgPD0gMCkKLSAgICAgICAgcmV0dXJuIGpzUmV0VmFsOwot
Ci0gICAgY2hhcioqIHN0ckFyZ3MgPSBuZXcgY2hhcipbYXJndW1lbnRDb3VudF07Ci0gICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGFyZ3VtZW50Q291bnQ7ICsraSkgewotICAgICAgICBKU1N0
cmluZ1JlZiBzdHJpbmcgPSBKU1ZhbHVlVG9TdHJpbmdDb3B5KGN0eCwgYXJndW1lbnRzW2ldLCAw
KTsKLSAgICAgICAgc2l6ZV90IHNpemVVVEY4ID0gSlNTdHJpbmdHZXRNYXhpbXVtVVRGOENTdHJp
bmdTaXplKHN0cmluZyk7Ci0gICAgICAgIHN0ckFyZ3NbaV0gPSBuZXcgY2hhcltzaXplVVRGOF07
Ci0gICAgICAgIEpTU3RyaW5nR2V0VVRGOENTdHJpbmcoc3RyaW5nLCBzdHJBcmdzW2ldLCBzaXpl
VVRGOCk7Ci0gICAgICAgIEpTU3RyaW5nUmVsZWFzZShzdHJpbmcpOwotICAgIH0KLQotICAgIFdl
YlBhZ2VDbGllbnQqIGNsaWVudCA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViUGFnZUNsaWVudCo+KEpT
T2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7Ci0gICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06
OlN0cmluZyByZXRWYWw7Ci0gICAgaWYgKGNsaWVudCkKLSAgICAgICAgcmV0VmFsID0gY2xpZW50
LT5pbnZva2VDbGllbnRKYXZhU2NyaXB0Q2FsbGJhY2soc3RyQXJncywgYXJndW1lbnRDb3VudCk7
Ci0gICAgLy8gRklYTUU6IGFkZCBhIG1lY2hhbmlzbSB0byBwYXNzIHRoZSBsZW5ndGggb2YgdGhl
IHN0cmluZyBoZXJlCi0gICAgaWYgKCFyZXRWYWwuZW1wdHkoKSkKLSAgICAgICAganNSZXRWYWwg
PSBKU1ZhbHVlTWFrZVN0cmluZyhjdHgsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHJl
dFZhbC5jX3N0cigpKSk7Ci0KLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYXJndW1lbnRD
b3VudDsgKytpKQotICAgICAgICBkZWxldGVbXSBzdHJBcmdzW2ldOwotICAgIGRlbGV0ZVtdIHN0
ckFyZ3M7Ci0KLSAgICByZXR1cm4ganNSZXRWYWw7Ci19Ci0KLXN0YXRpYyB2b2lkIGNsaWVudEV4
dGVuc2lvbkluaXRpYWxpemUoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIG9iamVj
dCkKLXsKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKG9iamVj
dCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGNsaWVudEV4dGVuc2lvbkZpbmFsaXplKEpTT2JqZWN0UmVm
IG9iamVjdCkKLXsKLSAgICBVTlVTRURfUEFSQU0ob2JqZWN0KTsKLX0KLQotc3RhdGljIEpTU3Rh
dGljRnVuY3Rpb24gY2xpZW50RXh0ZW5zaW9uU3RhdGljRnVuY3Rpb25zW10gPSB7Ci0gICAgeyAi
Y2FsbEV4dGVuc2lvbk1ldGhvZCIsIGNsaWVudEV4dGVuc2lvbk1ldGhvZCwga0pTUHJvcGVydHlB
dHRyaWJ1dGVOb25lIH0sCi0gICAgeyAwLCAwLCAwIH0KLX07Ci0KLXN0YXRpYyBKU1N0YXRpY1Zh
bHVlIGNsaWVudEV4dGVuc2lvblN0YXRpY1ZhbHVlc1tdID0gewotICAgIHsgMCwgMCwgMCwgMCB9
Ci19OwotCi0vLyBGSVhNRTogUmV2aXNpdCB0aGUgY3JlYXRpb24gb2YgdGhpcyBjbGFzcyBhbmQg
bWFrZSBzdXJlIHRoaXMgaXMgdGhlIGJlc3Qgd2F5IHRvIGFwcHJvYWNoIGl0Lgotdm9pZCBhdHRh
Y2hFeHRlbnNpb25PYmplY3RUb0ZyYW1lKEZyYW1lKiBmcmFtZSwgV2ViUGFnZUNsaWVudCogY2xp
ZW50KQotewotICAgIEpTRE9NV2luZG93KiB3aW5kb3cgPSBmcmFtZS0+c2NyaXB0KCktPndpbmRv
d1NoZWxsKG1haW5UaHJlYWROb3JtYWxXb3JsZCgpKS0+d2luZG93KCk7Ci0KLSAgICBKU0M6OkV4
ZWNTdGF0ZSogZXhlYyA9IHdpbmRvdy0+Z2xvYmFsRXhlYygpOwotICAgIEpTQzo6SlNMb2NrSG9s
ZGVyIGxvY2soZXhlYyk7Ci0KLSAgICBKU0NvbnRleHRSZWYgc2NyaXB0Q3R4ID0gdG9SZWYoZXhl
Yyk7Ci0KLSAgICBKU0NsYXNzRGVmaW5pdGlvbiBkZWZpbml0aW9uID0ga0pTQ2xhc3NEZWZpbml0
aW9uRW1wdHk7Ci0gICAgZGVmaW5pdGlvbi5zdGF0aWNWYWx1ZXMgPSBjbGllbnRFeHRlbnNpb25T
dGF0aWNWYWx1ZXM7Ci0gICAgZGVmaW5pdGlvbi5zdGF0aWNGdW5jdGlvbnMgPSBjbGllbnRFeHRl
bnNpb25TdGF0aWNGdW5jdGlvbnM7Ci0gICAgZGVmaW5pdGlvbi5pbml0aWFsaXplID0gY2xpZW50
RXh0ZW5zaW9uSW5pdGlhbGl6ZTsKLSAgICBkZWZpbml0aW9uLmZpbmFsaXplID0gY2xpZW50RXh0
ZW5zaW9uRmluYWxpemU7Ci0gICAgSlNDbGFzc1JlZiBjbGllbnRDbGFzcyA9IEpTQ2xhc3NDcmVh
dGUoJmRlZmluaXRpb24pOwotCi0gICAgSlNPYmplY3RSZWYgY2xpZW50Q2xhc3NPYmplY3QgPSBK
U09iamVjdE1ha2Uoc2NyaXB0Q3R4LCBjbGllbnRDbGFzcywgMCk7Ci0gICAgSlNPYmplY3RTZXRQ
cml2YXRlKGNsaWVudENsYXNzT2JqZWN0LCByZWludGVycHJldF9jYXN0PHZvaWQqPihjbGllbnQp
KTsKLQotICAgIFN0cmluZyBuYW1lKCJxbngiKTsKLQotICAgIEpTQzo6UHV0UHJvcGVydHlTbG90
IHNsb3Q7Ci0gICAgd2luZG93LT5wdXQod2luZG93LCBleGVjLCBKU0M6OklkZW50aWZpZXIoZXhl
YywgbmFtZSksIHRvSlMoY2xpZW50Q2xhc3NPYmplY3QpLCBzbG90KTsKLQotICAgIEpTQ2xhc3NS
ZWxlYXNlKGNsaWVudENsYXNzKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9DbGllbnRFeHRlbnNpb24uaCBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DbGllbnRFeHRlbnNpb24uaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggM2E3NTYxNmE4MWQ1YmU2MGQzNmQ5NzE0MTA4NzJiZGEyN2YzOWY0NS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2xpZW50RXh0ZW5zaW9uLmgKKysrIC9kZXYv
bnVsbApAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJl
c2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEg
IFVTQQotICovCi0KLSNpZm5kZWYgQ2xpZW50RXh0ZW5zaW9uX2gKLSNkZWZpbmUgQ2xpZW50RXh0
ZW5zaW9uX2gKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgRnJhbWU7Ci19Ci0KLW5hbWVz
cGFjZSBCbGFja0JlcnJ5IHsKLW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgV2ViUGFnZUNsaWVu
dDsKLX0KLX0KLQotdm9pZCBhdHRhY2hFeHRlbnNpb25PYmplY3RUb0ZyYW1lKFdlYkNvcmU6OkZy
YW1lKiwgQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlQ2xpZW50Kik7Ci0KLSNlbmRpZiAvLyBD
bGllbnRFeHRlbnNpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0V4dGVybmFsRXh0ZW5zaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9FeHRlcm5hbEV4dGVuc2lvbi5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGVkM2M3ZGFmNTM4OTU2ZDI1ZjEyMTY1NGM4MTQ0MWQxN2MzNTJmZjIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0V4dGVybmFsRXh0ZW5zaW9uLmNwcAorKysg
L2Rldi9udWxsCkBAIC0xLDE0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFJl
c2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEg
IFVTQQotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJFeHRlcm5hbEV4dGVu
c2lvbi5oIgotCi0jaW5jbHVkZSAiQ2hyb21lLmgiCi0jaW5jbHVkZSAiQ2hyb21lQ2xpZW50Qmxh
Y2tCZXJyeS5oIgotI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1
ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAiV2ViUGFnZUNsaWVudC5oIgotI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0Lmg+Ci0jaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSlNPYmplY3RSZWYuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1N0
cmluZ1JlZi5oPgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTVmFsdWVSZWYuaD4KLSNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+Ci0jaW5jbHVkZSA8c3RyaW5nPgotCi11
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBCbGFja0JlcnJ5OjpXZWJL
aXQ7Ci11c2luZyBuYW1lc3BhY2Ugc3RkOwotCi1zdGF0aWMgSlNWYWx1ZVJlZiBhZGRTZWFyY2hQ
cm92aWRlck1ldGhvZCgKLSAgICBKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBmdW5jdGlv
bk9iamVjdCwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwKLSAgICBzaXplX3QgYXJndW1lbnRDb3Vu
dCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQot
ewotICAgIEpTVmFsdWVSZWYganNSZXRWYWwgPSBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjdHgpOwot
ICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkKLSAgICAgICAgcmV0dXJuIGpzUmV0VmFsOwotCi0g
ICAgLy8gRG91YmxlIGNoZWNrIGlmIHBhZ2UgY2hyb21lIGNsaWVudCBleGlzdHMKLSAgICBGcmFt
ZSogZnJhbWUgPSByZWludGVycHJldF9jYXN0PEZyYW1lKj4oSlNPYmplY3RHZXRQcml2YXRlKHRo
aXNPYmplY3QpKTsKLSAgICBpZiAoZnJhbWUpIHsKLSAgICAgICAgUGFnZSogcGFnZSA9IGZyYW1l
LT5wYWdlKCk7Ci0gICAgICAgIGlmICghcGFnZSB8fCAhcGFnZS0+Y2hyb21lKCkpCi0gICAgICAg
ICAgICByZXR1cm4ganNSZXRWYWw7Ci0KLSAgICAgICAgSlNTdHJpbmdSZWYgc3RyaW5nID0gSlNW
YWx1ZVRvU3RyaW5nQ29weShjdHgsIGFyZ3VtZW50c1swXSwgMCk7Ci0gICAgICAgIHNpemVfdCBz
aXplVVRGOCA9IEpTU3RyaW5nR2V0TWF4aW11bVVURjhDU3RyaW5nU2l6ZShzdHJpbmcpOwotICAg
ICAgICBjaGFyKiBuZXdVUkwgPSBuZXcgY2hhcltzaXplVVRGOF07Ci0gICAgICAgIEpTU3RyaW5n
R2V0VVRGOENTdHJpbmcoc3RyaW5nLCBuZXdVUkwsIHNpemVVVEY4KTsKLSAgICAgICAgSlNTdHJp
bmdSZWxlYXNlKHN0cmluZyk7Ci0KLSAgICAgICAgU3RyaW5nIG9yaWdpblVSTCA9IGZyYW1lLT5k
b2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpOwotICAgICAgICBDaHJvbWVD
bGllbnRCbGFja0JlcnJ5KiBjaHJvbWUgPSBzdGF0aWNfY2FzdDxDaHJvbWVDbGllbnRCbGFja0Jl
cnJ5Kj4gKHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKSk7Ci0gICAgICAgIGNocm9tZS0+YWRkU2Vh
cmNoUHJvdmlkZXIob3JpZ2luVVJMLCBuZXdVUkwpOwotICAgIH0KLQotICAgIHJldHVybiBqc1Jl
dFZhbDsKLX0KLQotc3RhdGljIEpTVmFsdWVSZWYgSXNTZWFyY2hQcm92aWRlckluc3RhbGxlZE1l
dGhvZCgKLSAgICBKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBmdW5jdGlvbk9iamVjdCwg
SlNPYmplY3RSZWYgdGhpc09iamVjdCwKLSAgICBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3Qg
SlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQotewotICAgIEpT
VmFsdWVSZWYganNSZXRWYWwgPSBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjdHgpOwotICAgIGlmIChh
cmd1bWVudENvdW50IDwgMSkKLSAgICAgICAgcmV0dXJuIGpzUmV0VmFsOwotCi0gICAgLy8gRG91
YmxlIGNoZWNrIGlmIHBhZ2UgY2hyb21lIGNsaWVudCBleGlzdHMKLSAgICBGcmFtZSogZnJhbWUg
PSByZWludGVycHJldF9jYXN0PEZyYW1lKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3Qp
KTsKLSAgICBpZiAoZnJhbWUpIHsKLSAgICAgICAgUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCk7
Ci0gICAgICAgIGlmICghcGFnZSB8fCAhcGFnZS0+Y2hyb21lKCkpCi0gICAgICAgICAgICByZXR1
cm4ganNSZXRWYWw7Ci0KLSAgICAgICAgSlNTdHJpbmdSZWYgc3RyaW5nID0gSlNWYWx1ZVRvU3Ry
aW5nQ29weShjdHgsIGFyZ3VtZW50c1swXSwgMCk7Ci0gICAgICAgIHNpemVfdCBzaXplVVRGOCA9
IEpTU3RyaW5nR2V0TWF4aW11bVVURjhDU3RyaW5nU2l6ZShzdHJpbmcpOwotICAgICAgICBjaGFy
KiBuZXdVUkwgPSBuZXcgY2hhcltzaXplVVRGOF07Ci0gICAgICAgIEpTU3RyaW5nR2V0VVRGOENT
dHJpbmcoc3RyaW5nLCBuZXdVUkwsIHNpemVVVEY4KTsKLSAgICAgICAgSlNTdHJpbmdSZWxlYXNl
KHN0cmluZyk7Ci0KLSAgICAgICAgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeSogY2hyb21lID0gc3Rh
dGljX2Nhc3Q8Q2hyb21lQ2xpZW50QmxhY2tCZXJyeSo+IChwYWdlLT5jaHJvbWUoKS0+Y2xpZW50
KCkpOwotICAgICAgICBpbnQgcmV0VmFsID0gY2hyb21lLT5pc1NlYXJjaFByb3ZpZGVySW5zdGFs
bGVkKG5ld1VSTCk7Ci0KLSAgICAgICAganNSZXRWYWwgPSBKU1ZhbHVlTWFrZU51bWJlcihjdHgs
IHJldFZhbCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGpzUmV0VmFsOwotfQotCi1zdGF0aWMgdm9p
ZCBleHRlcm5hbEV4dGVuc2lvbkluaXRpYWxpemUoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
ZWN0UmVmIG9iamVjdCkKLXsKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VE
X1BBUkFNKG9iamVjdCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGV4dGVybmFsRXh0ZW5zaW9uRmluYWxp
emUoSlNPYmplY3RSZWYgb2JqZWN0KQotewotICAgIFVOVVNFRF9QQVJBTShvYmplY3QpOwotfQot
Ci1zdGF0aWMgSlNTdGF0aWNGdW5jdGlvbiBleHRlcm5hbEV4dGVuc2lvblN0YXRpY0Z1bmN0aW9u
c1tdID0gewotICAgIHsgIkFkZFNlYXJjaFByb3ZpZGVyIiwgYWRkU2VhcmNoUHJvdmlkZXJNZXRo
b2QsIGtKU1Byb3BlcnR5QXR0cmlidXRlTm9uZSB9LAotICAgIHsgIklzU2VhcmNoUHJvdmlkZXJJ
bnN0YWxsZWQiLCBJc1NlYXJjaFByb3ZpZGVySW5zdGFsbGVkTWV0aG9kLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IH0sCi0gICAgeyAwLCAwLCAwIH0KLX07Ci0KLXN0YXRpYyBKU1N0YXRp
Y1ZhbHVlIGV4dGVybmFsRXh0ZW5zaW9uU3RhdGljVmFsdWVzW10gPSB7Ci0gICAgeyAwLCAwLCAw
LCAwIH0KLX07Ci0KLS8vIEZJWE1FOiBSZXZpc2l0IHRoZSBjcmVhdGlvbiBvZiB0aGlzIGNsYXNz
IGFuZCBtYWtlIHN1cmUgdGhpcyBpcyB0aGUgYmVzdCB3YXkgdG8gYXBwcm9hY2ggaXQuCi12b2lk
IGF0dGFjaEV4dGVybmFsRXh0ZW5zaW9uT2JqZWN0VG9GcmFtZShGcmFtZSogZnJhbWUpCi17Ci0g
ICAgSlNET01XaW5kb3cqIHdpbmRvdyA9IGZyYW1lLT5zY3JpcHQoKS0+d2luZG93U2hlbGwobWFp
blRocmVhZE5vcm1hbFdvcmxkKCkpLT53aW5kb3coKTsKLQotICAgIEpTQzo6RXhlY1N0YXRlKiBl
eGVjID0gd2luZG93LT5nbG9iYWxFeGVjKCk7Ci0gICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jayhl
eGVjKTsKLQotICAgIEpTQ29udGV4dFJlZiBzY3JpcHRDdHggPSB0b1JlZihleGVjKTsKLQotICAg
IEpTQ2xhc3NEZWZpbml0aW9uIGRlZmluaXRpb24gPSBrSlNDbGFzc0RlZmluaXRpb25FbXB0eTsK
LSAgICBkZWZpbml0aW9uLnN0YXRpY1ZhbHVlcyA9IGV4dGVybmFsRXh0ZW5zaW9uU3RhdGljVmFs
dWVzOwotICAgIGRlZmluaXRpb24uc3RhdGljRnVuY3Rpb25zID0gZXh0ZXJuYWxFeHRlbnNpb25T
dGF0aWNGdW5jdGlvbnM7Ci0gICAgZGVmaW5pdGlvbi5pbml0aWFsaXplID0gZXh0ZXJuYWxFeHRl
bnNpb25Jbml0aWFsaXplOwotICAgIGRlZmluaXRpb24uZmluYWxpemUgPSBleHRlcm5hbEV4dGVu
c2lvbkZpbmFsaXplOwotICAgIEpTQ2xhc3NSZWYgY2xpZW50Q2xhc3MgPSBKU0NsYXNzQ3JlYXRl
KCZkZWZpbml0aW9uKTsKLQotICAgIEpTT2JqZWN0UmVmIGNsaWVudENsYXNzT2JqZWN0ID0gSlNP
YmplY3RNYWtlKHNjcmlwdEN0eCwgY2xpZW50Q2xhc3MsIDApOwotICAgIEpTT2JqZWN0U2V0UHJp
dmF0ZShjbGllbnRDbGFzc09iamVjdCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZnJhbWUpKTsK
LQotICAgIFN0cmluZyBuYW1lKCJleHRlcm5hbCIpOwotCi0gICAgSlNDOjpQdXRQcm9wZXJ0eVNs
b3Qgc2xvdDsKLSAgICB3aW5kb3ctPnB1dCh3aW5kb3csIGV4ZWMsIEpTQzo6SWRlbnRpZmllcihl
eGVjLCBuYW1lKSwgdG9KUyhjbGllbnRDbGFzc09iamVjdCksIHNsb3QpOwotCi0gICAgSlNDbGFz
c1JlbGVhc2UoY2xpZW50Q2xhc3MpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0V4dGVybmFsRXh0ZW5zaW9uLmggYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNjYwYzUzZGIyMjJlMzNlMzliOTE4MjQ5ZTJiNzZlN2Y4MDEx
OTNhNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uaAor
KysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIg
UmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKLSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMw
MSAgVVNBCi0gKi8KLQotI2lmbmRlZiBFeHRlcm5hbEV4dGVuc2lvbl9oCi0jZGVmaW5lIEV4dGVy
bmFsRXh0ZW5zaW9uX2gKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgRnJhbWU7Ci19Ci0K
LXZvaWQgYXR0YWNoRXh0ZXJuYWxFeHRlbnNpb25PYmplY3RUb0ZyYW1lKFdlYkNvcmU6OkZyYW1l
Kik7Ci0KLSNlbmRpZiAvLyBFeHRlcm5hbEV4dGVuc2lvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0Jl
cnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudEJsYWNrQmVycnkuY3BwCmluZGV4IGIxZDY1MmEzNjZmMDJjMmM4YzZkMTE1MTEz
OTdmOGVlMTMwZjU2ODUuLmE0OTVmNjRhNzcyYTY2YmY2YjhmYWUxMzdlNTkzNTBmMzc2MTVlYjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC0yNCwx
OCArMjQsMTIgQEAKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJCYWNraW5nU3RvcmVDbGllbnQuaCIKICNpbmNsdWRlICJCYWNraW5nU3RvcmVfcC5oIgotI2lu
Y2x1ZGUgIkNocm9tZS5oIgotI2luY2x1ZGUgIkNocm9tZUNsaWVudEJsYWNrQmVycnkuaCIKLSNp
bmNsdWRlICJDbGllbnRFeHRlbnNpb24uaCIKLSNpbmNsdWRlICJDb29raWVNYW5hZ2VyLmgiCiAj
aW5jbHVkZSAiQ3JlZGVudGlhbE1hbmFnZXIuaCIKICNpbmNsdWRlICJDcmVkZW50aWFsVHJhbnNm
b3JtRGF0YS5oIgogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlQ2xpZW50LmgiCi0jaW5jbHVkZSAi
RXh0ZXJuYWxFeHRlbnNpb24uaCIKICNpbmNsdWRlICJGcmFtZUxvYWRSZXF1ZXN0LmgiCiAjaW5j
bHVkZSAiRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnkuaCIKICNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKLSNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSGVh
ZEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTGlua0VsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
TWVkaWFFbGVtZW50LmgiCkBAIC05MTksMTIgKzkxMyw2IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGll
bnRCbGFja0JlcnJ5OjpkaXNwYXRjaERpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChET01XcmFw
cGVyCiAgICAgaWYgKHdvcmxkICE9IG1haW5UaHJlYWROb3JtYWxXb3JsZCgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICAvLyBQcm92aWRlIHRoZSBleHRlbnNpb24gb2JqZWN0IGZpcnN0IGluIGNh
c2UgdGhlIGNsaWVudCBvciBvdGhlcnMgd2FudCB0byB1c2UgaXQuCi0gICAgaWYgKG1fd2ViUGFn
ZVByaXZhdGUtPm1fZW5hYmxlUW54SmF2YVNjcmlwdE9iamVjdCkKLSAgICAgICAgYXR0YWNoRXh0
ZW5zaW9uT2JqZWN0VG9GcmFtZShtX2ZyYW1lLCBtX3dlYlBhZ2VQcml2YXRlLT5tX2NsaWVudCk7
Ci0KLSAgICBhdHRhY2hFeHRlcm5hbEV4dGVuc2lvbk9iamVjdFRvRnJhbWUobV9mcmFtZSk7Ci0K
ICAgICBtX3dlYlBhZ2VQcml2YXRlLT5tX2NsaWVudC0+bm90aWZ5V2luZG93T2JqZWN0Q2xlYXJl
ZCgpOwogCiAgICAgaWYgKG1fd2ViUGFnZVByaXZhdGUtPm1fZHVtcFJlbmRlclRyZWUpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQmxhY2tCZXJyeS5jbWFrZSBiL1NvdXJjZS9j
bWFrZS9PcHRpb25zQmxhY2tCZXJyeS5jbWFrZQppbmRleCAzMmYxYTc1NDA3NWYyODAyMDExZjQy
NjU1YTI0NzcxMDc4NWRlZWNlLi5iOTAyNzk1NDAyNjBjN2I3MGYyNDA3Y2E4ODI5NmZhNGNiODM3
OGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0JsYWNrQmVycnkuY21ha2UKKysr
IGIvU291cmNlL2NtYWtlL09wdGlvbnNCbGFja0JlcnJ5LmNtYWtlCkBAIC0xNiwxMCArMTYsNyBA
QCBhZGRfZGVmaW5pdGlvbnMoLURTS19SRUxFQVNFKQogIyBUT0RPOiBNYWtlIHRoaXMgYnVpbGQt
dGltZSBjb25maWd1cmFibGUKIHNldChXVEZfVVNFX09QRU5UWVBFX1NBTklUSVpFUiAxKQogYWRk
X2RlZmluaXRpb25zKC1EV1RGX1VTRV9PUEVOVFlQRV9TQU5JVElaRVI9MSkKLQotaWYgKFNIQVJF
RF9DT1JFKQotICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfRVhQT1JUX01BQ1JPUz0xKQot
ZW5kaWYgKCkKK2FkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfRVhQT1JUX01BQ1JPUz0xKQogCiBp
ZiAoRU5BQkxFX0dMRVMyKQogICAgIHNldChXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
IDEpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNGU2NjQ1OWNhODY5
Nzk2MGRlNTIzZmI0ZjU0ODdmODVkYjZmOTFiNC4uNjU5MzdjOTJjMmZmMWY5NzdlZmVhZDdjMWFj
ZTBiZTA1YzllNjczNyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEzLTA0LTA4ICBKZWZmIFJvZ2VycyAgPGpyb2dlcnNAcmltLmNvbT4K
KworICAgICAgICBbQmxhY2tCZXJyeV0gVXBkYXRlIEJsYWNrQmVycnkgSmF2YVNjcmlwdCBBUEkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDA2NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludGVybmFs
IFBSIDMxNzM1MAorICAgICAgICBFeHBvcnQgSlNDIHN5bWJvbHMgaW4gQmxhY2tCZXJyeSBidWls
ZC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zQmxhY2tCZXJyeS5jbWFrZToKKwog
MjAxMy0wNC0wOCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gQnVpbGQgUGxhdGZvcm0gYXMgYSBzZXBhcmF0ZSBzdGF0aWMgbGlicmFy
eQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>