<?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>182862</bug_id>
          
          <creation_ts>2018-02-15 22:09:56 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] Move RenderBlock/RenderBlockFlow::addChild() to RenderTreeBuilder</short_desc>
          <delta_ts>2018-02-16 07:13:38 -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>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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</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>1399788</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-02-15 22:09:56 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399789</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-15 22:10:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/37595464&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399792</commentid>
    <comment_count>2</comment_count>
      <attachid>334002</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-15 22:26:33 -0800</bug_when>
    <thetext>Created attachment 334002
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399883</commentid>
    <comment_count>3</comment_count>
      <attachid>334002</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 07:13:36 -0800</bug_when>
    <thetext>Comment on attachment 334002
Patch

Clearing flags on attachment: 334002

Committed r228559: &lt;https://trac.webkit.org/changeset/228559&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399884</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 07:13:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334002</attachid>
            <date>2018-02-15 22:26:33 -0800</date>
            <delta_ts>2018-02-16 07:13:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182862-20180215222633.patch</filename>
            <type>text/plain</type>
            <size>20821</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTlkZDFkZjhlNzJhNzVh
YmJmN2YxZTU1ZDIxYzhiM2U2MjQzNzc0Zi4uOTBjNGRkNzcyYzM1OGQ3NTRmMDljYzZlYjE2MmRj
ZDk2YTA0OTQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE4LTAyLTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlckJsb2NrL1JlbmRlckJsb2NrRmxvdzo6YWRkQ2hpbGQoKSB0byBSZW5kZXJU
cmVlQnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgyODYyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNzU5NTQ2ND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rp
b25hbGl0eS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkQ2hpbGQpOiBEZWxldGVkLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zs
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphZGRDaGlsZCk6IERl
bGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAq
IHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0Q2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9SZW5kZXJCbG9jayk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0Q2hpbGRUb1JlbmRlckJs
b2NrRmxvdyk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpC
bG9ja0Zsb3c6Omluc2VydENoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VHJlZUJ1aWxkZXI6OkZvcm1Db250cm9sczo6ZmluZE9yQ3JlYXRlUGFyZW50Rm9yQ2hpbGQpOgor
ICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlck1hdGhNTC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TWF0aE1MOjptYWtlRmVuY2Vz
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpNYXRoTUw6Omluc2VydENo
aWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJNdWx0
aUNvbHVtbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlD
b2x1bW46OmNyZWF0ZUZyYWdtZW50ZWRGbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRy
ZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6cHJvY2Vzc1Bvc3NpYmxlU3Bhbm5lckRlc2NlbmRhbnQp
OgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclJ1YnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OlJ1Ynk6Omluc2VydENoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpSdWJ5OjpmaW5kT3JDcmVh
dGVQYXJlbnRGb3JDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6
UnVieTo6cnVieUJhc2VTYWZlKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJTVkcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6
OlNWRzo6aW5zZXJ0Q2hpbGQpOgorCiAyMDE4LTAyLTE1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVyXSBwYXJlbnQuUmVuZGVyKjo6
YWRkQ2hpbGQoKSBjbGVhbnVwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cAppbmRleCAzODhlYTQ1OTc0NmJjZTdhMDdmYzM3NjU5OGQ3MjNlMzAyODQ0YjNhLi4wMDk1NDc2
ZTlkZWQxZjA1NzI2NTY0NGM4YWUzM2Q1MWIxYzM1OGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTQ2NiwxMSArNDY2LDYgQEAgUmVuZGVyUHRyPFJlbmRl
ckJsb2NrPiBSZW5kZXJCbG9jazo6Y2xvbmUoKSBjb25zdAogICAgIHJldHVybiBjbG9uZUJsb2Nr
OwogfQogCi12b2lkIFJlbmRlckJsb2NrOjphZGRDaGlsZChSZW5kZXJUcmVlQnVpbGRlciYgYnVp
bGRlciwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVm
b3JlQ2hpbGQpCi17Ci0gICAgYnVpbGRlci5pbnNlcnRDaGlsZFRvUmVuZGVyQmxvY2soKnRoaXMs
IFdURk1vdmUobmV3Q2hpbGQpLCBiZWZvcmVDaGlsZCk7Ci19Ci0KIHZvaWQgUmVuZGVyQmxvY2s6
OmFkZENoaWxkSWdub3JpbmdDb250aW51YXRpb24oUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIs
IFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNo
aWxkKQogewogICAgIGJ1aWxkZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckJsb2NrSWdub3JpbmdDb250
aW51YXRpb24oKnRoaXMsIFdURk1vdmUobmV3Q2hpbGQpLCBiZWZvcmVDaGlsZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDE0Y2ExNGFhMjc5MzA5NGE3NzE2ZDlk
MmVlNDMyNzI2NDQwNmYyODQuLjUzMzI5Mzc0MTY5OTFhOTBmODc1YTBiZjAyYjQ2NjYxZTRkZDlk
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC03Myw4ICs3Myw2
IEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRS1CTE9DS0ZMT1c6IFJlbW92ZSB2aXJ0dWFsaXphaW9u
IHdoZW4gYWxsIGNhbGxlcnMgaGF2ZSBtb3ZlZCB0byBSZW5kZXJCbG9ja0Zsb3cKICAgICB2aXJ0
dWFsIHZvaWQgZGVsZXRlTGluZXMoKTsKIAotICAgIHZvaWQgYWRkQ2hpbGQoUmVuZGVyVHJlZUJ1
aWxkZXImLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBi
ZWZvcmVDaGlsZCA9IDApIG92ZXJyaWRlOwotCiAgICAgdmlydHVhbCB2b2lkIGxheW91dEJsb2Nr
KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCBwYWdlTG9naWNhbEhlaWdodCA9IDAp
OwogCiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVMaW5lTGF5b3V0UGF0aCgpIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA4YThkYmY0
NWUyNjZmMTRkNWRmNzJkYzdiNGQ5ZGIzNTZhN2M2MzdmLi4yMjE0NDgyZTk3MmYxN2Q1YmMwMTBj
MGNkMWMzYWQ2Yzc5N2ZkMjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmNwcApAQCAtMzg0NCwxMSArMzg0NCw2IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjpsYXlvdXRFeGNsdWRlZENoaWxkcmVuKGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKICAgICBmcmFn
bWVudGVkRmxvdy0+bGF5b3V0Rmxvd0V4Y2x1ZGVkT2JqZWN0cyhyZWxheW91dENoaWxkcmVuKTsK
IH0KIAotdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFkZENoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiBi
dWlsZGVyLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBi
ZWZvcmVDaGlsZCkKLXsKLSAgICBidWlsZGVyLmluc2VydENoaWxkVG9SZW5kZXJCbG9ja0Zsb3co
KnRoaXMsIFdURk1vdmUobmV3Q2hpbGQpLCBiZWZvcmVDaGlsZCk7Ci19Ci0KIHZvaWQgUmVuZGVy
QmxvY2tGbG93OjpjaGVja0ZvclBhZ2luYXRpb25Mb2dpY2FsSGVpZ2h0Q2hhbmdlKGJvb2wmIHJl
bGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHBhZ2VMb2dpY2FsSGVpZ2h0LCBib29sJiBwYWdl
TG9naWNhbEhlaWdodENoYW5nZWQpCiB7CiAgICAgLy8gSWYgd2UgZG9uJ3QgdXNlIGNvbHVtbnMg
b3IgZmxvdyB0aHJlYWRzLCB0aGVuIGJhaWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93LmgKaW5kZXggOTA5Y2MxMWJkNTg3NWY3ZjQyMjM1MjkxNjk3MTUzYjBhN2Uw
YmE1Zi4uNDBkZTkyODk5ODdiMTMxZWRiOGYwNjViYTBiNWE0MTk2ZDRmMWUyMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtMzc4LDggKzM3OCw2IEBA
IHB1YmxpYzoKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRGb3JDaGlsZEZvckZyYWdtZW50
YXRpb24oY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3Q7CiAgICAgYm9vbCBoYXNOZXh0UGFn
ZShMYXlvdXRVbml0IGxvZ2ljYWxPZmZzZXQsIFBhZ2VCb3VuZGFyeVJ1bGUgPSBFeGNsdWRlUGFn
ZUJvdW5kYXJ5KSBjb25zdDsKIAotICAgIHZvaWQgYWRkQ2hpbGQoUmVuZGVyVHJlZUJ1aWxkZXIm
LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVD
aGlsZCA9IDApIG92ZXJyaWRlOwotCiAgICAgdm9pZCB1cGRhdGVDb2x1bW5Qcm9ncmVzc2lvbkZy
b21TdHlsZShSZW5kZXJTdHlsZSYpOwogICAgIHZvaWQgdXBkYXRlU3R5bGVzRm9yQ29sdW1uQ2hp
bGRyZW4oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKaW5kZXggZmZkZjZhMGMyZjc5NzM4NThlZjNhYmNmMGZj
NDJjZmI0NGJiNTMzNi4uNjUzYzY2NWFiMjY3MWY5MGJjYmM0Zjk2ZDc0MDZjMWFmNDMzZWZhOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNiArMjQwLDE2IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxk
ZXI6Omluc2VydENoaWxkKFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9i
amVjCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoaXM8UmVuZGVyQmxvY2tGbG93
PihwYXJlbnQpKSB7CisgICAgICAgIGJsb2NrRmxvd0J1aWxkZXIoKS5pbnNlcnRDaGlsZChkb3du
Y2FzdDxSZW5kZXJCbG9ja0Zsb3c+KHBhcmVudCksIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGls
ZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoaXM8UmVuZGVyQmxvY2s+KHBh
cmVudCkpIHsKKyAgICAgICAgYmxvY2tCdWlsZGVyKCkuaW5zZXJ0Q2hpbGQoZG93bmNhc3Q8UmVu
ZGVyQmxvY2s+KHBhcmVudCksIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKICAgICBpZiAoaXM8UmVuZGVySW5saW5lPihwYXJlbnQpKSB7CiAg
ICAgICAgIGlubGluZUJ1aWxkZXIoKS5pbnNlcnRDaGlsZChkb3duY2FzdDxSZW5kZXJJbmxpbmU+
KHBhcmVudCksIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiAgICAgICAgIHJldHVybjsK
QEAgLTMxMywxMSArMzIzLDYgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0Q2hpbGRU
b1JlbmRlckVsZW1lbnQoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXIKICAgICBwYXJlbnQu
UmVuZGVyRWxlbWVudDo6aW5zZXJ0Q2hpbGRJbnRlcm5hbChXVEZNb3ZlKGNoaWxkKSwgYmVmb3Jl
Q2hpbGQpOwogfQogCi12b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRvUmVuZGVy
QmxvY2soUmVuZGVyQmxvY2smIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQs
IFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCi17Ci0gICAgYmxvY2tCdWlsZGVyKCkuaW5zZXJ0
Q2hpbGQocGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwotfQotCiB2b2lkIFJl
bmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRvUmVuZGVyQmxvY2tJZ25vcmluZ0NvbnRpbnVh
dGlvbihSZW5kZXJCbG9jayYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwg
UmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKIHsKICAgICBibG9ja0J1aWxkZXIoKS5pbnNlcnRD
aGlsZElnbm9yaW5nQ29udGludWF0aW9uKHBhcmVudCwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNo
aWxkKTsKQEAgLTUxMywxMSArNTE4LDYgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0
Q2hpbGRUb1JlbmRlcklubGluZUlnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlcklubGkKICAgICBp
bmxpbmVCdWlsZGVyKCkuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihwYXJlbnQsIFdU
Rk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiB9CiAKLXZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6
Omluc2VydENoaWxkVG9SZW5kZXJCbG9ja0Zsb3coUmVuZGVyQmxvY2tGbG93JiBwYXJlbnQsIFJl
bmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQot
ewotICAgIGJsb2NrRmxvd0J1aWxkZXIoKS5pbnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUoY2hp
bGQpLCBiZWZvcmVDaGlsZCk7Ci19Ci0KIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OnVwZGF0ZUFm
dGVyRGVzY2VuZGFudHMoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7CiAgICAgaWYgKGlzPFJl
bmRlckJsb2NrPihyZW5kZXJlcikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5oCmluZGV4IGJkYTA2ODRkZWI5M2UzYWQ3YTUx
MTg2OTQxNmE1ZTM2N2Y3ZmQ4ZTQuLjI1NjJhYjc2ZDM3YTFmM2VhY2I4ODIyZTRjZWZkYjRjOWVm
Zjc5MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlQnVpbGRlci5oCkBAIC02NCw5ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFRo
ZXNlIGZ1bmN0aW9ucyBhcmUgdGVtcG9yYXJ5IHVudGlsIGFmdGVyIGFsbCBibG9jay9pbmxpbmUv
Y29udGludWF0aW9uIGNvZGUgaXMgbW92ZWQgb3Zlci4KICAgICB2b2lkIGluc2VydENoaWxkVG9S
ZW5kZXJFbGVtZW50KFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVj
dD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQgPSBudWxscHRyKTsKLSAgICB2b2lk
IGluc2VydENoaWxkVG9SZW5kZXJCbG9jayhSZW5kZXJCbG9jayYgcGFyZW50LCBSZW5kZXJQdHI8
UmVuZGVyT2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpOwogICAg
IHZvaWQgaW5zZXJ0Q2hpbGRUb1JlbmRlckJsb2NrSWdub3JpbmdDb250aW51YXRpb24oUmVuZGVy
QmxvY2smIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4sIFJlbmRlck9iamVjdCogYmVm
b3JlQ2hpbGQgPSBudWxscHRyKTsKLSAgICB2b2lkIGluc2VydENoaWxkVG9SZW5kZXJCbG9ja0Zs
b3coUmVuZGVyQmxvY2tGbG93JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5k
ZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gbnVsbHB0cik7CiAgICAgdm9pZCBpbnNlcnRDaGlsZFRv
UmVuZGVySW5saW5lSWdub3JpbmdDb250aW51YXRpb24oUmVuZGVySW5saW5lJiBwYXJlbnQsIFJl
bmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gbnVsbHB0
cik7CiAKICAgICBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiB0YWtlQ2hpbGRGcm9tUmVuZGVyRWxl
bWVudChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlck9iamVjdCYgY2hpbGQpIFdBUk5fVU5V
U0VEX1JFVFVSTjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDEyNWNmOWRl
MWVlMmM0ODIzMDY4Y2M4MThhNGY5MzZiMDIwODljMGQuLjdkY2UwZGExYzgzMzVjODE3MTVkNzA1
NTJlYmJhZGEzMGM4OTIxYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2tGbG93LmNwcApAQCAt
NDIsNyArNDIsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpCbG9ja0Zsb3c6Omluc2VydENo
aWxkKFJlbmRlckJsb2NrRmxvdyYgcGFyZW50LCBSZW5kZXJQdAogICAgIGF1dG8qIGJlZm9yZUNo
aWxkT3JQbGFjZWhvbGRlciA9IGJlZm9yZUNoaWxkOwogICAgIGlmIChhdXRvKiBjb250YWluaW5n
RnJhZ21lbnRlZEZsb3cgPSBwYXJlbnQuZW5jbG9zaW5nRnJhZ21lbnRlZEZsb3coKSkKICAgICAg
ICAgYmVmb3JlQ2hpbGRPclBsYWNlaG9sZGVyID0gbV9idWlsZGVyLm11bHRpQ29sdW1uQnVpbGRl
cigpLnJlc29sdmVNb3ZlZENoaWxkKCpjb250YWluaW5nRnJhZ21lbnRlZEZsb3csIGJlZm9yZUNo
aWxkKTsKLSAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckJsb2NrKHBhcmVudCwgV1RG
TW92ZShjaGlsZCksIGJlZm9yZUNoaWxkT3JQbGFjZWhvbGRlcik7CisgICAgbV9idWlsZGVyLmJs
b2NrQnVpbGRlcigpLmluc2VydENoaWxkKHBhcmVudCwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNo
aWxkT3JQbGFjZWhvbGRlcik7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZvcm1Db250cm9scy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJv
bHMuY3BwCmluZGV4IDc1MTQ4MzRmZGExZDc5ZmViYjc1YTkxNTJlZjllMDMxMTRlZTFlMDguLjhl
MzAwNTg0ZjJkYzlkZGFjZmJmMTQ0OGMzNjFiYmY1MTE1ZmEwZTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZvcm1Db250cm9s
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyRm9ybUNvbnRyb2xzLmNwcApAQCAtNTYsNyArNTYsNyBAQCBSZW5kZXJCbG9jayYgUmVu
ZGVyVHJlZUJ1aWxkZXI6OkZvcm1Db250cm9sczo6ZmluZE9yQ3JlYXRlUGFyZW50Rm9yQ2hpbGQo
UmVuZGVyQgogCiAgICAgYXV0byB3cmFwcGVyID0gcGFyZW50LmNyZWF0ZUFub255bW91c0Jsb2Nr
KHBhcmVudC5zdHlsZSgpLmRpc3BsYXkoKSk7CiAgICAgaW5uZXJSZW5kZXJlciA9IHdyYXBwZXIu
Z2V0KCk7Ci0gICAgcGFyZW50LlJlbmRlckJsb2NrOjphZGRDaGlsZChtX2J1aWxkZXIsIFdURk1v
dmUod3JhcHBlcikpOworICAgIG1fYnVpbGRlci5ibG9ja0J1aWxkZXIoKS5pbnNlcnRDaGlsZChw
YXJlbnQsIFdURk1vdmUod3JhcHBlciksIG51bGxwdHIpOwogICAgIHBhcmVudC5zZXRJbm5lclJl
bmRlcmVyKCppbm5lclJlbmRlcmVyKTsKICAgICByZXR1cm4gKmlubmVyUmVuZGVyZXI7CiB9CkBA
IC02OSw3ICs2OSw3IEBAIFJlbmRlckJsb2NrJiBSZW5kZXJUcmVlQnVpbGRlcjo6Rm9ybUNvbnRy
b2xzOjpmaW5kT3JDcmVhdGVQYXJlbnRGb3JDaGlsZChSZW5kZXJNCiAKICAgICBhdXRvIHdyYXBw
ZXIgPSBwYXJlbnQuY3JlYXRlQW5vbnltb3VzQmxvY2soKTsKICAgICBpbm5lclJlbmRlcmVyID0g
d3JhcHBlci5nZXQoKTsKLSAgICBwYXJlbnQuUmVuZGVyQmxvY2s6OmFkZENoaWxkKG1fYnVpbGRl
ciwgV1RGTW92ZSh3cmFwcGVyKSk7CisgICAgbV9idWlsZGVyLmJsb2NrQnVpbGRlcigpLmluc2Vy
dENoaWxkKHBhcmVudCwgV1RGTW92ZSh3cmFwcGVyKSwgbnVsbHB0cik7CiAgICAgcGFyZW50LnNl
dElubmVyUmVuZGVyZXIoKmlubmVyUmVuZGVyZXIpOwogICAgIHJldHVybiAqaW5uZXJSZW5kZXJl
cjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlck1hdGhNTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZUJ1aWxkZXJNYXRoTUwuY3BwCmluZGV4IDg0ZTZkMDc2OTU0YzQ3MGYyZGRi
MjMyMWFmMTI3YjkxNmRiYTIxYzMuLjFjYTRlMzk1MTdkYzZhZDJlYmNkYTQzOWVlN2VlZDg3NDVh
MmViYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlck1hdGhNTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTWF0aE1MLmNwcApAQCAtNDcsMTEgKzQ3LDExIEBAIFJl
bmRlclB0cjxSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvcj4gUmVuZGVyVHJlZUJ1aWxkZXI6Ok1h
dGhNTDo6Y3JlYXRlTWF0aE1MT3BlCiB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpNYXRoTUw6Om1h
a2VGZW5jZXMoUmVuZGVyTWF0aE1MRmVuY2VkJiBwYXJlbnQpCiB7CiAgICAgYXV0byBvcGVuRmVu
Y2UgPSBjcmVhdGVNYXRoTUxPcGVyYXRvcihwYXJlbnQsIHBhcmVudC5vcGVuaW5nQnJhY2UoKSwg
TWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpQcmVmaXgsIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFy
eTo6RmVuY2UpOwotICAgIHBhcmVudC5SZW5kZXJCbG9jazo6YWRkQ2hpbGQobV9idWlsZGVyLCBX
VEZNb3ZlKG9wZW5GZW5jZSksIHBhcmVudC5maXJzdENoaWxkKCkpOworICAgIG1fYnVpbGRlci5i
bG9ja0J1aWxkZXIoKS5pbnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUob3BlbkZlbmNlKSwgcGFy
ZW50LmZpcnN0Q2hpbGQoKSk7CiAKICAgICBhdXRvIGNsb3NlRmVuY2UgPSBjcmVhdGVNYXRoTUxP
cGVyYXRvcihwYXJlbnQsIHBhcmVudC5jbG9zaW5nQnJhY2UoKSwgTWF0aE1MT3BlcmF0b3JEaWN0
aW9uYXJ5OjpQb3N0Zml4LCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZlbmNlKTsKICAgICBw
YXJlbnQuc2V0Q2xvc2VGZW5jZVJlbmRlcmVyKCpjbG9zZUZlbmNlKTsKLSAgICBwYXJlbnQuUmVu
ZGVyQmxvY2s6OmFkZENoaWxkKG1fYnVpbGRlciwgV1RGTW92ZShjbG9zZUZlbmNlKSk7CisgICAg
bV9idWlsZGVyLmJsb2NrQnVpbGRlcigpLmluc2VydENoaWxkKHBhcmVudCwgV1RGTW92ZShjbG9z
ZUZlbmNlKSwgbnVsbHB0cik7CiB9CiAKIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Ok1hdGhNTDo6
aW5zZXJ0Q2hpbGQoUmVuZGVyTWF0aE1MRmVuY2VkJiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJP
YmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQpAQCAtOTUsMTQgKzk1LDE0
IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Ok1hdGhNTDo6aW5zZXJ0Q2hpbGQoUmVuZGVyTWF0
aE1MRmVuY2VkJiBwYXJlbnQsIFJlbmRlclB0CiAKICAgICBpZiAoYmVmb3JlQ2hpbGQpIHsKICAg
ICAgICAgLy8gQWRkaW5nIHx4fCBiZWZvcmUgYW4gZXhpc3RpbmcgfHl8IGUuZy4gaW4gZWxlbWVu
dCAoeSkgLSBmaXJzdCBpbnNlcnQgb3VyIG5ldyBjaGlsZCB8eHwsIHRoZW4gaXRzIHNlcGFyYXRv
ciwgdG8gZ2V0ICh4LCB5KS4KLSAgICAgICAgcGFyZW50LlJlbmRlckJsb2NrOjphZGRDaGlsZCht
X2J1aWxkZXIsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgIG1fYnVpbGRl
ci5ibG9ja0J1aWxkZXIoKS5pbnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUoY2hpbGQpLCBiZWZv
cmVDaGlsZCk7CiAgICAgICAgIGlmIChzZXBhcmF0b3JSZW5kZXJlcikKLSAgICAgICAgICAgIHBh
cmVudC5SZW5kZXJNYXRoTUxSb3c6OmFkZENoaWxkKG1fYnVpbGRlciwgV1RGTW92ZShzZXBhcmF0
b3JSZW5kZXJlciksIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgICAgIG1fYnVpbGRlci5ibG9ja0J1
aWxkZXIoKS5pbnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUoc2VwYXJhdG9yUmVuZGVyZXIpLCBi
ZWZvcmVDaGlsZCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gQWRkaW5nIHx5fCBhdCB0aGUg
ZW5kIG9mIGFuIGV4aXN0aW5nIGVsZW1lbnQgZS5nLiAoeCkgLSBpbnNlcnQgdGhlIHNlcGFyYXRv
ciBmaXJzdCBiZWZvcmUgdGhlIGNsb3NpbmcgZmVuY2UsIHRoZW4gfHl8LCB0byBnZXQgKHgsIHkp
LgogICAgICAgICBpZiAoc2VwYXJhdG9yUmVuZGVyZXIpCi0gICAgICAgICAgICBwYXJlbnQuUmVu
ZGVyQmxvY2s6OmFkZENoaWxkKG1fYnVpbGRlciwgV1RGTW92ZShzZXBhcmF0b3JSZW5kZXJlciks
IHBhcmVudC5jbG9zZUZlbmNlUmVuZGVyZXIoKSk7Ci0gICAgICAgIHBhcmVudC5SZW5kZXJCbG9j
azo6YWRkQ2hpbGQobV9idWlsZGVyLCBXVEZNb3ZlKGNoaWxkKSwgcGFyZW50LmNsb3NlRmVuY2VS
ZW5kZXJlcigpKTsKKyAgICAgICAgICAgIG1fYnVpbGRlci5ibG9ja0J1aWxkZXIoKS5pbnNlcnRD
aGlsZChwYXJlbnQsIFdURk1vdmUoc2VwYXJhdG9yUmVuZGVyZXIpLCBwYXJlbnQuY2xvc2VGZW5j
ZVJlbmRlcmVyKCkpOworICAgICAgICBtX2J1aWxkZXIuYmxvY2tCdWlsZGVyKCkuaW5zZXJ0Q2hp
bGQocGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgcGFyZW50LmNsb3NlRmVuY2VSZW5kZXJlcigpKTsK
ICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmNwcAppbmRleCAwYjk1
NWNhYzRiMGYzNDQwY2ViZjk4YmU4ZjdlOWRlYWUzODliNWEyLi4xMmUyYzkxZWJjOTZmZDc5ZWQy
Yzc3OGFlNDQwYTQ4YjAzNmE0N2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4u
Y3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5TZXQuaCIK
ICNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlci5oIgogI2luY2x1
ZGUgIlJlbmRlclRyZWVCdWlsZGVyLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9j
ay5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE2OCw3ICsxNjksNyBAQCB2b2lkIFJl
bmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6Y3JlYXRlRnJhZ21lbnRlZEZsb3coUmVuZGVy
QmxvY2tGbG93JiBmbG93KQogICAgIGF1dG8gbmV3RnJhZ21lbnRlZEZsb3cgPSAhZmxvdy5zdHls
ZSgpLmhhc0xpbmVzQ2xhbXAoKSA/IFdlYkNvcmU6OmNyZWF0ZVJlbmRlcmVyPFJlbmRlck11bHRp
Q29sdW1uRmxvdz4oZmxvdy5kb2N1bWVudCgpLCBSZW5kZXJTdHlsZTo6Y3JlYXRlQW5vbnltb3Vz
U3R5bGVXaXRoRGlzcGxheShmbG93LnN0eWxlKCksIEJMT0NLKSkgOiAgV2ViQ29yZTo6Y3JlYXRl
UmVuZGVyZXI8UmVuZGVyTGluZXNDbGFtcEZsb3c+KGZsb3cuZG9jdW1lbnQoKSwgUmVuZGVyU3R5
bGU6OmNyZWF0ZUFub255bW91c1N0eWxlV2l0aERpc3BsYXkoZmxvdy5zdHlsZSgpLCBCTE9DSykp
OwogICAgIG5ld0ZyYWdtZW50ZWRGbG93LT5pbml0aWFsaXplU3R5bGUoKTsKICAgICBhdXRvJiBm
cmFnbWVudGVkRmxvdyA9ICpuZXdGcmFnbWVudGVkRmxvdzsKLSAgICBtX2J1aWxkZXIuaW5zZXJ0
Q2hpbGRUb1JlbmRlckJsb2NrKGZsb3csIFdURk1vdmUobmV3RnJhZ21lbnRlZEZsb3cpKTsKKyAg
ICBtX2J1aWxkZXIuYmxvY2tCdWlsZGVyKCkuaW5zZXJ0Q2hpbGQoZmxvdywgV1RGTW92ZShuZXdG
cmFnbWVudGVkRmxvdyksIG51bGxwdHIpOwogCiAgICAgLy8gUmVwYXJlbnQgY2hpbGRyZW4gcHJl
Y2VkaW5nIHRoZSBmcmFnbWVudGVkIGZsb3cgaW50byB0aGUgZnJhZ21lbnRlZCBmbG93LgogICAg
IGZsb3cubW92ZUNoaWxkcmVuVG8obV9idWlsZGVyLCAmZnJhZ21lbnRlZEZsb3csIGZsb3cuZmly
c3RDaGlsZCgpLCAmZnJhZ21lbnRlZEZsb3csIFJlbmRlckJveE1vZGVsT2JqZWN0OjpOb3JtYWxp
emVBZnRlckluc2VydGlvbjo6WWVzKTsKQEAgLTMxNyw3ICszMTgsNyBAQCBSZW5kZXJPYmplY3Qq
IFJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6cHJvY2Vzc1Bvc3NpYmxlU3Bhbm5lckRl
c2NlbmRhbnQoUgogCiAgICAgICAgIC8vIFRoaXMgaXMgYSBndWFyZCB0byBzdG9wIGFuIGFuY2Vz
dG9yIGZsb3cgdGhyZWFkIGZyb20gcHJvY2Vzc2luZyB0aGUgc3Bhbm5lci4KICAgICAgICAgZ1No
aWZ0aW5nU3Bhbm5lciA9IHRydWU7Ci0gICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZFRvUmVu
ZGVyQmxvY2soKm11bHRpY29sQ29udGFpbmVyLCBXVEZNb3ZlKHRha2VuRGVzY2VuZGFudCksIGlu
c2VydEJlZm9yZU11bHRpY29sQ2hpbGQpOworICAgICAgICBtX2J1aWxkZXIuYmxvY2tCdWlsZGVy
KCkuaW5zZXJ0Q2hpbGQoKm11bHRpY29sQ29udGFpbmVyLCBXVEZNb3ZlKHRha2VuRGVzY2VuZGFu
dCksIGluc2VydEJlZm9yZU11bHRpY29sQ2hpbGQpOwogICAgICAgICBnU2hpZnRpbmdTcGFubmVy
ID0gZmFsc2U7CiAKICAgICAgICAgLy8gVGhlIHNwYW5uZXIgaGFzIG5vdyBiZWVuIG1vdmVkIG91
dCBmcm9tIHRoZSBmbG93IHRocmVhZCwgYnV0IHdlIGRvbid0IHdhbnQgdG8KQEAgLTM1NCw3ICsz
NTUsNyBAQCBSZW5kZXJPYmplY3QqIFJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6cHJv
Y2Vzc1Bvc3NpYmxlU3Bhbm5lckRlc2NlbmRhbnQoUgogICAgIGF1dG8gbmV3U2V0ID0gZmxvdy5j
cmVhdGVNdWx0aUNvbHVtblNldChSZW5kZXJTdHlsZTo6Y3JlYXRlQW5vbnltb3VzU3R5bGVXaXRo
RGlzcGxheShtdWx0aWNvbENvbnRhaW5lci0+c3R5bGUoKSwgQkxPQ0spKTsKICAgICBuZXdTZXQt
PmluaXRpYWxpemVTdHlsZSgpOwogICAgIGF1dG8mIHNldCA9ICpuZXdTZXQ7Ci0gICAgbV9idWls
ZGVyLmluc2VydENoaWxkVG9SZW5kZXJCbG9jaygqbXVsdGljb2xDb250YWluZXIsIFdURk1vdmUo
bmV3U2V0KSwgaW5zZXJ0QmVmb3JlTXVsdGljb2xDaGlsZCk7CisgICAgbV9idWlsZGVyLmJsb2Nr
QnVpbGRlcigpLmluc2VydENoaWxkKCptdWx0aWNvbENvbnRhaW5lciwgV1RGTW92ZShuZXdTZXQp
LCBpbnNlcnRCZWZvcmVNdWx0aWNvbENoaWxkKTsKICAgICBmbG93LmludmFsaWRhdGVGcmFnbWVu
dHMoKTsKIAogICAgIC8vIFdlIGNhbm5vdCBoYW5kbGUgaW1tZWRpYXRlIGNvbHVtbiBzZXQgc2li
bGluZ3MgYXQgdGhlIG1vbWVudCAoYW5kIHRoZXJlJ3Mgbm8gbmVlZCBmb3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclJ1Ynku
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
UnVieS5jcHAKaW5kZXggZTc4OTRhZTIzMTBjNTQyOTAyNzgxYTM4ZTk3M2UzYjM1OGY5NDUxNi4u
YTU5ZjcwOTg1Mjc5M2EzYzdlYjFlNTgxNzc4MTIwYmQzZWFlNWUwNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
UnVieS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJSZW5kZXJSdWJ5UnVuLmgiCiAj
aW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXIuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRl
ckJsb2NrLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuaCIKICNpbmNs
dWRlICJSZW5kZXJUcmVlQnVpbGRlcklubGluZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xOTksNyArMjAwLDcgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6UnVieTo6aW5zZXJ0Q2hp
bGQoUmVuZGVyUnVieVJ1biYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGUKICAgICAgICAgICAgIC8v
IFJlbmRlclJ1YnkgaGFzIGFscmVhZHkgYXNjZXJ0YWluZWQgdGhhdCB3ZSBjYW4gYWRkIHRoZSBj
aGlsZCBoZXJlLgogICAgICAgICAgICAgQVNTRVJUKCFwYXJlbnQuaGFzUnVieVRleHQoKSk7CiAg
ICAgICAgICAgICAvLyBwcmVwZW5kIHJ1YnkgdGV4dHMgYXMgZmlyc3QgY2hpbGQKLSAgICAgICAg
ICAgIHBhcmVudC5hZGRDaGlsZChtX2J1aWxkZXIsIFdURk1vdmUoY2hpbGQpLCBwYXJlbnQuZmly
c3RDaGlsZCgpKTsKKyAgICAgICAgICAgIG1fYnVpbGRlci5ibG9ja0Zsb3dCdWlsZGVyKCkuaW5z
ZXJ0Q2hpbGQocGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgcGFyZW50LmZpcnN0Q2hpbGQoKSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgaWYgKGJlZm9yZUNoaWxkLT5p
c1J1YnlUZXh0KCkpIHsKQEAgLTIxNSw3ICsyMTYsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVy
OjpSdWJ5OjppbnNlcnRDaGlsZChSZW5kZXJSdWJ5UnVuJiBwYXJlbnQsIFJlbmRlclB0cjxSZW5k
ZQogICAgICAgICAgICAgLy8gTm90ZTogRG9pbmcgaXQgaW4gdGhpcyBvcmRlciBhbmQgbm90IHVz
aW5nIFJlbmRlclJ1YnlSdW4ncyBtZXRob2RzLAogICAgICAgICAgICAgLy8gaW4gb3JkZXIgdG8g
YXZvaWQgYXV0b21hdGljIHJlbW92YWwgb2YgdGhlIHJ1YnkgcnVuIGluIGNhc2UgdGhlcmUgaXMg
bm8KICAgICAgICAgICAgIC8vIG90aGVyIGNoaWxkIGJlc2lkZXMgdGhlIG9sZCBydWJ5IHRleHQu
Ci0gICAgICAgICAgICBwYXJlbnQuYWRkQ2hpbGQobV9idWlsZGVyLCBXVEZNb3ZlKGNoaWxkKSwg
YmVmb3JlQ2hpbGQpOworICAgICAgICAgICAgbV9idWlsZGVyLmJsb2NrRmxvd0J1aWxkZXIoKS5p
bnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiAgICAgICAg
ICAgICBhdXRvIHRha2VuQmVmb3JlQ2hpbGQgPSBtX2J1aWxkZXIuYmxvY2tCdWlsZGVyKCkudGFr
ZUNoaWxkKHBhcmVudCwgKmJlZm9yZUNoaWxkKTsKIAogICAgICAgICAgICAgbV9idWlsZGVyLmlu
c2VydENoaWxkKCpuZXdSdW4sIFdURk1vdmUodGFrZW5CZWZvcmVDaGlsZCkpOwpAQCAtMjUyLDcg
KzI1Myw3IEBAIFJlbmRlckVsZW1lbnQmIFJlbmRlclRyZWVCdWlsZGVyOjpSdWJ5OjpmaW5kT3JD
cmVhdGVQYXJlbnRGb3JDaGlsZChSZW5kZXJSdWJ5QXNCCiAgICAgICAgIGlmICghYmVmb3JlQmxv
Y2spIHsKICAgICAgICAgICAgIGF1dG8gbmV3QmxvY2sgPSBjcmVhdGVBbm9ueW1vdXNSdWJ5SW5s
aW5lQmxvY2socGFyZW50KTsKICAgICAgICAgICAgIGJlZm9yZUJsb2NrID0gbmV3QmxvY2suZ2V0
KCk7Ci0gICAgICAgICAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckJsb2NrRmxvdyhw
YXJlbnQsIFdURk1vdmUobmV3QmxvY2spLCBwYXJlbnQuZmlyc3RDaGlsZCgpKTsKKyAgICAgICAg
ICAgIG1fYnVpbGRlci5ibG9ja0Zsb3dCdWlsZGVyKCkuaW5zZXJ0Q2hpbGQocGFyZW50LCBXVEZN
b3ZlKG5ld0Jsb2NrKSwgcGFyZW50LmZpcnN0Q2hpbGQoKSk7CiAgICAgICAgIH0KICAgICAgICAg
YmVmb3JlQ2hpbGQgPSBudWxscHRyOwogICAgICAgICByZXR1cm4gKmJlZm9yZUJsb2NrOwpAQCAt
MjY3LDcgKzI2OCw3IEBAIFJlbmRlckVsZW1lbnQmIFJlbmRlclRyZWVCdWlsZGVyOjpSdWJ5Ojpm
aW5kT3JDcmVhdGVQYXJlbnRGb3JDaGlsZChSZW5kZXJSdWJ5QXNCCiAgICAgICAgIGlmICghYWZ0
ZXJCbG9jaykgewogICAgICAgICAgICAgYXV0byBuZXdCbG9jayA9IGNyZWF0ZUFub255bW91c1J1
YnlJbmxpbmVCbG9jayhwYXJlbnQpOwogICAgICAgICAgICAgYWZ0ZXJCbG9jayA9IG5ld0Jsb2Nr
LmdldCgpOwotICAgICAgICAgICAgbV9idWlsZGVyLmluc2VydENoaWxkVG9SZW5kZXJCbG9ja0Zs
b3cocGFyZW50LCBXVEZNb3ZlKG5ld0Jsb2NrKSk7CisgICAgICAgICAgICBtX2J1aWxkZXIuYmxv
Y2tGbG93QnVpbGRlcigpLmluc2VydENoaWxkKHBhcmVudCwgV1RGTW92ZShuZXdCbG9jayksIG51
bGxwdHIpOwogICAgICAgICB9CiAgICAgICAgIGJlZm9yZUNoaWxkID0gbnVsbHB0cjsKICAgICAg
ICAgcmV0dXJuICphZnRlckJsb2NrOwpAQCAtMjk2LDcgKzI5Nyw3IEBAIFJlbmRlckVsZW1lbnQm
IFJlbmRlclRyZWVCdWlsZGVyOjpSdWJ5OjpmaW5kT3JDcmVhdGVQYXJlbnRGb3JDaGlsZChSZW5k
ZXJSdWJ5QXNCCiAgICAgaWYgKCFsYXN0UnVuIHx8IGxhc3RSdW4tPmhhc1J1YnlUZXh0KCkpIHsK
ICAgICAgICAgYXV0byBuZXdSdW4gPSBSZW5kZXJSdWJ5UnVuOjpzdGF0aWNDcmVhdGVSdWJ5UnVu
KCZwYXJlbnQpOwogICAgICAgICBsYXN0UnVuID0gbmV3UnVuLmdldCgpOwotICAgICAgICBtX2J1
aWxkZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckJsb2NrRmxvdyhwYXJlbnQsIFdURk1vdmUobmV3UnVu
KSwgYmVmb3JlQ2hpbGQpOworICAgICAgICBtX2J1aWxkZXIuYmxvY2tGbG93QnVpbGRlcigpLmlu
c2VydENoaWxkKHBhcmVudCwgV1RGTW92ZShuZXdSdW4pLCBiZWZvcmVDaGlsZCk7CiAgICAgfQog
ICAgIGJlZm9yZUNoaWxkID0gbnVsbHB0cjsKICAgICByZXR1cm4gKmxhc3RSdW47CkBAIC0zNzAs
NyArMzcxLDcgQEAgUmVuZGVyUnVieUJhc2UmIFJlbmRlclRyZWVCdWlsZGVyOjpSdWJ5OjpydWJ5
QmFzZVNhZmUoUmVuZGVyUnVieVJ1biYgcnVieVJ1bikKICAgICBpZiAoIWJhc2UpIHsKICAgICAg
ICAgYXV0byBuZXdCYXNlID0gcnVieVJ1bi5jcmVhdGVSdWJ5QmFzZSgpOwogICAgICAgICBiYXNl
ID0gbmV3QmFzZS5nZXQoKTsKLSAgICAgICAgbV9idWlsZGVyLmluc2VydENoaWxkVG9SZW5kZXJC
bG9ja0Zsb3cocnVieVJ1biwgV1RGTW92ZShuZXdCYXNlKSk7CisgICAgICAgIG1fYnVpbGRlci5i
bG9ja0Zsb3dCdWlsZGVyKCkuaW5zZXJ0Q2hpbGQocnVieVJ1biwgV1RGTW92ZShuZXdCYXNlKSwg
bnVsbHB0cik7CiAgICAgfQogICAgIHJldHVybiAqYmFzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclNWRy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJTVkcuY3Bw
CmluZGV4IGIzMGVjMzAxZjMxODgwMDJlYzc0MzY4ODcxNTU4YzZjYjg5NjFkNTMuLjdjZmIyZDU2
NjE3YzhhYWUyOTMwZTIwYzJmYTcwMTY2ZGY2MjYxZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclNWRy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyU1ZHLmNwcApA
QCAtNjcsNyArNjcsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpTVkc6Omluc2VydENoaWxk
KFJlbmRlclNWR1Jvb3QmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlcgogdm9pZCBSZW5kZXJUcmVl
QnVpbGRlcjo6U1ZHOjppbnNlcnRDaGlsZChSZW5kZXJTVkdUZXh0JiBwYXJlbnQsIFJlbmRlclB0
cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQogewogICAg
IGF1dG8mIGNoaWxkVG9BZGQgPSAqY2hpbGQ7Ci0gICAgbV9idWlsZGVyLmluc2VydENoaWxkVG9S
ZW5kZXJCbG9ja0Zsb3cocGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworICAg
IG1fYnVpbGRlci5ibG9ja0Zsb3dCdWlsZGVyKCkuaW5zZXJ0Q2hpbGQocGFyZW50LCBXVEZNb3Zl
KGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwogCiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudFdh
c0FkZGVkVG9UcmVlKGNoaWxkVG9BZGQpOwogICAgIHBhcmVudC5zdWJ0cmVlQ2hpbGRXYXNBZGRl
ZCgmY2hpbGRUb0FkZCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>