<?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>221575</bug_id>
          
          <creation_ts>2021-02-08 14:35:34 -0800</creation_ts>
          <short_desc>Use CompletionHandler instead of BoolCallback</short_desc>
          <delta_ts>2021-02-10 14:32:35 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1726810</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-08 14:35:34 -0800</bug_when>
    <thetext>Use CompletionHandler instead of BoolCallback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726820</commentid>
    <comment_count>1</comment_count>
      <attachid>419632</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-08 14:50:55 -0800</bug_when>
    <thetext>Created attachment 419632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726872</commentid>
    <comment_count>2</comment_count>
      <attachid>419632</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-08 16:11:07 -0800</bug_when>
    <thetext>Comment on attachment 419632
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726876</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-08 16:22:30 -0800</bug_when>
    <thetext>Committed r272558: &lt;https://commits.webkit.org/r272558&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419632.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726882</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-08 16:35:11 -0800</bug_when>
    <thetext>Are we close to being able to remove all the callbacks?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726883</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-08 16:35:28 -0800</bug_when>
    <thetext>Kind of idly wondering if whatever BoolCallback crash we had might affect the others too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726922</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-08 18:57:37 -0800</bug_when>
    <thetext>I&apos;m on my way to removing all use of GenericCallback.  It&apos;s one of those morning warm-up tasks.  It&apos;ll probably take a few more weeks.  The code that uses it is quite old and convoluted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727787</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-10 14:32:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/74206594&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419632</attachid>
            <date>2021-02-08 14:50:55 -0800</date>
            <delta_ts>2021-02-08 16:22:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221575-20210208145054.patch</filename>
            <type>text/plain</type>
            <size>18405</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA0ZjQ1NmIwZjc1Y2MyYjI3
