<?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>158722</bug_id>
          
          <creation_ts>2016-06-13 19:59:15 -0700</creation_ts>
          <short_desc>Make RenderBlock::insertInto/RemoveFromTrackedRendererMaps functions static.</short_desc>
          <delta_ts>2016-06-14 09:05:44 -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></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>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1202066</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2016-06-13 19:59:15 -0700</bug_when>
    <thetext>They manipulate the static tracker maps. No need to have them on RenderBlock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202069</commentid>
    <comment_count>1</comment_count>
      <attachid>281229</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-06-13 20:09:44 -0700</bug_when>
    <thetext>Created attachment 281229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202081</commentid>
    <comment_count>2</comment_count>
      <attachid>281229</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-06-13 21:07:18 -0700</bug_when>
    <thetext>Comment on attachment 281229
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=281229&amp;action=review

&gt; Source/WebCore/rendering/RenderBlock.cpp:267
&gt; +            HashSet&lt;const RenderBlock*&gt;* containerSet = it-&gt;value.get();

Auto?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202193</commentid>
    <comment_count>3</comment_count>
      <attachid>281260</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-06-14 08:34:09 -0700</bug_when>
    <thetext>Created attachment 281260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202197</commentid>
    <comment_count>4</comment_count>
      <attachid>281260</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-14 09:05:40 -0700</bug_when>
    <thetext>Comment on attachment 281260
Patch

Clearing flags on attachment: 281260

Committed r202044: &lt;http://trac.webkit.org/changeset/202044&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202198</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-14 09:05:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281229</attachid>
            <date>2016-06-13 20:09:44 -0700</date>
            <delta_ts>2016-06-14 08:34:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158722-20160613201119.patch</filename>
            <type>text/plain</type>
            <size>10636</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxOTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRkMDcyZTVjODJmZTEw
