<?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>144904</bug_id>
          
          <creation_ts>2015-05-12 00:12:51 -0700</creation_ts>
          <short_desc>Return Ref instead of PassRefPtr in create() factory functions of WebCore/dom</short_desc>
          <delta_ts>2015-05-12 17:31:59 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>144092</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1094098</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-12 00:12:51 -0700</bug_when>
    <thetext>We return Ref when we&apos;re sure if pointer can&apos;t be null. If not, we use RefPtr instead PassRefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094102</commentid>
    <comment_count>1</comment_count>
      <attachid>252947</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-12 00:14:38 -0700</bug_when>
    <thetext>Created attachment 252947
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094327</commentid>
    <comment_count>2</comment_count>
      <attachid>252947</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-12 17:31:56 -0700</bug_when>
    <thetext>Comment on attachment 252947
Patch

Clearing flags on attachment: 252947

Committed r184225: &lt;http://trac.webkit.org/changeset/184225&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094328</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-12 17:31:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252947</attachid>
            <date>2015-05-12 00:14:38 -0700</date>
            <delta_ts>2015-05-12 17:31:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144904-20150512161316.patch</filename>
            <type>text/plain</type>
            <size>23784</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRjYTgzYWJiZWJlNDAw
YTQ3Y2ViMDBiN2YyZDFmNjZjNGIzZTI5MS4uYTFkODNjNDlkZmVlMjcwNzNmMzlkNDNmYjQ3Y2Q3
OTkyNGMxZWMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE1LTA1LTEyICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXR1cm4gUmVm
IGluc3RlYWQgb2YgUGFzc1JlZlB0ciBpbiBjcmVhdGUoKSBmYWN0b3J5IGZ1bmN0aW9ucyBvZiBX
ZWJDb3JlL2RvbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ0OTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2UgcmV0dXJuIFJlZiB3aGVuIHdlJ3JlIHN1cmUgaWYgcG9pbnRlciBjYW4ndCBiZSBudWxs
LiBJZiBub3QsIHdlIHVzZSBSZWZQdHIgaW5zdGVhZCBQYXNzUmVmUHRyLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAqIGRvbS9BdXRvY29t
cGxldGVFcnJvckV2ZW50Lmg6CisgICAgICAgICogZG9tL0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24u
aDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTU5hbWVkRmxvd0NvbGxlY3Rpb246OmNyZWF0ZSk6Cisg
ICAgICAgICogZG9tL01lc3NhZ2VDaGFubmVsLmg6CisgICAgICAgIChXZWJDb3JlOjpNZXNzYWdl
Q2hhbm5lbDo6Y3JlYXRlKToKKyAgICAgICAgKiBkb20vTWVzc2FnZVBvcnQuaDoKKyAgICAgICAg
KiBkb20vTXV0YXRpb25PYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9i
c2VydmVyOjpjcmVhdGUpOgorICAgICAgICAqIGRvbS9NdXRhdGlvbk9ic2VydmVyLmg6CisgICAg
ICAgICogZG9tL05hbWVkRmxvd0NvbGxlY3Rpb24uaDoKKyAgICAgICAgKiBkb20vTm9kZUZpbHRl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUZpbHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBk
b20vTm9kZUl0ZXJhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlSXRlcmF0b3I6OmNyZWF0
ZSk6CisgICAgICAgICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmNyZWF0ZSk6CisgICAgICAgICogZG9tL1By
b2Nlc3NpbmdJbnN0cnVjdGlvbi5oOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNv
bnRyb2xsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
cjo6Y3JlYXRlKToKKyAgICAgICAgKiBkb20vU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5o
OgorICAgICAgICAqIGRvbS9TdGF0aWNOb2RlTGlzdC5oOgorICAgICAgICAqIGRvbS9UZW1wbGF0
ZUNvbnRlbnREb2N1bWVudEZyYWdtZW50Lmg6CisgICAgICAgICogZG9tL1RvdWNoLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRvdWNoOjpjbG9uZVdpdGhOZXdUYXJnZXQpOgorICAgICAgICAqIGRv
bS9Ub3VjaC5oOgorICAgICAgICAoV2ViQ29yZTo6VG91Y2g6OmNyZWF0ZSk6CisgICAgICAgICog
ZG9tL1RvdWNoRXZlbnQuaDoKKyAgICAgICAgKiBkb20vVG91Y2hMaXN0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpUb3VjaExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogZG9tL1RyZWVXYWxrZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlRyZWVXYWxrZXI6OmNyZWF0ZSk6CisgICAgICAgICogZG9tL1dl
YktpdE5hbWVkRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXROYW1lZEZsb3c6OmNy
ZWF0ZSk6CisgICAgICAgICogZG9tL1dlYktpdE5hbWVkRmxvdy5oOgorICAgICAgICAqIGRvbS9k
ZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpjcmVhdGUpOgorICAgICAgICAqIGRvbS9kZWZh
dWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0
Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6TWVzc2FnZVBvcnRRdWV1ZTo6Y3JlYXRlKToKKwogMjAx
NS0wNS0xMSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFRleHQg
aXMgbWlzcGxhY2VkIHdoZW4gY3VzdG9tIGZvbnQgZG9lcyBub3QgaGF2ZSBzcGFjZSBnbHlwaC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oCmluZGV4IDI5MTk3
ZWQyNjJiMDVlZWE2MjkxMGY0NjA1N2Y1NTJkMGQ2OGVkOWQuLmMyYTUwMGQ2NTEyMGUzNGZjYWIx
MzY0YjBhZjVjMzc4NDRmMTY1YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRv
Y29tcGxldGVFcnJvckV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0
ZUVycm9yRXZlbnQuaApAQCAtNDAsNyArNDAsNyBAQCBjbGFzcyBBdXRvY29tcGxldGVFcnJvckV2
ZW50IGZpbmFsIDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEF1dG9j
b21wbGV0ZUVycm9yRXZlbnQ+IGNyZWF0ZSgpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KTsKICAgICB9CiAKICAgICBzdGF0aWMgUmVmPEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQ+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHJlYXNvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01OYW1lZEZsb3dDb2xsZWN0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5oCmluZGV4IGQyMjNlYTJlM2Y5
NzRiMzg1MTA3ODdiYjU1OTJmZjEzYTU3OWUzMGMuLmQ5YTc5OGIzYjExMzE0NzIyMjRhM2Y4YWVm
MGY3ZTU3ODA3ZjAzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01OYW1lZEZs
b3dDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTU5hbWVkRmxvd0NvbGxl
Y3Rpb24uaApAQCAtNDIsOSArNDIsOSBAQCBjbGFzcyBXZWJLaXROYW1lZEZsb3c7CiAKIGNsYXNz
IERPTU5hbWVkRmxvd0NvbGxlY3Rpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxET01OYW1lZEZsb3dD
b2xsZWN0aW9uPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NTmFtZWRGbG93
Q29sbGVjdGlvbj4gY3JlYXRlKGNvbnN0IFZlY3RvcjxXZWJLaXROYW1lZEZsb3cqPiYgbmFtZWRG
bG93cykKKyAgICBzdGF0aWMgUmVmPERPTU5hbWVkRmxvd0NvbGxlY3Rpb24+IGNyZWF0ZShjb25z
dCBWZWN0b3I8V2ViS2l0TmFtZWRGbG93Kj4mIG5hbWVkRmxvd3MpCiAgICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IERPTU5hbWVkRmxvd0NvbGxlY3Rpb24obmFtZWRGbG93cykpOwor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01OYW1lZEZsb3dDb2xsZWN0aW9uKG5hbWVk
Rmxvd3MpKTsKICAgICB9CiAKICAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCgpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTWVzc2FnZUNoYW5uZWwuaAppbmRleCA1MmIzMTZiNzVhY2Y5YTQ1MmRjMjEwOTQx
MDVlMWM5NjA3N2ZhMWVlLi5mMzdlNzRhMjhhMzU1NmQ4M2I4N2NkODRjZDczOGUxYTRlN2IxMzk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUNoYW5uZWwuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUNoYW5uZWwuaApAQCAtMzgsNyArMzgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBNZXNzYWdlQ2hhbm5lbCA6IHB1YmxpYyBSZWZD
b3VudGVkPE1lc3NhZ2VDaGFubmVsPiB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxNZXNzYWdlQ2hhbm5lbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZXNzYWdlQ2hhbm5lbChjb250ZXh0KSk7IH0K
KyAgICAgICAgc3RhdGljIFJlZjxNZXNzYWdlQ2hhbm5lbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVzc2FnZUNoYW5uZWwo
Y29udGV4dCkpOyB9CiAgICAgICAgIH5NZXNzYWdlQ2hhbm5lbCgpOwogCiAgICAgICAgIE1lc3Nh
Z2VQb3J0KiBwb3J0MSgpIGNvbnN0IHsgcmV0dXJuIG1fcG9ydDEuZ2V0KCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VQb3J0LmgKaW5kZXggOTc0NDVkNWI0ZGE2MTAxNmFlZDBjOWFmYzVmMzdmMDFlMTA1
YzUwNS4uMTFmY2Y1NzNlYWNhYzMwM2Y4Y2ZkYmNmMjEzZjcwYzk2NTQ2NmE3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL01lc3NhZ2VQb3J0LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgY2xhc3MgTWVzc2FnZVBvcnQgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZXNzYWdl
UG9ydD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhIHsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3
IE1lc3NhZ2VQb3J0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKTsgfQorICAgICAgICBzdGF0aWMg
UmVmPE1lc3NhZ2VQb3J0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZXNzYWdlUG9ydChzY3JpcHRF
eGVjdXRpb25Db250ZXh0KSk7IH0KICAgICAgICAgdmlydHVhbCB+TWVzc2FnZVBvcnQoKTsKIAog
ICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiBtZXNzYWdlLCBjb25zdCBNZXNzYWdlUG9ydEFycmF5KiwgRXhjZXB0aW9uQ29kZSYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuY3BwCmluZGV4IDc3NDU4ZjhlNjk2NTM1NDc2
ZWJiZDg0NzgxNWU3N2FjZjM0NDA1MTUuLjgyMjBmZTg2MzMzZTMzZDllMDQ1N2EzZjhiY2QzZDZm
MTJmZTQyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5jcHAKQEAgLTQ1
LDEwICs0NSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyB1bnNpZ25lZCBzX29i
c2VydmVyUHJpb3JpdHkgPSAwOwogCi1QYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+IE11dGF0
aW9uT2JzZXJ2ZXI6OmNyZWF0ZShQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNr
KQorUmVmPE11dGF0aW9uT2JzZXJ2ZXI+IE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShQYXNzUmVm
UHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQogewogICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNdXRhdGlvbk9ic2VydmVyKGNhbGxiYWNr
KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTXV0YXRpb25PYnNlcnZlcihjYWxsYmFjaykp
OwogfQogCiBNdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0
YXRpb25DYWxsYmFjaz4gY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TXV0YXRpb25PYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIu
aAppbmRleCBkMzUyOTRhOTI5NThiMjM5NGJkODJjNzUwN2FlOTVlOGQ5N2IzNGFiLi4zYTc0MDdl
MjUwZDllNzcxYzM0OWVkYTJjOTU2NTk3MmJjNWU3OTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbk9ic2VydmVyLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogICAgICAgICBDaGFyYWN0
ZXJEYXRhT2xkVmFsdWUgPSAxIDw8IDYsCiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PE11dGF0aW9uT2JzZXJ2ZXI+IGNyZWF0ZShQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+KTsK
KyAgICBzdGF0aWMgUmVmPE11dGF0aW9uT2JzZXJ2ZXI+IGNyZWF0ZShQYXNzUmVmUHRyPE11dGF0
aW9uQ2FsbGJhY2s+KTsKICAgICBzdGF0aWMgdm9pZCBkZWxpdmVyQWxsTXV0YXRpb25zKCk7CiAK
ICAgICB+TXV0YXRpb25PYnNlcnZlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L05hbWVkRmxvd0NvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZEZsb3dDb2xs
ZWN0aW9uLmgKaW5kZXggOGVmMmY3ZmQzMDNkYTQ0NTk4ZGQyZTE3ZTZmY2RlODI3OGJlNzVhMS4u
NDc1MDFkNzA5Y2VhZWY2ZmViOWJkNmZlNDFlNGYzMWJjYTI0ZjZmNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05hbWVkRmxvd0NvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTmFtZWRGbG93Q29sbGVjdGlvbi5oCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIERPTU5h
bWVkRmxvd0NvbGxlY3Rpb247CiAKIGNsYXNzIE5hbWVkRmxvd0NvbGxlY3Rpb24gZmluYWwgOiBw
dWJsaWMgUmVmQ291bnRlZDxOYW1lZEZsb3dDb2xsZWN0aW9uPiwgcHVibGljIENvbnRleHREZXN0
cnVjdGlvbk9ic2VydmVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxOYW1lZEZs
b3dDb2xsZWN0aW9uPiBjcmVhdGUoRG9jdW1lbnQqIGRvYykgeyByZXR1cm4gYWRvcHRSZWYobmV3
IE5hbWVkRmxvd0NvbGxlY3Rpb24oZG9jKSk7IH0KKyAgICBzdGF0aWMgUmVmPE5hbWVkRmxvd0Nv
bGxlY3Rpb24+IGNyZWF0ZShEb2N1bWVudCogZG9jKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE5h
bWVkRmxvd0NvbGxlY3Rpb24oZG9jKSk7IH0KIAogICAgIFZlY3RvcjxSZWZQdHI8V2ViS2l0TmFt
ZWRGbG93Pj4gbmFtZWRGbG93cygpOwogICAgIFdlYktpdE5hbWVkRmxvdyogZmxvd0J5TmFtZShj
b25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlRmlsdGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUZpbHRlci5oCmluZGV4IDFhYWQ2ZmUwMjVhMDNi
NWM5MmFhZGJlNzYxMzFmZTdjMmRmNGU4MzUuLjk2MTk3ZDk2OTUxNDMwZTg2ZmI4YjM4ZWY3YWJm
MmJjMzBkNDAyNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlRmlsdGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVGaWx0ZXIuaApAQCAtNjUsMTQgKzY1LDE0IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFNIT1dfTk9UQVRJT04gICAgICAgICAg
ICAgICAgICA9IDB4MDAwMDA4MDAKICAgICAgICAgfTsKIAotICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxOb2RlRmlsdGVyPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlRmlsdGVyQ29uZGl0aW9uPiBj
b25kaXRpb24pCisgICAgICAgIHN0YXRpYyBSZWY8Tm9kZUZpbHRlcj4gY3JlYXRlKFBhc3NSZWZQ
dHI8Tm9kZUZpbHRlckNvbmRpdGlvbj4gY29uZGl0aW9uKQogICAgICAgICB7Ci0gICAgICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IE5vZGVGaWx0ZXIoY29uZGl0aW9uKSk7CisgICAgICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBOb2RlRmlsdGVyKGNvbmRpdGlvbikpOwogICAgICAgICB9
CiAKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm9kZUZpbHRlcj4gY3JlYXRlKCkKKyAgICAg
ICAgc3RhdGljIFJlZjxOb2RlRmlsdGVyPiBjcmVhdGUoKQogICAgICAgICB7Ci0gICAgICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IE5vZGVGaWx0ZXIoKSk7CisgICAgICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBOb2RlRmlsdGVyKCkpOwogICAgICAgICB9CiAKICAgICAgICAgc2hvcnQg
YWNjZXB0Tm9kZShKU0M6OkV4ZWNTdGF0ZSosIE5vZGUqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
SXRlcmF0b3IuaAppbmRleCA3MTBiZTQ1YWY0OGE1MDNlNDNiZTkzYTcxZTc1MzQ1NTBkOTI1M2Vk
Li5hY2YxY2Q2MGEwYWM1ODQ1ZDQ2YzQ2NmQ3MWFmNWZkZmQzY2UyN2Q2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVJdGVyYXRvci5oCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIE5vZGVJdGVyYXRvciA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBS
ZWZDb3VudGVkPE5vZGVJdGVyYXRvcj4sIHB1YmxpYyBOb2RlSXRlcmF0b3JCYXNlIHsKICAgICBw
dWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vZGVJdGVyYXRvcj4gY3JlYXRlKFBh
c3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUsIHVuc2lnbmVkIHdoYXRUb1Nob3csIFBhc3NSZWZQdHI8
Tm9kZUZpbHRlcj4gZmlsdGVyLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpCisgICAgICAg
IHN0YXRpYyBSZWY8Tm9kZUl0ZXJhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiByb290Tm9k
ZSwgdW5zaWduZWQgd2hhdFRvU2hvdywgUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiBmaWx0ZXIsIGJv
b2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcykKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBOb2RlSXRlcmF0b3Iocm9vdE5vZGUsIHdoYXRUb1Nob3csIGZpbHRlciwg
ZXhwYW5kRW50aXR5UmVmZXJlbmNlcykpOworICAgICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTm9kZUl0ZXJhdG9yKHJvb3ROb2RlLCB3aGF0VG9TaG93LCBmaWx0ZXIsIGV4cGFuZEVudGl0
eVJlZmVyZW5jZXMpKTsKICAgICAgICAgfQogICAgICAgICB+Tm9kZUl0ZXJhdG9yKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKaW5kZXggZTI3ZjYz
MzcyNDMxODIwNWFmM2QzZmI5ZTM3ZDkzMzEzOTVjNGYwNy4uM2VjYjY0NjM5Y2ZhYmE2MGE1ZDNi
NjZlMmZhZGU1MGRkY2I3ZjFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nl
c3NpbmdJbnN0cnVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5jcHAKQEAgLTUyLDkgKzUyLDkgQEAgaW5saW5lIFByb2Nlc3NpbmdJbnN0cnVj
dGlvbjo6UHJvY2Vzc2luZ0luc3RydWN0aW9uKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3QK
IHsKIH0KIAotUmVmUHRyPFByb2Nlc3NpbmdJbnN0cnVjdGlvbj4gUHJvY2Vzc2luZ0luc3RydWN0
aW9uOjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRhcmdldCwgY29u
c3QgU3RyaW5nJiBkYXRhKQorUmVmPFByb2Nlc3NpbmdJbnN0cnVjdGlvbj4gUHJvY2Vzc2luZ0lu
c3RydWN0aW9uOjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRhcmdl
dCwgY29uc3QgU3RyaW5nJiBkYXRhKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUHJvY2Vz
c2luZ0luc3RydWN0aW9uKGRvY3VtZW50LCB0YXJnZXQsIGRhdGEpKTsKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oZG9jdW1lbnQsIHRhcmdldCwgZGF0YSkp
OwogfQogCiBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246On5Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oCmluZGV4IGFiODJmMjY4
YTllOWE3Njc4MWJiYWE2MWQxMDhiZWI2Y2I1OTljOTkuLjIxZmQ5ZTk3Y2QyZjc1YzhmZDc1ODAw
ZTAyMmFkYTI5NTM5NzZmOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uLmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgQ1NTU3R5bGVTaGVldDsKIAogY2xhc3Mg
UHJvY2Vzc2luZ0luc3RydWN0aW9uIGZpbmFsIDogcHVibGljIENoYXJhY3RlckRhdGEsIHByaXZh
dGUgQ2FjaGVkU3R5bGVTaGVldENsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0IFN0cmluZyYgdGFy
Z2V0LCBjb25zdCBTdHJpbmcmIGRhdGEpOworICAgIHN0YXRpYyBSZWY8UHJvY2Vzc2luZ0luc3Ry
dWN0aW9uPiBjcmVhdGUoRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIHRhcmdldCwgY29uc3QgU3Ry
aW5nJiBkYXRhKTsKICAgICB2aXJ0dWFsIH5Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oKTsKIAogICAg
IGNvbnN0IFN0cmluZyYgdGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXQ7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4
OWFiMDE5MWI0YzgyYTg1YmI0NWUzMmYwOTI0OWIzODkwMjRlNTQwLi5lYWYxOTFiMTJlNzYwZTIx
OTNmYTljYTJhMDkwMDIzZGE0NzM3ODQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oCkBAIC01Miw5ICs1Miw5IEBAIGNsYXNzIFNjcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlCiAjZW5kaWYKIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIFBs
YXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKKyAgICBzdGF0aWMgUmVmPFNjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgUGxhdGZvcm1EaXNwbGF5
SUQgZGlzcGxheUlEKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JpcHRl
ZEFuaW1hdGlvbkNvbnRyb2xsZXIoZG9jdW1lbnQsIGRpc3BsYXlJRCkpOworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoZG9jdW1lbnQsIGRp
c3BsYXlJRCkpOwogICAgIH0KICAgICB+U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyKCk7CiAg
ICAgdm9pZCBjbGVhckRvY3VtZW50UG9pbnRlcigpIHsgbV9kb2N1bWVudCA9IDA7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5oCmluZGV4
IDk5ZjIyNzgwNjg2MGNlMTAzM2I0NjQzYjMzODBhMzA0OGY2Y2U3NzIuLmY1YjY1ODViOGM5ZThl
MDkxOTM1NThlNDQ2MmE2NTg0YzY0YzY1YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuaApAQCAtNDgsMTQgKzQ4LDE0IEBAIHN0cnVj
dCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQgewog
CiBjbGFzcyBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50IGZpbmFsIDogcHVibGljIEV2ZW50
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZWN1cml0eVBvbGljeVZpb2xhdGlv
bkV2ZW50PiBjcmVhdGUoKQorICAgIHN0YXRpYyBSZWY8U2VjdXJpdHlQb2xpY3lWaW9sYXRpb25F
dmVudD4gY3JlYXRlKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2VjdXJp
dHlQb2xpY3lWaW9sYXRpb25FdmVudCgpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudCgpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWlj
U3RyaW5nJiB0eXBlLCBjb25zdCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdCYgaW5p
dGlhbGl6ZXIpCisgICAgc3RhdGljIFJlZjxTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50PiBj
cmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTZWN1cml0eVBvbGljeVZpb2xh
dGlvbkV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVu
dCh0eXBlLCBpbml0aWFsaXplcikpOwogICAgIH0KIAogICAgIGNvbnN0IFN0cmluZyYgZG9jdW1l
bnRVUkkoKSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50VVJJOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU3RhdGljTm9kZUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdGF0
aWNOb2RlTGlzdC5oCmluZGV4IDdkZjBjODFlZWRmYzQzM2FlZGRiYjAyNGQzMjhiYTA0ZWEzMTZl
NWYuLjI2MGViMjI1ZTRkMThhZWI5NDc4MmExY2FiMzc3ZWY0OWNlZjQxNjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNOb2RlTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TdGF0aWNOb2RlTGlzdC5oCkBAIC00Niw5ICs0Niw5IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIG5vZGVMaXN0LnJlbGVhc2UoKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTdGF0aWNOb2RlTGlzdD4gY3JlYXRlRW1wdHkoKQorICAgIHN0YXRpYyBSZWY8U3RhdGljTm9k
ZUxpc3Q+IGNyZWF0ZUVtcHR5KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
U3RhdGljTm9kZUxpc3QpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdGF0aWNOb2Rl
TGlzdCk7CiAgICAgfQogCiAgICAgdmlydHVhbCB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCBvdmVy
cmlkZTsKQEAgLTcwLDkgKzcwLDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbm9kZUxpc3Qu
cmVsZWFzZSgpOwogICAgIH0KIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0YXRpY0VsZW1lbnRM
aXN0PiBjcmVhdGVFbXB0eSgpCisgICAgc3RhdGljIFJlZjxTdGF0aWNFbGVtZW50TGlzdD4gY3Jl
YXRlRW1wdHkoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdGF0aWNFbGVt
ZW50TGlzdCk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0YXRpY0VsZW1lbnRMaXN0
KTsKICAgICB9CiAKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RlbXBsYXRlQ29udGVudERvY3VtZW50
RnJhZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZW1wbGF0ZUNvbnRlbnREb2N1bWVudEZy
YWdtZW50LmgKaW5kZXggZjhiNjE5ODM0MzJmZmFmNGUwODgxMmFiMjFmOTMyMGJmNjJmMzE5OS4u
N2JkMWQ3ZWQ5YmQxZmI4MGRlZjliMjY5MmNiOTNlZjI1NTE0MjE5OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1RlbXBsYXRlQ29udGVudERvY3VtZW50RnJhZ21lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vVGVtcGxhdGVDb250ZW50RG9jdW1lbnRGcmFnbWVudC5oCkBAIC0z
NSw5ICszNSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGVtcGxhdGVDb250ZW50
RG9jdW1lbnRGcmFnbWVudCBmaW5hbCA6IHB1YmxpYyBEb2N1bWVudEZyYWdtZW50IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUmVmUHRyPFRlbXBsYXRlQ29udGVudERvY3VtZW50RnJhZ21lbnQ+IGNy
ZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEVsZW1lbnQqIGhvc3QpCisgICAgc3RhdGlj
IFJlZjxUZW1wbGF0ZUNvbnRlbnREb2N1bWVudEZyYWdtZW50PiBjcmVhdGUoRG9jdW1lbnQmIGRv
Y3VtZW50LCBjb25zdCBFbGVtZW50KiBob3N0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBUZW1wbGF0ZUNvbnRlbnREb2N1bWVudEZyYWdtZW50KGRvY3VtZW50LCBob3N0KSk7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFRlbXBsYXRlQ29udGVudERvY3VtZW50RnJh
Z21lbnQoZG9jdW1lbnQsIGhvc3QpKTsKICAgICB9CiAKICAgICBjb25zdCBFbGVtZW50KiBob3N0
KCkgY29uc3QgeyByZXR1cm4gbV9ob3N0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vVG91Y2guY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1RvdWNoLmNwcAppbmRleCA0NTQwZWU3
NTdjYWMwNzQ2ODU2NDcxNTllOGE1ZjZjMGRiNDg2YzU5Li4wY2U4ZGQ5MTc2NzVhNjI0ZGQ1ZmMw
Y2Y3MDgzMGIwZjk3YTVjMjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVG91Y2gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaC5jcHAKQEAgLTkwLDkgKzkwLDkgQEAg
VG91Y2g6OlRvdWNoKEV2ZW50VGFyZ2V0KiB0YXJnZXQsIHVuc2lnbmVkIGlkZW50aWZpZXIsIGlu
dCBjbGllbnRYLCBpbnQgY2xpZW50WSwKIHsKIH0KIAotUGFzc1JlZlB0cjxUb3VjaD4gVG91Y2g6
OmNsb25lV2l0aE5ld1RhcmdldChFdmVudFRhcmdldCogZXZlbnRUYXJnZXQpIGNvbnN0CitSZWY8
VG91Y2g+IFRvdWNoOjpjbG9uZVdpdGhOZXdUYXJnZXQoRXZlbnRUYXJnZXQqIGV2ZW50VGFyZ2V0
KSBjb25zdAogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVG91Y2goZXZlbnRUYXJnZXQsIG1f
aWRlbnRpZmllciwgbV9jbGllbnRYLCBtX2NsaWVudFksIG1fc2NyZWVuWCwgbV9zY3JlZW5ZLCBt
X3BhZ2VYLCBtX3BhZ2VZLCBtX3JhZGl1c1gsIG1fcmFkaXVzWSwgbV9yb3RhdGlvbkFuZ2xlLCBt
X2ZvcmNlLCBtX2Fic29sdXRlTG9jYXRpb24pKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBU
b3VjaChldmVudFRhcmdldCwgbV9pZGVudGlmaWVyLCBtX2NsaWVudFgsIG1fY2xpZW50WSwgbV9z
Y3JlZW5YLCBtX3NjcmVlblksIG1fcGFnZVgsIG1fcGFnZVksIG1fcmFkaXVzWCwgbV9yYWRpdXNZ
LCBtX3JvdGF0aW9uQW5nbGUsIG1fZm9yY2UsIG1fYWJzb2x1dGVMb2NhdGlvbikpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVG91
Y2guaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaC5oCmluZGV4IGI0ZjA4OWIzMGRhNjQ0ZTVh
ODM4NDk0YjVhNTM5Njg2MmM1ZmY4MTIuLjMwN2JkMDI4ZDhhOGU1NGY2ODdiOTZmNWYxYjY2NDg4
YzhlOTY0ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ub3VjaC5oCkBAIC00MiwxMSArNDIsMTEgQEAgY2xhc3MgRnJhbWU7
CiAKIGNsYXNzIFRvdWNoIDogcHVibGljIFJlZkNvdW50ZWQ8VG91Y2g+IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxUb3VjaD4gY3JlYXRlKEZyYW1lKiBmcmFtZSwgRXZlbnRUYXJn
ZXQqIHRhcmdldCwKKyAgICBzdGF0aWMgUmVmPFRvdWNoPiBjcmVhdGUoRnJhbWUqIGZyYW1lLCBF
dmVudFRhcmdldCogdGFyZ2V0LAogICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllciwgaW50
IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwKICAgICAgICAgICAg
IGludCByYWRpdXNYLCBpbnQgcmFkaXVzWSwgZmxvYXQgcm90YXRpb25BbmdsZSwgZmxvYXQgZm9y
Y2UpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRvdWNoKGZyYW1lLCB0YXJn
ZXQsIGlkZW50aWZpZXIsIHNjcmVlblgsIAorICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBU
b3VjaChmcmFtZSwgdGFyZ2V0LCBpZGVudGlmaWVyLCBzY3JlZW5YLCAKICAgICAgICAgICAgICAg
ICBzY3JlZW5ZLCBwYWdlWCwgcGFnZVksIHJhZGl1c1gsIHJhZGl1c1ksIHJvdGF0aW9uQW5nbGUs
IGZvcmNlKSk7CiAgICAgfQogCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICBmbG9hdCB3
ZWJraXRSb3RhdGlvbkFuZ2xlKCkgY29uc3QgeyByZXR1cm4gbV9yb3RhdGlvbkFuZ2xlOyB9CiAg
ICAgZmxvYXQgd2Via2l0Rm9yY2UoKSBjb25zdCB7IHJldHVybiBtX2ZvcmNlOyB9CiAgICAgY29u
c3QgTGF5b3V0UG9pbnQmIGFic29sdXRlTG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2Fic29s
dXRlTG9jYXRpb247IH0KLSAgICBQYXNzUmVmUHRyPFRvdWNoPiBjbG9uZVdpdGhOZXdUYXJnZXQo
RXZlbnRUYXJnZXQqKSBjb25zdDsKKyAgICBSZWY8VG91Y2g+IGNsb25lV2l0aE5ld1RhcmdldChF
dmVudFRhcmdldCopIGNvbnN0OwogCiBwcml2YXRlOgogICAgIFRvdWNoKEZyYW1lKiBmcmFtZSwg
RXZlbnRUYXJnZXQqIHRhcmdldCwgdW5zaWduZWQgaWRlbnRpZmllciwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hF
dmVudC5oCmluZGV4IDE1MTVhZmQ4MGYxYmYwOTk5YjMyOTk3ZjZmNGFmZDViMjkwYzdjZGIuLjU2
MThhYjA4MTIzZWQ2YmEwODNkOTdhNzFlMjZhZTg1NDhhYjZiNDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RvdWNo
RXZlbnQuaApAQCAtNDQsMTMgKzQ0LDEzIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFRvdWNoRXZlbnQpOwogICAgIH0KLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxUb3VjaEV2ZW50PiBjcmVhdGUoVG91Y2hMaXN0KiB0b3VjaGVzLCAKKyAgICBzdGF0aWMgUmVm
PFRvdWNoRXZlbnQ+IGNyZWF0ZShUb3VjaExpc3QqIHRvdWNoZXMsIAogICAgICAgICAgICAgVG91
Y2hMaXN0KiB0YXJnZXRUb3VjaGVzLCBUb3VjaExpc3QqIGNoYW5nZWRUb3VjaGVzLCAKICAgICAg
ICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+
IHZpZXcsCiAgICAgICAgICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwg
aW50IHBhZ2VZLAogICAgICAgICAgICAgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwgYm9vbCBz
aGlmdEtleSwgYm9vbCBtZXRhS2V5KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBUb3VjaEV2ZW50KHRvdWNoZXMsIHRhcmdldFRvdWNoZXMsIGNoYW5nZWRUb3VjaGVzLAorICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBUb3VjaEV2ZW50KHRvdWNoZXMsIHRhcmdldFRvdWNo
ZXMsIGNoYW5nZWRUb3VjaGVzLAogICAgICAgICAgICAgICAgIHR5cGUsIHZpZXcsIHNjcmVlblgs
IHNjcmVlblksIHBhZ2VYLCBwYWdlWSwKICAgICAgICAgICAgICAgICBjdHJsS2V5LCBhbHRLZXks
IHNoaWZ0S2V5LCBtZXRhS2V5KSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1RvdWNoTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1RvdWNoTGlzdC5oCmluZGV4IDlk
YTAxYjZjYWVhMWU3MTA0Y2EyOTM1MzllOTc2ZTlmMmZhNjMxOGEuLjU2MmUzYTFlYjJiNDlkZWUy
MzEzMjEyMGYxNGFhNDE5MTZmODBkMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9U
b3VjaExpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hMaXN0LmgKQEAgLTM4LDkg
KzM4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBUb3VjaExpc3QgOiBwdWJsaWMg
UmVmQ291bnRlZDxUb3VjaExpc3Q+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxU
b3VjaExpc3Q+IGNyZWF0ZSgpCisgICAgc3RhdGljIFJlZjxUb3VjaExpc3Q+IGNyZWF0ZSgpCiAg
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRvdWNoTGlzdCk7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFRvdWNoTGlzdCk7CiAgICAgfQogCiAgICAgdW5zaWduZWQgbGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZXMuc2l6ZSgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVHJlZVdhbGtlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVXYWxr
ZXIuaAppbmRleCA2Y2Y1NzViZTY1MzlmYmMyMzVhOGI4NjVjNjkwZjM5MjJmYmZjYzg2Li41ZjQy
Y2VkNDMzZjIzZGZkZmFhOTU2MTMxYzQ0YjZiYWE4NjVhZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVHJlZVdhbGtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fs
a2VyLmgKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3Mg
VHJlZVdhbGtlciA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFRy
ZWVXYWxrZXI+LCBwdWJsaWMgTm9kZUl0ZXJhdG9yQmFzZSB7CiAgICAgcHVibGljOgotICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxUcmVlV2Fsa2VyPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBy
b290Tm9kZSwgdW5zaWduZWQgd2hhdFRvU2hvdywgUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiBmaWx0
ZXIsIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcykKKyAgICAgICAgc3RhdGljIFJlZjxUcmVl
V2Fsa2VyPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiByb290Tm9kZSwgdW5zaWduZWQgd2hhdFRv
U2hvdywgUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiBmaWx0ZXIsIGJvb2wgZXhwYW5kRW50aXR5UmVm
ZXJlbmNlcykKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUcmVl
V2Fsa2VyKHJvb3ROb2RlLCB3aGF0VG9TaG93LCBmaWx0ZXIsIGV4cGFuZEVudGl0eVJlZmVyZW5j
ZXMpKTsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFRyZWVXYWxrZXIocm9vdE5v
ZGUsIHdoYXRUb1Nob3csIGZpbHRlciwgZXhwYW5kRW50aXR5UmVmZXJlbmNlcykpOwogICAgICAg
ICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogCiAgICAgICAgIE5vZGUqIGN1cnJlbnRO
b2RlKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50LmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9X
ZWJLaXROYW1lZEZsb3cuY3BwCmluZGV4IDg3YzRlMWY3NjY2YWU2NWJjNTM0ZDBiODA4NDM3NGYx
ZWFlOGIwNmEuLjM5NzRiZjcyNDg3NWYxOWNkY2Q2OTdkZjZiZjUyNTA5MTczNWVjOGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuY3BwCkBAIC01Miw5ICs1Miw5IEBAIFdlYktp
dE5hbWVkRmxvdzo6fldlYktpdE5hbWVkRmxvdygpCiAgICAgbV9mbG93TWFuYWdlci0+ZGlzY2Fy
ZE5hbWVkRmxvdyh0aGlzKTsKIH0KIAotUGFzc1JlZlB0cjxXZWJLaXROYW1lZEZsb3c+IFdlYktp
dE5hbWVkRmxvdzo6Y3JlYXRlKFBhc3NSZWZQdHI8TmFtZWRGbG93Q29sbGVjdGlvbj4gbWFuYWdl
ciwgY29uc3QgQXRvbWljU3RyaW5nJiBmbG93VGhyZWFkTmFtZSkKK1JlZjxXZWJLaXROYW1lZEZs
b3c+IFdlYktpdE5hbWVkRmxvdzo6Y3JlYXRlKFBhc3NSZWZQdHI8TmFtZWRGbG93Q29sbGVjdGlv
bj4gbWFuYWdlciwgY29uc3QgQXRvbWljU3RyaW5nJiBmbG93VGhyZWFkTmFtZSkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdE5hbWVkRmxvdyhtYW5hZ2VyLCBmbG93VGhyZWFkTmFt
ZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYktpdE5hbWVkRmxvdyhtYW5hZ2VyLCBm
bG93VGhyZWFkTmFtZSkpOwogfQogCiBjb25zdCBBdG9taWNTdHJpbmcmIFdlYktpdE5hbWVkRmxv
dzo6bmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFt
ZWRGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmgKaW5kZXggZTVm
NDMxODljMjRmYzgyY2U5ZGU2M2ZkNDY4ZTE2NzQ0N2U3NDNiNC4uZmY4NjExZDU2YTEzZmI2YmVk
MmI2YzE2OGYwNDUzZGZlYjc1N2Y1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1dl
YktpdE5hbWVkRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cu
aApAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFz
cyBXZWJLaXROYW1lZEZsb3cgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJLaXROYW1lZEZs
b3c+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8V2ViS2l0TmFtZWRGbG93PiBjcmVhdGUoUGFzc1JlZlB0cjxOYW1lZEZs
b3dDb2xsZWN0aW9uPiBtYW5hZ2VyLCBjb25zdCBBdG9taWNTdHJpbmcmIGZsb3dUaHJlYWROYW1l
KTsKKyAgICBzdGF0aWMgUmVmPFdlYktpdE5hbWVkRmxvdz4gY3JlYXRlKFBhc3NSZWZQdHI8TmFt
ZWRGbG93Q29sbGVjdGlvbj4gbWFuYWdlciwgY29uc3QgQXRvbWljU3RyaW5nJiBmbG93VGhyZWFk
TmFtZSk7CiAKICAgICB+V2ViS2l0TmFtZWRGbG93KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcAppbmRl
eCA2Y2IwZTE1Mjk0ZWY0M2Y0OGFlOTBlMTlhZWY2MDZkOGMzMWFiMjg3Li5jNjg2MTFmYzhmYzdi
ZWNmYWRmOGQ4NDgzYjE0ZmY5MDhjZjQ2MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL2RlZmF1bHQvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwCkBAIC0xNDYs
OSArMTQ2LDkgQEAgTWVzc2FnZVBvcnQqIE1lc3NhZ2VQb3J0Q2hhbm5lbDo6bG9jYWxseUVudGFu
Z2xlZFBvcnQoY29uc3QgU2NyaXB0RXhlY3V0aW9uQ29udGUKICAgICByZXR1cm4gMDsKIH0KIAot
UGFzc1JlZlB0cjxQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbD4gUGxhdGZvcm1NZXNzYWdlUG9y
dENoYW5uZWw6OmNyZWF0ZShQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0UXVldWU+IGluY29taW5nLCBQ
YXNzUmVmUHRyPE1lc3NhZ2VQb3J0UXVldWU+IG91dGdvaW5nKQorUmVmPFBsYXRmb3JtTWVzc2Fn
ZVBvcnRDaGFubmVsPiBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6Y3JlYXRlKFBhc3NSZWZQ
dHI8TWVzc2FnZVBvcnRRdWV1ZT4gaW5jb21pbmcsIFBhc3NSZWZQdHI8TWVzc2FnZVBvcnRRdWV1
ZT4gb3V0Z29pbmcpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQbGF0Zm9ybU1lc3NhZ2VQ
b3J0Q2hhbm5lbChpbmNvbWluZywgb3V0Z29pbmcpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbChpbmNvbWluZywgb3V0Z29pbmcpKTsKIH0KIAog
UGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6OlBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsKFBh
c3NSZWZQdHI8TWVzc2FnZVBvcnRRdWV1ZT4gaW5jb21pbmcsIFBhc3NSZWZQdHI8TWVzc2FnZVBv
cnRRdWV1ZT4gb3V0Z29pbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vZGVmYXVs
dC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL2RlZmF1
bHQvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuaAppbmRleCA5NTRlYjg4ZDUwNWEzYzhmZWNk
MGJiM2UzYTAxOTU2OWE2MWQ5OGIxLi5iNzAzZDEyYmZkNmJjY2ExMGFlZWNjNmI4YmIwNjFhZmRh
YWUxMDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vZGVmYXVsdC9QbGF0Zm9ybU1l
c3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9kZWZhdWx0L1BsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTYyLDcgKzYyLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAvLyBXcmFwcGVyIGZvciBNZXNzYWdlUXVldWUgdGhhdCBhbGxvd3MgdXMg
dG8gZG8gdGhyZWFkIHNhZmUgc2hhcmluZyBieSB0d28gcHJveGllcy4KICAgICAgICAgY2xhc3Mg
TWVzc2FnZVBvcnRRdWV1ZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZXNzYWdlUG9y
dFF1ZXVlPiB7CiAgICAgICAgIHB1YmxpYzoKLSAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRy
PE1lc3NhZ2VQb3J0UXVldWU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZXNzYWdl
UG9ydFF1ZXVlKCkpOyB9CisgICAgICAgICAgICBzdGF0aWMgUmVmPE1lc3NhZ2VQb3J0UXVldWU+
IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVzc2FnZVBvcnRRdWV1ZSgpKTsgfQog
CiAgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6
OkV2ZW50RGF0YT4gdHJ5R2V0TWVzc2FnZSgpCiAgICAgICAgICAgICB7CkBAIC04Nyw3ICs4Nyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB+UGxhdGZvcm1NZXNzYWdlUG9ydENo
YW5uZWwoKTsKIAotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQbGF0Zm9ybU1lc3NhZ2VQb3J0
Q2hhbm5lbD4gY3JlYXRlKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnRRdWV1ZT4gaW5jb21pbmcsIFBh
c3NSZWZQdHI8TWVzc2FnZVBvcnRRdWV1ZT4gb3V0Z29pbmcpOworICAgICAgICBzdGF0aWMgUmVm
PFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsPiBjcmVhdGUoUGFzc1JlZlB0cjxNZXNzYWdlUG9y
dFF1ZXVlPiBpbmNvbWluZywgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydFF1ZXVlPiBvdXRnb2luZyk7
CiAgICAgICAgIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBv
cnRRdWV1ZT4gaW5jb21pbmcsIFBhc3NSZWZQdHI8TWVzc2FnZVBvcnRRdWV1ZT4gb3V0Z29pbmcp
OwogCiAgICAgICAgIFBhc3NSZWZQdHI8UGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw+IGVudGFu
Z2xlZENoYW5uZWwoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>