ZGI3YWY1ZjVkZGFmOTBmMTIzZTg3N2UuLjk4OTg1M2IyODFjYmJjZTIwZjk3MzEwM2Q4NGRiYzQx
NmVjODdjZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMDItMDggIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgQ29tcGxl
dGlvbkhhbmRsZXIgaW5zdGVhZCBvZiBCb29sQ2FsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTU3NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzQwNTg2MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBtYWtlcyB0aGUgY29kZSBtb3JlIG1vZGVybiwgYW5kIGl0IG1ha2VzIG91ciBm
dXp6ZXJzIGJldHRlciBhdCByZWFzb25pbmcgd2hhdCB0aGUgYm9vbGVhbiB2YWx1ZSBpcyBnb2lu
ZyB0byBiZSB1c2VkIGZvci4KKyAgICAgICAgSXQgc2hvdWxkIGFsc28gZml4IGEgcmFyZSBjcmFz
aCBpbnZvbHZpbmcgQm9vbENhbGxiYWNrIGJ5IGNvbXBsZXRlbHkgcmVtb3ZpbmcgaXQuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvR2VuZXJpY0NhbGxiYWNrLmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxl
UHJldmVudGFibGVUb3VjaEV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpo
YW5kbGVVbnByZXZlbnRhYmxlVG91Y2hFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6Ym9vbENhbGxiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RXZlbnREaXNwYXRjaGVyOjp0b3VjaEV2ZW50V2l0aG91dENhbGxiYWNrKToK
KyAgICAgICAgKFdlYktpdDo6RXZlbnREaXNwYXRjaGVyOjp0b3VjaEV2ZW50KToKKyAgICAgICAg
KFdlYktpdDo6RXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaFRvdWNoRXZlbnRzKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnRv
dWNoRXZlbnRTeW5jKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6ZGlzcGF0Y2hBc3luY2hyb25vdXNUb3VjaEV2ZW50cyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNhbmNlbEFzeW5jaHJvbm91c1RvdWNoRXZlbnRzKToKKwog
MjAyMS0wMi0wOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
W01hY09TXSBFbmFibGUgQXVkaW8gQ2FwdHVyZSBpbiBHUFVQcm9jZXNzIGJ5IGRlZmF1bHQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvR2VuZXJpY0NhbGxiYWNrLmgKaW5kZXggYzMwOTZjMDJlZWUz
Nzc4YzU3YTlkMDM0N2Q0NzhlNTIzOWI1ZTczMi4uNDY5NDk0NWI0MjM5MGMyMDkyZTY1NzFmZDY4
YjIwODJkODIwMTYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2VuZXJp
Y0NhbGxiYWNrLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2VuZXJpY0NhbGxiYWNr
LmgKQEAgLTE1Nyw3ICsxNTcsNiBAQCBzdGF0aWMgdHlwZW5hbWUgR2VuZXJpY0NhbGxiYWNrPElu
dGVybmFsUmV0dXJuVmFsdWVUeXBlPjo6Q2FsbGJhY2tGdW5jdGlvbiB0b0dlbgogdHlwZWRlZiBH
ZW5lcmljQ2FsbGJhY2s8PiBWb2lkQ2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxj
b25zdCBWZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4mLCBkb3VibGUsIFdlYkNvcmU6OkZsb2F0Qm94
RXh0ZW50PiBDb21wdXRlZFBhZ2VzQ2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxj
b25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSY+IEltYWdlQ2FsbGJhY2s7Ci10eXBlZGVmIEdl
bmVyaWNDYWxsYmFjazxib29sPiBCb29sQ2FsbGJhY2s7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
CiB2b2lkIGludmFsaWRhdGVDYWxsYmFja01hcChIYXNoTWFwPHVpbnQ2NF90LCBUPiYgY2FsbGJh
Y2tNYXAsIENhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCA4OWEzYjI5OWY3ZDVmNjA0NjQ3NTgzYzZiZjYwMTkwOGJm
NTFiODFiLi4xOTM1ODBlMWZkMTY5YWY2YWU3NGVjMjZjMDkyMmE0NGVlMjM0NjdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTI5MjgsNyArMjkyOCw3IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVQcmV2ZW50YWJsZVRvdWNoRXZlbnQoTmF0aXZlV2Vi
VG91Y2hFdmVudCYgZXZlbnQpCiAgICAgICAgIGlmIChpc1RvdWNoRW5kKQogICAgICAgICAgICAg
KyttX2hhbmRsaW5nUHJldmVudGFibGVUb3VjaEVuZENvdW50OwogCi0gICAgICAgIEZ1bmN0aW9u
PHZvaWQoYm9vbCwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+IGNvbXBsZXRpb25IYW5kbGVyID0gW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZXZlbnRdKGJvb2wgaGFuZGxlZCwg
Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgeworICAgICAgICBzZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OkV2ZW50RGlzcGF0Y2hlcjo6VG91Y2hFdmVudChtX3dlYlBhZ2VJRCwgZXZlbnQp
LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBldmVudF0gKGJvb2wgaGFu
ZGxlZCkgewogICAgICAgICAgICAgYm9vbCBkaWRGaW5pc2hEZWZlcnJpbmdUb3VjaFN0YXJ0ID0g
ZmFsc2U7CiAgICAgICAgICAgICBBU1NFUlRfSU1QTElFUyhldmVudC50eXBlKCkgPT0gV2ViRXZl
bnQ6OlRvdWNoU3RhcnQsIG1faGFuZGxpbmdQcmV2ZW50YWJsZVRvdWNoU3RhcnRDb3VudCk7CiAg
ICAgICAgICAgICBpZiAoZXZlbnQudHlwZSgpID09IFdlYkV2ZW50OjpUb3VjaFN0YXJ0ICYmIG1f
aGFuZGxpbmdQcmV2ZW50YWJsZVRvdWNoU3RhcnRDb3VudCkKQEAgLTI5MzksMTMgKzI5MzksMTAg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZVByZXZlbnRhYmxlVG91Y2hFdmVudChOYXRpdmVX
ZWJUb3VjaEV2ZW50JiBldmVudCkKICAgICAgICAgICAgIGlmIChldmVudC50eXBlKCkgPT0gV2Vi
RXZlbnQ6OlRvdWNoRW5kICYmIG1faGFuZGxpbmdQcmV2ZW50YWJsZVRvdWNoRW5kQ291bnQpCiAg
ICAgICAgICAgICAgICAgZGlkRmluaXNoRGVmZXJyaW5nVG91Y2hFbmQgPSAhLS1tX2hhbmRsaW5n
UHJldmVudGFibGVUb3VjaEVuZENvdW50OwogCi0gICAgICAgICAgICBib29sIGhhbmRsZWRPckZh
aWxlZFdpdGhFcnJvciA9IGhhbmRsZWQgfHwgZXJyb3IgIT0gQ2FsbGJhY2tCYXNlOjpFcnJvcjo6
Tm9uZSB8fCBtX2hhbmRsZWRTeW5jaHJvbm91c1RvdWNoRXZlbnRXaGlsZURpc3BhdGNoaW5nUHJl
dmVudGFibGVUb3VjaFN0YXJ0OworICAgICAgICAgICAgYm9vbCBoYW5kbGVkT3JGYWlsZWRXaXRo
RXJyb3IgPSBoYW5kbGVkIHx8IG1faGFuZGxlZFN5bmNocm9ub3VzVG91Y2hFdmVudFdoaWxlRGlz
cGF0Y2hpbmdQcmV2ZW50YWJsZVRvdWNoU3RhcnQ7CiAgICAgICAgICAgICBpZiAoIWlzSGFuZGxp
bmdQcmV2ZW50YWJsZVRvdWNoU3RhcnQoKSkKICAgICAgICAgICAgICAgICBtX2hhbmRsZWRTeW5j
aHJvbm91c1RvdWNoRXZlbnRXaGlsZURpc3BhdGNoaW5nUHJldmVudGFibGVUb3VjaFN0YXJ0ID0g
ZmFsc2U7CiAKLSAgICAgICAgICAgIGlmIChlcnJvciA9PSBDYWxsYmFja0Jhc2U6OkVycm9yOjpQ
cm9jZXNzRXhpdGVkKQotICAgICAgICAgICAgICAgIHJldHVybjsKLQogICAgICAgICAgICAgZGlk
UmVjZWl2ZUV2ZW50KGV2ZW50LnR5cGUoKSwgaGFuZGxlZE9yRmFpbGVkV2l0aEVycm9yKTsKICAg
ICAgICAgICAgIHBhZ2VDbGllbnQoKS5kb25lV2l0aFRvdWNoRXZlbnQoZXZlbnQsIGhhbmRsZWRP
ckZhaWxlZFdpdGhFcnJvcik7CiAKQEAgLTI5NTQsMTAgKzI5NTEsNyBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6aGFuZGxlUHJldmVudGFibGVUb3VjaEV2ZW50KE5hdGl2ZVdlYlRvdWNoRXZlbnQmIGV2
ZW50KQogCiAgICAgICAgICAgICBpZiAoZGlkRmluaXNoRGVmZXJyaW5nVG91Y2hFbmQpCiAgICAg
ICAgICAgICAgICAgcGFnZUNsaWVudCgpLmRvbmVEZWZlcnJpbmdUb3VjaEVuZChoYW5kbGVkT3JG
YWlsZWRXaXRoRXJyb3IpOwotICAgICAgICB9OwotCi0gICAgICAgIGF1dG8gY2FsbGJhY2tJRCA9
IG1fY2FsbGJhY2tzLnB1dChXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbV9wcm9jZXNzLT50
aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHkoIldlYlBhZ2VQcm94eTo6aGFuZGxlUHJldmVu
dGFibGVUb3VjaEV2ZW50Il9zKSk7Ci0gICAgICAgIHNlbmQoTWVzc2FnZXM6OkV2ZW50RGlzcGF0
Y2hlcjo6VG91Y2hFdmVudChtX3dlYlBhZ2VJRCwgZXZlbnQsIGNhbGxiYWNrSUQpLCAwKTsKKyAg
ICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTI5OTMsNyArMjk4Nyw3IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVVbnByZXZlbnRhYmxlVG91Y2hFdmVudChjb25zdCBO
YXRpdmVXZWJUb3VjaEV2ZW50JiBldmVuCiAgICAgaWYgKHRvdWNoRXZlbnRzVHJhY2tpbmdUeXBl
ID09IFRyYWNraW5nVHlwZTo6Tm90VHJhY2tpbmcpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNl
bmQoTWVzc2FnZXM6OkV2ZW50RGlzcGF0Y2hlcjo6VG91Y2hFdmVudChtX3dlYlBhZ2VJRCwgZXZl
bnQsIFdURjo6bnVsbG9wdCksIDApOworICAgIHNlbmQoTWVzc2FnZXM6OkV2ZW50RGlzcGF0Y2hl
cjo6VG91Y2hFdmVudFdpdGhvdXRDYWxsYmFjayhtX3dlYlBhZ2VJRCwgZXZlbnQpLCAwKTsKIAog
ICAgIGlmIChldmVudC5hbGxUb3VjaFBvaW50c0FyZVJlbGVhc2VkKCkpIHsKICAgICAgICAgbV90
b3VjaEFuZFBvaW50ZXJFdmVudFRyYWNraW5nLnJlc2V0KCk7CkBAIC03MTI4LDE3ICs3MTIyLDYg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OmRhdGFDYWxsYmFjayhjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmIGRhdGFSZWZlcmVuY2UsIENhbGxiYWMKICAgICBjYWxsYmFjay0+cGVyZm9ybUNhbGxiYWNr
V2l0aFJldHVyblZhbHVlKEFQSTo6RGF0YTo6Y3JlYXRlKGRhdGFSZWZlcmVuY2UuZGF0YSgpLCBk
YXRhUmVmZXJlbmNlLnNpemUoKSkucHRyKCkpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6Ym9v
bENhbGxiYWNrKGJvb2wgcmVzdWx0LCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCi17Ci0gICAgYXV0
byBjYWxsYmFjayA9IG1fY2FsbGJhY2tzLnRha2U8Qm9vbENhbGxiYWNrPihjYWxsYmFja0lEKTsK
LSAgICBpZiAoIWNhbGxiYWNrKSB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2FsbGJhY2stPnBlcmZvcm1DYWxsYmFja1dpdGhS
ZXR1cm5WYWx1ZShyZXN1bHQpOwotfQotCiB2b2lkIFdlYlBhZ2VQcm94eTo6aW1hZ2VDYWxsYmFj
ayhjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgYml0bWFwSGFuZGxlLCBDYWxsYmFja0lE
IGNhbGxiYWNrSUQpCiB7CiAgICAgYXV0byBjYWxsYmFjayA9IG1fY2FsbGJhY2tzLnRha2U8SW1h
Z2VDYWxsYmFjaz4oY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCmluZGV4IDA2ZWFlYzMyZjA0NGNlMTE3MGFmZDc3MzU2OWJhZDdkMGVjODUxZjcuLjFhMDU4
NTE5ZDRmOWNhOTZjNzExNGQ4OWY3YTAzMTgzOTJlZjY2OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zODEsNyArMzgxLDYgQEAgZW51bSBjbGFzcyBXZWJDb250
ZW50TW9kZSA6IHVpbnQ4X3Q7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxBUEk6OkRhdGEqPiBE
YXRhQ2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazx1aW50NjRfdD4gVW5zaWduZWRD
YWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFN0cmluZyY+IFN0cmluZ0Nh
bGxiYWNrOwotdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Ym9vbD4gQm9vbENhbGxiYWNrOwogCiAj
aWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiB1c2luZyBMYXllckhvc3RpbmdD
b250ZXh0SUQgPSB1aW50MzJfdDsKQEAgLTIxNjQsNyArMjE2Myw2IEBAIHByaXZhdGU6CiAgICAg
dm9pZCB2b2lkQ2FsbGJhY2soQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBkYXRhQ2FsbGJhY2soY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBpbWFnZUNhbGxi
YWNrKGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiwgQ2FsbGJhY2tJRCk7Ci0gICAgdm9p
ZCBib29sQ2FsbGJhY2soYm9vbCByZXN1bHQsIENhbGxiYWNrSUQpOwogICAgIHZvaWQgc3RyaW5n
Q2FsbGJhY2soY29uc3QgU3RyaW5nJiwgQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBpbnZhbGlkYXRl
U3RyaW5nQ2FsbGJhY2soQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjb21wdXRlZFBhZ2VzQ2FsbGJh
Y2soY29uc3QgVmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+JiwgZG91YmxlIHRvdGFsU2NhbGVGYWN0
b3JGb3JQcmludGluZywgY29uc3QgV2ViQ29yZTo6RmxvYXRCb3hFeHRlbnQmIGNvbXB1dGVkUGFn
ZU1hcmdpbiwgQ2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZGRhNTNlMzE0NzU3NzE1MmI4Mzc2YzU3OWY5ZjYz
YmQ2N2U3MjkxZi4uZTZhYWIzOGIyNjliYzE2OWQ4YzNlZTY3ZTUzYmFhMTU4MDJhYjA1NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpA
QCAtMTY3LDcgKzE2Nyw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGF0YUNh
bGxiYWNrKElQQzo6U2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSByZXN1bHREYXRhLCBXZWJLaXQ6
OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICBJbWFnZUNhbGxiYWNrKFdlYktpdDo6U2hhcmVh
YmxlQml0bWFwOjpIYW5kbGUgYml0bWFwSGFuZGxlLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJh
Y2tJRCkKICAgICBTdHJpbmdDYWxsYmFjayhTdHJpbmcgcmVzdWx0U3RyaW5nLCBXZWJLaXQ6OkNh
bGxiYWNrSUQgY2FsbGJhY2tJRCkKLSAgICBCb29sQ2FsbGJhY2soYm9vbCByZXN1bHQsIFdlYktp
dDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIEludmFsaWRhdGVTdHJpbmdDYWxsYmFjayhX
ZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICBDb21wdXRlZFBhZ2VzQ2FsbGJhY2so
VmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+IHBhZ2VSZWN0cywgZG91YmxlIHRvdGFsU2NhbGVGYWN0
b3JGb3JQcmludGluZywgV2ViQ29yZTo6UmVjdEVkZ2VzPGZsb2F0PiBjb21wdXRlZFBhZ2VNYXJn
aW4sIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIFVuc2lnbmVkQ2FsbGJhY2so
dWludDY0X3QgcmVzdWx0LCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3BwCmlu
ZGV4IDU3Zjc5ZmZkNGEzMjk0YTNmNzdhNTE0NDhjMTdhYmY3YzI4ZmVkMzQuLjlkMmQ0ZDBiYzRj
YzIyZGRjM2MwN2I5YmZiMzk5YmQwNTBlNjY0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcApAQCAtMTkyLDcgKzE5Miwx
MiBAQCB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6dGFrZVF1ZXVlZFRvdWNoRXZlbnRzRm9yUGFnZShj
b25zdCBXZWJQYWdlJiB3ZWJQYWdlLCBUb3VjaAogICAgIGRlc3RpbmF0aW9uUXVldWUgPSBtX3Rv
dWNoRXZlbnRzLnRha2Uod2ViUGFnZS5pZGVudGlmaWVyKCkpOwogfQogCi12b2lkIEV2ZW50RGlz
cGF0Y2hlcjo6dG91Y2hFdmVudChQYWdlSWRlbnRpZmllciBwYWdlSUQsIGNvbnN0IFdlYktpdDo6
V2ViVG91Y2hFdmVudCYgdG91Y2hFdmVudCwgT3B0aW9uYWw8Q2FsbGJhY2tJRD4gY2FsbGJhY2tJ
RCkKK3ZvaWQgRXZlbnREaXNwYXRjaGVyOjp0b3VjaEV2ZW50V2l0aG91dENhbGxiYWNrKFBhZ2VJ
ZGVudGlmaWVyIHBhZ2VJRCwgY29uc3QgV2ViVG91Y2hFdmVudCYgdG91Y2hFdmVudCkKK3sKKyAg
ICB0aGlzLT50b3VjaEV2ZW50KHBhZ2VJRCwgdG91Y2hFdmVudCwgbnVsbHB0cik7Cit9CisKK3Zv
aWQgRXZlbnREaXNwYXRjaGVyOjp0b3VjaEV2ZW50KFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgY29u
c3QgV2ViVG91Y2hFdmVudCYgdG91Y2hFdmVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBib29sIHVwZGF0ZUxpc3RXYXNFbXB0eTsK
ICAgICB7CkBAIC0yMDAsMTYgKzIwNSwxNiBAQCB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6dG91Y2hF
dmVudChQYWdlSWRlbnRpZmllciBwYWdlSUQsIGNvbnN0IFdlYktpdDo6V2ViVG91Y2hFdgogICAg
ICAgICB1cGRhdGVMaXN0V2FzRW1wdHkgPSBtX3RvdWNoRXZlbnRzLmlzRW1wdHkoKTsKICAgICAg
ICAgYXV0byBhZGRSZXN1bHQgPSBtX3RvdWNoRXZlbnRzLmFkZChwYWdlSUQsIFRvdWNoRXZlbnRR
dWV1ZSgpKTsKICAgICAgICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5KQotICAgICAgICAgICAg
YWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQoeyB0b3VjaEV2ZW50LCBjYWxsYmFja0lE
IH0pOworICAgICAgICAgICAgYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQoeyB0b3Vj
aEV2ZW50LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSB9KTsKICAgICAgICAgZWxzZSB7CiAg
ICAgICAgICAgICBhdXRvJiBxdWV1ZWRFdmVudHMgPSBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVl
OwogICAgICAgICAgICAgQVNTRVJUKCFxdWV1ZWRFdmVudHMuaXNFbXB0eSgpKTsKICAgICAgICAg
ICAgIGF1dG8mIGxhc3RFdmVudEFuZENhbGxiYWNrID0gcXVldWVkRXZlbnRzLmxhc3QoKTsKICAg
ICAgICAgICAgIC8vIENvYWxlc2NlIHRvdWNoIG1vdmUgZXZlbnRzLgotICAgICAgICAgICAgaWYg
KHRvdWNoRXZlbnQudHlwZSgpID09IFdlYkV2ZW50OjpUb3VjaE1vdmUgJiYgbGFzdEV2ZW50QW5k
Q2FsbGJhY2suZmlyc3QudHlwZSgpID09IFdlYkV2ZW50OjpUb3VjaE1vdmUgJiYgIWNhbGxiYWNr
SUQgJiYgIWxhc3RFdmVudEFuZENhbGxiYWNrLnNlY29uZCkKLSAgICAgICAgICAgICAgICBxdWV1
ZWRFdmVudHMubGFzdCgpID0geyB0b3VjaEV2ZW50LCBXVEY6Om51bGxvcHQgfTsKKyAgICAgICAg
ICAgIGlmICh0b3VjaEV2ZW50LnR5cGUoKSA9PSBXZWJFdmVudDo6VG91Y2hNb3ZlICYmIGxhc3RF
dmVudEFuZENhbGxiYWNrLmZpcnN0LnR5cGUoKSA9PSBXZWJFdmVudDo6VG91Y2hNb3ZlICYmICFj
b21wbGV0aW9uSGFuZGxlciAmJiAhbGFzdEV2ZW50QW5kQ2FsbGJhY2suc2Vjb25kKQorICAgICAg
ICAgICAgICAgIHF1ZXVlZEV2ZW50cy5sYXN0KCkgPSB7IHRvdWNoRXZlbnQsIG51bGxwdHIgfTsK
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBxdWV1ZWRFdmVudHMuYXBwZW5kKHsg
dG91Y2hFdmVudCwgY2FsbGJhY2tJRCB9KTsKKyAgICAgICAgICAgICAgICBxdWV1ZWRFdmVudHMu
YXBwZW5kKHsgdG91Y2hFdmVudCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikgfSk7CiAgICAg
ICAgIH0KICAgICB9CiAKQEAgLTIzMSw4ICsyMzYsOCBAQCB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6
ZGlzcGF0Y2hUb3VjaEV2ZW50cygpCiAgICAgfQogCiAgICAgZm9yIChhdXRvJiBzbG90IDogbG9j
YWxDb3B5KSB7Ci0gICAgICAgIGlmIChXZWJQYWdlKiB3ZWJQYWdlID0gV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkud2ViUGFnZShzbG90LmtleSkpCi0gICAgICAgICAgICB3ZWJQYWdlLT5kaXNwYXRj
aEFzeW5jaHJvbm91c1RvdWNoRXZlbnRzKHNsb3QudmFsdWUpOworICAgICAgICBpZiAoYXV0byog
d2ViUGFnZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYlBhZ2Uoc2xvdC5rZXkpKQorICAg
ICAgICAgICAgd2ViUGFnZS0+ZGlzcGF0Y2hBc3luY2hyb25vdXNUb3VjaEV2ZW50cyhXVEZNb3Zl
KHNsb3QudmFsdWUpKTsKICAgICB9CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmgKaW5kZXggODJmODhlYmM2MmU2NWQ0
Y2RmZmM5ZGQ4YjVmNjJjNzg1YzE0NmE3OC4uNDc5YmY3OWQ1NTM5YjIyMzQ1YThiN2FmMjkxZjFj
MzhjMzI2MjI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RXZlbnREaXNwYXRjaGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RXZlbnREaXNwYXRjaGVyLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKLSAgICB1c2luZyBUb3VjaEV2ZW50UXVldWUgPSBW
ZWN0b3I8c3RkOjpwYWlyPFdlYlRvdWNoRXZlbnQsIE9wdGlvbmFsPENhbGxiYWNrSUQ+PiwgMT47
CisgICAgdXNpbmcgVG91Y2hFdmVudFF1ZXVlID0gVmVjdG9yPHN0ZDo6cGFpcjxXZWJUb3VjaEV2
ZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPj4sIDE+OwogICAgIHZvaWQgdGFrZVF1
ZXVlZFRvdWNoRXZlbnRzRm9yUGFnZShjb25zdCBXZWJQYWdlJiwgVG91Y2hFdmVudFF1ZXVlJik7
CiAjZW5kaWYKIApAQCAtODQsNyArODQsOCBAQCBwcml2YXRlOgogICAgIC8vIE1lc3NhZ2UgaGFu
ZGxlcnMKICAgICB2b2lkIHdoZWVsRXZlbnQoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIGNvbnN0
IFdlYldoZWVsRXZlbnQmLCBib29sIGNhblJ1YmJlckJhbmRBdExlZnQsIGJvb2wgY2FuUnViYmVy
QmFuZEF0UmlnaHQsIGJvb2wgY2FuUnViYmVyQmFuZEF0VG9wLCBib29sIGNhblJ1YmJlckJhbmRB
dEJvdHRvbSk7CiAjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCi0gICAgdm9pZCB0b3VjaEV2
ZW50KFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBjb25zdCBXZWJUb3VjaEV2ZW50JiwgT3B0aW9u
YWw8Q2FsbGJhY2tJRD4pOworICAgIHZvaWQgdG91Y2hFdmVudChXZWJDb3JlOjpQYWdlSWRlbnRp
ZmllciwgY29uc3QgV2ViVG91Y2hFdmVudCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYpOworICAgIHZvaWQgdG91Y2hFdmVudFdpdGhvdXRDYWxsYmFjayhXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciwgY29uc3QgV2ViVG91Y2hFdmVudCYpOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1BQ19H
RVNUVVJFX0VWRU5UUykKICAgICB2b2lkIGdlc3R1cmVFdmVudChXZWJDb3JlOjpQYWdlSWRlbnRp
ZmllciwgY29uc3QgV2ViR2VzdHVyZUV2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIubWVzc2FnZXMuaW4KaW5k
ZXggNDZjZGVlODJjZTk5MjIzNjZhNGY5OTFlZjU1YjQ1Y2Q1MDI2NzBhMS4uZjhkMDJhYWE3YmJm
ZWM0NTkwNTdkMmY1ZjAwYWIzNzU3MmVlNjk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5tZXNzYWdlcy5pbgpA
QCAtMjMsNyArMjMsOCBAQAogbWVzc2FnZXMgLT4gRXZlbnREaXNwYXRjaGVyIHsKICAgICBXaGVl
bEV2ZW50KFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViS2l0OjpXZWJXaGVlbEV2
ZW50IGV2ZW50LCBib29sIGNhblJ1YmJlckJhbmRBdExlZnQsIGJvb2wgY2FuUnViYmVyQmFuZEF0
UmlnaHQsIGJvb2wgY2FuUnViYmVyQmFuZEF0VG9wLCBib29sIGNhblJ1YmJlckJhbmRBdEJvdHRv
bSkKICNpZiBFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKLSAgICBUb3VjaEV2ZW50KFdlYkNvcmU6
OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViS2l0OjpXZWJUb3VjaEV2ZW50IGV2ZW50LCBPcHRp
b25hbDxXZWJLaXQ6OkNhbGxiYWNrSUQ+IGNhbGxiYWNrSUQpCisgICAgVG91Y2hFdmVudChXZWJD
b3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYktpdDo6V2ViVG91Y2hFdmVudCBldmVudCkg
LT4gKGJvb2wgaGFuZGxlZCkgQXN5bmMKKyAgICBUb3VjaEV2ZW50V2l0aG91dENhbGxiYWNrKFdl
YkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViS2l0OjpXZWJUb3VjaEV2ZW50IGV2ZW50
KQogI2VuZGlmCiAjaWYgRU5BQkxFKE1BQ19HRVNUVVJFX0VWRU5UUykKICAgICBHZXN0dXJlRXZl
bnQoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlELCBXZWJLaXQ6OldlYkdlc3R1cmVFdmVu
dCBldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggZTUxYjA0ZjQyODI1MWQ2YWFkYjljODJmZWQxYjc0N2M5ZTQ3ZmJjNS4uYmI1NjhlZDI3
OWI4NzQ0Yjg1ZjQzNWIzNDdjYjdkNDVhYWJkZWI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMwNjcsMTMgKzMwNjcsMTQgQEAgc3RhdGlj
IGJvb2wgaGFuZGxlVG91Y2hFdmVudChjb25zdCBXZWJUb3VjaEV2ZW50JiB0b3VjaEV2ZW50LCBQ
YWdlKiBwYWdlKQogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKLXZvaWQg
V2ViUGFnZTo6ZGlzcGF0Y2hUb3VjaEV2ZW50KGNvbnN0IFdlYlRvdWNoRXZlbnQmIHRvdWNoRXZl
bnQsIGJvb2wmIGhhbmRsZWQpCitib29sIFdlYlBhZ2U6OmRpc3BhdGNoVG91Y2hFdmVudChjb25z
dCBXZWJUb3VjaEV2ZW50JiB0b3VjaEV2ZW50KQogewogICAgIFNldEZvclNjb3BlPGJvb2w+IHVz
ZXJJc0ludGVyYWN0aW5nQ2hhbmdlIHsgbV91c2VySXNJbnRlcmFjdGluZywgdHJ1ZSB9OwogICAg
IG1fbGFzdEludGVyYWN0aW9uTG9jYXRpb24gPSB0b3VjaEV2ZW50LnBvc2l0aW9uKCk7CiAgICAg
Q3VycmVudEV2ZW50IGN1cnJlbnRFdmVudCh0b3VjaEV2ZW50KTsKLSAgICBoYW5kbGVkID0gaGFu
ZGxlVG91Y2hFdmVudCh0b3VjaEV2ZW50LCBtX3BhZ2UuZ2V0KCkpOworICAgIGJvb2wgaGFuZGxl
ZCA9IGhhbmRsZVRvdWNoRXZlbnQodG91Y2hFdmVudCwgbV9wYWdlLmdldCgpKTsKICAgICB1cGRh
dGVQb3RlbnRpYWxUYXBTZWN1cml0eU9yaWdpbih0b3VjaEV2ZW50LCBoYW5kbGVkKTsKKyAgICBy
ZXR1cm4gaGFuZGxlZDsKIH0KIAogdm9pZCBXZWJQYWdlOjp0b3VjaEV2ZW50U3luYyhjb25zdCBX
ZWJUb3VjaEV2ZW50JiB0b3VjaEV2ZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYm
IHJlcGx5KQpAQCAtMzA4OCwxMCArMzA4OSw5IEBAIHZvaWQgV2ViUGFnZTo6dG91Y2hFdmVudFN5
bmMoY29uc3QgV2ViVG91Y2hFdmVudCYgdG91Y2hFdmVudCwgQ29tcGxldGlvbkhhbmRsZXI8CiAK
ICAgICBFdmVudERpc3BhdGNoZXI6OlRvdWNoRXZlbnRRdWV1ZSBxdWV1ZWRFdmVudHM7CiAgICAg
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZXZlbnREaXNwYXRjaGVyKCkudGFrZVF1ZXVlZFRvdWNo
RXZlbnRzRm9yUGFnZSgqdGhpcywgcXVldWVkRXZlbnRzKTsKLSAgICBkaXNwYXRjaEFzeW5jaHJv
bm91c1RvdWNoRXZlbnRzKHF1ZXVlZEV2ZW50cyk7CisgICAgZGlzcGF0Y2hBc3luY2hyb25vdXNU
b3VjaEV2ZW50cyhXVEZNb3ZlKHF1ZXVlZEV2ZW50cykpOwogCi0gICAgYm9vbCBoYW5kbGVkID0g
dHJ1ZTsKLSAgICBkaXNwYXRjaFRvdWNoRXZlbnQodG91Y2hFdmVudCwgaGFuZGxlZCk7CisgICAg
Ym9vbCBoYW5kbGVkID0gZGlzcGF0Y2hUb3VjaEV2ZW50KHRvdWNoRXZlbnQpOwogCiAgICAgaWYg
KGF1dG8gcmVwbHkgPSBXVEZNb3ZlKG1fcGVuZGluZ1N5bmNocm9ub3VzVG91Y2hFdmVudFJlcGx5
KSkKICAgICAgICAgcmVwbHkoaGFuZGxlZCk7CkBAIC02MTMzLDcgKzYxMzMsNyBAQCB2b2lkIFdl
YlBhZ2U6OmRpZENvbW1pdExvYWQoV2ViRnJhbWUqIGZyYW1lKQogI2lmIEVOQUJMRShJT1NfVE9V
Q0hfRVZFTlRTKQogICAgIEV2ZW50RGlzcGF0Y2hlcjo6VG91Y2hFdmVudFF1ZXVlIHF1ZXVlZEV2
ZW50czsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5ldmVudERpc3BhdGNoZXIoKS50YWtl
UXVldWVkVG91Y2hFdmVudHNGb3JQYWdlKCp0aGlzLCBxdWV1ZWRFdmVudHMpOwotICAgIGNhbmNl
bEFzeW5jaHJvbm91c1RvdWNoRXZlbnRzKHF1ZXVlZEV2ZW50cyk7CisgICAgY2FuY2VsQXN5bmNo
cm9ub3VzVG91Y2hFdmVudHMoV1RGTW92ZShxdWV1ZWRFdmVudHMpKTsKICNlbmRpZgogI2VuZGlm
IC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAppbmRleCAxYzkwNmUxYWYyNzkxYTg1NzkwYTQxYzcwMzY0YTk5ZjdhMTAz
NTYxLi5jNzkzODEzZGM0ZDgxMWY4NzE2Njc2ZjJhYWM1ZjRmOGMxOTFiOTFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC03OTYsOCArNzk2LDggQEAg
cHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoSU9T
X1RPVUNIX0VWRU5UUykKLSAgICB2b2lkIGRpc3BhdGNoQXN5bmNocm9ub3VzVG91Y2hFdmVudHMo
Y29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxXZWJUb3VjaEV2ZW50LCBPcHRpb25hbDxDYWxsYmFja0lE
Pj4sIDE+JiBxdWV1ZSk7Ci0gICAgdm9pZCBjYW5jZWxBc3luY2hyb25vdXNUb3VjaEV2ZW50cyhj
b25zdCBWZWN0b3I8c3RkOjpwYWlyPFdlYlRvdWNoRXZlbnQsIE9wdGlvbmFsPENhbGxiYWNrSUQ+
PiwgMT4mIHF1ZXVlKTsKKyAgICB2b2lkIGRpc3BhdGNoQXN5bmNocm9ub3VzVG91Y2hFdmVudHMo
VmVjdG9yPHN0ZDo6cGFpcjxXZWJUb3VjaEV2ZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPj4sIDE+JiYpOworICAgIHZvaWQgY2FuY2VsQXN5bmNocm9ub3VzVG91Y2hFdmVudHMoVmVj
dG9yPHN0ZDo6cGFpcjxXZWJUb3VjaEV2ZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
Pj4sIDE+JiYpOwogI2VuZGlmCiAKICAgICBib29sIGhhc1JpY2hseUVkaXRhYmxlU2VsZWN0aW9u
KCkgY29uc3Q7CkBAIC0xMDc2LDcgKzEwNzYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIEVO
QUJMRShJT1NfVE9VQ0hfRVZFTlRTKQotICAgIHZvaWQgZGlzcGF0Y2hUb3VjaEV2ZW50KGNvbnN0
IFdlYlRvdWNoRXZlbnQmLCBib29sJiBoYW5kbGVkKTsKKyAgICBib29sIGRpc3BhdGNoVG91Y2hF
dmVudChjb25zdCBXZWJUb3VjaEV2ZW50Jik7CiAjZW5kaWYKIAogICAgIGJvb2wgc2hvdWxkVXNl
Q3VzdG9tQ29udGVudFByb3ZpZGVyRm9yUmVzcG9uc2UoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3Mv
V2ViUGFnZUlPUy5tbQppbmRleCAwMzRiNjQ3YzFhZTRjOTE5MzE1YWQ2YzYxMWFiODUzZDBmNjc0
ODk3Li5mNDdmZTQwYzgzZGMzODVmMWFlZGIyYmFkOGZmMTQwMGFiYjNhNTkwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAt
Mzk1MywyMiArMzk1MywyMCBAQCB2b2lkIFdlYlBhZ2U6OndpbGxTdGFydFVzZXJUcmlnZ2VyZWRa
b29taW5nKCkKIH0KIAogI2lmIEVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKQotdm9pZCBXZWJQYWdl
OjpkaXNwYXRjaEFzeW5jaHJvbm91c1RvdWNoRXZlbnRzKGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8
V2ViVG91Y2hFdmVudCwgT3B0aW9uYWw8Q2FsbGJhY2tJRD4+LCAxPiYgcXVldWUpCit2b2lkIFdl
YlBhZ2U6OmRpc3BhdGNoQXN5bmNocm9ub3VzVG91Y2hFdmVudHMoVmVjdG9yPHN0ZDo6cGFpcjxX
ZWJUb3VjaEV2ZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPj4sIDE+JiYgcXVldWUp
CiB7CiAgICAgZm9yIChhdXRvJiBldmVudEFuZENhbGxiYWNrSUQgOiBxdWV1ZSkgewotICAgICAg
ICBib29sIGhhbmRsZWQ7Ci0gICAgICAgIGRpc3BhdGNoVG91Y2hFdmVudChldmVudEFuZENhbGxi
YWNrSUQuZmlyc3QsIGhhbmRsZWQpOwotICAgICAgICBpZiAoZXZlbnRBbmRDYWxsYmFja0lELnNl
Y29uZCkKLSAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Qm9vbENhbGxi
YWNrKGhhbmRsZWQsICpldmVudEFuZENhbGxiYWNrSUQuc2Vjb25kKSk7CisgICAgICAgIGJvb2wg
aGFuZGxlZCA9IGRpc3BhdGNoVG91Y2hFdmVudChldmVudEFuZENhbGxiYWNrSUQuZmlyc3QpOwor
ICAgICAgICBpZiAoYXV0byYgY29tcGxldGlvbkhhbmRsZXIgPSBldmVudEFuZENhbGxiYWNrSUQu
c2Vjb25kKQorICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoaGFuZGxlZCk7CiAgICAgfQog
fQogCi12b2lkIFdlYlBhZ2U6OmNhbmNlbEFzeW5jaHJvbm91c1RvdWNoRXZlbnRzKGNvbnN0IFZl
Y3RvcjxzdGQ6OnBhaXI8V2ViVG91Y2hFdmVudCwgT3B0aW9uYWw8Q2FsbGJhY2tJRD4+LCAxPiYg
cXVldWUpCit2b2lkIFdlYlBhZ2U6OmNhbmNlbEFzeW5jaHJvbm91c1RvdWNoRXZlbnRzKFZlY3Rv
cjxzdGQ6OnBhaXI8V2ViVG91Y2hFdmVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4+
LCAxPiYmIHF1ZXVlKQogewogICAgIGZvciAoYXV0byYgZXZlbnRBbmRDYWxsYmFja0lEIDogcXVl
dWUpIHsKLSAgICAgICAgaWYgKCFldmVudEFuZENhbGxiYWNrSUQuc2Vjb25kKQotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Qm9vbENh
bGxiYWNrKHRydWUsICpldmVudEFuZENhbGxiYWNrSUQuc2Vjb25kKSk7CisgICAgICAgIGlmIChh
dXRvJiBjb21wbGV0aW9uSGFuZGxlciA9IGV2ZW50QW5kQ2FsbGJhY2tJRC5zZWNvbmQpCisgICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKICAgICB9CiB9CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>