MjJhYzgxOGEyNjg4MTIzMjFiYWZjNDA1YS4uMTkwYzkzMjgwYjM4NTYxZWIxYzFiNDU0OWM3YmYx
ZjEyZWZhYTFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA2LTEzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBSZW5kZXJCbG9jazo6
aW5zZXJ0SW50by9SZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVyTWFwcyBmdW5jdGlvbnMgc3RhdGlj
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzIy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2Ug
ZnVuY3Rpb25zIG1hbmlwdWxhdGUgc3RhdGljIHRyYWNrZXIgaGFzaG1hcHMuIFRoZXkgZG9uJ3Qg
bmVlZCB0byBiZSBvbiBSZW5kZXJCbG9jay4KKyAgICAgICAgVGhpcyBpcyBhbHNvIGluIHByZXBh
cmF0aW9uIGZvciBkZWNvdXBsaW5nIHBvc2l0aW9uZWQgZGVzY2VuZGFudCB0cmFja2luZyBmcm9t
IGRlc2NlbmRlbnQgcGVyY2VudGFnZSBoZWlnaHQgaGFuZGxpbmcuCisgICAgICAgIChnUG9zaXRp
b25lZERlc2NlbmRhbnRzTWFwIGFuZCBnUGVyY2VudEhlaWdodERlc2NlbmRhbnRzTWFwKSAKKwor
ICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbnNlcnRJbnRvVHJhY2tlZFJl
bmRlcmVyTWFwcyk6CisgICAgICAgIChXZWJDb3JlOjpyZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVy
TWFwcyk6CisgICAgICAgIChXZWJDb3JlOjpyZW1vdmVCbG9ja0Zyb21EZXNjZW5kYW50QW5kQ29u
dGFpbmVyTWFwcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6aW5zZXJ0UG9zaXRp
b25lZE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkUGVyY2VudEhl
aWdodERlc2NlbmRhbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Omluc2VydElu
dG9UcmFja2VkUmVuZGVyZXJNYXBzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjpyZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVyTWFwcyk6IERlbGV0ZWQuCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisKIDIwMTYtMDYtMTIgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbnVwIFJlbmRlckJsb2NrOjpyZW1vdmVQ
b3NpdGlvbmVkT2JqZWN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
aW5kZXggYmQ4YThlYTdjY2FhNTYxMWU2ZmRlMWM1MTdjYzQ0YWZjNzIwYmYwOC4uZmIyNGZhOGRi
YWI3YThmMzBhZTU1MDdkYmJkYTc0YWJhMTcyZDBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCkBAIC05MiwxMiArOTIsNzUgQEAgc3RydWN0IFNhbWVTaXplQXNS
ZW5kZXJCbG9jayA6IHB1YmxpYyBSZW5kZXJCb3ggewogCiBDT01QSUxFX0FTU0VSVChzaXplb2Yo
UmVuZGVyQmxvY2spID09IHNpemVvZihTYW1lU2l6ZUFzUmVuZGVyQmxvY2spLCBSZW5kZXJCbG9j
a19zaG91bGRfc3RheV9zbWFsbCk7CiAKK3R5cGVkZWYgV1RGOjpIYXNoTWFwPGNvbnN0IFJlbmRl
ckJsb2NrKiwgc3RkOjp1bmlxdWVfcHRyPFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0Pj4gVHJh
Y2tlZERlc2NlbmRhbnRzTWFwOwordHlwZWRlZiBXVEY6Okhhc2hNYXA8Y29uc3QgUmVuZGVyQm94
Kiwgc3RkOjp1bmlxdWVfcHRyPEhhc2hTZXQ8Y29uc3QgUmVuZGVyQmxvY2sqPj4+IFRyYWNrZWRD
b250YWluZXJNYXA7CisKIHN0YXRpYyBUcmFja2VkRGVzY2VuZGFudHNNYXAqIGdQb3NpdGlvbmVk
RGVzY2VuZGFudHNNYXA7CiBzdGF0aWMgVHJhY2tlZERlc2NlbmRhbnRzTWFwKiBnUGVyY2VudEhl
aWdodERlc2NlbmRhbnRzTWFwOwogCiBzdGF0aWMgVHJhY2tlZENvbnRhaW5lck1hcCogZ1Bvc2l0
aW9uZWRDb250YWluZXJNYXA7CiBzdGF0aWMgVHJhY2tlZENvbnRhaW5lck1hcCogZ1BlcmNlbnRI
ZWlnaHRDb250YWluZXJNYXA7CiAKK3N0YXRpYyB2b2lkIGluc2VydEludG9UcmFja2VkUmVuZGVy
ZXJNYXBzKGNvbnN0IFJlbmRlckJsb2NrJiBjb250YWluZXIsIFJlbmRlckJveCYgZGVzY2VuZGFu
dCwgVHJhY2tlZERlc2NlbmRhbnRzTWFwKiYgZGVzY2VuZGFudHNNYXAsIFRyYWNrZWRDb250YWlu
ZXJNYXAqJiBjb250YWluZXJNYXAsIGJvb2wgZm9yY2VOZXdFbnRyeSkKK3sKKyAgICBpZiAoIWRl
c2NlbmRhbnRzTWFwKSB7CisgICAgICAgIGRlc2NlbmRhbnRzTWFwID0gbmV3IFRyYWNrZWREZXNj
ZW5kYW50c01hcDsKKyAgICAgICAgY29udGFpbmVyTWFwID0gbmV3IFRyYWNrZWRDb250YWluZXJN
YXA7CisgICAgfQorICAgIAorICAgIGF1dG8qIGRlc2NlbmRhbnRTZXQgPSBkZXNjZW5kYW50c01h
cC0+Z2V0KCZjb250YWluZXIpOworICAgIGlmICghZGVzY2VuZGFudFNldCkgeworICAgICAgICBk
ZXNjZW5kYW50U2V0ID0gbmV3IFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0OworICAgICAgICBk
ZXNjZW5kYW50c01hcC0+c2V0KCZjb250YWluZXIsIHN0ZDo6dW5pcXVlX3B0cjxUcmFja2VkUmVu
ZGVyZXJMaXN0SGFzaFNldD4oZGVzY2VuZGFudFNldCkpOworICAgIH0KKyAgICAKKyAgICBpZiAo
Zm9yY2VOZXdFbnRyeSkgeworICAgICAgICBkZXNjZW5kYW50U2V0LT5yZW1vdmUoJmRlc2NlbmRh
bnQpOworICAgICAgICBjb250YWluZXJNYXAtPnJlbW92ZSgmZGVzY2VuZGFudCk7CisgICAgfQor
ICAgIAorICAgIGJvb2wgYWRkZWQgPSBkZXNjZW5kYW50U2V0LT5hZGQoJmRlc2NlbmRhbnQpLmlz
TmV3RW50cnk7CisgICAgaWYgKCFhZGRlZCkgeworICAgICAgICBBU1NFUlQoY29udGFpbmVyTWFw
LT5nZXQoJmRlc2NlbmRhbnQpKTsKKyAgICAgICAgQVNTRVJUKGNvbnRhaW5lck1hcC0+Z2V0KCZk
ZXNjZW5kYW50KS0+Y29udGFpbnMoJmNvbnRhaW5lcikpOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgIAorICAgIGF1dG8qIGNvbnRhaW5lclNldCA9IGNvbnRhaW5lck1hcC0+Z2V0KCZkZXNj
ZW5kYW50KTsKKyAgICBpZiAoIWNvbnRhaW5lclNldCkgeworICAgICAgICBjb250YWluZXJTZXQg
PSBuZXcgSGFzaFNldDxjb25zdCBSZW5kZXJCbG9jayo+OworICAgICAgICBjb250YWluZXJNYXAt
PnNldCgmZGVzY2VuZGFudCwgc3RkOjp1bmlxdWVfcHRyPEhhc2hTZXQ8Y29uc3QgUmVuZGVyQmxv
Y2sqPj4oY29udGFpbmVyU2V0KSk7CisgICAgfSAgICAKKyAgICBBU1NFUlQoIWNvbnRhaW5lclNl
dC0+Y29udGFpbnMoJmNvbnRhaW5lcikpOworICAgIGNvbnRhaW5lclNldC0+YWRkKCZjb250YWlu
ZXIpOworfQorCitzdGF0aWMgdm9pZCByZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVyTWFwcyhSZW5k
ZXJCb3gmIGRlc2NlbmRhbnQsIFRyYWNrZWREZXNjZW5kYW50c01hcComIGRlc2NlbmRhbnRzTWFw
LCBUcmFja2VkQ29udGFpbmVyTWFwKiYgY29udGFpbmVyTWFwKQoreworICAgIGlmICghZGVzY2Vu
ZGFudHNNYXApCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SGFz
aFNldDxjb25zdCBSZW5kZXJCbG9jayo+PiBjb250YWluZXJTZXQgPSBjb250YWluZXJNYXAtPnRh
a2UoJmRlc2NlbmRhbnQpOworICAgIGlmICghY29udGFpbmVyU2V0KQorICAgICAgICByZXR1cm47
CisgICAgCisgICAgZm9yIChhdXRvKiBjb250YWluZXIgOiAqY29udGFpbmVyU2V0KSB7CisgICAg
ICAgIC8vIEZJWE1FOiBEaXNhYmxpbmcgdGhpcyBhc3NlcnQgdGVtcG9yYXJpbHkgdW50aWwgd2Ug
Zml4IHRoZSBsYXlvdXQKKyAgICAgICAgLy8gYnVncyBhc3NvY2lhdGVkIHdpdGggcG9zaXRpb25l
ZCBvYmplY3RzIG5vdCBwcm9wZXJseSBjbGVhcmVkIGZyb20KKyAgICAgICAgLy8gdGhlaXIgYW5j
ZXN0b3IgY2hhaW4gYmVmb3JlIGJlaW5nIG1vdmVkLiBTZWUgd2Via2l0IGJ1ZyA5Mzc2Ni4KKyAg
ICAgICAgLy8gQVNTRVJUKGRlc2NlbmRhbnQtPmlzRGVzY2VuZGFudE9mKGNvbnRhaW5lcikpOwor
ICAgICAgICBhdXRvIGRlc2NlbmRhbnRzTWFwSXRlcmF0b3IgPSBkZXNjZW5kYW50c01hcC0+Zmlu
ZChjb250YWluZXIpOworICAgICAgICBBU1NFUlQoZGVzY2VuZGFudHNNYXBJdGVyYXRvciAhPSBk
ZXNjZW5kYW50c01hcC0+ZW5kKCkpOworICAgICAgICBpZiAoZGVzY2VuZGFudHNNYXBJdGVyYXRv
ciA9PSBkZXNjZW5kYW50c01hcC0+ZW5kKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgYXV0byogZGVzY2VuZGFudFNldCA9IGRlc2NlbmRhbnRzTWFwSXRlcmF0b3ItPnZhbHVlLmdl
dCgpOworICAgICAgICBBU1NFUlQoZGVzY2VuZGFudFNldC0+Y29udGFpbnMoJmRlc2NlbmRhbnQp
KTsKKyAgICAgICAgZGVzY2VuZGFudFNldC0+cmVtb3ZlKCZkZXNjZW5kYW50KTsKKyAgICAgICAg
aWYgKGRlc2NlbmRhbnRTZXQtPmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGRlc2NlbmRhbnRzTWFw
LT5yZW1vdmUoZGVzY2VuZGFudHNNYXBJdGVyYXRvcik7CisgICAgfQorfQorCiB0eXBlZGVmIEhh
c2hNYXA8UmVuZGVyQmxvY2sqLCBzdGQ6OnVuaXF1ZV9wdHI8TGlzdEhhc2hTZXQ8UmVuZGVySW5s
aW5lKj4+PiBDb250aW51YXRpb25PdXRsaW5lVGFibGVNYXA7CiAKIHN0cnVjdCBVcGRhdGVTY3Jv
bGxJbmZvQWZ0ZXJMYXlvdXRUcmFuc2FjdGlvbiB7CkBAIC0yMDEsNyArMjY0LDcgQEAgc3RhdGlj
IHZvaWQgcmVtb3ZlQmxvY2tGcm9tRGVzY2VuZGFudEFuZENvbnRhaW5lck1hcHMoUmVuZGVyQmxv
Y2sqIGJsb2NrLCBUcmFja2UKICAgICAgICAgICAgIEFTU0VSVChpdCAhPSBjb250YWluZXJNYXAt
PmVuZCgpKTsKICAgICAgICAgICAgIGlmIChpdCA9PSBjb250YWluZXJNYXAtPmVuZCgpKQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgSGFzaFNldDxSZW5kZXJCbG9jayo+
KiBjb250YWluZXJTZXQgPSBpdC0+dmFsdWUuZ2V0KCk7CisgICAgICAgICAgICBIYXNoU2V0PGNv
bnN0IFJlbmRlckJsb2NrKj4qIGNvbnRhaW5lclNldCA9IGl0LT52YWx1ZS5nZXQoKTsKICAgICAg
ICAgICAgIEFTU0VSVChjb250YWluZXJTZXQtPmNvbnRhaW5zKGJsb2NrKSk7CiAgICAgICAgICAg
ICBjb250YWluZXJTZXQtPnJlbW92ZShibG9jayk7CiAgICAgICAgICAgICBpZiAoY29udGFpbmVy
U2V0LT5pc0VtcHR5KCkpCkBAIC0yMTEzLDY5ICsyMTc2LDYgQEAgUmVuZGVyQmxvY2sqIFJlbmRl
ckJsb2NrOjpibG9ja0JlZm9yZVdpdGhpblNlbGVjdGlvblJvb3QoTGF5b3V0U2l6ZSYgb2Zmc2V0
KSBjb24KICAgICByZXR1cm4gYmVmb3JlQmxvY2s7CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2s6Omlu
c2VydEludG9UcmFja2VkUmVuZGVyZXJNYXBzKFJlbmRlckJveCYgZGVzY2VuZGFudCwgVHJhY2tl
ZERlc2NlbmRhbnRzTWFwKiYgZGVzY2VuZGFudHNNYXAsIFRyYWNrZWRDb250YWluZXJNYXAqJiBj
b250YWluZXJNYXAsIGJvb2wgZm9yY2VOZXdFbnRyeSkKLXsKLSAgICBpZiAoIWRlc2NlbmRhbnRz
TWFwKSB7Ci0gICAgICAgIGRlc2NlbmRhbnRzTWFwID0gbmV3IFRyYWNrZWREZXNjZW5kYW50c01h
cDsKLSAgICAgICAgY29udGFpbmVyTWFwID0gbmV3IFRyYWNrZWRDb250YWluZXJNYXA7Ci0gICAg
fQotICAgIAotICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0KiBkZXNjZW5kYW50U2V0ID0g
ZGVzY2VuZGFudHNNYXAtPmdldCh0aGlzKTsKLSAgICBpZiAoIWRlc2NlbmRhbnRTZXQpIHsKLSAg
ICAgICAgZGVzY2VuZGFudFNldCA9IG5ldyBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldDsKLSAg
ICAgICAgZGVzY2VuZGFudHNNYXAtPnNldCh0aGlzLCBzdGQ6OnVuaXF1ZV9wdHI8VHJhY2tlZFJl
bmRlcmVyTGlzdEhhc2hTZXQ+KGRlc2NlbmRhbnRTZXQpKTsKLSAgICB9Ci0gICAgCi0gICAgaWYg
KGZvcmNlTmV3RW50cnkpIHsKLSAgICAgICAgZGVzY2VuZGFudFNldC0+cmVtb3ZlKCZkZXNjZW5k
YW50KTsKLSAgICAgICAgY29udGFpbmVyTWFwLT5yZW1vdmUoJmRlc2NlbmRhbnQpOwotICAgIH0K
LSAgICAKLSAgICBib29sIGFkZGVkID0gZGVzY2VuZGFudFNldC0+YWRkKCZkZXNjZW5kYW50KS5p
c05ld0VudHJ5OwotICAgIGlmICghYWRkZWQpIHsKLSAgICAgICAgQVNTRVJUKGNvbnRhaW5lck1h
cC0+Z2V0KCZkZXNjZW5kYW50KSk7Ci0gICAgICAgIEFTU0VSVChjb250YWluZXJNYXAtPmdldCgm
ZGVzY2VuZGFudCktPmNvbnRhaW5zKHRoaXMpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICAKLSAgICBIYXNoU2V0PFJlbmRlckJsb2NrKj4qIGNvbnRhaW5lclNldCA9IGNvbnRhaW5lck1h
cC0+Z2V0KCZkZXNjZW5kYW50KTsKLSAgICBpZiAoIWNvbnRhaW5lclNldCkgewotICAgICAgICBj
b250YWluZXJTZXQgPSBuZXcgSGFzaFNldDxSZW5kZXJCbG9jayo+OwotICAgICAgICBjb250YWlu
ZXJNYXAtPnNldCgmZGVzY2VuZGFudCwgc3RkOjp1bmlxdWVfcHRyPEhhc2hTZXQ8UmVuZGVyQmxv
Y2sqPj4oY29udGFpbmVyU2V0KSk7Ci0gICAgfSAgICAKLSAgICBBU1NFUlQoIWNvbnRhaW5lclNl
dC0+Y29udGFpbnModGhpcykpOwotICAgIGNvbnRhaW5lclNldC0+YWRkKHRoaXMpOwotfQotCi12
b2lkIFJlbmRlckJsb2NrOjpyZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVyTWFwcyhSZW5kZXJCb3gm
IGRlc2NlbmRhbnQsIFRyYWNrZWREZXNjZW5kYW50c01hcComIGRlc2NlbmRhbnRzTWFwLCBUcmFj
a2VkQ29udGFpbmVyTWFwKiYgY29udGFpbmVyTWFwKQotewotICAgIGlmICghZGVzY2VuZGFudHNN
YXApCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SGFzaFNldDxS
ZW5kZXJCbG9jayo+PiBjb250YWluZXJTZXQgPSBjb250YWluZXJNYXAtPnRha2UoJmRlc2NlbmRh
bnQpOwotICAgIGlmICghY29udGFpbmVyU2V0KQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAg
Zm9yIChhdXRvIGl0ID0gY29udGFpbmVyU2V0LT5iZWdpbigpLCBlbmQgPSBjb250YWluZXJTZXQt
PmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5l
ciA9ICppdDsKLQotICAgICAgICAvLyBGSVhNRTogRGlzYWJsaW5nIHRoaXMgYXNzZXJ0IHRlbXBv
cmFyaWx5IHVudGlsIHdlIGZpeCB0aGUgbGF5b3V0Ci0gICAgICAgIC8vIGJ1Z3MgYXNzb2NpYXRl
ZCB3aXRoIHBvc2l0aW9uZWQgb2JqZWN0cyBub3QgcHJvcGVybHkgY2xlYXJlZCBmcm9tCi0gICAg
ICAgIC8vIHRoZWlyIGFuY2VzdG9yIGNoYWluIGJlZm9yZSBiZWluZyBtb3ZlZC4gU2VlIHdlYmtp
dCBidWcgOTM3NjYuCi0gICAgICAgIC8vIEFTU0VSVChkZXNjZW5kYW50LT5pc0Rlc2NlbmRhbnRP
Zihjb250YWluZXIpKTsKLQotICAgICAgICBUcmFja2VkRGVzY2VuZGFudHNNYXA6Oml0ZXJhdG9y
IGRlc2NlbmRhbnRzTWFwSXRlcmF0b3IgPSBkZXNjZW5kYW50c01hcC0+ZmluZChjb250YWluZXIp
OwotICAgICAgICBBU1NFUlQoZGVzY2VuZGFudHNNYXBJdGVyYXRvciAhPSBkZXNjZW5kYW50c01h
cC0+ZW5kKCkpOwotICAgICAgICBpZiAoZGVzY2VuZGFudHNNYXBJdGVyYXRvciA9PSBkZXNjZW5k
YW50c01hcC0+ZW5kKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgVHJhY2tlZFJl
bmRlcmVyTGlzdEhhc2hTZXQqIGRlc2NlbmRhbnRTZXQgPSBkZXNjZW5kYW50c01hcEl0ZXJhdG9y
LT52YWx1ZS5nZXQoKTsKLSAgICAgICAgQVNTRVJUKGRlc2NlbmRhbnRTZXQtPmNvbnRhaW5zKCZk
ZXNjZW5kYW50KSk7Ci0gICAgICAgIGRlc2NlbmRhbnRTZXQtPnJlbW92ZSgmZGVzY2VuZGFudCk7
Ci0gICAgICAgIGlmIChkZXNjZW5kYW50U2V0LT5pc0VtcHR5KCkpCi0gICAgICAgICAgICBkZXNj
ZW5kYW50c01hcC0+cmVtb3ZlKGRlc2NlbmRhbnRzTWFwSXRlcmF0b3IpOwotICAgIH0KLX0KLQog
VHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQqIFJlbmRlckJsb2NrOjpwb3NpdGlvbmVkT2JqZWN0
cygpIGNvbnN0CiB7CiAgICAgaWYgKGdQb3NpdGlvbmVkRGVzY2VuZGFudHNNYXApCkBAIC0yMTg5
LDggKzIxODksOCBAQCB2b2lkIFJlbmRlckJsb2NrOjppbnNlcnRQb3NpdGlvbmVkT2JqZWN0KFJl
bmRlckJveCYgcG9zaXRpb25lZCkKIAogICAgIGlmIChwb3NpdGlvbmVkLmlzUmVuZGVyRmxvd1Ro
cmVhZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgaW5zZXJ0SW50b1RyYWNrZWRSZW5k
ZXJlck1hcHMocG9zaXRpb25lZCwgZ1Bvc2l0aW9uZWREZXNjZW5kYW50c01hcCwgZ1Bvc2l0aW9u
ZWRDb250YWluZXJNYXAsIGlzUmVuZGVyVmlldygpKTsKKworICAgIGluc2VydEludG9UcmFja2Vk
UmVuZGVyZXJNYXBzKCp0aGlzLCBwb3NpdGlvbmVkLCBnUG9zaXRpb25lZERlc2NlbmRhbnRzTWFw
LCBnUG9zaXRpb25lZENvbnRhaW5lck1hcCwgaXNSZW5kZXJWaWV3KCkpOwogfQogCiB2b2lkIFJl
bmRlckJsb2NrOjpyZW1vdmVQb3NpdGlvbmVkT2JqZWN0KFJlbmRlckJveCYgcmVuZGVyZXJUb1Jl
bW92ZSkKQEAgLTIyMjUsNyArMjIyNSw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnJlbW92ZVBvc2l0
aW9uZWRPYmplY3RzKGNvbnN0IFJlbmRlckJsb2NrKiBuZXdDb250YWluaW5nQmxvY2tDCiAKIHZv
aWQgUmVuZGVyQmxvY2s6OmFkZFBlcmNlbnRIZWlnaHREZXNjZW5kYW50KFJlbmRlckJveCYgZGVz
Y2VuZGFudCkKIHsKLSAgICBpbnNlcnRJbnRvVHJhY2tlZFJlbmRlcmVyTWFwcyhkZXNjZW5kYW50
LCBnUGVyY2VudEhlaWdodERlc2NlbmRhbnRzTWFwLCBnUGVyY2VudEhlaWdodENvbnRhaW5lck1h
cCk7CisgICAgaW5zZXJ0SW50b1RyYWNrZWRSZW5kZXJlck1hcHMoKnRoaXMsIGRlc2NlbmRhbnQs
IGdQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHNNYXAsIGdQZXJjZW50SGVpZ2h0Q29udGFpbmVyTWFw
LCBmYWxzZSk7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6OnJlbW92ZVBlcmNlbnRIZWlnaHREZXNj
ZW5kYW50KFJlbmRlckJveCYgZGVzY2VuZGFudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmgKaW5kZXggOWI5MDA4MGViYWI5NGZlNTQ1NmRmY2YzODMyZWY2OTc4YWNkMDAzNi4u
ZTU1NzJmMDM4ZGQ1NzM3YTA5OGM4MzIzMjI3MDg4OTVlZTY5MGM5YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTQyLDggKzQyLDYgQEAgc3RydWN0IEJpZGlSdW47
CiBzdHJ1Y3QgUGFpbnRJbmZvOwogCiB0eXBlZGVmIFdURjo6TGlzdEhhc2hTZXQ8UmVuZGVyQm94
Kj4gVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQ7Ci10eXBlZGVmIFdURjo6SGFzaE1hcDxjb25z
dCBSZW5kZXJCbG9jayosIHN0ZDo6dW5pcXVlX3B0cjxUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNl
dD4+IFRyYWNrZWREZXNjZW5kYW50c01hcDsKLXR5cGVkZWYgV1RGOjpIYXNoTWFwPGNvbnN0IFJl
bmRlckJveCosIHN0ZDo6dW5pcXVlX3B0cjxIYXNoU2V0PFJlbmRlckJsb2NrKj4+PiBUcmFja2Vk
Q29udGFpbmVyTWFwOwogCiBlbnVtIENhcmV0VHlwZSB7IEN1cnNvckNhcmV0LCBEcmFnQ2FyZXQg
fTsKIGVudW0gQ29udGFpbmluZ0Jsb2NrU3RhdGUgeyBOZXdDb250YWluaW5nQmxvY2ssIFNhbWVD
b250YWluaW5nQmxvY2sgfTsKQEAgLTQyMCw5ICs0MTgsNiBAQCBwcml2YXRlOgogICAgIC8vIEZJ
WE1FLUJMT0NLRkxPVzogUmVtb3ZlIHZpcnR1YWxpemFpb24gd2hlbiBhbGwgY2FsbGVycyBoYXZl
IG1vdmVkIHRvIFJlbmRlckJsb2NrRmxvdwogICAgIHZpcnR1YWwgYm9vbCBoYXNMaW5lcygpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICB2b2lkIGluc2VydEludG9UcmFja2VkUmVuZGVy
ZXJNYXBzKFJlbmRlckJveCYgZGVzY2VuZGFudCwgVHJhY2tlZERlc2NlbmRhbnRzTWFwKiYsIFRy
YWNrZWRDb250YWluZXJNYXAqJiwgYm9vbCBmb3JjZU5ld0VudHJ5ID0gZmFsc2UpOwotICAgIHN0
YXRpYyB2b2lkIHJlbW92ZUZyb21UcmFja2VkUmVuZGVyZXJNYXBzKFJlbmRlckJveCYgZGVzY2Vu
ZGFudCwgVHJhY2tlZERlc2NlbmRhbnRzTWFwKiYsIFRyYWNrZWRDb250YWluZXJNYXAqJik7Ci0K
ICAgICB2b2lkIGNyZWF0ZUZpcnN0TGV0dGVyUmVuZGVyZXIoUmVuZGVyRWxlbWVudCogZmlyc3RM
ZXR0ZXJCbG9jaywgUmVuZGVyVGV4dCogY3VycmVudFRleHRDaGlsZCk7CiAgICAgdm9pZCB1cGRh
dGVGaXJzdExldHRlclN0eWxlKFJlbmRlckVsZW1lbnQqIGZpcnN0TGV0dGVyQmxvY2ssIFJlbmRl
ck9iamVjdCogZmlyc3RMZXR0ZXJDb250YWluZXIpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281260</attachid>
            <date>2016-06-14 08:34:09 -0700</date>
            <delta_ts>2016-06-14 09:05:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158722-20160614083546.patch</filename>
            <type>text/plain</type>
            <size>10611</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxOTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRkMDcyZTVjODJmZTEw
