<?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>217518</bug_id>
          
          <creation_ts>2020-10-09 07:59:33 -0700</creation_ts>
          <short_desc>[LFC][Integration] Add a way to get runs from line iterator</short_desc>
          <delta_ts>2020-10-09 09:22:20 -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>Layout and Rendering</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mifenton</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1696214</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-10-09 07:59:33 -0700</bug_when>
    <thetext>Less InlineBox access</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696215</commentid>
    <comment_count>1</comment_count>
      <attachid>410938</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-10-09 08:03:39 -0700</bug_when>
    <thetext>Created attachment 410938
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696231</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-09 09:21:34 -0700</bug_when>
    <thetext>Committed r268260: &lt;https://trac.webkit.org/changeset/268260&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410938.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696232</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-09 09:22:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/70141191&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410938</attachid>
            <date>2020-10-09 08:03:39 -0700</date>
            <delta_ts>2020-10-09 09:21:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>line-runs.patch</filename>
            <type>text/plain</type>
            <size>19157</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4OWMyMmQyZDNkMTQuLjQxMTdhZjc1YjYxNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQ3IEBACisyMDIwLTEwLTA5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gQWRkIGEgd2F5IHRvIGdldCBydW5zIGZy
b20gbGluZSBpdGVyYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE3NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQW5kIHVzZSBpdCBpbiBzdGFydFBvc2l0aW9uRm9yTGluZS9lbmRQb3NpdGlvbkZv
ckxpbmUgZnVuY3Rpb25zIGluIFJlbmRlcmVkUG9zaXRpb24uCisKKyAgICAgICAgKiBlZGl0aW5n
L1JlbmRlcmVkUG9zaXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcmVkUG9zaXRpb246
OmxpbmUgY29uc3QpOgorICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVVuaXRzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnN0YXJ0UG9zaXRpb25Gb3JMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OmVu
ZFBvc2l0aW9uRm9yTGluZSk6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246Okxp
bmU6OkxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmU6OmZp
cnN0UnVuSW5kZXggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OkxpbmU6OnJ1bkNvdW50IGNvbnN0KToKKworICAgICAgICBMaW5lcyBub3cgdHJhY2sgdGhlIGZp
cnN0IHJ1biBhbmQgdGhlIHJ1biBjb3VudC4KKworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yOjpmaXJzdFJ1biBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yOjpsYXN0UnVuIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3I6Omxv
Z2ljYWxTdGFydFJ1bldpdGhOb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpMaW5lSXRlcmF0b3I6OmxvZ2ljYWxFbmRSdW5XaXRoTm9kZSBjb25zdCk6Cisg
ICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9y
Lmg6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0
ZXJhdG9yTGVnYWN5UGF0aC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OkxpbmVJdGVyYXRvckxlZ2FjeVBhdGg6OmZpcnN0UnVuIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3JMZWdhY3lQYXRoOjpsYXN0UnVuIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3JM
ZWdhY3lQYXRoOjpsb2dpY2FsU3RhcnRSdW5XaXRoTm9kZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yTGVnYWN5UGF0aDo6bG9naWNhbEVu
ZFJ1bldpdGhOb2RlIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0
SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmg6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yTW9kZXJuUGF0aDo6Zmlyc3RSdW4gY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVJdGVyYXRvck1vZGVy
blBhdGg6Omxhc3RSdW4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRp
b246OkxpbmVJdGVyYXRvck1vZGVyblBhdGg6OmxvZ2ljYWxTdGFydFJ1bldpdGhOb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3JNb2Rl
cm5QYXRoOjpsb2dpY2FsRW5kUnVuV2l0aE5vZGUgY29uc3QpOgorICAgICAgICAqIGxheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnN0cnVjdENvbnRlbnQpOgor
ICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246Om1ha2VBZGp1c3RlZENv
bnRlbnQpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1
bkl0ZXJhdG9yTW9kZXJuUGF0aC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRp
b246OlJ1bkl0ZXJhdG9yTW9kZXJuUGF0aDo6UnVuSXRlcmF0b3JNb2Rlcm5QYXRoKToKKwogMjAy
MC0xMC0wMSAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbV2ViWFJdIE1ha2UgZW51bWVyYXRlSW1tZXJzaXZlWFJEZXZpY2VzKCkgYXN5bmNocm9u
bm91cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZW5kZXJlZFBvc2l0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlbmRlcmVkUG9zaXRpb24uaAppbmRleCA5MTJm
MmZiNTUzNTQuLmQ1YzJhN2NjYTc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9SZW5kZXJlZFBvc2l0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZW5kZXJl
ZFBvc2l0aW9uLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRl
ICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgogI2luY2x1ZGUgIkxheW91dEludGVn
cmF0aW9uUnVuSXRlcmF0b3IuaCIKICNpbmNsdWRlICJUZXh0QWZmaW5pdHkuaCIKIApAQCAtNDgs
NiArNDksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0VxdWl2YWxlbnQoY29uc3QgUmVuZGVyZWRQ
b3NpdGlvbiYpIGNvbnN0OwogCiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiAhbV9y
ZW5kZXJlcjsgfQorICAgIExheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3IgbGluZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcnVuID8gbV9ydW4ubGluZSgpIDogTGF5b3V0SW50ZWdyYXRpb246Okxp
bmVJdGVyYXRvcigpOyB9CisKICAgICBSb290SW5saW5lQm94KiByb290Qm94KCkgeyByZXR1cm4g
bV9ydW4gPyAmbV9ydW4tPmxlZ2FjeUlubGluZUJveCgpLT5yb290KCkgOiBudWxscHRyOyB9CiAK
ICAgICB1bnNpZ25lZCBjaGFyIGJpZGlMZXZlbE9uTGVmdCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlVW5pdHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9WaXNpYmxlVW5pdHMuY3BwCmluZGV4IDc1N2M0YjQzMWY4Ny4uYWU3NTUwNjk1ZDZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlVW5pdHMuY3BwCkBAIC03NzcsOCArNzc3
LDggQEAgc3RhdGljIFZpc2libGVQb3NpdGlvbiBzdGFydFBvc2l0aW9uRm9yTGluZShjb25zdCBW
aXNpYmxlUG9zaXRpb24mIGMsIExpbmVFbmRwb2kKICAgICBpZiAoYy5pc051bGwoKSkKICAgICAg
ICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogCi0gICAgUm9vdElubGluZUJveCogcm9vdEJv
eCA9IFJlbmRlcmVkUG9zaXRpb24oYykucm9vdEJveCgpOwotICAgIGlmICghcm9vdEJveCkgewor
ICAgIGF1dG8gbGluZSA9IFJlbmRlcmVkUG9zaXRpb24oYykubGluZSgpOworICAgIGlmICghbGlu
ZSkgewogICAgICAgICAvLyBUaGVyZSBhcmUgVmlzaWJsZVBvc2l0aW9ucyBhdCBvZmZzZXQgMCBp
biBibG9ja3Mgd2l0aG91dAogICAgICAgICAvLyBSb290SW5saW5lQm94ZXMsIGxpa2UgZW1wdHkg
ZWRpdGFibGUgYmxvY2tzIGFuZCBib3JkZXJlZCBibG9ja3MuCiAgICAgICAgIFBvc2l0aW9uIHAg
PSBjLmRlZXBFcXVpdmFsZW50KCk7CkBAIC03ODksMjggKzc4OSwyOSBAQCBzdGF0aWMgVmlzaWJs
ZVBvc2l0aW9uIHN0YXJ0UG9zaXRpb25Gb3JMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYywg
TGluZUVuZHBvaQogICAgIH0KIAogICAgIE5vZGUqIHN0YXJ0Tm9kZTsKLSAgICBJbmxpbmVCb3gq
IHN0YXJ0Qm94OworICAgIExheW91dEludGVncmF0aW9uOjpMaW5lUnVuSXRlcmF0b3Igc3RhcnRS
dW47CiAgICAgaWYgKG1vZGUgPT0gVXNlTG9naWNhbE9yZGVyaW5nKSB7Ci0gICAgICAgIHN0YXJ0
Tm9kZSA9IHJvb3RCb3gtPmdldExvZ2ljYWxTdGFydEJveFdpdGhOb2RlKHN0YXJ0Qm94KTsKLSAg
ICAgICAgaWYgKCFzdGFydE5vZGUpCisgICAgICAgIHN0YXJ0UnVuID0gbGluZS5sb2dpY2FsU3Rh
cnRSdW5XaXRoTm9kZSgpOworICAgICAgICBpZiAoIXN0YXJ0UnVuKQogICAgICAgICAgICAgcmV0
dXJuIFZpc2libGVQb3NpdGlvbigpOworICAgICAgICBzdGFydE5vZGUgPSBzdGFydFJ1bi0+cmVu
ZGVyZXIoKS5ub2RlKCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gR2VuZXJhdGVkIGNvbnRl
bnQgKGUuZy4gbGlzdCBtYXJrZXJzIGFuZCBDU1MgOmJlZm9yZSBhbmQgOmFmdGVyIHBzZXVkb2Vs
ZW1lbnRzKSBoYXZlIG5vIGNvcnJlc3BvbmRpbmcgRE9NIGVsZW1lbnQsCiAgICAgICAgIC8vIGFu
ZCBzbyBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgYnkgYSBWaXNpYmxlUG9zaXRpb24uIFVzZSB3aGF0
ZXZlciBmb2xsb3dzIGluc3RlYWQuCi0gICAgICAgIHN0YXJ0Qm94ID0gcm9vdEJveC0+Zmlyc3RM
ZWFmRGVzY2VuZGFudCgpOworICAgICAgICBzdGFydFJ1biA9IGxpbmUuZmlyc3RSdW4oKTsKICAg
ICAgICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgICAgIGlmICghc3RhcnRCb3gpCisgICAgICAg
ICAgICBpZiAoIXN0YXJ0UnVuKQogICAgICAgICAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRp
b24oKTsKIAotICAgICAgICAgICAgc3RhcnROb2RlID0gc3RhcnRCb3gtPnJlbmRlcmVyKCkubm9u
UHNldWRvTm9kZSgpOworICAgICAgICAgICAgc3RhcnROb2RlID0gc3RhcnRSdW4tPnJlbmRlcmVy
KCkubm9uUHNldWRvTm9kZSgpOwogICAgICAgICAgICAgaWYgKHN0YXJ0Tm9kZSkKICAgICAgICAg
ICAgICAgICBicmVhazsKIAotICAgICAgICAgICAgc3RhcnRCb3ggPSBzdGFydEJveC0+bmV4dExl
YWZPbkxpbmUoKTsKKyAgICAgICAgICAgIHN0YXJ0UnVuLnRyYXZlcnNlTmV4dE9uTGluZSgpOwog
ICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0dXJuIGlzPFRleHQ+KCpzdGFydE5vZGUpID8gUG9z
aXRpb24oZG93bmNhc3Q8VGV4dD4oc3RhcnROb2RlKSwgZG93bmNhc3Q8SW5saW5lVGV4dEJveD4o
KnN0YXJ0Qm94KS5zdGFydCgpKQorICAgIHJldHVybiBpczxUZXh0Pigqc3RhcnROb2RlKSA/IFBv
c2l0aW9uKGRvd25jYXN0PFRleHQ+KHN0YXJ0Tm9kZSksIGRvd25jYXN0PExheW91dEludGVncmF0
aW9uOjpQYXRoVGV4dFJ1bj4oKnN0YXJ0UnVuKS5sb2NhbFN0YXJ0T2Zmc2V0KCkpCiAgICAgICAg
IDogcG9zaXRpb25CZWZvcmVOb2RlKHN0YXJ0Tm9kZSk7CiB9CiAKQEAgLTg1Miw4ICs4NTMsOCBA
QCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIGVuZFBvc2l0aW9uRm9yTGluZShjb25zdCBWaXNpYmxl
UG9zaXRpb24mIGMsIExpbmVFbmRwb2ludAogICAgIGlmIChjLmlzTnVsbCgpKQogICAgICAgICBy
ZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAKLSAgICBSb290SW5saW5lQm94KiByb290Qm94ID0g
UmVuZGVyZWRQb3NpdGlvbihjKS5yb290Qm94KCk7Ci0gICAgaWYgKCFyb290Qm94KSB7CisgICAg
YXV0byBsaW5lID0gUmVuZGVyZWRQb3NpdGlvbihjKS5saW5lKCk7CisgICAgaWYgKCFsaW5lKSB7
CiAgICAgICAgIC8vIFRoZXJlIGFyZSBWaXNpYmxlUG9zaXRpb25zIGF0IG9mZnNldCAwIGluIGJs
b2NrcyB3aXRob3V0CiAgICAgICAgIC8vIFJvb3RJbmxpbmVCb3hlcywgbGlrZSBlbXB0eSBlZGl0
YWJsZSBibG9ja3MgYW5kIGJvcmRlcmVkIGJsb2Nrcy4KICAgICAgICAgUG9zaXRpb24gcCA9IGMu
ZGVlcEVxdWl2YWxlbnQoKTsKQEAgLTg2MywzNSArODY0LDM2IEBAIHN0YXRpYyBWaXNpYmxlUG9z
aXRpb24gZW5kUG9zaXRpb25Gb3JMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYywgTGluZUVu
ZHBvaW50CiAgICAgfQogCiAgICAgTm9kZSogZW5kTm9kZTsKLSAgICBJbmxpbmVCb3gqIGVuZEJv
eDsKKyAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZVJ1bkl0ZXJhdG9yIGVuZFJ1bjsKICAgICBp
ZiAobW9kZSA9PSBVc2VMb2dpY2FsT3JkZXJpbmcpIHsKLSAgICAgICAgZW5kTm9kZSA9IHJvb3RC
b3gtPmdldExvZ2ljYWxFbmRCb3hXaXRoTm9kZShlbmRCb3gpOwotICAgICAgICBpZiAoIWVuZE5v
ZGUpCisgICAgICAgIGVuZFJ1biA9IGxpbmUubG9naWNhbEVuZFJ1bldpdGhOb2RlKCk7CisgICAg
ICAgIGlmICghZW5kUnVuKQogICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwor
ICAgICAgICBlbmROb2RlID0gZW5kUnVuLT5yZW5kZXJlcigpLm5vZGUoKTsKICAgICB9IGVsc2Ug
ewogICAgICAgICAvLyBHZW5lcmF0ZWQgY29udGVudCAoZS5nLiBsaXN0IG1hcmtlcnMgYW5kIENT
UyA6YmVmb3JlIGFuZCA6YWZ0ZXIgcHNldWRvZWxlbWVudHMpIGhhdmUgbm8gY29ycmVzcG9uZGlu
ZyBET00gZWxlbWVudCwKICAgICAgICAgLy8gYW5kIHNvIGNhbm5vdCBiZSByZXByZXNlbnRlZCBi
eSBhIFZpc2libGVQb3NpdGlvbi4gVXNlIHdoYXRldmVyIHByZWNlZGVzIGluc3RlYWQuCi0gICAg
ICAgIGVuZEJveCA9IHJvb3RCb3gtPmxhc3RMZWFmRGVzY2VuZGFudCgpOworICAgICAgICBlbmRS
dW4gPSBsaW5lLmxhc3RSdW4oKTsKICAgICAgICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgICAg
IGlmICghZW5kQm94KQorICAgICAgICAgICAgaWYgKCFlbmRSdW4pCiAgICAgICAgICAgICAgICAg
cmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogCi0gICAgICAgICAgICBlbmROb2RlID0gZW5kQm94
LT5yZW5kZXJlcigpLm5vblBzZXVkb05vZGUoKTsKKyAgICAgICAgICAgIGVuZE5vZGUgPSBlbmRS
dW4tPnJlbmRlcmVyKCkubm9uUHNldWRvTm9kZSgpOwogICAgICAgICAgICAgaWYgKGVuZE5vZGUp
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGVuZEJv
eCA9IGVuZEJveC0+cHJldmlvdXNMZWFmT25MaW5lKCk7CisgICAgICAgICAgICBlbmRSdW4udHJh
dmVyc2VQcmV2aW91c09uTGluZSgpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgUG9zaXRpb24g
cG9zOwogICAgIGlmIChpczxIVE1MQlJFbGVtZW50PigqZW5kTm9kZSkpCiAgICAgICAgIHBvcyA9
IHBvc2l0aW9uQmVmb3JlTm9kZShlbmROb2RlKTsKLSAgICBlbHNlIGlmIChpczxJbmxpbmVUZXh0
Qm94PigqZW5kQm94KSAmJiBpczxUZXh0PigqZW5kTm9kZSkpIHsKLSAgICAgICAgYXV0byYgZW5k
VGV4dEJveCA9IGRvd25jYXN0PElubGluZVRleHRCb3g+KCplbmRCb3gpOwotICAgICAgICBpbnQg
ZW5kT2Zmc2V0ID0gZW5kVGV4dEJveC5zdGFydCgpOwotICAgICAgICBpZiAoIWVuZFRleHRCb3gu
aXNMaW5lQnJlYWsoKSkKLSAgICAgICAgICAgIGVuZE9mZnNldCArPSBlbmRUZXh0Qm94Lmxlbigp
OworICAgIGVsc2UgaWYgKGlzPExheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1bj4oKmVuZFJ1
bikgJiYgaXM8VGV4dD4oKmVuZE5vZGUpKSB7CisgICAgICAgIGF1dG8mIGVuZFRleHRSdW4gPSBk
b3duY2FzdDxMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRleHRSdW4+KCplbmRSdW4pOworICAgICAg
ICBpbnQgZW5kT2Zmc2V0ID0gZW5kVGV4dFJ1bi5sb2NhbFN0YXJ0T2Zmc2V0KCk7CisgICAgICAg
IGlmICghZW5kVGV4dFJ1bi5pc0xpbmVCcmVhaygpKQorICAgICAgICAgICAgZW5kT2Zmc2V0ICs9
IGVuZFRleHRSdW4ubGVuZ3RoKCk7CiAgICAgICAgIHBvcyA9IFBvc2l0aW9uKGRvd25jYXN0PFRl
eHQ+KGVuZE5vZGUpLCBlbmRPZmZzZXQpOwogICAgIH0gZWxzZQogICAgICAgICBwb3MgPSBwb3Np
dGlvbkFmdGVyTm9kZShlbmROb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaAppbmRleCA5YTdlODAxMDU5
MzcuLjZmOWY5OGMzNzgxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaApAQCAtMzUsOCArMzUsMTkgQEAg
bmFtZXNwYWNlIExheW91dEludGVncmF0aW9uIHsKIGNsYXNzIExpbmUgewogICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIExpbmUoY29uc3QgRmxvYXRSZWN0JiwgY29u
c3QgRmxvYXRSZWN0JiBzY3JvbGxhYmxlT3ZlcmZsb3csIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3Zl
cmZsb3csIGZsb2F0IGJhc2VsaW5lLCBmbG9hdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KTsK
KyAgICBMaW5lKHNpemVfdCBmaXJzdFJ1bkluZGV4LCBzaXplX3QgcnVuQ291bnQsIGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzY3JvbGxhYmxlT3ZlcmZsb3csIGNvbnN0
IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3csIGZsb2F0IGJhc2VsaW5lLCBmbG9hdCBob3Jpem9udGFs
QWxpZ25tZW50T2Zmc2V0KQorICAgICAgICA6IG1fZmlyc3RSdW5JbmRleChmaXJzdFJ1bkluZGV4
KQorICAgICAgICAsIG1fcnVuQ291bnQocnVuQ291bnQpCisgICAgICAgICwgbV9yZWN0KHJlY3Qp
CisgICAgICAgICwgbV9zY3JvbGxhYmxlT3ZlcmZsb3coc2Nyb2xsYWJsZU92ZXJmbG93KQorICAg
ICAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpCisgICAgICAgICwgbV9iYXNlbGluZShi
YXNlbGluZSkKKyAgICAgICAgLCBtX2hvcml6b250YWxBbGlnbm1lbnRPZmZzZXQoaG9yaXpvbnRh
bEFsaWdubWVudE9mZnNldCkKKyAgICB7CisgICAgfQogCisgICAgc2l6ZV90IGZpcnN0UnVuSW5k
ZXgoKSBjb25zdCB7IHJldHVybiBtX2ZpcnN0UnVuSW5kZXg7IH0KKyAgICBzaXplX3QgcnVuQ291
bnQoKSBjb25zdCB7IHJldHVybiBtX3J1bkNvdW50OyB9CiAgICAgY29uc3QgRmxvYXRSZWN0JiBy
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0OyB9CiAgICAgY29uc3QgRmxvYXRSZWN0JiBzY3Jv
bGxhYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVPdmVyZmxvdzsgfQog
ICAgIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX2lua092
ZXJmbG93OyB9CkBAIC00NCw2ICs1NSw4IEBAIHB1YmxpYzoKICAgICBmbG9hdCBob3Jpem9udGFs
QWxpZ25tZW50T2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9ob3Jpem9udGFsQWxpZ25tZW50T2Zm
c2V0OyB9CiAKIHByaXZhdGU6CisgICAgc2l6ZV90IG1fZmlyc3RSdW5JbmRleCB7IDAgfTsKKyAg
ICBzaXplX3QgbV9ydW5Db3VudCB7IDAgfTsKICAgICBGbG9hdFJlY3QgbV9yZWN0OwogICAgIEZs
b2F0UmVjdCBtX3Njcm9sbGFibGVPdmVyZmxvdzsKICAgICBGbG9hdFJlY3QgbV9pbmtPdmVyZmxv
dzsKQEAgLTUxLDE1ICs2NCw2IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV9ob3Jpem9udGFsQWxp
Z25tZW50T2Zmc2V0OwogfTsKIAotaW5saW5lIExpbmU6OkxpbmUoY29uc3QgRmxvYXRSZWN0JiBy
ZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNjcm9sbGFibGVPdmVyZmxvdywgY29uc3QgRmxvYXRSZWN0
JiBpbmtPdmVyZmxvdywgZmxvYXQgYmFzZWxpbmUsIGZsb2F0IGhvcml6b250YWxBbGlnbm1lbnRP
ZmZzZXQpCi0gICAgOiBtX3JlY3QocmVjdCkKLSAgICAsIG1fc2Nyb2xsYWJsZU92ZXJmbG93KHNj
cm9sbGFibGVPdmVyZmxvdykKLSAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpCi0gICAg
LCBtX2Jhc2VsaW5lKGJhc2VsaW5lKQotICAgICwgbV9ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0
KGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQpCi17Ci19Ci0KIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0
ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkxpbmVJdGVyYXRvci5jcHAKaW5kZXggN2FjYjdmOGM4NDQzLi4zOTNlMmU5MDgzNmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkxpbmVJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmNwcApAQCAtNzksNiArNzksMzUg
QEAgYm9vbCBMaW5lSXRlcmF0b3I6Om9wZXJhdG9yPT0oY29uc3QgTGluZUl0ZXJhdG9yJiBvdGhl
cikgY29uc3QKICAgICB9KTsKIH0KIAorTGluZVJ1bkl0ZXJhdG9yIExpbmVJdGVyYXRvcjo6Zmly
c3RSdW4oKSBjb25zdAoreworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKG1fbGluZS5tX3BhdGhW
YXJpYW50LCBbXShhdXRvJiBwYXRoKSAtPiBSdW5JdGVyYXRvciB7CisgICAgICAgIHJldHVybiB7
IHBhdGguZmlyc3RSdW4oKSB9OworICAgIH0pOworfQorCitMaW5lUnVuSXRlcmF0b3IgTGluZUl0
ZXJhdG9yOjpsYXN0UnVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX2xp
bmUubV9wYXRoVmFyaWFudCwgW10oYXV0byYgcGF0aCkgLT4gUnVuSXRlcmF0b3IgeworICAgICAg
ICByZXR1cm4geyBwYXRoLmxhc3RSdW4oKSB9OworICAgIH0pOworfQorCitMaW5lUnVuSXRlcmF0
b3IgTGluZUl0ZXJhdG9yOjpsb2dpY2FsU3RhcnRSdW5XaXRoTm9kZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIFdURjo6c3dpdGNoT24obV9saW5lLm1fcGF0aFZhcmlhbnQsIFtdKGF1dG8mIHBhdGgp
IC0+IFJ1bkl0ZXJhdG9yIHsKKyAgICAgICAgcmV0dXJuIHsgcGF0aC5sb2dpY2FsU3RhcnRSdW5X
aXRoTm9kZSgpIH07CisgICAgfSk7Cit9CisKK0xpbmVSdW5JdGVyYXRvciBMaW5lSXRlcmF0b3I6
OmxvZ2ljYWxFbmRSdW5XaXRoTm9kZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFdURjo6c3dpdGNo
T24obV9saW5lLm1fcGF0aFZhcmlhbnQsIFtdKGF1dG8mIHBhdGgpIC0+IFJ1bkl0ZXJhdG9yIHsK
KyAgICAgICAgcmV0dXJuIHsgcGF0aC5sb2dpY2FsRW5kUnVuV2l0aE5vZGUoKSB9OworICAgIH0p
OworfQorCisKIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaAppbmRleCA0
NWQ5Y2M5YWM2YmUuLjc4ZTY1ZGQ3ZTI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJh
dG9yLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExh
eW91dEludGVncmF0aW9uIHsKIAogY2xhc3MgTGluZUl0ZXJhdG9yOworY2xhc3MgTGluZVJ1bkl0
ZXJhdG9yOwogY2xhc3MgUGF0aEl0ZXJhdG9yOwogCiBzdHJ1Y3QgRW5kTGluZUl0ZXJhdG9yIHsg
fTsKQEAgLTg2LDYgKzg3LDExIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgYXRFbmQoKSBjb25zdDsK
IAorICAgIExpbmVSdW5JdGVyYXRvciBmaXJzdFJ1bigpIGNvbnN0OworICAgIExpbmVSdW5JdGVy
YXRvciBsYXN0UnVuKCkgY29uc3Q7CisgICAgTGluZVJ1bkl0ZXJhdG9yIGxvZ2ljYWxTdGFydFJ1
bldpdGhOb2RlKCkgY29uc3Q7CisgICAgTGluZVJ1bkl0ZXJhdG9yIGxvZ2ljYWxFbmRSdW5XaXRo
Tm9kZSgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIFBhdGhMaW5lIG1fbGluZTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmgKaW5kZXggYTdi
NGFiMjA2NDE5Li42YzU2OWU3MjIyYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lSXRlcmF0b3JMZWdhY3lQYXRoLmgKQEAgLTY0LDYgKzY0LDMwIEBAIHB1YmxpYzoKICAgICBi
b29sIGF0RW5kKCkgY29uc3QgeyByZXR1cm4gIW1fcm9vdElubGluZUJveDsgfQogICAgIHZvaWQg
c2V0QXRFbmQoKSB7IG1fcm9vdElubGluZUJveCA9IG51bGxwdHI7IH0KIAorICAgIFJ1bkl0ZXJh
dG9yTGVnYWN5UGF0aCBmaXJzdFJ1bigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4geyBt
X3Jvb3RJbmxpbmVCb3gtPmZpcnN0TGVhZkRlc2NlbmRhbnQoKSB9OworICAgIH0KKworICAgIFJ1
bkl0ZXJhdG9yTGVnYWN5UGF0aCBsYXN0UnVuKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biB7IG1fcm9vdElubGluZUJveC0+bGFzdExlYWZEZXNjZW5kYW50KCkgfTsKKyAgICB9CisKKyAg
ICBSdW5JdGVyYXRvckxlZ2FjeVBhdGggbG9naWNhbFN0YXJ0UnVuV2l0aE5vZGUoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgSW5saW5lQm94KiBib3ggPSBudWxscHRyOworICAgICAgICBtX3Jvb3RJ
bmxpbmVCb3gtPmdldExvZ2ljYWxTdGFydEJveFdpdGhOb2RlKGJveCk7CisgICAgICAgIHJldHVy
biB7IGJveCB9OworICAgIH0KKworICAgIFJ1bkl0ZXJhdG9yTGVnYWN5UGF0aCBsb2dpY2FsRW5k
UnVuV2l0aE5vZGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgSW5saW5lQm94KiBib3ggPSBudWxs
cHRyOworICAgICAgICBtX3Jvb3RJbmxpbmVCb3gtPmdldExvZ2ljYWxFbmRCb3hXaXRoTm9kZShi
b3gpOworICAgICAgICByZXR1cm4geyBib3ggfTsKKyAgICB9CisKIHByaXZhdGU6CiAKICAgICBj
b25zdCBSb290SW5saW5lQm94KiBtX3Jvb3RJbmxpbmVCb3g7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JN
b2Rlcm5QYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmgKaW5kZXggYTg2YmUyNWM5YmE5Li41OTBj
ZGUwZmEzNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rl
cm5QYXRoLmgKQEAgLTM0LDYgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3Bh
Y2UgTGF5b3V0SW50ZWdyYXRpb24gewogCitjbGFzcyBSdW5JdGVyYXRvck1vZGVyblBhdGg7CisK
IGNsYXNzIExpbmVJdGVyYXRvck1vZGVyblBhdGggewogcHVibGljOgogICAgIExpbmVJdGVyYXRv
ck1vZGVyblBhdGgoY29uc3QgSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudCwgc2l6ZV90IGxp
bmVJbmRleCkKQEAgLTc3LDYgKzc5LDQ1IEBAIHB1YmxpYzoKICAgICBib29sIGF0RW5kKCkgY29u
c3QgeyByZXR1cm4gbV9saW5lSW5kZXggPT0gbGluZXMoKS5zaXplKCk7IH0KICAgICB2b2lkIHNl
dEF0RW5kKCkgeyBtX2xpbmVJbmRleCA9IGxpbmVzKCkuc2l6ZSgpOyB9CiAKKyAgICBSdW5JdGVy
YXRvck1vZGVyblBhdGggZmlyc3RSdW4oKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKCFsaW5l
KCkucnVuQ291bnQoKSkKKyAgICAgICAgICAgIHJldHVybiB7ICptX2lubGluZUNvbnRlbnQgfTsK
KyAgICAgICAgcmV0dXJuIHsgKm1faW5saW5lQ29udGVudCwgbGluZSgpLmZpcnN0UnVuSW5kZXgo
KSB9OworICAgIH0KKworICAgIFJ1bkl0ZXJhdG9yTW9kZXJuUGF0aCBsYXN0UnVuKCkgY29uc3QK
KyAgICB7CisgICAgICAgIGF1dG8gcnVuQ291bnQgPSBsaW5lKCkucnVuQ291bnQoKTsKKyAgICAg
ICAgaWYgKCFydW5Db3VudCkKKyAgICAgICAgICAgIHJldHVybiB7ICptX2lubGluZUNvbnRlbnQg
fTsKKyAgICAgICAgcmV0dXJuIHsgKm1faW5saW5lQ29udGVudCwgbGluZSgpLmZpcnN0UnVuSW5k
ZXgoKSArIHJ1bkNvdW50IC0gMSB9OworICAgIH0KKworICAgIFJ1bkl0ZXJhdG9yTW9kZXJuUGF0
aCBsb2dpY2FsU3RhcnRSdW5XaXRoTm9kZSgpIGNvbnN0CisgICAgeworICAgICAgICBhdXRvIHN0
YXJ0SW5kZXggPSBsaW5lKCkuZmlyc3RSdW5JbmRleCgpOworICAgICAgICBhdXRvIGVuZEluZGV4
ID0gc3RhcnRJbmRleCArIGxpbmUoKS5ydW5Db3VudCgpOworICAgICAgICBmb3IgKGF1dG8gcnVu
SW5kZXggPSBzdGFydEluZGV4OyBydW5JbmRleCA8IGVuZEluZGV4OyArK3J1bkluZGV4KSB7Cisg
ICAgICAgICAgICBhdXRvJiByZW5kZXJlciA9ICptX2lubGluZUNvbnRlbnQtPnJlbmRlcmVyRm9y
TGF5b3V0Qm94KG1faW5saW5lQ29udGVudC0+cnVuc1tydW5JbmRleF0ubGF5b3V0Qm94KCkpOwor
ICAgICAgICAgICAgaWYgKHJlbmRlcmVyLm5vZGUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
eyAqbV9pbmxpbmVDb250ZW50LCBydW5JbmRleCB9OworICAgICAgICB9CisgICAgICAgIHJldHVy
biB7ICptX2lubGluZUNvbnRlbnQgfTsKKyAgICB9CisKKyAgICBSdW5JdGVyYXRvck1vZGVyblBh
dGggbG9naWNhbEVuZFJ1bldpdGhOb2RlKCkgY29uc3QKKyAgICB7CisgICAgICAgIGF1dG8gc3Rh
cnRJbmRleCA9IGxpbmUoKS5maXJzdFJ1bkluZGV4KCk7CisgICAgICAgIGF1dG8gZW5kSW5kZXgg
PSBzdGFydEluZGV4ICsgbGluZSgpLnJ1bkNvdW50KCk7CisgICAgICAgIGZvciAoYXV0byBydW5J
bmRleCA9IGVuZEluZGV4OyBydW5JbmRleC0tID4gc3RhcnRJbmRleDspIHsKKyAgICAgICAgICAg
IGF1dG8mIHJlbmRlcmVyID0gKm1faW5saW5lQ29udGVudC0+cmVuZGVyZXJGb3JMYXlvdXRCb3go
bV9pbmxpbmVDb250ZW50LT5ydW5zW3J1bkluZGV4XS5sYXlvdXRCb3goKSk7CisgICAgICAgICAg
ICBpZiAocmVuZGVyZXIubm9kZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiB7ICptX2lubGlu
ZUNvbnRlbnQsIHJ1bkluZGV4IH07CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHsgKm1faW5s
aW5lQ29udGVudCB9OworICAgIH0KKwogcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVDb250ZW50
OjpMaW5lcyYgbGluZXMoKSBjb25zdCB7IHJldHVybiBtX2lubGluZUNvbnRlbnQtPmxpbmVzOyB9
CiAgICAgY29uc3QgTGluZSYgbGluZSgpIGNvbnN0IHsgcmV0dXJuIGxpbmVzKClbbV9saW5lSW5k
ZXhdOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCmluZGV4IDEwZjU2NzM5NWJi
Ni4uYTg0YTFhZTY5MTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApAQCAt
MTcwLDEzICsxNzAsMTUgQEAgdm9pZCBMaW5lTGF5b3V0Ojpjb25zdHJ1Y3RDb250ZW50KCkKICAg
ICAgICAgICAgIGF1dG8gb3ZlcmZsb3dIZWlnaHQgPSBzdGQ6Om1heChsaW5lLmxvZ2ljYWxIZWln
aHQoKSwgbGluZUJveExvZ2ljYWxCb3R0b20pOwogICAgICAgICAgICAgYXV0byBzY3JvbGxhYmxl
T3ZlcmZsb3dSZWN0ID0gRmxvYXRSZWN0IHsgbGluZS5sb2dpY2FsTGVmdCgpLCBsaW5lLmxvZ2lj
YWxUb3AoKSwgb3ZlcmZsb3dXaWR0aCwgb3ZlcmZsb3dIZWlnaHQgfTsKIAorICAgICAgICAgICAg
YXV0byBmaXJzdFJ1bkluZGV4ID0gcnVuSW5kZXg7CiAgICAgICAgICAgICBhdXRvIGxpbmVJbmtP
dmVyZmxvd1JlY3QgPSBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0OwogICAgICAgICAgICAgd2hpbGUg
KHJ1bkluZGV4IDwgcnVucy5zaXplKCkgJiYgcnVuc1tydW5JbmRleF0ubGluZUluZGV4KCkgPT0g
bGluZUluZGV4KQogICAgICAgICAgICAgICAgIGxpbmVJbmtPdmVyZmxvd1JlY3QudW5pdGUocnVu
c1tydW5JbmRleCsrXS5pbmtPdmVyZmxvdygpKTsKKyAgICAgICAgICAgIGF1dG8gcnVuQ291bnQg
PSBydW5JbmRleCAtIGZpcnN0UnVuSW5kZXg7CiAgICAgICAgICAgICBhdXRvIGxpbmVSZWN0ID0g
RmxvYXRSZWN0IHsgbGluZS5sb2dpY2FsUmVjdCgpIH07CiAgICAgICAgICAgICAvLyBQYWludGlu
ZyBjb2RlIChzcGVjaWZpY2FsbHkgVGV4dFJ1bidzIHhQb3MpIG5lZWRzIHRoZSBsaW5lIGJveCBv
ZmZzZXQgdG8gYmUgYWJsZSB0byBjb21wdXRlIHRhYiBwb3NpdGlvbnMuCiAgICAgICAgICAgICBs
aW5lUmVjdC5zZXRYKGxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCkpOwotICAgICAgICAgICAgZGlz
cGxheUlubGluZUNvbnRlbnQubGluZXMuYXBwZW5kKHsgbGluZVJlY3QsIHNjcm9sbGFibGVPdmVy
Zmxvd1JlY3QsIGxpbmVJbmtPdmVyZmxvd1JlY3QsIGxpbmUuYmFzZWxpbmUoKSwgbGluZS5ob3Jp
em9udGFsQWxpZ25tZW50T2Zmc2V0KCkgfSk7CisgICAgICAgICAgICBkaXNwbGF5SW5saW5lQ29u
dGVudC5saW5lcy5hcHBlbmQoeyBmaXJzdFJ1bkluZGV4LCBydW5Db3VudCwgbGluZVJlY3QsIHNj
cm9sbGFibGVPdmVyZmxvd1JlY3QsIGxpbmVJbmtPdmVyZmxvd1JlY3QsIGxpbmUuYmFzZWxpbmUo
KSwgbGluZS5ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KCkgfSk7CiAgICAgICAgIH0KICAgICB9
OwogICAgIGNvbnN0cnVjdERpc3BsYXlMaW5lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRp
b24uY3BwCmluZGV4IDE0Y2RmNTk3NGQ0Ny4uODdlNDllZjAyNWNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25QYWdpbmF0aW9uLmNwcApAQCAtMTI3LDYgKzEyNyw4IEBAIHN0YXRpYyBSZWY8SW5saW5l
Q29udGVudD4gbWFrZUFkanVzdGVkQ29udGVudChjb25zdCBJbmxpbmVDb250ZW50JiBpbmxpbmVD
b250ZW50CiAgICAgYXV0byBhZGp1c3RlZExpbmUgPSBbJl0oY29uc3QgTGluZSYgbGluZSwgZmxv
YXQgb2Zmc2V0KQogICAgIHsKICAgICAgICAgcmV0dXJuIExpbmUgeworICAgICAgICAgICAgbGlu
ZS5maXJzdFJ1bkluZGV4KCksCisgICAgICAgICAgICBsaW5lLnJ1bkNvdW50KCksCiAgICAgICAg
ICAgICBtb3ZlVmVydGljYWxseShsaW5lLnJlY3QoKSwgb2Zmc2V0KSwKICAgICAgICAgICAgIG1v
dmVWZXJ0aWNhbGx5KGxpbmUuc2Nyb2xsYWJsZU92ZXJmbG93KCksIG9mZnNldCksCiAgICAgICAg
ICAgICBtb3ZlVmVydGljYWxseShsaW5lLmlua092ZXJmbG93KCksIG9mZnNldCksCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25S
dW5JdGVyYXRvck1vZGVyblBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCmluZGV4IGFjMTEwNTQ5
MmEwNS4uMzI5YTM5MjZkM2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVy
YXRvck1vZGVyblBhdGguaApAQCAtNDEsMTEgKzQxLDE1IEBAIGlubGluZSBGbG9hdFJlY3QgdmVy
dGljYWxseVJvdW5kZWRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIAogY2xhc3MgUnVuSXRl
cmF0b3JNb2Rlcm5QYXRoIHsKIHB1YmxpYzoKKyAgICBSdW5JdGVyYXRvck1vZGVyblBhdGgoY29u
c3QgSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudCkKKyAgICAgICAgOiBtX2lubGluZUNvbnRl
bnQoJmlubGluZUNvbnRlbnQpCisgICAgeworICAgICAgICBzZXRBdEVuZCgpOworICAgIH0KICAg
ICBSdW5JdGVyYXRvck1vZGVyblBhdGgoY29uc3QgSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVu
dCwgc2l6ZV90IHN0YXJ0SW5kZXgpCiAgICAgICAgIDogbV9pbmxpbmVDb250ZW50KCZpbmxpbmVD
b250ZW50KQogICAgICAgICAsIG1fcnVuSW5kZXgoc3RhcnRJbmRleCkKICAgICB7Ci0KICAgICB9
CiAKICAgICBib29sIGlzVGV4dCgpIGNvbnN0IHsgcmV0dXJuICEhcnVuKCkudGV4dENvbnRlbnQo
KTsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>