<?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>89493</bug_id>
          
          <creation_ts>2012-06-19 11:44:21 -0700</creation_ts>
          <short_desc>Refactor RenderFlexibleBox terminology to use grow/shrink instead of positive/negative</short_desc>
          <delta_ts>2012-06-19 17:41:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>86525</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>652656</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-19 11:44:21 -0700</bug_when>
    <thetext>Refactor RenderFlexibleBox terminology to use grow/shrink instead of positive/negative</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652660</commentid>
    <comment_count>1</comment_count>
      <attachid>148381</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-19 11:46:35 -0700</bug_when>
    <thetext>Created attachment 148381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652950</commentid>
    <comment_count>2</comment_count>
      <attachid>148381</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-06-19 16:31:24 -0700</bug_when>
    <thetext>Comment on attachment 148381
Patch

Am I correct in understanding that this is only renames, and not any functional change? If so, rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652999</commentid>
    <comment_count>3</comment_count>
      <attachid>148381</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-19 16:59:55 -0700</bug_when>
    <thetext>Comment on attachment 148381
Patch

(In reply to comment #2)
&gt; (From update of attachment 148381 [details])
&gt; Am I correct in understanding that this is only renames, and not any functional change? If so, rs=me.

Yes, that&apos;s right.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653044</commentid>
    <comment_count>4</comment_count>
      <attachid>148381</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-19 17:40:57 -0700</bug_when>
    <thetext>Comment on attachment 148381
Patch

Clearing flags on attachment: 148381

Committed r120780: &lt;http://trac.webkit.org/changeset/120780&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653045</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-19 17:41:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148381</attachid>
            <date>2012-06-19 11:46:35 -0700</date>
            <delta_ts>2012-06-19 17:40:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89493-20120619114641.patch</filename>
            <type>text/plain</type>
            <size>27702</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI1YjVjNDkxYWM0NDVj
ZjUyYWI4ZjY4YTE1NWFhNThkNmM3YTFiMy4uNGQxMGU3ZGZmYjU3YjEwZDk1YWM5YThlMGMxZjBl
NDcwY2U4MTc0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTA2LTE5ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVmYWN0b3IgUmVuZGVyRmxl
eGlibGVCb3ggdGVybWlub2xvZ3kgdG8gdXNlIGdyb3cvc2hyaW5rIGluc3RlYWQgb2YgcG9zaXRp
dmUvbmVnYXRpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg5NDkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhlIHNwZWMgc3RvcHBlZCByZWZlcnJpbmcgdG8gcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIGZs
ZXggYW5kIG5vdworICAgICAgICB0YWxrcyBhYm91dCBmbGV4IGdyb3cgYW5kIGZsZXggc2hyaW5r
LiBBbHNvLCB0aGUgcHJlZmVycmVkIHNpemUgaXMKKyAgICAgICAgbm93IGtub3duIGFzIHRoZSBm
bGV4IGJhc2lzLiBNYWtlIHRoZSBjb2RlIG1hdGNoIHRoZSB0ZXJtcyB1c2VkIGluCisgICAgICAg
IHRoZSBzcGVjLiBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLWZsZXhib3gvCisKKyAgICAg
ICAgVGhpcyB3aWxsIGFsc28gbWFrZSBpdCBlYXNpZXIgdG8gc3BsaXQgZmxleCBpbnRvIGxvbmcg
aGFuZCBub3RhdGlvbgorICAgICAgICAoZmxleC1ncm93LCBmbGV4LXNocmluayBhbmQgZmxleC1i
YXNpcykuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3Rz
LgorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NT
VmFsdWUpOgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QXBwbHlQcm9wZXJ0eUZsZXg6OmFwcGx5SW5oZXJpdFZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGx5UHJvcGVydHlGbGV4OjphcHBseUluaXRpYWxWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpBcHBseVByb3BlcnR5RmxleDo6YXBwbHlWYWx1ZSk6CisgICAgICAgICogcGFnZS9hbmlt
YXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvcGVy
dHlXcmFwcGVyRmxleDo6ZXF1YWxzKToKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5V3JhcHBl
ckZsZXg6OmJsZW5kKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmZsZXhCYXNpc0ZvckNoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpwcmVmZXJyZWRNYWluQXhp
c0NvbnRlbnRFeHRlbnRGb3JDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJs
ZUJveDo6bGF5b3V0RmxleEl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxl
Qm94Ojpjb21wdXRlTWFpbkF4aXNQcmVmZXJyZWRTaXplcyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU5leHRGbGV4TGluZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGbGV4aWJsZUJveDo6ZnJlZXplVmlvbGF0aW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGbGV4aWJsZUJveDo6cmVzb2x2ZUZsZXhpYmxlTGVuZ3Rocyk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVC
b3hEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlRmxleGlibGVCb3hEYXRhOjpTdHls
ZUZsZXhpYmxlQm94RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUZsZXhpYmxlQm94RGF0
YTo6b3BlcmF0b3I9PSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVC
b3hEYXRhLmg6CisgICAgICAgIChTdHlsZUZsZXhpYmxlQm94RGF0YSk6CisKIDIwMTItMDYtMTMg
IEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaWxlV3JpdGVy
IHByb2dyZXNzIGV2ZW50cyBzaG91bGQgYmUgdGhyb3R0bGVkIHRvIDUwbXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNTU2
YjUwOTFlYmYzZjBjMTg2N2IzMjkwNjYzNDNmY2ZhMWM3Yjk3OS4uOGU3NTIwMGM4ZjBhNzVhZWU3
NmY5M2RiZDM1OTQ4MTkwNzdmM2RjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE2NTIsMTYgKzE2NTIsMTYgQEAgUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0
eUNTU1ZhbHVlKENTU1Byb3BlcnQKICNpZiBFTkFCTEUoQ1NTM19GTEVYQk9YKQogICAgICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0RmxleDogewogICAgICAgICAgICAgUmVmUHRyPENTU1ZhbHVl
TGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKLSAgICAg
ICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShzdHlsZS0+cG9z
aXRpdmVGbGV4KCkpKTsKLSAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5j
cmVhdGVWYWx1ZShzdHlsZS0+bmVnYXRpdmVGbGV4KCkpKTsKKyAgICAgICAgICAgIGxpc3QtPmFw
cGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShzdHlsZS0+ZmxleEdyb3coKSkpOworICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxlLT5m
bGV4U2hyaW5rKCkpKTsKIAotICAgICAgICAgICAgTGVuZ3RoIHByZWZlcnJlZFNpemUgPSBzdHls
ZS0+ZmxleFByZWZlcnJlZFNpemUoKTsKLSAgICAgICAgICAgIGlmIChwcmVmZXJyZWRTaXplLmlz
QXV0bygpKQorICAgICAgICAgICAgTGVuZ3RoIGZsZXhCYXNpcyA9IHN0eWxlLT5mbGV4QmFzaXMo
KTsKKyAgICAgICAgICAgIGlmIChmbGV4QmFzaXMuaXNBdXRvKCkpCiAgICAgICAgICAgICAgICAg
bGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1
ZUF1dG8pKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHByZWZlcnJlZFNpemUuaXNQZXJjZW50KCkp
Ci0gICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVl
KHByZWZlcnJlZFNpemUudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdF
KSk7CisgICAgICAgICAgICBlbHNlIGlmIChmbGV4QmFzaXMuaXNQZXJjZW50KCkpCisgICAgICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKGZsZXhCYXNp
cy52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpKTsKICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3Jl
YXRlVmFsdWUocHJlZmVycmVkU2l6ZS52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BY
KSk7CisgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZh
bHVlKGZsZXhCYXNpcy52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYKSk7CiAKICAg
ICAgICAgICAgIHJldHVybiBsaXN0LnJlbGVhc2UoKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyLmNwcAppbmRleCA5MTE1MDUwZDZiMGNiNTlmNTg3ZTUyMzJhZjdlNjRhNDZh
OTI2NDRjLi5iNTcyNTA0MWUxNzgwMDEzZDU0MjhjYjA5NGZhNjU3NzM5MmVkMTEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcApAQCAtMTcwNywxNiArMTcwNywxNiBAQCBjbGFzcyBB
cHBseVByb3BlcnR5RmxleCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYXBwbHlJbmhlcml0
VmFsdWUoU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlcikKICAgICB7Ci0gICAgICAgIEFwcGx5
UHJvcGVydHlEZWZhdWx0QmFzZTxmbG9hdCwgJlJlbmRlclN0eWxlOjpwb3NpdGl2ZUZsZXgsIGZs
b2F0LCAmUmVuZGVyU3R5bGU6OnNldFBvc2l0aXZlRmxleCwgZmxvYXQsICZSZW5kZXJTdHlsZTo6
aW5pdGlhbE5lZ2F0aXZlRmxleD46OmFwcGx5SW5oZXJpdFZhbHVlKHN0eWxlUmVzb2x2ZXIpOwot
ICAgICAgICBBcHBseVByb3BlcnR5RGVmYXVsdEJhc2U8ZmxvYXQsICZSZW5kZXJTdHlsZTo6bmVn
YXRpdmVGbGV4LCBmbG9hdCwgJlJlbmRlclN0eWxlOjpzZXROZWdhdGl2ZUZsZXgsIGZsb2F0LCAm
UmVuZGVyU3R5bGU6OmluaXRpYWxQb3NpdGl2ZUZsZXg+OjphcHBseUluaGVyaXRWYWx1ZShzdHls
ZVJlc29sdmVyKTsKLSAgICAgICAgQXBwbHlQcm9wZXJ0eURlZmF1bHRCYXNlPExlbmd0aCwgJlJl
bmRlclN0eWxlOjpmbGV4UHJlZmVycmVkU2l6ZSwgTGVuZ3RoLCAmUmVuZGVyU3R5bGU6OnNldEZs
ZXhQcmVmZXJyZWRTaXplLCBMZW5ndGgsICZSZW5kZXJTdHlsZTo6aW5pdGlhbEZsZXhQcmVmZXJy
ZWRTaXplPjo6YXBwbHlJbmhlcml0VmFsdWUoc3R5bGVSZXNvbHZlcik7CisgICAgICAgIEFwcGx5
UHJvcGVydHlEZWZhdWx0QmFzZTxmbG9hdCwgJlJlbmRlclN0eWxlOjpmbGV4R3JvdywgZmxvYXQs
ICZSZW5kZXJTdHlsZTo6c2V0RmxleEdyb3csIGZsb2F0LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxG
bGV4R3Jvdz46OmFwcGx5SW5oZXJpdFZhbHVlKHN0eWxlUmVzb2x2ZXIpOworICAgICAgICBBcHBs
eVByb3BlcnR5RGVmYXVsdEJhc2U8ZmxvYXQsICZSZW5kZXJTdHlsZTo6ZmxleFNocmluaywgZmxv
YXQsICZSZW5kZXJTdHlsZTo6c2V0RmxleFNocmluaywgZmxvYXQsICZSZW5kZXJTdHlsZTo6aW5p
dGlhbEZsZXhTaHJpbms+OjphcHBseUluaGVyaXRWYWx1ZShzdHlsZVJlc29sdmVyKTsKKyAgICAg
ICAgQXBwbHlQcm9wZXJ0eURlZmF1bHRCYXNlPExlbmd0aCwgJlJlbmRlclN0eWxlOjpmbGV4QmFz
aXMsIExlbmd0aCwgJlJlbmRlclN0eWxlOjpzZXRGbGV4QmFzaXMsIExlbmd0aCwgJlJlbmRlclN0
eWxlOjppbml0aWFsRmxleEJhc2lzPjo6YXBwbHlJbmhlcml0VmFsdWUoc3R5bGVSZXNvbHZlcik7
CiAgICAgfQogCiAgICAgc3RhdGljIHZvaWQgYXBwbHlJbml0aWFsVmFsdWUoU3R5bGVSZXNvbHZl
ciogc3R5bGVSZXNvbHZlcikKICAgICB7Ci0gICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCkt
PnNldFBvc2l0aXZlRmxleChSZW5kZXJTdHlsZTo6aW5pdGlhbFBvc2l0aXZlRmxleCgpKTsKLSAg
ICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0TmVnYXRpdmVGbGV4KFJlbmRlclN0eWxl
Ojppbml0aWFsTmVnYXRpdmVGbGV4KCkpOwotICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHlsZSgp
LT5zZXRGbGV4UHJlZmVycmVkU2l6ZShSZW5kZXJTdHlsZTo6aW5pdGlhbEZsZXhQcmVmZXJyZWRT
aXplKCkpOworICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5zZXRGbGV4R3JvdyhSZW5k
ZXJTdHlsZTo6aW5pdGlhbEZsZXhHcm93KCkpOworICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHls
ZSgpLT5zZXRGbGV4U2hyaW5rKFJlbmRlclN0eWxlOjppbml0aWFsRmxleFNocmluaygpKTsKKyAg
ICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0RmxleEJhc2lzKFJlbmRlclN0eWxlOjpp
bml0aWFsRmxleEJhc2lzKCkpOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUo
U3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUqIHZhbHVlKQpAQCAtMTcyNCw5
ICsxNzI0LDkgQEAgcHVibGljOgogICAgICAgICBpZiAodmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUo
KSkgewogICAgICAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3Rh
dGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZSk7CiAgICAgICAgICAgICBpZiAocHJp
bWl0aXZlVmFsdWUtPmdldElkZW50KCkgPT0gQ1NTVmFsdWVOb25lKSB7Ci0gICAgICAgICAgICAg
ICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0UG9zaXRpdmVGbGV4KDApOwotICAgICAgICAg
ICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldE5lZ2F0aXZlRmxleCgwKTsKLSAgICAg
ICAgICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5zZXRGbGV4UHJlZmVycmVkU2l6ZShM
ZW5ndGgoQXV0bykpOworICAgICAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNl
dEZsZXhHcm93KDApOworICAgICAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNl
dEZsZXhTaHJpbmsoMCk7CisgICAgICAgICAgICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+
c2V0RmxleEJhc2lzKExlbmd0aChBdXRvKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KQEAgLTE3NDAsMTMgKzE3NDAsMTMgQEAgcHVibGljOgogICAgICAg
ICBmbG9hdCBmbGV4VmFsdWUgPSAwOwogICAgICAgICBpZiAoIWdldEZsZXhWYWx1ZSh2YWx1ZUxp
c3QtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soMCksIGZsZXhWYWx1ZSkpCiAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldFBvc2l0aXZlRmxleChm
bGV4VmFsdWUpOworICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5zZXRGbGV4R3Jvdyhm
bGV4VmFsdWUpOwogCiAgICAgICAgIGlmICghZ2V0RmxleFZhbHVlKHZhbHVlTGlzdC0+aXRlbVdp
dGhvdXRCb3VuZHNDaGVjaygxKSwgZmxleFZhbHVlKSkKICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0TmVnYXRpdmVGbGV4KGZsZXhWYWx1ZSk7
CisgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldEZsZXhTaHJpbmsoZmxleFZhbHVl
KTsKIAotICAgICAgICBBcHBseVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6ZmxleFByZWZl
cnJlZFNpemUsICZSZW5kZXJTdHlsZTo6c2V0RmxleFByZWZlcnJlZFNpemUsICZSZW5kZXJTdHls
ZTo6aW5pdGlhbEZsZXhQcmVmZXJyZWRTaXplLCBBdXRvRW5hYmxlZD46OmFwcGx5VmFsdWUoc3R5
bGVSZXNvbHZlciwgdmFsdWVMaXN0LT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDIpKTsKKyAgICAg
ICAgQXBwbHlQcm9wZXJ0eUxlbmd0aDwmUmVuZGVyU3R5bGU6OmZsZXhCYXNpcywgJlJlbmRlclN0
eWxlOjpzZXRGbGV4QmFzaXMsICZSZW5kZXJTdHlsZTo6aW5pdGlhbEZsZXhCYXNpcywgQXV0b0Vu
YWJsZWQ+OjphcHBseVZhbHVlKHN0eWxlUmVzb2x2ZXIsIHZhbHVlTGlzdC0+aXRlbVdpdGhvdXRC
b3VuZHNDaGVjaygyKSk7CiAgICAgfQogCiAgICAgc3RhdGljIFByb3BlcnR5SGFuZGxlciBjcmVh
dGVIYW5kbGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NT
U1Byb3BlcnR5QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NT
U1Byb3BlcnR5QW5pbWF0aW9uLmNwcAppbmRleCA5Y2QxYTI2YWFjMjM0N2VjY2UyOTdiYzY2Y2U4
MWViODBjNWU1OWIwLi40NWI5MGEzOTdlYmQ5ZDU2NTA0Y2Q4MDAyN2M5MmJjYjkyNmM1ODQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1h
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlB
bmltYXRpb24uY3BwCkBAIC05MTcsMTQgKzkxNywxNCBAQCBwdWJsaWM6CiAgICAgICAgIGlmICgh
YSB8fCAhYikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICByZXR1cm4gYS0+
ZmxleFByZWZlcnJlZFNpemUoKSA9PSBiLT5mbGV4UHJlZmVycmVkU2l6ZSgpICYmIGEtPnBvc2l0
aXZlRmxleCgpID09IGItPnBvc2l0aXZlRmxleCgpICYmIGEtPm5lZ2F0aXZlRmxleCgpID09IGIt
Pm5lZ2F0aXZlRmxleCgpOworICAgICAgICByZXR1cm4gYS0+ZmxleEJhc2lzKCkgPT0gYi0+Zmxl
eEJhc2lzKCkgJiYgYS0+ZmxleEdyb3coKSA9PSBiLT5mbGV4R3JvdygpICYmIGEtPmZsZXhTaHJp
bmsoKSA9PSBiLT5mbGV4U2hyaW5rKCk7CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIGJsZW5k
KGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIFJlbmRlclN0eWxlKiBkc3QsIGNvbnN0IFJlbmRl
clN0eWxlKiBhLCBjb25zdCBSZW5kZXJTdHlsZSogYiwgZG91YmxlIHByb2dyZXNzKSBjb25zdAog
ICAgIHsKLSAgICAgICAgZHN0LT5zZXRGbGV4UHJlZmVycmVkU2l6ZShibGVuZEZ1bmMoYW5pbSwg
YS0+ZmxleFByZWZlcnJlZFNpemUoKSwgYi0+ZmxleFByZWZlcnJlZFNpemUoKSwgcHJvZ3Jlc3Mp
KTsKLSAgICAgICAgZHN0LT5zZXRQb3NpdGl2ZUZsZXgoYmxlbmRGdW5jKGFuaW0sIGEtPnBvc2l0
aXZlRmxleCgpLCBiLT5wb3NpdGl2ZUZsZXgoKSwgcHJvZ3Jlc3MpKTsKLSAgICAgICAgZHN0LT5z
ZXROZWdhdGl2ZUZsZXgoYmxlbmRGdW5jKGFuaW0sIGEtPm5lZ2F0aXZlRmxleCgpLCBiLT5uZWdh
dGl2ZUZsZXgoKSwgcHJvZ3Jlc3MpKTsKKyAgICAgICAgZHN0LT5zZXRGbGV4QmFzaXMoYmxlbmRG
dW5jKGFuaW0sIGEtPmZsZXhCYXNpcygpLCBiLT5mbGV4QmFzaXMoKSwgcHJvZ3Jlc3MpKTsKKyAg
ICAgICAgZHN0LT5zZXRGbGV4R3JvdyhibGVuZEZ1bmMoYW5pbSwgYS0+ZmxleEdyb3coKSwgYi0+
ZmxleEdyb3coKSwgcHJvZ3Jlc3MpKTsKKyAgICAgICAgZHN0LT5zZXRGbGV4U2hyaW5rKGJsZW5k
RnVuYyhhbmltLCBhLT5mbGV4U2hyaW5rKCksIGItPmZsZXhTaHJpbmsoKSwgcHJvZ3Jlc3MpKTsK
ICAgICB9CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
ZXhpYmxlQm94LmNwcAppbmRleCBhMDQ4OWY4M2IwYzFiMjQyNmI0Zjk3NmRkNzhkMjY1NzE1ZGZl
MGJjLi44YWJhNmQ5YTBkNTk5NWQxOThkOGUwY2JkNmFhYzY0MDlhYTlkZjU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTMzNyw5ICsz
MzcsOSBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94Ojppc011bHRpbGluZSgpIGNvbnN0CiAgICAg
cmV0dXJuIHN0eWxlKCktPmZsZXhXcmFwKCkgIT0gRmxleFdyYXBOb25lOwogfQogCi1MZW5ndGgg
UmVuZGVyRmxleGlibGVCb3g6OnByZWZlcnJlZExlbmd0aEZvckNoaWxkKFJlbmRlckJveCogY2hp
bGQpIGNvbnN0CitMZW5ndGggUmVuZGVyRmxleGlibGVCb3g6OmZsZXhCYXNpc0ZvckNoaWxkKFJl
bmRlckJveCogY2hpbGQpIGNvbnN0CiB7Ci0gICAgTGVuZ3RoIGZsZXhMZW5ndGggPSBjaGlsZC0+
c3R5bGUoKS0+ZmxleFByZWZlcnJlZFNpemUoKTsKKyAgICBMZW5ndGggZmxleExlbmd0aCA9IGNo
aWxkLT5zdHlsZSgpLT5mbGV4QmFzaXMoKTsKICAgICBpZiAoZmxleExlbmd0aC5pc0F1dG8oKSkK
ICAgICAgICAgZmxleExlbmd0aCA9IGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5zdHlsZSgp
LT53aWR0aCgpIDogY2hpbGQtPnN0eWxlKCktPmhlaWdodCgpOwogICAgIHJldHVybiBmbGV4TGVu
Z3RoOwpAQCAtNTc5LDEyICs1NzksMTIgQEAgTGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNTY3JvbGxiYXJFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKQogCiBMYXlv
dXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjpwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRG
b3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKSBjb25zdAogewotICAgIExlbmd0aCBtYWluQXhpc0xl
bmd0aCA9IHByZWZlcnJlZExlbmd0aEZvckNoaWxkKGNoaWxkKTsKLSAgICBpZiAobWFpbkF4aXNM
ZW5ndGguaXNBdXRvKCkpIHsKKyAgICBMZW5ndGggZmxleEJhc2lzID0gZmxleEJhc2lzRm9yQ2hp
bGQoY2hpbGQpOworICAgIGlmIChmbGV4QmFzaXMuaXNBdXRvKCkpIHsKICAgICAgICAgTGF5b3V0
VW5pdCBtYWluQXhpc0V4dGVudCA9IGhhc09ydGhvZ29uYWxGbG93KGNoaWxkKSA/IGNoaWxkLT5s
b2dpY2FsSGVpZ2h0KCkgOiBjaGlsZC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCk7CiAgICAg
ICAgIHJldHVybiBtYWluQXhpc0V4dGVudCAtIG1haW5BeGlzQm9yZGVyQW5kUGFkZGluZ0V4dGVu
dEZvckNoaWxkKGNoaWxkKTsKICAgICB9Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KExheW91dFVuaXQo
MCksIG1pbmltdW1WYWx1ZUZvckxlbmd0aChtYWluQXhpc0xlbmd0aCwgbWFpbkF4aXNDb250ZW50
RXh0ZW50KCksIHZpZXcoKSkpOworICAgIHJldHVybiBzdGQ6Om1heChMYXlvdXRVbml0KDApLCBt
aW5pbXVtVmFsdWVGb3JMZW5ndGgoZmxleEJhc2lzLCBtYWluQXhpc0NvbnRlbnRFeHRlbnQoKSwg
dmlldygpKSk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVBdmFp
bGFibGVGcmVlU3BhY2UoTGF5b3V0VW5pdCBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCkKQEAgLTYx
NCwxOCArNjE0LDE4IEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmxheW91dEZsZXhJdGVtcyhP
cmRlckl0ZXJhdG9yJiBpdGVyYXRvciwgV1RGOjpWZWN0b3I8TGluCiB7CiAgICAgT3JkZXJlZEZs
ZXhJdGVtTGlzdCBvcmRlcmVkQ2hpbGRyZW47CiAgICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRNYWlu
QXhpc0V4dGVudDsKLSAgICBmbG9hdCB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHk7Ci0gICAgZmxv
YXQgdG90YWxXZWlnaHRlZE5lZ2F0aXZlRmxleGliaWxpdHk7CisgICAgZmxvYXQgdG90YWxGbGV4
R3JvdzsKKyAgICBmbG9hdCB0b3RhbFdlaWdodGVkRmxleFNocmluazsKICAgICBMYXlvdXRVbml0
IG1pbk1heEFwcGxpZWRNYWluQXhpc0V4dGVudDsKIAogICAgIExheW91dFVuaXQgY3Jvc3NBeGlz
T2Zmc2V0ID0gZmxvd0F3YXJlQm9yZGVyQmVmb3JlKCkgKyBmbG93QXdhcmVQYWRkaW5nQmVmb3Jl
KCk7Ci0gICAgd2hpbGUgKGNvbXB1dGVOZXh0RmxleExpbmUoaXRlcmF0b3IsIG9yZGVyZWRDaGls
ZHJlbiwgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQsIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwg
dG90YWxXZWlnaHRlZE5lZ2F0aXZlRmxleGliaWxpdHksIG1pbk1heEFwcGxpZWRNYWluQXhpc0V4
dGVudCkpIHsKKyAgICB3aGlsZSAoY29tcHV0ZU5leHRGbGV4TGluZShpdGVyYXRvciwgb3JkZXJl
ZENoaWxkcmVuLCBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCwgdG90YWxGbGV4R3JvdywgdG90YWxX
ZWlnaHRlZEZsZXhTaHJpbmssIG1pbk1heEFwcGxpZWRNYWluQXhpc0V4dGVudCkpIHsKICAgICAg
ICAgTGF5b3V0VW5pdCBhdmFpbGFibGVGcmVlU3BhY2UgPSBjb21wdXRlQXZhaWxhYmxlRnJlZVNw
YWNlKHByZWZlcnJlZE1haW5BeGlzRXh0ZW50KTsKICAgICAgICAgRmxleFNpZ24gZmxleFNpZ24g
PSAobWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50IDwgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQg
KyBhdmFpbGFibGVGcmVlU3BhY2UpID8gUG9zaXRpdmVGbGV4aWJpbGl0eSA6IE5lZ2F0aXZlRmxl
eGliaWxpdHk7CiAgICAgICAgIEluZmxleGlibGVGbGV4SXRlbVNpemUgaW5mbGV4aWJsZUl0ZW1z
OwogICAgICAgICBXVEY6OlZlY3RvcjxMYXlvdXRVbml0PiBjaGlsZFNpemVzOwotICAgICAgICB3
aGlsZSAoIXJlc29sdmVGbGV4aWJsZUxlbmd0aHMoZmxleFNpZ24sIG9yZGVyZWRDaGlsZHJlbiwg
YXZhaWxhYmxlRnJlZVNwYWNlLCB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHksIHRvdGFsV2VpZ2h0
ZWROZWdhdGl2ZUZsZXhpYmlsaXR5LCBpbmZsZXhpYmxlSXRlbXMsIGNoaWxkU2l6ZXMpKSB7Ci0g
ICAgICAgICAgICBBU1NFUlQodG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5ID49IDAgJiYgdG90YWxX
ZWlnaHRlZE5lZ2F0aXZlRmxleGliaWxpdHkgPj0gMCk7CisgICAgICAgIHdoaWxlICghcmVzb2x2
ZUZsZXhpYmxlTGVuZ3RocyhmbGV4U2lnbiwgb3JkZXJlZENoaWxkcmVuLCBhdmFpbGFibGVGcmVl
U3BhY2UsIHRvdGFsRmxleEdyb3csIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBpbmZsZXhpYmxl
SXRlbXMsIGNoaWxkU2l6ZXMpKSB7CisgICAgICAgICAgICBBU1NFUlQodG90YWxGbGV4R3JvdyA+
PSAwICYmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rID49IDApOwogICAgICAgICAgICAgQVNTRVJU
KGluZmxleGlibGVJdGVtcy5zaXplKCkgPiAwKTsKICAgICAgICAgfQogCkBAIC03NDgsNyArNzQ4
LDcgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU1haW5BeGlzUHJlZmVycmVkU2l6
ZXMoYm9vbCByZWxheW91dENoaWxkcmVuLCBPcmQKIAogICAgICAgICBjaGlsZC0+Y2xlYXJPdmVy
cmlkZVNpemUoKTsKICAgICAgICAgLy8gT25seSBuZWVkIHRvIGxheW91dCBoZXJlIGlmIHdlIHdp
bGwgbmVlZCB0byBnZXQgdGhlIGxvZ2ljYWxIZWlnaHQgb2YgdGhlIGNoaWxkIGluIGNvbXB1dGVO
ZXh0RmxleExpbmUuCi0gICAgICAgIGlmIChoYXNPcnRob2dvbmFsRmxvdyhjaGlsZCkgJiYgcHJl
ZmVycmVkTGVuZ3RoRm9yQ2hpbGQoY2hpbGQpLmlzQXV0bygpKSB7CisgICAgICAgIGlmIChoYXNP
cnRob2dvbmFsRmxvdyhjaGlsZCkgJiYgZmxleEJhc2lzRm9yQ2hpbGQoY2hpbGQpLmlzQXV0bygp
KSB7CiAgICAgICAgICAgICBpZiAoIXJlbGF5b3V0Q2hpbGRyZW4pCiAgICAgICAgICAgICAgICAg
Y2hpbGQtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSk7CiAgICAgICAgICAgICBjaGlsZC0+bGF5
b3V0SWZOZWVkZWQoKTsKQEAgLTc5NCwxMSArNzk0LDExIEBAIExheW91dFVuaXQgUmVuZGVyRmxl
eGlibGVCb3g6OmFkanVzdENoaWxkU2l6ZUZvck1pbkFuZE1heChSZW5kZXJCb3gqIGNoaWxkLCBM
YXlvCiAgICAgcmV0dXJuIGNoaWxkU2l6ZTsKIH0KIAotYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6
Y29tcHV0ZU5leHRGbGV4TGluZShPcmRlckl0ZXJhdG9yJiBpdGVyYXRvciwgT3JkZXJlZEZsZXhJ
dGVtTGlzdCYgb3JkZXJlZENoaWxkcmVuLCBMYXlvdXRVbml0JiBwcmVmZXJyZWRNYWluQXhpc0V4
dGVudCwgZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgZmxvYXQmIHRvdGFsV2VpZ2h0
ZWROZWdhdGl2ZUZsZXhpYmlsaXR5LCBMYXlvdXRVbml0JiBtaW5NYXhBcHBsaWVkTWFpbkF4aXNF
eHRlbnQpCitib29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMaW5lKE9yZGVy
SXRlcmF0b3ImIGl0ZXJhdG9yLCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBvcmRlcmVkQ2hpbGRyZW4s
IExheW91dFVuaXQmIHByZWZlcnJlZE1haW5BeGlzRXh0ZW50LCBmbG9hdCYgdG90YWxGbGV4R3Jv
dywgZmxvYXQmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBMYXlvdXRVbml0JiBtaW5NYXhBcHBs
aWVkTWFpbkF4aXNFeHRlbnQpCiB7CiAgICAgb3JkZXJlZENoaWxkcmVuLmNsZWFyKCk7CiAgICAg
cHJlZmVycmVkTWFpbkF4aXNFeHRlbnQgPSAwOwotICAgIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0
eSA9IHRvdGFsV2VpZ2h0ZWROZWdhdGl2ZUZsZXhpYmlsaXR5ID0gMDsKKyAgICB0b3RhbEZsZXhH
cm93ID0gdG90YWxXZWlnaHRlZEZsZXhTaHJpbmsgPSAwOwogICAgIG1pbk1heEFwcGxpZWRNYWlu
QXhpc0V4dGVudCA9IDA7CiAKICAgICBpZiAoIWl0ZXJhdG9yLmN1cnJlbnRDaGlsZCgpKQpAQCAt
ODIxLDggKzgyMSw4IEBAIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVOZXh0RmxleExp
bmUoT3JkZXJJdGVyYXRvciYgaXRlcmF0b3IsIE9yZGVyZWRGbGV4CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgb3JkZXJlZENoaWxkcmVuLmFwcGVuZChjaGlsZCk7CiAgICAgICAgIHByZWZl
cnJlZE1haW5BeGlzRXh0ZW50ICs9IGNoaWxkTWFpbkF4aXNNYXJnaW5Cb3hFeHRlbnQ7Ci0gICAg
ICAgIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSArPSBjaGlsZC0+c3R5bGUoKS0+cG9zaXRpdmVG
bGV4KCk7Ci0gICAgICAgIHRvdGFsV2VpZ2h0ZWROZWdhdGl2ZUZsZXhpYmlsaXR5ICs9IGNoaWxk
LT5zdHlsZSgpLT5uZWdhdGl2ZUZsZXgoKSAqIGNoaWxkTWFpbkF4aXNFeHRlbnQ7CisgICAgICAg
IHRvdGFsRmxleEdyb3cgKz0gY2hpbGQtPnN0eWxlKCktPmZsZXhHcm93KCk7CisgICAgICAgIHRv
dGFsV2VpZ2h0ZWRGbGV4U2hyaW5rICs9IGNoaWxkLT5zdHlsZSgpLT5mbGV4U2hyaW5rKCkgKiBj
aGlsZE1haW5BeGlzRXh0ZW50OwogCiAgICAgICAgIExheW91dFVuaXQgY2hpbGRNaW5NYXhBcHBs
aWVkTWFpbkF4aXNFeHRlbnQgPSBhZGp1c3RDaGlsZFNpemVGb3JNaW5BbmRNYXgoY2hpbGQsIGNo
aWxkTWFpbkF4aXNFeHRlbnQsIGZsZXhib3hBdmFpbGFibGVDb250ZW50RXh0ZW50KTsKICAgICAg
ICAgbWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50ICs9IGNoaWxkTWluTWF4QXBwbGllZE1haW5B
eGlzRXh0ZW50IC0gY2hpbGRNYWluQXhpc0V4dGVudCArIGNoaWxkTWFpbkF4aXNNYXJnaW5Cb3hF
eHRlbnQ7CkBAIC04MzAsMjEgKzgzMCwyMSBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21w
dXRlTmV4dEZsZXhMaW5lKE9yZGVySXRlcmF0b3ImIGl0ZXJhdG9yLCBPcmRlcmVkRmxleAogICAg
IHJldHVybiB0cnVlOwogfQogCi12b2lkIFJlbmRlckZsZXhpYmxlQm94OjpmcmVlemVWaW9sYXRp
b25zKGNvbnN0IFdURjo6VmVjdG9yPFZpb2xhdGlvbj4mIHZpb2xhdGlvbnMsIExheW91dFVuaXQm
IGF2YWlsYWJsZUZyZWVTcGFjZSwgZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgZmxv
YXQmIHRvdGFsV2VpZ2h0ZWROZWdhdGl2ZUZsZXhpYmlsaXR5LCBJbmZsZXhpYmxlRmxleEl0ZW1T
aXplJiBpbmZsZXhpYmxlSXRlbXMpCit2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpmcmVlemVWaW9s
YXRpb25zKGNvbnN0IFdURjo6VmVjdG9yPFZpb2xhdGlvbj4mIHZpb2xhdGlvbnMsIExheW91dFVu
aXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZmxvYXQmIHRvdGFsRmxleEdyb3csIGZsb2F0JiB0b3Rh
bFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYgaW5mbGV4aWJsZUl0
ZW1zKQogewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdmlvbGF0aW9ucy5zaXplKCk7ICsr
aSkgewogICAgICAgICBSZW5kZXJCb3gqIGNoaWxkID0gdmlvbGF0aW9uc1tpXS5jaGlsZDsKICAg
ICAgICAgTGF5b3V0VW5pdCBjaGlsZFNpemUgPSB2aW9sYXRpb25zW2ldLmNoaWxkU2l6ZTsKICAg
ICAgICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRDaGlsZFNpemUgPSBwcmVmZXJyZWRNYWluQXhpc0Nv
bnRlbnRFeHRlbnRGb3JDaGlsZChjaGlsZCk7CiAgICAgICAgIGF2YWlsYWJsZUZyZWVTcGFjZSAt
PSBjaGlsZFNpemUgLSBwcmVmZXJyZWRDaGlsZFNpemU7Ci0gICAgICAgIHRvdGFsUG9zaXRpdmVG
bGV4aWJpbGl0eSAtPSBjaGlsZC0+c3R5bGUoKS0+cG9zaXRpdmVGbGV4KCk7Ci0gICAgICAgIHRv
dGFsV2VpZ2h0ZWROZWdhdGl2ZUZsZXhpYmlsaXR5IC09IGNoaWxkLT5zdHlsZSgpLT5uZWdhdGl2
ZUZsZXgoKSAqIHByZWZlcnJlZENoaWxkU2l6ZTsKKyAgICAgICAgdG90YWxGbGV4R3JvdyAtPSBj
aGlsZC0+c3R5bGUoKS0+ZmxleEdyb3coKTsKKyAgICAgICAgdG90YWxXZWlnaHRlZEZsZXhTaHJp
bmsgLT0gY2hpbGQtPnN0eWxlKCktPmZsZXhTaHJpbmsoKSAqIHByZWZlcnJlZENoaWxkU2l6ZTsK
ICAgICAgICAgaW5mbGV4aWJsZUl0ZW1zLnNldChjaGlsZCwgY2hpbGRTaXplKTsKICAgICB9CiB9
CiAKIC8vIFJldHVybnMgdHJ1ZSBpZiB3ZSBzdWNjZXNzZnVsbHkgcmFuIHRoZSBhbGdvcml0aG0g
YW5kIHNpemVkIHRoZSBmbGV4IGl0ZW1zLgotYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cmVzb2x2
ZUZsZXhpYmxlTGVuZ3RocyhGbGV4U2lnbiBmbGV4U2lnbiwgY29uc3QgT3JkZXJlZEZsZXhJdGVt
TGlzdCYgY2hpbGRyZW4sIExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZmxvYXQmIHRv
dGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgZmxvYXQmIHRvdGFsV2VpZ2h0ZWROZWdhdGl2ZUZsZXhp
YmlsaXR5LCBJbmZsZXhpYmxlRmxleEl0ZW1TaXplJiBpbmZsZXhpYmxlSXRlbXMsIFdURjo6VmVj
dG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVzKQorYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cmVz
b2x2ZUZsZXhpYmxlTGVuZ3RocyhGbGV4U2lnbiBmbGV4U2lnbiwgY29uc3QgT3JkZXJlZEZsZXhJ
dGVtTGlzdCYgY2hpbGRyZW4sIExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZmxvYXQm
IHRvdGFsRmxleEdyb3csIGZsb2F0JiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJs
ZUZsZXhJdGVtU2l6ZSYgaW5mbGV4aWJsZUl0ZW1zLCBXVEY6OlZlY3RvcjxMYXlvdXRVbml0PiYg
Y2hpbGRTaXplcykKIHsKICAgICBjaGlsZFNpemVzLmNsZWFyKCk7CiAgICAgTGF5b3V0VW5pdCBm
bGV4Ym94QXZhaWxhYmxlQ29udGVudEV4dGVudCA9IG1haW5BeGlzQ29udGVudEV4dGVudCgpOwpA
QCAtODY0LDEwICs4NjQsMTAgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cmVzb2x2ZUZsZXhp
YmxlTGVuZ3RocyhGbGV4U2lnbiBmbGV4U2lnbiwgY29uc3QgT3JkZXJlZEYKICAgICAgICAgZWxz
ZSB7CiAgICAgICAgICAgICBMYXlvdXRVbml0IHByZWZlcnJlZENoaWxkU2l6ZSA9IHByZWZlcnJl
ZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKGNoaWxkKTsKICAgICAgICAgICAgIExheW91
dFVuaXQgY2hpbGRTaXplID0gcHJlZmVycmVkQ2hpbGRTaXplOwotICAgICAgICAgICAgaWYgKGF2
YWlsYWJsZUZyZWVTcGFjZSA+IDAgJiYgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5ID4gMCAmJiBm
bGV4U2lnbiA9PSBQb3NpdGl2ZUZsZXhpYmlsaXR5ICYmIGlzZmluaXRlKHRvdGFsUG9zaXRpdmVG
bGV4aWJpbGl0eSkpCi0gICAgICAgICAgICAgICAgY2hpbGRTaXplICs9IHN0YXRpY19jYXN0PGlu
dD4obHJvdW5kZihhdmFpbGFibGVGcmVlU3BhY2UgKiBjaGlsZC0+c3R5bGUoKS0+cG9zaXRpdmVG
bGV4KCkgLyB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHkpKTsKLSAgICAgICAgICAgIGVsc2UgaWYg
KGF2YWlsYWJsZUZyZWVTcGFjZSA8IDAgJiYgdG90YWxXZWlnaHRlZE5lZ2F0aXZlRmxleGliaWxp
dHkgPiAwICYmIGZsZXhTaWduID09IE5lZ2F0aXZlRmxleGliaWxpdHkgJiYgaXNmaW5pdGUodG90
YWxXZWlnaHRlZE5lZ2F0aXZlRmxleGliaWxpdHkpKQotICAgICAgICAgICAgICAgIGNoaWxkU2l6
ZSArPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoYXZhaWxhYmxlRnJlZVNwYWNlICogY2hpbGQt
PnN0eWxlKCktPm5lZ2F0aXZlRmxleCgpICogcHJlZmVycmVkQ2hpbGRTaXplIC8gdG90YWxXZWln
aHRlZE5lZ2F0aXZlRmxleGliaWxpdHkpKTsKKyAgICAgICAgICAgIGlmIChhdmFpbGFibGVGcmVl
U3BhY2UgPiAwICYmIHRvdGFsRmxleEdyb3cgPiAwICYmIGZsZXhTaWduID09IFBvc2l0aXZlRmxl
eGliaWxpdHkgJiYgaXNmaW5pdGUodG90YWxGbGV4R3JvdykpCisgICAgICAgICAgICAgICAgY2hp
bGRTaXplICs9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihhdmFpbGFibGVGcmVlU3BhY2UgKiBj
aGlsZC0+c3R5bGUoKS0+ZmxleEdyb3coKSAvIHRvdGFsRmxleEdyb3cpKTsKKyAgICAgICAgICAg
IGVsc2UgaWYgKGF2YWlsYWJsZUZyZWVTcGFjZSA8IDAgJiYgdG90YWxXZWlnaHRlZEZsZXhTaHJp
bmsgPiAwICYmIGZsZXhTaWduID09IE5lZ2F0aXZlRmxleGliaWxpdHkgJiYgaXNmaW5pdGUodG90
YWxXZWlnaHRlZEZsZXhTaHJpbmspKQorICAgICAgICAgICAgICAgIGNoaWxkU2l6ZSArPSBzdGF0
aWNfY2FzdDxpbnQ+KGxyb3VuZGYoYXZhaWxhYmxlRnJlZVNwYWNlICogY2hpbGQtPnN0eWxlKCkt
PmZsZXhTaHJpbmsoKSAqIHByZWZlcnJlZENoaWxkU2l6ZSAvIHRvdGFsV2VpZ2h0ZWRGbGV4U2hy
aW5rKSk7CiAKICAgICAgICAgICAgIExheW91dFVuaXQgYWRqdXN0ZWRDaGlsZFNpemUgPSBhZGp1
c3RDaGlsZFNpemVGb3JNaW5BbmRNYXgoY2hpbGQsIGNoaWxkU2l6ZSwgZmxleGJveEF2YWlsYWJs
ZUNvbnRlbnRFeHRlbnQpOwogICAgICAgICAgICAgY2hpbGRTaXplcy5hcHBlbmQoYWRqdXN0ZWRD
aGlsZFNpemUpOwpAQCAtODgzLDcgKzg4Myw3IEBAIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OnJl
c29sdmVGbGV4aWJsZUxlbmd0aHMoRmxleFNpZ24gZmxleFNpZ24sIGNvbnN0IE9yZGVyZWRGCiAg
ICAgfQogCiAgICAgaWYgKHRvdGFsVmlvbGF0aW9uKQotICAgICAgICBmcmVlemVWaW9sYXRpb25z
KHRvdGFsVmlvbGF0aW9uIDwgMCA/IG1heFZpb2xhdGlvbnMgOiBtaW5WaW9sYXRpb25zLCBhdmFp
bGFibGVGcmVlU3BhY2UsIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgdG90YWxXZWlnaHRlZE5l
Z2F0aXZlRmxleGliaWxpdHksIGluZmxleGlibGVJdGVtcyk7CisgICAgICAgIGZyZWV6ZVZpb2xh
dGlvbnModG90YWxWaW9sYXRpb24gPCAwID8gbWF4VmlvbGF0aW9ucyA6IG1pblZpb2xhdGlvbnMs
IGF2YWlsYWJsZUZyZWVTcGFjZSwgdG90YWxGbGV4R3JvdywgdG90YWxXZWlnaHRlZEZsZXhTaHJp
bmssIGluZmxleGlibGVJdGVtcyk7CiAgICAgZWxzZQogICAgICAgICBhdmFpbGFibGVGcmVlU3Bh
Y2UgLT0gdXNlZEZyZWVTcGFjZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guaAppbmRleCA0Y2YyZjk3NzU1YjQxMzU4ODdkZmQ3YzU2OTVjOWY1MDc4MTgw
ZDFjLi42NGIxYWRiZWQ3MjFjOTM5YjJhMTQwYzJlODA4ZWZhNDZlMzcxNWQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaApAQCAtNzMsNyArNzMsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgaXNMZWZ0VG9SaWdodEZsb3coKSBjb25zdDsKICAgICBib29s
IGlzTXVsdGlsaW5lKCkgY29uc3Q7CiAgICAgTGVuZ3RoIGNyb3NzQXhpc0xlbmd0aCgpIGNvbnN0
OwotICAgIExlbmd0aCBwcmVmZXJyZWRMZW5ndGhGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKSBj
b25zdDsKKyAgICBMZW5ndGggZmxleEJhc2lzRm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCkgY29u
c3Q7CiAgICAgdm9pZCBzZXRDcm9zc0F4aXNFeHRlbnQoTGF5b3V0VW5pdCk7CiAgICAgTGF5b3V0
VW5pdCBjcm9zc0F4aXNFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKTsKICAgICBMYXlv
dXRVbml0IG1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCk7CkBAIC0xMTcs
MTEgKzExNywxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZU1haW5BeGlzUHJlZmVycmVk
U2l6ZXMoYm9vbCByZWxheW91dENoaWxkcmVuLCBPcmRlckhhc2hTZXQmKTsKICAgICBMYXlvdXRV
bml0IGxpbmVCcmVha0xlbmd0aCgpOwogICAgIExheW91dFVuaXQgYWRqdXN0Q2hpbGRTaXplRm9y
TWluQW5kTWF4KFJlbmRlckJveCosIExheW91dFVuaXQgY2hpbGRTaXplLCBMYXlvdXRVbml0IGZs
ZXhib3hBdmFpbGFibGVDb250ZW50RXh0ZW50KTsKLSAgICBib29sIGNvbXB1dGVOZXh0RmxleExp
bmUoT3JkZXJJdGVyYXRvciYsIE9yZGVyZWRGbGV4SXRlbUxpc3QmIG9yZGVyZWRDaGlsZHJlbiwg
TGF5b3V0VW5pdCYgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQsIGZsb2F0JiB0b3RhbFBvc2l0aXZl
RmxleGliaWxpdHksIGZsb2F0JiB0b3RhbFdlaWdodGVkTmVnYXRpdmVGbGV4aWJpbGl0eSwgTGF5
b3V0VW5pdCYgbWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50KTsKKyAgICBib29sIGNvbXB1dGVO
ZXh0RmxleExpbmUoT3JkZXJJdGVyYXRvciYsIE9yZGVyZWRGbGV4SXRlbUxpc3QmIG9yZGVyZWRD
aGlsZHJlbiwgTGF5b3V0VW5pdCYgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQsIGZsb2F0JiB0b3Rh
bEZsZXhHcm93LCBmbG9hdCYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIExheW91dFVuaXQmIG1p
bk1heEFwcGxpZWRNYWluQXhpc0V4dGVudCk7CiAgICAgTGF5b3V0VW5pdCBjb21wdXRlQXZhaWxh
YmxlRnJlZVNwYWNlKExheW91dFVuaXQgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQpOwogCi0gICAg
Ym9vbCByZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduLCBjb25zdCBPcmRlcmVkRmxleEl0
ZW1MaXN0JiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBmbG9hdCYgdG90YWxQb3Np
dGl2ZUZsZXhpYmlsaXR5LCBmbG9hdCYgdG90YWxXZWlnaHRlZE5lZ2F0aXZlRmxleGliaWxpdHks
IEluZmxleGlibGVGbGV4SXRlbVNpemUmLCBXVEY6OlZlY3RvcjxMYXlvdXRVbml0PiYgY2hpbGRT
aXplcyk7Ci0gICAgdm9pZCBmcmVlemVWaW9sYXRpb25zKGNvbnN0IFdURjo6VmVjdG9yPFZpb2xh
dGlvbj4mLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGZsb2F0JiB0b3RhbFBvc2l0
aXZlRmxleGliaWxpdHksIGZsb2F0JiB0b3RhbFdlaWdodGVkTmVnYXRpdmVGbGV4aWJpbGl0eSwg
SW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYpOworICAgIGJvb2wgcmVzb2x2ZUZsZXhpYmxlTGVuZ3Ro
cyhGbGV4U2lnbiwgY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYsIExheW91dFVuaXQmIGF2YWls
YWJsZUZyZWVTcGFjZSwgZmxvYXQmIHRvdGFsRmxleEdyb3csIGZsb2F0JiB0b3RhbFdlaWdodGVk
RmxleFNocmluaywgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYsIFdURjo6VmVjdG9yPExheW91dFVu
aXQ+JiBjaGlsZFNpemVzKTsKKyAgICB2b2lkIGZyZWV6ZVZpb2xhdGlvbnMoY29uc3QgV1RGOjpW
ZWN0b3I8VmlvbGF0aW9uPiYsIExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZmxvYXQm
IHRvdGFsRmxleEdyb3csIGZsb2F0JiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJs
ZUZsZXhJdGVtU2l6ZSYpOwogCiAgICAgdm9pZCBzZXRMb2dpY2FsT3ZlcnJpZGVTaXplKFJlbmRl
ckJveCogY2hpbGQsIExheW91dFVuaXQgY2hpbGRQcmVmZXJyZWRTaXplKTsKICAgICB2b2lkIHBy
ZXBhcmVDaGlsZEZvclBvc2l0aW9uZWRMYXlvdXQoUmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5p
dCBtYWluQXhpc09mZnNldCwgTGF5b3V0VW5pdCBjcm9zc0F4aXNPZmZzZXQsIFBvc2l0aW9uZWRM
YXlvdXRNb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKaW5kZXggNGRmODAwOWJmMDM2ZmM2N2YzMGJkMmNlNjE4YzY3MjMxNjFjMDYxYy4uMWVkOTU5
MjMzMWUzYTE4OWNhNmRhZGFhY2QzMjdjYzQ5MjZiZmU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTgxNSw5ICs4MTUsOSBAQCBwdWJsaWM6
CiAgICAgRUJveFBhY2sgYm94UGFjaygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVCb3hQ
YWNrPihyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9kZXByZWNhdGVkRmxleGlibGVCb3gtPnBhY2sp
OyB9CiAKICAgICBmbG9hdCBvcmRlcigpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX29yZGVyOyB9Ci0gICAgZmxvYXQgcG9zaXRpdmVGbGV4KCkgY29uc3QgeyByZXR1cm4g
cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZmxleGlibGVCb3gtPm1fcG9zaXRpdmVGbGV4OyB9Ci0g
ICAgZmxvYXQgbmVnYXRpdmVGbGV4KCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERh
dGEtPm1fZmxleGlibGVCb3gtPm1fbmVnYXRpdmVGbGV4OyB9Ci0gICAgTGVuZ3RoIGZsZXhQcmVm
ZXJyZWRTaXplKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZmxleGli
bGVCb3gtPm1fcHJlZmVycmVkU2l6ZTsgfQorICAgIGZsb2F0IGZsZXhHcm93KCkgY29uc3QgeyBy
ZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZmxleGlibGVCb3gtPm1fZmxleEdyb3c7IH0K
KyAgICBmbG9hdCBmbGV4U2hyaW5rKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERh
dGEtPm1fZmxleGlibGVCb3gtPm1fZmxleFNocmluazsgfQorICAgIExlbmd0aCBmbGV4QmFzaXMo
KSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9mbGV4aWJsZUJveC0+bV9m
bGV4QmFzaXM7IH0KICAgICBFQWxpZ25Db250ZW50IGFsaWduQ29udGVudCgpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PEVBbGlnbkNvbnRlbnQ+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2Fs
aWduQ29udGVudCk7IH0KICAgICBFQWxpZ25JdGVtcyBhbGlnbkl0ZW1zKCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8RUFsaWduSXRlbXM+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2FsaWdu
SXRlbXMpOyB9CiAgICAgRUFsaWduSXRlbXMgYWxpZ25TZWxmKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8RUFsaWduSXRlbXM+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2FsaWduU2VsZik7
IH0KQEAgLTEyNzEsOSArMTI3MSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEJveFNoYWRvdyhQ
YXNzT3duUHRyPFNoYWRvd0RhdGE+LCBib29sIGFkZCA9IGZhbHNlKTsKICAgICB2b2lkIHNldEJv
eFJlZmxlY3QoUGFzc1JlZlB0cjxTdHlsZVJlZmxlY3Rpb24+IHJlZmxlY3QpIHsgaWYgKHJhcmVO
b25Jbmhlcml0ZWREYXRhLT5tX2JveFJlZmxlY3QgIT0gcmVmbGVjdCkgcmFyZU5vbkluaGVyaXRl
ZERhdGEuYWNjZXNzKCktPm1fYm94UmVmbGVjdCA9IHJlZmxlY3Q7IH0KICAgICB2b2lkIHNldEJv
eFNpemluZyhFQm94U2l6aW5nIHMpIHsgU0VUX1ZBUihtX2JveCwgbV9ib3hTaXppbmcsIHMpOyB9
Ci0gICAgdm9pZCBzZXRQb3NpdGl2ZUZsZXgoZmxvYXQgZikgeyBTRVRfVkFSKHJhcmVOb25Jbmhl
cml0ZWREYXRhLmFjY2VzcygpLT5tX2ZsZXhpYmxlQm94LCBtX3Bvc2l0aXZlRmxleCwgZik7IH0K
LSAgICB2b2lkIHNldE5lZ2F0aXZlRmxleChmbG9hdCBmKSB7IFNFVF9WQVIocmFyZU5vbkluaGVy
aXRlZERhdGEuYWNjZXNzKCktPm1fZmxleGlibGVCb3gsIG1fbmVnYXRpdmVGbGV4LCBmKTsgfQot
ICAgIHZvaWQgc2V0RmxleFByZWZlcnJlZFNpemUoTGVuZ3RoIGwpIHsgU0VUX1ZBUihyYXJlTm9u
SW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9mbGV4aWJsZUJveCwgbV9wcmVmZXJyZWRTaXplLCBs
KTsgfQorICAgIHZvaWQgc2V0RmxleEdyb3coZmxvYXQgZikgeyBTRVRfVkFSKHJhcmVOb25Jbmhl
cml0ZWREYXRhLmFjY2VzcygpLT5tX2ZsZXhpYmxlQm94LCBtX2ZsZXhHcm93LCBmKTsgfQorICAg
IHZvaWQgc2V0RmxleFNocmluayhmbG9hdCBmKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERh
dGEuYWNjZXNzKCktPm1fZmxleGlibGVCb3gsIG1fZmxleFNocmluaywgZik7IH0KKyAgICB2b2lk
IHNldEZsZXhCYXNpcyhMZW5ndGggbGVuZ3RoKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERh
dGEuYWNjZXNzKCktPm1fZmxleGlibGVCb3gsIG1fZmxleEJhc2lzLCBsZW5ndGgpOyB9CiAgICAg
dm9pZCBzZXRPcmRlcihmbG9hdCBvKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIG1f
b3JkZXIsIG8pOyB9CiAgICAgdm9pZCBzZXRBbGlnbkNvbnRlbnQoRUFsaWduQ29udGVudCBwKSB7
IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIG1fYWxpZ25Db250ZW50LCBwKTsgfQogICAg
IHZvaWQgc2V0QWxpZ25JdGVtcyhFQWxpZ25JdGVtcyBhKSB7IFNFVF9WQVIocmFyZU5vbkluaGVy
aXRlZERhdGEsIG1fYWxpZ25JdGVtcywgYSk7IH0KQEAgLTE2MDcsOSArMTYwNyw5IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgdW5zaWduZWQgaW50IGluaXRpYWxCb3hPcmRpbmFsR3JvdXAoKSB7IHJl
dHVybiAxOyB9CiAgICAgc3RhdGljIEVCb3hTaXppbmcgaW5pdGlhbEJveFNpemluZygpIHsgcmV0
dXJuIENPTlRFTlRfQk9YOyB9CiAgICAgc3RhdGljIFN0eWxlUmVmbGVjdGlvbiogaW5pdGlhbEJv
eFJlZmxlY3QoKSB7IHJldHVybiAwOyB9Ci0gICAgc3RhdGljIGZsb2F0IGluaXRpYWxQb3NpdGl2
ZUZsZXgoKSB7IHJldHVybiAwOyB9Ci0gICAgc3RhdGljIGZsb2F0IGluaXRpYWxOZWdhdGl2ZUZs
ZXgoKSB7IHJldHVybiAxOyB9Ci0gICAgc3RhdGljIExlbmd0aCBpbml0aWFsRmxleFByZWZlcnJl
ZFNpemUoKSB7IHJldHVybiBMZW5ndGgoQXV0byk7IH0KKyAgICBzdGF0aWMgZmxvYXQgaW5pdGlh
bEZsZXhHcm93KCkgeyByZXR1cm4gMDsgfQorICAgIHN0YXRpYyBmbG9hdCBpbml0aWFsRmxleFNo
cmluaygpIHsgcmV0dXJuIDE7IH0KKyAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxGbGV4QmFzaXMo
KSB7IHJldHVybiBMZW5ndGgoQXV0byk7IH0KICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbE9yZGVy
KCkgeyByZXR1cm4gMDsgfQogICAgIHN0YXRpYyBFQWxpZ25Db250ZW50IGluaXRpYWxBbGlnbkNv
bnRlbnQoKSB7IHJldHVybiBBbGlnbkNvbnRlbnRTdHJldGNoOyB9CiAgICAgc3RhdGljIEVBbGln
bkl0ZW1zIGluaXRpYWxBbGlnbkl0ZW1zKCkgeyByZXR1cm4gQWxpZ25TdHJldGNoOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERh
dGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hE
YXRhLmNwcAppbmRleCAyNTJhMDJjODI4ZWJiNGQwZjZjMGY3OGIwMGE0NTUwODFkNTg4NzJhLi5h
N2NmYWMxZWQxOGM1NTU5NTYyNjkzNDk5MjljZTdmZDkwNWU4MmNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5jcHAK
QEAgLTMxLDkgKzMxLDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU3R5bGVGbGV4aWJsZUJv
eERhdGE6OlN0eWxlRmxleGlibGVCb3hEYXRhKCkKLSAgICA6IG1fcG9zaXRpdmVGbGV4KFJlbmRl
clN0eWxlOjppbml0aWFsUG9zaXRpdmVGbGV4KCkpCi0gICAgLCBtX25lZ2F0aXZlRmxleChSZW5k
ZXJTdHlsZTo6aW5pdGlhbE5lZ2F0aXZlRmxleCgpKQotICAgICwgbV9wcmVmZXJyZWRTaXplKFJl
bmRlclN0eWxlOjppbml0aWFsRmxleFByZWZlcnJlZFNpemUoKSkKKyAgICA6IG1fZmxleEdyb3co
UmVuZGVyU3R5bGU6OmluaXRpYWxGbGV4R3JvdygpKQorICAgICwgbV9mbGV4U2hyaW5rKFJlbmRl
clN0eWxlOjppbml0aWFsRmxleFNocmluaygpKQorICAgICwgbV9mbGV4QmFzaXMoUmVuZGVyU3R5
bGU6OmluaXRpYWxGbGV4QmFzaXMoKSkKICAgICAsIG1fZmxleERpcmVjdGlvbihSZW5kZXJTdHls
ZTo6aW5pdGlhbEZsZXhEaXJlY3Rpb24oKSkKICAgICAsIG1fZmxleFdyYXAoUmVuZGVyU3R5bGU6
OmluaXRpYWxGbGV4V3JhcCgpKQogewpAQCAtNDEsOSArNDEsOSBAQCBTdHlsZUZsZXhpYmxlQm94
RGF0YTo6U3R5bGVGbGV4aWJsZUJveERhdGEoKQogCiBTdHlsZUZsZXhpYmxlQm94RGF0YTo6U3R5
bGVGbGV4aWJsZUJveERhdGEoY29uc3QgU3R5bGVGbGV4aWJsZUJveERhdGEmIG8pCiAgICAgOiBS
ZWZDb3VudGVkPFN0eWxlRmxleGlibGVCb3hEYXRhPigpCi0gICAgLCBtX3Bvc2l0aXZlRmxleChv
Lm1fcG9zaXRpdmVGbGV4KQotICAgICwgbV9uZWdhdGl2ZUZsZXgoby5tX25lZ2F0aXZlRmxleCkK
LSAgICAsIG1fcHJlZmVycmVkU2l6ZShvLm1fcHJlZmVycmVkU2l6ZSkKKyAgICAsIG1fZmxleEdy
b3coby5tX2ZsZXhHcm93KQorICAgICwgbV9mbGV4U2hyaW5rKG8ubV9mbGV4U2hyaW5rKQorICAg
ICwgbV9mbGV4QmFzaXMoby5tX2ZsZXhCYXNpcykKICAgICAsIG1fZmxleERpcmVjdGlvbihvLm1f
ZmxleERpcmVjdGlvbikKICAgICAsIG1fZmxleFdyYXAoby5tX2ZsZXhXcmFwKQogewpAQCAtNTEs
NyArNTEsNyBAQCBTdHlsZUZsZXhpYmxlQm94RGF0YTo6U3R5bGVGbGV4aWJsZUJveERhdGEoY29u
c3QgU3R5bGVGbGV4aWJsZUJveERhdGEmIG8pCiAKIGJvb2wgU3R5bGVGbGV4aWJsZUJveERhdGE6
Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVGbGV4aWJsZUJveERhdGEmIG8pIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIG1fcG9zaXRpdmVGbGV4ID09IG8ubV9wb3NpdGl2ZUZsZXggJiYgbV9uZWdhdGl2ZUZs
ZXggPT0gby5tX25lZ2F0aXZlRmxleCAmJiBtX3ByZWZlcnJlZFNpemUgPT0gby5tX3ByZWZlcnJl
ZFNpemUKKyAgICByZXR1cm4gbV9mbGV4R3JvdyA9PSBvLm1fZmxleEdyb3cgJiYgbV9mbGV4U2hy
aW5rID09IG8ubV9mbGV4U2hyaW5rICYmIG1fZmxleEJhc2lzID09IG8ubV9mbGV4QmFzaXMKICAg
ICAgICAgJiYgbV9mbGV4RGlyZWN0aW9uID09IG8ubV9mbGV4RGlyZWN0aW9uICYmIG1fZmxleFdy
YXAgPT0gby5tX2ZsZXhXcmFwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5oCmluZGV4IDhhZDJjYWJlZWMzNTI0MTA5
Mjg5Nzc3MjUwMmVkNzY3OTU0ODM4NzguLjZjMDcwZDU1MTUyNmE3ZTEwYzc1ZGIyMThiYTc1ZTRi
ZGRlNjc1ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZUZsZXhpYmxlQm94RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUZsZXhpYmxlQm94RGF0YS5oCkBAIC00NCw5ICs0NCw5IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuICEoKnRoaXMgPT0gbyk7CiAgICAgfQogCi0gICAgZmxvYXQgbV9wb3NpdGl2ZUZsZXg7
Ci0gICAgZmxvYXQgbV9uZWdhdGl2ZUZsZXg7Ci0gICAgTGVuZ3RoIG1fcHJlZmVycmVkU2l6ZTsK
KyAgICBmbG9hdCBtX2ZsZXhHcm93OworICAgIGZsb2F0IG1fZmxleFNocmluazsKKyAgICBMZW5n
dGggbV9mbGV4QmFzaXM7CiAKICAgICB1bnNpZ25lZCBtX2ZsZXhEaXJlY3Rpb24gOiAyOyAvLyBF
RmxleERpcmVjdGlvbgogICAgIHVuc2lnbmVkIG1fZmxleFdyYXAgOiAyOyAvLyBFRmxleFdyYXAK
</data>

          </attachment>
      

    </bug>

</bugzilla>