MjJhYzgxOGEyNjg4MTIzMjFiYWZjNDA1YS4uODUwNjM5YjY0YWNiODgzOGNlODcxNWY5YmQ3MjE2
MTQ0NmI4NDcyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA2LTEzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBSZW5kZXJCbG9jazo6
aW5zZXJ0SW50by9SZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVyTWFwcyBmdW5jdGlvbnMgc3RhdGlj
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzIy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFRoZXNlIGZ1
bmN0aW9ucyBtYW5pcHVsYXRlIHN0YXRpYyB0cmFja2VyIGhhc2htYXBzLiBUaGV5IGRvbid0IG5l
ZWQgdG8gYmUgb24gUmVuZGVyQmxvY2suCisgICAgICAgIFRoaXMgaXMgYWxzbyBpbiBwcmVwYXJh
dGlvbiBmb3IgZGVjb3VwbGluZyBwb3NpdGlvbmVkIGRlc2NlbmRhbnQgdHJhY2tpbmcgZnJvbSBk
ZXNjZW5kZW50IHBlcmNlbnRhZ2UgaGVpZ2h0IGhhbmRsaW5nLgorICAgICAgICAoZ1Bvc2l0aW9u
ZWREZXNjZW5kYW50c01hcCBhbmQgZ1BlcmNlbnRIZWlnaHREZXNjZW5kYW50c01hcCkgCisKKyAg
ICAgICAgTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5zZXJ0SW50b1RyYWNrZWRSZW5k
ZXJlck1hcHMpOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3ZlRnJvbVRyYWNrZWRSZW5kZXJlck1h
cHMpOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3ZlQmxvY2tGcm9tRGVzY2VuZGFudEFuZENvbnRh
aW5lck1hcHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Omluc2VydFBvc2l0aW9u
ZWRPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZFBlcmNlbnRIZWln
aHREZXNjZW5kYW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjppbnNlcnRJbnRv
VHJhY2tlZFJlbmRlcmVyTWFwcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6cmVtb3ZlRnJvbVRyYWNrZWRSZW5kZXJlck1hcHMpOiBEZWxldGVkLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorCiAyMDE2LTA2LTEyICBaYWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW51cCBSZW5kZXJCbG9jazo6cmVtb3ZlUG9z
aXRpb25lZE9iamVjdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmlu
ZGV4IGJkOGE4ZWE3Y2NhYTU2MTFlNmZkZTFjNTE3Y2M0NGFmYzcyMGJmMDguLjg4YWM3NzE2MThi
NzI4Y2U4ZWVjMmJkOTNhMjliNTliMmNkMDAzN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcApAQCAtOTIsMTIgKzkyLDc1IEBAIHN0cnVjdCBTYW1lU2l6ZUFzUmVu
ZGVyQmxvY2sgOiBwdWJsaWMgUmVuZGVyQm94IHsKIAogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFJl
bmRlckJsb2NrKSA9PSBzaXplb2YoU2FtZVNpemVBc1JlbmRlckJsb2NrKSwgUmVuZGVyQmxvY2tf
c2hvdWxkX3N0YXlfc21hbGwpOwogCit0eXBlZGVmIFdURjo6SGFzaE1hcDxjb25zdCBSZW5kZXJC
bG9jayosIHN0ZDo6dW5pcXVlX3B0cjxUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldD4+IFRyYWNr
ZWREZXNjZW5kYW50c01hcDsKK3R5cGVkZWYgV1RGOjpIYXNoTWFwPGNvbnN0IFJlbmRlckJveCos
IHN0ZDo6dW5pcXVlX3B0cjxIYXNoU2V0PGNvbnN0IFJlbmRlckJsb2NrKj4+PiBUcmFja2VkQ29u
dGFpbmVyTWFwOworCiBzdGF0aWMgVHJhY2tlZERlc2NlbmRhbnRzTWFwKiBnUG9zaXRpb25lZERl
c2NlbmRhbnRzTWFwOwogc3RhdGljIFRyYWNrZWREZXNjZW5kYW50c01hcCogZ1BlcmNlbnRIZWln
aHREZXNjZW5kYW50c01hcDsKIAogc3RhdGljIFRyYWNrZWRDb250YWluZXJNYXAqIGdQb3NpdGlv
bmVkQ29udGFpbmVyTWFwOwogc3RhdGljIFRyYWNrZWRDb250YWluZXJNYXAqIGdQZXJjZW50SGVp
Z2h0Q29udGFpbmVyTWFwOwogCitzdGF0aWMgdm9pZCBpbnNlcnRJbnRvVHJhY2tlZFJlbmRlcmVy
TWFwcyhjb25zdCBSZW5kZXJCbG9jayYgY29udGFpbmVyLCBSZW5kZXJCb3gmIGRlc2NlbmRhbnQs
IFRyYWNrZWREZXNjZW5kYW50c01hcComIGRlc2NlbmRhbnRzTWFwLCBUcmFja2VkQ29udGFpbmVy
TWFwKiYgY29udGFpbmVyTWFwLCBib29sIGZvcmNlTmV3RW50cnkpCit7CisgICAgaWYgKCFkZXNj
ZW5kYW50c01hcCkgeworICAgICAgICBkZXNjZW5kYW50c01hcCA9IG5ldyBUcmFja2VkRGVzY2Vu
ZGFudHNNYXA7CisgICAgICAgIGNvbnRhaW5lck1hcCA9IG5ldyBUcmFja2VkQ29udGFpbmVyTWFw
OworICAgIH0KKyAgICAKKyAgICBhdXRvKiBkZXNjZW5kYW50U2V0ID0gZGVzY2VuZGFudHNNYXAt
PmdldCgmY29udGFpbmVyKTsKKyAgICBpZiAoIWRlc2NlbmRhbnRTZXQpIHsKKyAgICAgICAgZGVz
Y2VuZGFudFNldCA9IG5ldyBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldDsKKyAgICAgICAgZGVz
Y2VuZGFudHNNYXAtPnNldCgmY29udGFpbmVyLCBzdGQ6OnVuaXF1ZV9wdHI8VHJhY2tlZFJlbmRl
cmVyTGlzdEhhc2hTZXQ+KGRlc2NlbmRhbnRTZXQpKTsKKyAgICB9CisgICAgCisgICAgaWYgKGZv
cmNlTmV3RW50cnkpIHsKKyAgICAgICAgZGVzY2VuZGFudFNldC0+cmVtb3ZlKCZkZXNjZW5kYW50
KTsKKyAgICAgICAgY29udGFpbmVyTWFwLT5yZW1vdmUoJmRlc2NlbmRhbnQpOworICAgIH0KKyAg
ICAKKyAgICBib29sIGFkZGVkID0gZGVzY2VuZGFudFNldC0+YWRkKCZkZXNjZW5kYW50KS5pc05l
d0VudHJ5OworICAgIGlmICghYWRkZWQpIHsKKyAgICAgICAgQVNTRVJUKGNvbnRhaW5lck1hcC0+
Z2V0KCZkZXNjZW5kYW50KSk7CisgICAgICAgIEFTU0VSVChjb250YWluZXJNYXAtPmdldCgmZGVz
Y2VuZGFudCktPmNvbnRhaW5zKCZjb250YWluZXIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICAKKyAgICBhdXRvKiBjb250YWluZXJTZXQgPSBjb250YWluZXJNYXAtPmdldCgmZGVzY2Vu
ZGFudCk7CisgICAgaWYgKCFjb250YWluZXJTZXQpIHsKKyAgICAgICAgY29udGFpbmVyU2V0ID0g
bmV3IEhhc2hTZXQ8Y29uc3QgUmVuZGVyQmxvY2sqPjsKKyAgICAgICAgY29udGFpbmVyTWFwLT5z
ZXQoJmRlc2NlbmRhbnQsIHN0ZDo6dW5pcXVlX3B0cjxIYXNoU2V0PGNvbnN0IFJlbmRlckJsb2Nr
Kj4+KGNvbnRhaW5lclNldCkpOworICAgIH0gICAgCisgICAgQVNTRVJUKCFjb250YWluZXJTZXQt
PmNvbnRhaW5zKCZjb250YWluZXIpKTsKKyAgICBjb250YWluZXJTZXQtPmFkZCgmY29udGFpbmVy
KTsKK30KKworc3RhdGljIHZvaWQgcmVtb3ZlRnJvbVRyYWNrZWRSZW5kZXJlck1hcHMoUmVuZGVy
Qm94JiBkZXNjZW5kYW50LCBUcmFja2VkRGVzY2VuZGFudHNNYXAqJiBkZXNjZW5kYW50c01hcCwg
VHJhY2tlZENvbnRhaW5lck1hcComIGNvbnRhaW5lck1hcCkKK3sKKyAgICBpZiAoIWRlc2NlbmRh
bnRzTWFwKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgc3RkOjp1bmlxdWVfcHRyPEhhc2hT
ZXQ8Y29uc3QgUmVuZGVyQmxvY2sqPj4gY29udGFpbmVyU2V0ID0gY29udGFpbmVyTWFwLT50YWtl
KCZkZXNjZW5kYW50KTsKKyAgICBpZiAoIWNvbnRhaW5lclNldCkKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIGZvciAoYXV0byogY29udGFpbmVyIDogKmNvbnRhaW5lclNldCkgeworICAgICAg
ICAvLyBGSVhNRTogRGlzYWJsaW5nIHRoaXMgYXNzZXJ0IHRlbXBvcmFyaWx5IHVudGlsIHdlIGZp
eCB0aGUgbGF5b3V0CisgICAgICAgIC8vIGJ1Z3MgYXNzb2NpYXRlZCB3aXRoIHBvc2l0aW9uZWQg
b2JqZWN0cyBub3QgcHJvcGVybHkgY2xlYXJlZCBmcm9tCisgICAgICAgIC8vIHRoZWlyIGFuY2Vz
dG9yIGNoYWluIGJlZm9yZSBiZWluZyBtb3ZlZC4gU2VlIHdlYmtpdCBidWcgOTM3NjYuCisgICAg
ICAgIC8vIEFTU0VSVChkZXNjZW5kYW50LT5pc0Rlc2NlbmRhbnRPZihjb250YWluZXIpKTsKKyAg
ICAgICAgYXV0byBkZXNjZW5kYW50c01hcEl0ZXJhdG9yID0gZGVzY2VuZGFudHNNYXAtPmZpbmQo
Y29udGFpbmVyKTsKKyAgICAgICAgQVNTRVJUKGRlc2NlbmRhbnRzTWFwSXRlcmF0b3IgIT0gZGVz
Y2VuZGFudHNNYXAtPmVuZCgpKTsKKyAgICAgICAgaWYgKGRlc2NlbmRhbnRzTWFwSXRlcmF0b3Ig
PT0gZGVzY2VuZGFudHNNYXAtPmVuZCgpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IGF1dG8qIGRlc2NlbmRhbnRTZXQgPSBkZXNjZW5kYW50c01hcEl0ZXJhdG9yLT52YWx1ZS5nZXQo
KTsKKyAgICAgICAgQVNTRVJUKGRlc2NlbmRhbnRTZXQtPmNvbnRhaW5zKCZkZXNjZW5kYW50KSk7
CisgICAgICAgIGRlc2NlbmRhbnRTZXQtPnJlbW92ZSgmZGVzY2VuZGFudCk7CisgICAgICAgIGlm
IChkZXNjZW5kYW50U2V0LT5pc0VtcHR5KCkpCisgICAgICAgICAgICBkZXNjZW5kYW50c01hcC0+
cmVtb3ZlKGRlc2NlbmRhbnRzTWFwSXRlcmF0b3IpOworICAgIH0KK30KKwogdHlwZWRlZiBIYXNo
TWFwPFJlbmRlckJsb2NrKiwgc3RkOjp1bmlxdWVfcHRyPExpc3RIYXNoU2V0PFJlbmRlcklubGlu
ZSo+Pj4gQ29udGludWF0aW9uT3V0bGluZVRhYmxlTWFwOwogCiBzdHJ1Y3QgVXBkYXRlU2Nyb2xs
SW5mb0FmdGVyTGF5b3V0VHJhbnNhY3Rpb24gewpAQCAtMjAxLDcgKzI2NCw3IEBAIHN0YXRpYyB2
b2lkIHJlbW92ZUJsb2NrRnJvbURlc2NlbmRhbnRBbmRDb250YWluZXJNYXBzKFJlbmRlckJsb2Nr
KiBibG9jaywgVHJhY2tlCiAgICAgICAgICAgICBBU1NFUlQoaXQgIT0gY29udGFpbmVyTWFwLT5l
bmQoKSk7CiAgICAgICAgICAgICBpZiAoaXQgPT0gY29udGFpbmVyTWFwLT5lbmQoKSkKICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIEhhc2hTZXQ8UmVuZGVyQmxvY2sqPiog
Y29udGFpbmVyU2V0ID0gaXQtPnZhbHVlLmdldCgpOworICAgICAgICAgICAgYXV0byogY29udGFp
bmVyU2V0ID0gaXQtPnZhbHVlLmdldCgpOwogICAgICAgICAgICAgQVNTRVJUKGNvbnRhaW5lclNl
dC0+Y29udGFpbnMoYmxvY2spKTsKICAgICAgICAgICAgIGNvbnRhaW5lclNldC0+cmVtb3ZlKGJs
b2NrKTsKICAgICAgICAgICAgIGlmIChjb250YWluZXJTZXQtPmlzRW1wdHkoKSkKQEAgLTIxMTMs
NjkgKzIxNzYsNiBAQCBSZW5kZXJCbG9jayogUmVuZGVyQmxvY2s6OmJsb2NrQmVmb3JlV2l0aGlu
U2VsZWN0aW9uUm9vdChMYXlvdXRTaXplJiBvZmZzZXQpIGNvbgogICAgIHJldHVybiBiZWZvcmVC
bG9jazsKIH0KIAotdm9pZCBSZW5kZXJCbG9jazo6aW5zZXJ0SW50b1RyYWNrZWRSZW5kZXJlck1h
cHMoUmVuZGVyQm94JiBkZXNjZW5kYW50LCBUcmFja2VkRGVzY2VuZGFudHNNYXAqJiBkZXNjZW5k
YW50c01hcCwgVHJhY2tlZENvbnRhaW5lck1hcComIGNvbnRhaW5lck1hcCwgYm9vbCBmb3JjZU5l
d0VudHJ5KQotewotICAgIGlmICghZGVzY2VuZGFudHNNYXApIHsKLSAgICAgICAgZGVzY2VuZGFu
dHNNYXAgPSBuZXcgVHJhY2tlZERlc2NlbmRhbnRzTWFwOwotICAgICAgICBjb250YWluZXJNYXAg
PSBuZXcgVHJhY2tlZENvbnRhaW5lck1hcDsKLSAgICB9Ci0gICAgCi0gICAgVHJhY2tlZFJlbmRl
cmVyTGlzdEhhc2hTZXQqIGRlc2NlbmRhbnRTZXQgPSBkZXNjZW5kYW50c01hcC0+Z2V0KHRoaXMp
OwotICAgIGlmICghZGVzY2VuZGFudFNldCkgewotICAgICAgICBkZXNjZW5kYW50U2V0ID0gbmV3
IFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0OwotICAgICAgICBkZXNjZW5kYW50c01hcC0+c2V0
KHRoaXMsIHN0ZDo6dW5pcXVlX3B0cjxUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldD4oZGVzY2Vu
ZGFudFNldCkpOwotICAgIH0KLSAgICAKLSAgICBpZiAoZm9yY2VOZXdFbnRyeSkgewotICAgICAg
ICBkZXNjZW5kYW50U2V0LT5yZW1vdmUoJmRlc2NlbmRhbnQpOwotICAgICAgICBjb250YWluZXJN
YXAtPnJlbW92ZSgmZGVzY2VuZGFudCk7Ci0gICAgfQotICAgIAotICAgIGJvb2wgYWRkZWQgPSBk
ZXNjZW5kYW50U2V0LT5hZGQoJmRlc2NlbmRhbnQpLmlzTmV3RW50cnk7Ci0gICAgaWYgKCFhZGRl
ZCkgewotICAgICAgICBBU1NFUlQoY29udGFpbmVyTWFwLT5nZXQoJmRlc2NlbmRhbnQpKTsKLSAg
ICAgICAgQVNTRVJUKGNvbnRhaW5lck1hcC0+Z2V0KCZkZXNjZW5kYW50KS0+Y29udGFpbnModGhp
cykpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIAotICAgIEhhc2hTZXQ8UmVuZGVyQmxv
Y2sqPiogY29udGFpbmVyU2V0ID0gY29udGFpbmVyTWFwLT5nZXQoJmRlc2NlbmRhbnQpOwotICAg
IGlmICghY29udGFpbmVyU2V0KSB7Ci0gICAgICAgIGNvbnRhaW5lclNldCA9IG5ldyBIYXNoU2V0
PFJlbmRlckJsb2NrKj47Ci0gICAgICAgIGNvbnRhaW5lck1hcC0+c2V0KCZkZXNjZW5kYW50LCBz
dGQ6OnVuaXF1ZV9wdHI8SGFzaFNldDxSZW5kZXJCbG9jayo+Pihjb250YWluZXJTZXQpKTsKLSAg
ICB9ICAgIAotICAgIEFTU0VSVCghY29udGFpbmVyU2V0LT5jb250YWlucyh0aGlzKSk7Ci0gICAg
Y29udGFpbmVyU2V0LT5hZGQodGhpcyk7Ci19Ci0KLXZvaWQgUmVuZGVyQmxvY2s6OnJlbW92ZUZy
b21UcmFja2VkUmVuZGVyZXJNYXBzKFJlbmRlckJveCYgZGVzY2VuZGFudCwgVHJhY2tlZERlc2Nl
bmRhbnRzTWFwKiYgZGVzY2VuZGFudHNNYXAsIFRyYWNrZWRDb250YWluZXJNYXAqJiBjb250YWlu
ZXJNYXApCi17Ci0gICAgaWYgKCFkZXNjZW5kYW50c01hcCkKLSAgICAgICAgcmV0dXJuOwotICAg
IAotICAgIHN0ZDo6dW5pcXVlX3B0cjxIYXNoU2V0PFJlbmRlckJsb2NrKj4+IGNvbnRhaW5lclNl
dCA9IGNvbnRhaW5lck1hcC0+dGFrZSgmZGVzY2VuZGFudCk7Ci0gICAgaWYgKCFjb250YWluZXJT
ZXQpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBmb3IgKGF1dG8gaXQgPSBjb250YWluZXJT
ZXQtPmJlZ2luKCksIGVuZCA9IGNvbnRhaW5lclNldC0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkg
ewotICAgICAgICBSZW5kZXJCbG9jayogY29udGFpbmVyID0gKml0OwotCi0gICAgICAgIC8vIEZJ
WE1FOiBEaXNhYmxpbmcgdGhpcyBhc3NlcnQgdGVtcG9yYXJpbHkgdW50aWwgd2UgZml4IHRoZSBs
YXlvdXQKLSAgICAgICAgLy8gYnVncyBhc3NvY2lhdGVkIHdpdGggcG9zaXRpb25lZCBvYmplY3Rz
IG5vdCBwcm9wZXJseSBjbGVhcmVkIGZyb20KLSAgICAgICAgLy8gdGhlaXIgYW5jZXN0b3IgY2hh
aW4gYmVmb3JlIGJlaW5nIG1vdmVkLiBTZWUgd2Via2l0IGJ1ZyA5Mzc2Ni4KLSAgICAgICAgLy8g
QVNTRVJUKGRlc2NlbmRhbnQtPmlzRGVzY2VuZGFudE9mKGNvbnRhaW5lcikpOwotCi0gICAgICAg
IFRyYWNrZWREZXNjZW5kYW50c01hcDo6aXRlcmF0b3IgZGVzY2VuZGFudHNNYXBJdGVyYXRvciA9
IGRlc2NlbmRhbnRzTWFwLT5maW5kKGNvbnRhaW5lcik7Ci0gICAgICAgIEFTU0VSVChkZXNjZW5k
YW50c01hcEl0ZXJhdG9yICE9IGRlc2NlbmRhbnRzTWFwLT5lbmQoKSk7Ci0gICAgICAgIGlmIChk
ZXNjZW5kYW50c01hcEl0ZXJhdG9yID09IGRlc2NlbmRhbnRzTWFwLT5lbmQoKSkKLSAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldCogZGVzY2Vu
ZGFudFNldCA9IGRlc2NlbmRhbnRzTWFwSXRlcmF0b3ItPnZhbHVlLmdldCgpOwotICAgICAgICBB
U1NFUlQoZGVzY2VuZGFudFNldC0+Y29udGFpbnMoJmRlc2NlbmRhbnQpKTsKLSAgICAgICAgZGVz
Y2VuZGFudFNldC0+cmVtb3ZlKCZkZXNjZW5kYW50KTsKLSAgICAgICAgaWYgKGRlc2NlbmRhbnRT
ZXQtPmlzRW1wdHkoKSkKLSAgICAgICAgICAgIGRlc2NlbmRhbnRzTWFwLT5yZW1vdmUoZGVzY2Vu
ZGFudHNNYXBJdGVyYXRvcik7Ci0gICAgfQotfQotCiBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNl
dCogUmVuZGVyQmxvY2s6OnBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKIHsKICAgICBpZiAoZ1Bv
c2l0aW9uZWREZXNjZW5kYW50c01hcCkKQEAgLTIxODksOCArMjE4OSw4IEBAIHZvaWQgUmVuZGVy
QmxvY2s6Omluc2VydFBvc2l0aW9uZWRPYmplY3QoUmVuZGVyQm94JiBwb3NpdGlvbmVkKQogCiAg
ICAgaWYgKHBvc2l0aW9uZWQuaXNSZW5kZXJGbG93VGhyZWFkKCkpCiAgICAgICAgIHJldHVybjsK
LSAgICAKLSAgICBpbnNlcnRJbnRvVHJhY2tlZFJlbmRlcmVyTWFwcyhwb3NpdGlvbmVkLCBnUG9z
aXRpb25lZERlc2NlbmRhbnRzTWFwLCBnUG9zaXRpb25lZENvbnRhaW5lck1hcCwgaXNSZW5kZXJW
aWV3KCkpOworCisgICAgaW5zZXJ0SW50b1RyYWNrZWRSZW5kZXJlck1hcHMoKnRoaXMsIHBvc2l0
aW9uZWQsIGdQb3NpdGlvbmVkRGVzY2VuZGFudHNNYXAsIGdQb3NpdGlvbmVkQ29udGFpbmVyTWFw
LCBpc1JlbmRlclZpZXcoKSk7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6OnJlbW92ZVBvc2l0aW9u
ZWRPYmplY3QoUmVuZGVyQm94JiByZW5kZXJlclRvUmVtb3ZlKQpAQCAtMjIyNSw3ICsyMjI1LDcg
QEAgdm9pZCBSZW5kZXJCbG9jazo6cmVtb3ZlUG9zaXRpb25lZE9iamVjdHMoY29uc3QgUmVuZGVy
QmxvY2sqIG5ld0NvbnRhaW5pbmdCbG9ja0MKIAogdm9pZCBSZW5kZXJCbG9jazo6YWRkUGVyY2Vu
dEhlaWdodERlc2NlbmRhbnQoUmVuZGVyQm94JiBkZXNjZW5kYW50KQogewotICAgIGluc2VydElu
dG9UcmFja2VkUmVuZGVyZXJNYXBzKGRlc2NlbmRhbnQsIGdQZXJjZW50SGVpZ2h0RGVzY2VuZGFu
dHNNYXAsIGdQZXJjZW50SGVpZ2h0Q29udGFpbmVyTWFwKTsKKyAgICBpbnNlcnRJbnRvVHJhY2tl
ZFJlbmRlcmVyTWFwcygqdGhpcywgZGVzY2VuZGFudCwgZ1BlcmNlbnRIZWlnaHREZXNjZW5kYW50
c01hcCwgZ1BlcmNlbnRIZWlnaHRDb250YWluZXJNYXAsIGZhbHNlKTsKIH0KIAogdm9pZCBSZW5k
ZXJCbG9jazo6cmVtb3ZlUGVyY2VudEhlaWdodERlc2NlbmRhbnQoUmVuZGVyQm94JiBkZXNjZW5k
YW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA5YjkwMDgwZWJh
Yjk0ZmU1NDU2ZGZjZjM4MzJlZjY5NzhhY2QwMDM2Li5lNTU3MmYwMzhkZDU3MzdhMDk4YzgzMjMy
MjcwODg5NWVlNjkwYzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApA
QCAtNDIsOCArNDIsNiBAQCBzdHJ1Y3QgQmlkaVJ1bjsKIHN0cnVjdCBQYWludEluZm87CiAKIHR5
cGVkZWYgV1RGOjpMaXN0SGFzaFNldDxSZW5kZXJCb3gqPiBUcmFja2VkUmVuZGVyZXJMaXN0SGFz
aFNldDsKLXR5cGVkZWYgV1RGOjpIYXNoTWFwPGNvbnN0IFJlbmRlckJsb2NrKiwgc3RkOjp1bmlx
dWVfcHRyPFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0Pj4gVHJhY2tlZERlc2NlbmRhbnRzTWFw
OwotdHlwZWRlZiBXVEY6Okhhc2hNYXA8Y29uc3QgUmVuZGVyQm94Kiwgc3RkOjp1bmlxdWVfcHRy
PEhhc2hTZXQ8UmVuZGVyQmxvY2sqPj4+IFRyYWNrZWRDb250YWluZXJNYXA7CiAKIGVudW0gQ2Fy
ZXRUeXBlIHsgQ3Vyc29yQ2FyZXQsIERyYWdDYXJldCB9OwogZW51bSBDb250YWluaW5nQmxvY2tT
dGF0ZSB7IE5ld0NvbnRhaW5pbmdCbG9jaywgU2FtZUNvbnRhaW5pbmdCbG9jayB9OwpAQCAtNDIw
LDkgKzQxOCw2IEBAIHByaXZhdGU6CiAgICAgLy8gRklYTUUtQkxPQ0tGTE9XOiBSZW1vdmUgdmly
dHVhbGl6YWlvbiB3aGVuIGFsbCBjYWxsZXJzIGhhdmUgbW92ZWQgdG8gUmVuZGVyQmxvY2tGbG93
CiAgICAgdmlydHVhbCBib29sIGhhc0xpbmVzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAot
ICAgIHZvaWQgaW5zZXJ0SW50b1RyYWNrZWRSZW5kZXJlck1hcHMoUmVuZGVyQm94JiBkZXNjZW5k
YW50LCBUcmFja2VkRGVzY2VuZGFudHNNYXAqJiwgVHJhY2tlZENvbnRhaW5lck1hcComLCBib29s
IGZvcmNlTmV3RW50cnkgPSBmYWxzZSk7Ci0gICAgc3RhdGljIHZvaWQgcmVtb3ZlRnJvbVRyYWNr
ZWRSZW5kZXJlck1hcHMoUmVuZGVyQm94JiBkZXNjZW5kYW50LCBUcmFja2VkRGVzY2VuZGFudHNN
YXAqJiwgVHJhY2tlZENvbnRhaW5lck1hcComKTsKLQogICAgIHZvaWQgY3JlYXRlRmlyc3RMZXR0
ZXJSZW5kZXJlcihSZW5kZXJFbGVtZW50KiBmaXJzdExldHRlckJsb2NrLCBSZW5kZXJUZXh0KiBj
dXJyZW50VGV4dENoaWxkKTsKICAgICB2b2lkIHVwZGF0ZUZpcnN0TGV0dGVyU3R5bGUoUmVuZGVy
RWxlbWVudCogZmlyc3RMZXR0ZXJCbG9jaywgUmVuZGVyT2JqZWN0KiBmaXJzdExldHRlckNvbnRh
aW5lcik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>