<?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>217911</bug_id>
          
          <creation_ts>2020-10-19 10:49:03 -0700</creation_ts>
          <short_desc>[MotionMark] Add state change items to represent changes to stroke and fill state</short_desc>
          <delta_ts>2020-10-19 17:47:18 -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>WebCore Misc.</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1699309</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-10-19 10:49:03 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699453</commentid>
    <comment_count>1</comment_count>
      <attachid>411802</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-10-19 14:54:51 -0700</bug_when>
    <thetext>Created attachment 411802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699494</commentid>
    <comment_count>2</comment_count>
      <attachid>411802</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-10-19 15:44:32 -0700</bug_when>
    <thetext>Comment on attachment 411802
Patch

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

&gt; Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:409
&gt; +    Color m_color;
&gt; +    float m_thickness { 0 };
&gt; +    bool m_hasColor { false };
&gt; +    bool m_hasThickness { false };

Are you doing it this way, rather than Optional&lt;&gt;, for better packing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699495</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-10-19 15:45:14 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #2)
&gt; Comment on attachment 411802 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=411802&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:409
&gt; &gt; +    Color m_color;
&gt; &gt; +    float m_thickness { 0 };
&gt; &gt; +    bool m_hasColor { false };
&gt; &gt; +    bool m_hasThickness { false };
&gt; 
&gt; Are you doing it this way, rather than Optional&lt;&gt;, for better packing?

Yep! (as explained in the ChangeLog)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699544</commentid>
    <comment_count>4</comment_count>
      <attachid>411802</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-10-19 17:30:24 -0700</bug_when>
    <thetext>Comment on attachment 411802
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699549</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-19 17:46:07 -0700</bug_when>
    <thetext>Committed r268704: &lt;https://trac.webkit.org/changeset/268704&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 411802.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699551</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-19 17:47:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/70464319&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411802</attachid>
            <date>2020-10-19 14:54:51 -0700</date>
            <delta_ts>2020-10-19 17:46:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217911-20201019145450.patch</filename>
            <type>text/plain</type>
            <size>19638</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTRjNTJlNmM5NDM4N2Fm
ZTllNzNkMTM3YTJkMzdhOWM0ZDZjYjc0YS4uNjBkMjMzNDhjMTgwNjBkMGE1MzRlZmU1ZjhlZTll
MjgxMmYxMDk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDIwLTEwLTE5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtNb3Rpb25NYXJr
XSBBZGQgc3RhdGUgY2hhbmdlIGl0ZW1zIHRvIHJlcHJlc2VudCBjaGFuZ2VzIHRvIHN0cm9rZSBh
bmQgZmlsbCBzdGF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE3OTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHR3byBuZXcgZGlzcGxheSBsaXN0IGl0ZW1zIHRvIHJlcHJlc2VudCBjaGFuZ2Vz
IHRvIHN0cm9rZSB0aGlja25lc3MgYW5kL29yIHN0cm9rZSBjb2xvciwgYW5kIGZpbGwgY29sb3Iu
CisgICAgICAgIFRoZXNlIHN0YXRlIGNoYW5nZXMgYWNjb3VudCBmb3IgYWxtb3N0IGFsbCBvZiB0
aGUgc3RhdGUgY2hhbmdlcyBpbiBNb3Rpb25NYXJrJ3MgY2FudmFzIHJlbmRlcmluZyBzdWJ0ZXN0
cyAoaS5lLgorICAgICAgICBsaW5lcywgYXJjcywgYW5kIHBhdGhzKS4KKworICAgICAgICBUaGlz
IHNpZ25pZmljYW50bHkgcmVkdWNlcyB0aGUgbWVtb3J5IG92ZXJoZWFkIGNhdXNlZCBieSBtYWlu
dGFpbmluZyBkaXNwbGF5IGxpc3QgaXRlbXMgaW4gdGhlIHdlYiBhbmQgR1BVCisgICAgICAgIHBy
b2Nlc3NlcyB3aGVuIHJ1bm5pbmcgQ2FudmFzIExpbmVzIGFuZCBDYW52YXMgQXJjcy4gQ3VycmVu
dGx5LCBlYWNoIGBTZXRTdGF0ZWAgaXRlbSBpcyBjdXJyZW50bHkgMTIwIGJ5dGVzOworICAgICAg
ICBhZnRlciB0aGlzIGNoYW5nZSwgZWFjaCBzdGF0ZSBjaGFuZ2UgaXRlbSB3aWxsIGRlY3JlYXNl
IHRvIGVpdGhlciAyNCAoZm9yIGBTZXRGaWxsQ29sb3JgKSBvciAzMiAoZm9yCisgICAgICAgIGBT
ZXRTdHJva2VTdGF0ZWApIGJ5dGVzLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5o
OgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW06OmlzU3RhdGVJdGVtIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtOjppc1N0YXRl
SXRlbVR5cGUpOiBEZWxldGVkLgorCisgICAgICAgIFJlbW92ZSBhIGNvdXBsZSBvZiB1bnVzZWQg
bWV0aG9kcywgYXMgd2VsbCBhcyBhbiB1bnVzZWQgY29uc3RleHByLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW06OnNpemVJbkJ5dGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OkRpc3BsYXlMaXN0OjpTZXRGaWxsQ29sb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6U2V0RmlsbENvbG9yOjphcHBseSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpEaXNwbGF5TGlzdDo6b3BlcmF0b3I8PCk6CisKKyAgICAgICAgQWRkIHRoZSBgU2V0
RmlsbENvbG9yYCBpdGVtLCB3aGljaCByZXByZXNlbnRzIGEgY2FsbCB0byBgR3JhcGhpY3NDb250
ZXh0OjpzZXRGaWxsQ29sb3JgLgorCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6U2V0
U3Ryb2tlU3RhdGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6U2V0
U3Ryb2tlU3RhdGU6OmFwcGx5IGNvbnN0KToKKworICAgICAgICBBZGQgdGhlIGBTZXRTdHJva2VT
dGF0ZWAgaXRlbSwgd2hpY2ggcmVwcmVzZW50cyBhIGNhbGwgdG8gYEdyYXBoaWNzQ29udGV4dDo6
c2V0U3Ryb2tlVGhpY2tuZXNzYCBhbmQvb3IKKyAgICAgICAgYEdyYXBoaWNzQ29udGV4dDo6c2V0
U3Ryb2tlQ29sb3JgLgorCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6U2V0U3RhdGU6
OmFjY3VtdWxhdGUpOiBEZWxldGVkLgorCisgICAgICAgIFJlbW92ZSBhbiB1bnVzZWQgbWV0aG9k
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
SXRlbXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpTZXRGaWxsQ29sb3I6OmNv
bG9yIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpTZXRGaWxsQ29sb3I6
OlNldEZpbGxDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6U2V0RmlsbENv
bG9yOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlNldEZp
bGxDb2xvcjo6ZGVjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpTZXRTdHJv
a2VTdGF0ZTo6Y29sb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlNl
dFN0cm9rZVN0YXRlOjpoYXNDb2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5
TGlzdDo6U2V0U3Ryb2tlU3RhdGU6OnRoaWNrbmVzcyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6U2V0U3Ryb2tlU3RhdGU6Omhhc1RoaWNrbmVzcyBjb25zdCk6CisKKyAg
ICAgICAgSW5zdGVhZCBvZiB1c2luZyB0d28gYE9wdGlvbmFsPFQ+YCBtZW1iZXJzLCBzdG9yZSB0
d28gYGJvb2xgIGZsYWdzIGNvcnJlc3BvbmRpbmcgdG8gdGhpY2tuZXNzIGFuZCBzdHJva2UgY29s
b3IuCisgICAgICAgIFRoaXMgYWxsb3dzIHVzIHRvIG1ha2UgdGhlIGBTZXRTdHJva2VTdGF0ZWAg
aXRlbSAzMiBieXRlcyBpbnN0ZWFkIG9mIDQwIGJ5dGVzLCBkdWUgdG8gdGhlIGV4dHJhIHBhZGRp
bmcgdGhhdAorICAgICAgICB3b3VsZCBvdGhlcndpc2UgZXhpc3QgYWZ0ZXIgZWFjaCBvZiB0aGUg
YE9wdGlvbmFsYCBtZW1iZXJzLgorCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6U2V0
U3Ryb2tlU3RhdGU6OlNldFN0cm9rZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpTZXRTdHJva2VTdGF0ZTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpTZXRTdHJva2VTdGF0ZTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpJdGVtOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6Okl0ZW06OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6OmNvbnRhaW5zT25seVN0cm9rZUNvbG9yT3JUaGlja25lc3NDaGFuZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OmNvbnRhaW5zT25seUZpbGxDb2xvckNoYW5nZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6Y3JlYXRlU3RhdGVDaGFuZ2VJdGVtKToKKwor
ICAgICAgICBJbnN0ZWFkIG9mIGFsd2F5cyBhcHBlbmRpbmcgYFNldFN0YXRlYCBpdGVtcywgYXBw
ZW5kIGVpdGhlciBgU2V0U3Ryb2tlU3RhdGVgIG9yIGBTZXRGaWxsQ29sb3JgIGlmIHRoZSBvbmx5
CisgICAgICAgIGNoYW5nZWQgZmxhZ3MgYXJlIHN0cm9rZSB0aGlja25lc3Mgb3Igc3Ryb2tlIGNv
bG9yLCBvciBmaWxsIGNvbG9yIChyZXNwZWN0aXZlbHkpLgorCisgICAgICAgIChXZWJDb3JlOjpE
aXNwbGF5TGlzdDo6UmVjb3JkZXI6OndpbGxBcHBlbmRJdGVtKToKKwogMjAyMC0xMC0xOSAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbTW90aW9uTWFy
a10gTWFrZSBEaXNwbGF5TGlzdDo6RmlsbFBhdGggZGlzY2FyZCBpdHMgV2ViQ29yZTo6UGF0aCBh
ZnRlciBhcHBseWluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuaAppbmRleCBhNjM4MzY5MjFkOGRmY2Ex
NjYzOGJkODZhYTkzM2VmYTdlMjY0ZDgxLi5jOTU3NmFlOWZjNGZlMWJlZGUwZjI5ZTA4NjJjODE1
Y2I5NzIxNWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuaApAQCAtNDcsNiArNDcsOCBAQCBlbnVt
IGNsYXNzIEl0ZW1UeXBlIDogdWludDhfdCB7CiAgICAgU2NhbGUsCiAgICAgQ29uY2F0ZW5hdGVD
VE0sCiAgICAgU2V0Q1RNLAorICAgIFNldEZpbGxDb2xvciwKKyAgICBTZXRTdHJva2VTdGF0ZSwK
ICAgICBTZXRTdGF0ZSwKICAgICBTZXRMaW5lQ2FwLAogICAgIFNldExpbmVEYXNoLApAQCAtMTEx
LDM3ICsxMTMsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoR3JhcGhpY3ND
b250ZXh0JikgY29uc3QgPSAwOwogCi0gICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzRGlzcGxh
eUxpc3RJdGVtID0gdHJ1ZTsKLQogICAgIHZpcnR1YWwgYm9vbCBpc0RyYXdpbmdJdGVtKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIC8vIEEgc3RhdGUgaXRlbSBpcyBvbmUgcHJlc2Vy
dmVkIGJ5IFNhdmUvUmVzdG9yZS4KLSAgICBib29sIGlzU3RhdGVJdGVtKCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIHJldHVybiBpc1N0YXRlSXRlbVR5cGUobV90eXBlKTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgYm9vbCBpc1N0YXRlSXRlbVR5cGUoSXRlbVR5cGUgaXRlbVR5cGUpCi0gICAgewotICAg
ICAgICBzd2l0Y2ggKGl0ZW1UeXBlKSB7Ci0gICAgICAgIGNhc2UgSXRlbVR5cGU6OlRyYW5zbGF0
ZToKLSAgICAgICAgY2FzZSBJdGVtVHlwZTo6Um90YXRlOgotICAgICAgICBjYXNlIEl0ZW1UeXBl
OjpTY2FsZToKLSAgICAgICAgY2FzZSBJdGVtVHlwZTo6Q29uY2F0ZW5hdGVDVE06Ci0gICAgICAg
IGNhc2UgSXRlbVR5cGU6OlNldENUTToKLSAgICAgICAgY2FzZSBJdGVtVHlwZTo6U2V0U3RhdGU6
Ci0gICAgICAgIGNhc2UgSXRlbVR5cGU6OlNldExpbmVDYXA6Ci0gICAgICAgIGNhc2UgSXRlbVR5
cGU6OlNldExpbmVEYXNoOgotICAgICAgICBjYXNlIEl0ZW1UeXBlOjpTZXRMaW5lSm9pbjoKLSAg
ICAgICAgY2FzZSBJdGVtVHlwZTo6U2V0TWl0ZXJMaW1pdDoKLSAgICAgICAgY2FzZSBJdGVtVHlw
ZTo6Q2xlYXJTaGFkb3c6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVmYXVs
dDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgfQotCiAjaWYgIWRlZmluZWQoTkRFQlVHKSB8fCAhTE9HX0RJU0FCTEVECiAg
ICAgV1RGOjpDU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dEl0ZW1zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdEl0ZW1zLmNwcAppbmRleCBmM2I5ODFiZWU2MzkyMTcxNTBlZWM1M2JkZjUz
YjlmY2VjNDFmNGRjLi4yYzc5MDhiY2E5ZjQ4ZWQ0NDlmMDM1OTA0NzFiMWYyYWZkNDIzNjI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RJdGVtcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwCkBAIC03Niw2ICs3NiwxMCBAQCBz
aXplX3QgSXRlbTo6c2l6ZUluQnl0ZXMoY29uc3QgSXRlbSYgaXRlbSkKICAgICAgICAgcmV0dXJu
IHNpemVvZihkb3duY2FzdDxTZXRDVE0+KGl0ZW0pKTsKICAgICBjYXNlIEl0ZW1UeXBlOjpDb25j
YXRlbmF0ZUNUTToKICAgICAgICAgcmV0dXJuIHNpemVvZihkb3duY2FzdDxDb25jYXRlbmF0ZUNU
TT4oaXRlbSkpOworICAgIGNhc2UgSXRlbVR5cGU6OlNldEZpbGxDb2xvcjoKKyAgICAgICAgcmV0
dXJuIHNpemVvZihkb3duY2FzdDxTZXRGaWxsQ29sb3I+KGl0ZW0pKTsKKyAgICBjYXNlIEl0ZW1U
eXBlOjpTZXRTdHJva2VTdGF0ZToKKyAgICAgICAgcmV0dXJuIHNpemVvZihkb3duY2FzdDxTZXRT
dHJva2VTdGF0ZT4oaXRlbSkpOwogICAgIGNhc2UgSXRlbVR5cGU6OlNldFN0YXRlOgogICAgICAg
ICByZXR1cm4gc2l6ZW9mKGRvd25jYXN0PFNldFN0YXRlPihpdGVtKSk7CiAgICAgY2FzZSBJdGVt
VHlwZTo6U2V0TGluZUNhcDoKQEAgLTMxOCw2ICszMjIsNDkgQEAgc3RhdGljIFRleHRTdHJlYW0m
IG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IENvbmNhdGVuYXRlQ1RNJiBpdGVtKQog
ICAgIHJldHVybiB0czsKIH0KIAorUmVmPFNldEZpbGxDb2xvcj4gU2V0RmlsbENvbG9yOjpjcmVh
dGUoQ29sb3IgY29sb3IpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2V0RmlsbENvbG9y
KGNvbG9yKSk7Cit9CisKK1NldEZpbGxDb2xvcjo6flNldEZpbGxDb2xvcigpID0gZGVmYXVsdDsK
Kwordm9pZCBTZXRGaWxsQ29sb3I6OmFwcGx5KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCkgY29u
c3QKK3sKKyAgICBjb250ZXh0LnNldEZpbGxDb2xvcihtX2NvbG9yKTsKK30KKworc3RhdGljIFRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFNldEZpbGxDb2xvciYg
c3RhdGUpCit7CisgICAgdHMuZHVtcFByb3BlcnR5KCJjb2xvciIsIHN0YXRlLmNvbG9yKCkpOwor
ICAgIHJldHVybiB0czsKK30KKworUmVmPFNldFN0cm9rZVN0YXRlPiBTZXRTdHJva2VTdGF0ZTo6
Y3JlYXRlKE9wdGlvbmFsPENvbG9yPiYmIGNvbG9yLCBPcHRpb25hbDxmbG9hdD4mJiB0aGlja25l
c3MpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2V0U3Ryb2tlU3RhdGUoV1RGTW92ZShj
b2xvciksIFdURk1vdmUodGhpY2tuZXNzKSkpOworfQorCitTZXRTdHJva2VTdGF0ZTo6flNldFN0
cm9rZVN0YXRlKCkgPSBkZWZhdWx0OworCit2b2lkIFNldFN0cm9rZVN0YXRlOjphcHBseShHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQpIGNvbnN0Cit7CisgICAgaWYgKG1faGFzQ29sb3IpCisgICAg
ICAgIGNvbnRleHQuc2V0U3Ryb2tlQ29sb3IobV9jb2xvcik7CisKKyAgICBpZiAobV9oYXNUaGlj
a25lc3MpCisgICAgICAgIGNvbnRleHQuc2V0U3Ryb2tlVGhpY2tuZXNzKG1fdGhpY2tuZXNzKTsK
K30KKworc3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0
IFNldFN0cm9rZVN0YXRlJiBzdGF0ZSkKK3sKKyAgICBpZiAoc3RhdGUuaGFzQ29sb3IoKSkKKyAg
ICAgICAgdHMuZHVtcFByb3BlcnR5KCJjb2xvciIsIHN0YXRlLmNvbG9yKCkpOworICAgIGlmIChz
dGF0ZS5oYXNUaGlja25lc3MoKSkKKyAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJ0aGlja25lc3Mi
LCBzdGF0ZS50aGlja25lc3MoKSk7CisgICAgcmV0dXJuIHRzOworfQorCiBTZXRTdGF0ZTo6U2V0
U3RhdGUoY29uc3QgR3JhcGhpY3NDb250ZXh0U3RhdGUmIHN0YXRlLCBHcmFwaGljc0NvbnRleHRT
dGF0ZTo6U3RhdGVDaGFuZ2VGbGFncyBmbGFncykKICAgICA6IEl0ZW0oSXRlbVR5cGU6OlNldFN0
YXRlKQogICAgICwgbV9zdGF0ZShzdGF0ZSwgZmxhZ3MpCkBAIC0zMzcsMTEgKzM4NCw2IEBAIHZv
aWQgU2V0U3RhdGU6OmFwcGx5KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCkgY29uc3QKICAgICBt
X3N0YXRlLmFwcGx5KGNvbnRleHQpOwogfQogCi12b2lkIFNldFN0YXRlOjphY2N1bXVsYXRlKGNv
bnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSwgR3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0
YXRlQ2hhbmdlRmxhZ3MgZmxhZ3MpCi17Ci0gICAgbV9zdGF0ZS5hY2N1bXVsYXRlKHN0YXRlLCBm
bGFncyk7Ci19Ci0KIHN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRz
LCBjb25zdCBTZXRTdGF0ZSYgc3RhdGUpCiB7CiAgICAgdHMgPDwgc3RhdGUuc3RhdGUoKTsKQEAg
LTE0NTIsNiArMTQ5NCw4IEBAIHN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJl
YW0mIHRzLCBjb25zdCBJdGVtVHlwZSYgdHlwZSkKICAgICBjYXNlIEl0ZW1UeXBlOjpTY2FsZTog
dHMgPDwgInNjYWxlIjsgYnJlYWs7CiAgICAgY2FzZSBJdGVtVHlwZTo6U2V0Q1RNOiB0cyA8PCAi
c2V0LWN0bSI7IGJyZWFrOwogICAgIGNhc2UgSXRlbVR5cGU6OkNvbmNhdGVuYXRlQ1RNOiB0cyA8
PCAiY29uY2F0ZW50YXRlLWN0bSI7IGJyZWFrOworICAgIGNhc2UgSXRlbVR5cGU6OlNldEZpbGxD
b2xvcjogdHMgPDwgInNldC1maWxsLWNvbG9yIjsgYnJlYWs7CisgICAgY2FzZSBJdGVtVHlwZTo6
U2V0U3Ryb2tlU3RhdGU6IHRzIDw8ICJzZXQtc3Ryb2tlLXN0YXRlIjsgYnJlYWs7CiAgICAgY2Fz
ZSBJdGVtVHlwZTo6U2V0U3RhdGU6IHRzIDw8ICJzZXQtc3RhdGUiOyBicmVhazsKICAgICBjYXNl
IEl0ZW1UeXBlOjpTZXRMaW5lQ2FwOiB0cyA8PCAic2V0LWxpbmUtY2FwIjsgYnJlYWs7CiAgICAg
Y2FzZSBJdGVtVHlwZTo6U2V0TGluZURhc2g6IHRzIDw8ICJzZXQtbGluZS1kYXNoIjsgYnJlYWs7
CkBAIC0xNTI2LDYgKzE1NzAsMTIgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFt
JiB0cywgY29uc3QgSXRlbSYgaXRlbSkKICAgICBjYXNlIEl0ZW1UeXBlOjpDb25jYXRlbmF0ZUNU
TToKICAgICAgICAgdHMgPDwgZG93bmNhc3Q8Q29uY2F0ZW5hdGVDVE0+KGl0ZW0pOwogICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRGaWxsQ29sb3I6CisgICAgICAgIHRzIDw8
IGRvd25jYXN0PFNldEZpbGxDb2xvcj4oaXRlbSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
SXRlbVR5cGU6OlNldFN0cm9rZVN0YXRlOgorICAgICAgICB0cyA8PCBkb3duY2FzdDxTZXRTdHJv
a2VTdGF0ZT4oaXRlbSk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSXRlbVR5cGU6OlNldFN0
YXRlOgogICAgICAgICB0cyA8PCBkb3duY2FzdDxTZXRTdGF0ZT4oaXRlbSk7CiAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmgKaW5kZXggMmNiMDlmMzg3MThiNDli
M2Y2MGM0MmNhMTAwOTQ3ZTAzYTYyNjc3OS4uNTFhZTg5OWUxMTNkZWEzZjNkNGUxYTIyMGM1YjZj
OWQzNzAxNjVjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oCkBAIC0zMzYsNiAr
MzM2LDEyMSBAQCBPcHRpb25hbDxSZWY8Q29uY2F0ZW5hdGVDVE0+PiBDb25jYXRlbmF0ZUNUTTo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgcmV0dXJuIENvbmNhdGVuYXRlQ1RNOjpjcmVh
dGUoKnRyYW5zZm9ybSk7CiB9CiAKK2NsYXNzIFNldEZpbGxDb2xvciA6IHB1YmxpYyBJdGVtIHsK
K3B1YmxpYzoKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFNldEZpbGxDb2xvcj4gY3Jl
YXRlKENvbG9yKTsKKworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgflNldEZpbGxDb2xvcigp
OworCisgICAgQ29sb3IgY29sb3IoKSBjb25zdCB7IHJldHVybiBtX2NvbG9yOyB9CisKKyAgICB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAg
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPFJlZjxTZXRGaWxsQ29sb3I+
PiBkZWNvZGUoRGVjb2RlciYpOworCitwcml2YXRlOgorICAgIFNldEZpbGxDb2xvcihDb2xvciBj
b2xvcikKKyAgICAgICAgOiBJdGVtKEl0ZW1UeXBlOjpTZXRGaWxsQ29sb3IpCisgICAgICAgICwg
bV9jb2xvcihjb2xvcikKKyAgICB7CisgICAgfQorCisgICAgdm9pZCBhcHBseShHcmFwaGljc0Nv
bnRleHQmKSBjb25zdCBvdmVycmlkZTsKKworICAgIENvbG9yIG1fY29sb3I7Cit9OworCit0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBTZXRGaWxsQ29sb3I6OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgbV9jb2xvcjsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPFJlZjxTZXRGaWxsQ29sb3I+PiBTZXRGaWxsQ29sb3I6
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPENvbG9yPiBjb2xvcjsK
KyAgICBkZWNvZGVyID4+IGNvbG9yOworICAgIGlmICghY29sb3IpCisgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gU2V0RmlsbENvbG9yOjpjcmVhdGUoKmNvbG9yKTsK
K30KKworY2xhc3MgU2V0U3Ryb2tlU3RhdGUgOiBwdWJsaWMgSXRlbSB7CitwdWJsaWM6CisgICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxTZXRTdHJva2VTdGF0ZT4gY3JlYXRlKE9wdGlvbmFs
PENvbG9yPiYmLCBPcHRpb25hbDxmbG9hdD4mJiB0aGlja25lc3MpOworCisgICAgV0VCQ09SRV9F
WFBPUlQgdmlydHVhbCB+U2V0U3Ryb2tlU3RhdGUoKTsKKworICAgIENvbG9yIGNvbG9yKCkgY29u
c3QgeyByZXR1cm4gbV9jb2xvcjsgfQorICAgIGJvb2wgaGFzQ29sb3IoKSBjb25zdCB7IHJldHVy
biBtX2hhc0NvbG9yOyB9CisKKyAgICBmbG9hdCB0aGlja25lc3MoKSBjb25zdCB7IHJldHVybiBt
X3RoaWNrbmVzczsgfQorICAgIGJvb2wgaGFzVGhpY2tuZXNzKCkgY29uc3QgeyByZXR1cm4gbV9o
YXNUaGlja25lc3M7IH0KKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2Rl
KEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0
aW9uYWw8UmVmPFNldFN0cm9rZVN0YXRlPj4gZGVjb2RlKERlY29kZXImKTsKKworcHJpdmF0ZToK
KyAgICBTZXRTdHJva2VTdGF0ZShPcHRpb25hbDxDb2xvcj4mJiBjb2xvciwgT3B0aW9uYWw8Zmxv
YXQ+JiYgdGhpY2tuZXNzKQorICAgICAgICA6IEl0ZW0oSXRlbVR5cGU6OlNldFN0cm9rZVN0YXRl
KQorICAgICAgICAsIG1fY29sb3IoY29sb3IudmFsdWVPcihDb2xvcigpKSkKKyAgICAgICAgLCBt
X3RoaWNrbmVzcyh0aGlja25lc3MudmFsdWVPcigwKSkKKyAgICAgICAgLCBtX2hhc0NvbG9yKGNv
bG9yLmhhc1ZhbHVlKCkpCisgICAgICAgICwgbV9oYXNUaGlja25lc3ModGhpY2tuZXNzLmhhc1Zh
bHVlKCkpCisgICAgeworICAgIH0KKworICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0Jikg
Y29uc3Qgb3ZlcnJpZGU7CisKKyAgICBDb2xvciBtX2NvbG9yOworICAgIGZsb2F0IG1fdGhpY2tu
ZXNzIHsgMCB9OworICAgIGJvb2wgbV9oYXNDb2xvciB7IGZhbHNlIH07CisgICAgYm9vbCBtX2hh
c1RoaWNrbmVzcyB7IGZhbHNlIH07Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9p
ZCBTZXRTdHJva2VTdGF0ZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAg
ZW5jb2RlciA8PCBtX2hhc0NvbG9yOworICAgIGlmIChtX2hhc0NvbG9yKQorICAgICAgICBlbmNv
ZGVyIDw8IG1fY29sb3I7CisKKyAgICBlbmNvZGVyIDw8IG1faGFzVGhpY2tuZXNzOworICAgIGlm
IChtX2hhc1RoaWNrbmVzcykKKyAgICAgICAgZW5jb2RlciA8PCBtX3RoaWNrbmVzczsKK30KKwor
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPFJlZjxTZXRTdHJva2VTdGF0ZT4+IFNl
dFN0cm9rZVN0YXRlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxi
b29sPiBoYXNDb2xvcjsKKyAgICBkZWNvZGVyID4+IGhhc0NvbG9yOworICAgIGlmICghaGFzQ29s
b3IpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxDb2xvcj4g
Y29sb3I7CisgICAgaWYgKCpoYXNDb2xvcikgeworICAgICAgICBkZWNvZGVyID4+IGNvbG9yOwor
ICAgICAgICBpZiAoIWNvbG9yKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAg
ICB9CisKKyAgICBPcHRpb25hbDxib29sPiBoYXNUaGlja25lc3M7CisgICAgZGVjb2RlciA+PiBo
YXNUaGlja25lc3M7CisgICAgaWYgKCFoYXNUaGlja25lc3MpCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxmbG9hdD4gdGhpY2tuZXNzOworICAgIGlmICgqaGFz
VGhpY2tuZXNzKSB7CisgICAgICAgIGRlY29kZXIgPj4gdGhpY2tuZXNzOworICAgICAgICBpZiAo
IXRoaWNrbmVzcykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfQorCisg
ICAgcmV0dXJuIFNldFN0cm9rZVN0YXRlOjpjcmVhdGUoV1RGTW92ZShjb2xvciksIFdURk1vdmUo
dGhpY2tuZXNzKSk7Cit9CisKIGNsYXNzIFNldFN0YXRlIDogcHVibGljIEl0ZW0gewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U2V0U3RhdGU+IGNyZWF0ZShjb25zdCBHcmFwaGljc0NvbnRleHRT
dGF0ZSYgc3RhdGUsIEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdGF0ZUNoYW5nZUZsYWdzIGZsYWdz
KQpAQCAtMzUyLDEwICs0NjcsNiBAQCBwdWJsaWM6CiAgICAgCiAgICAgY29uc3QgR3JhcGhpY3ND
b250ZXh0U3RhdGVDaGFuZ2UmIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQogCi0g
ICAgdm9pZCBhY2N1bXVsYXRlKGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiwgR3JhcGhpY3ND
b250ZXh0U3RhdGU6OlN0YXRlQ2hhbmdlRmxhZ3MpOwotCi0gICAgdm9pZCBhY2N1bXVsYXRlKEdy
YXBoaWNzQ29udGV4dFN0YXRlJikgY29uc3Q7Ci0KICAgICBzdGF0aWMgdm9pZCBidWlsZGVyU3Rh
dGUoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgR3JhcGhpY3NDb250ZXh0U3RhdGUmLCBHcmFwaGlj
c0NvbnRleHRTdGF0ZTo6U3RhdGVDaGFuZ2VGbGFncyk7CiAKICAgICBzdGF0aWMgdm9pZCBkdW1w
U3RhdGVDaGFuZ2VzKFdURjo6VGV4dFN0cmVhbSYsIGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRl
JiwgR3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0YXRlQ2hhbmdlRmxhZ3MpOwpAQCAtMjkxOCw2ICsz
MDI5LDEyIEBAIHZvaWQgSXRlbTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAg
Y2FzZSBJdGVtVHlwZTo6Q29uY2F0ZW5hdGVDVE06CiAgICAgICAgIGVuY29kZXIgPDwgZG93bmNh
c3Q8Q29uY2F0ZW5hdGVDVE0+KCp0aGlzKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJdGVt
VHlwZTo6U2V0RmlsbENvbG9yOgorICAgICAgICBlbmNvZGVyIDw8IGRvd25jYXN0PFNldEZpbGxD
b2xvcj4oKnRoaXMpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEl0ZW1UeXBlOjpTZXRTdHJv
a2VTdGF0ZToKKyAgICAgICAgZW5jb2RlciA8PCBkb3duY2FzdDxTZXRTdHJva2VTdGF0ZT4oKnRo
aXMpOworICAgICAgICBicmVhazsKICAgICBjYXNlIEl0ZW1UeXBlOjpTZXRTdGF0ZToKICAgICAg
ICAgZW5jb2RlciA8PCBkb3duY2FzdDxTZXRTdGF0ZT4oKnRoaXMpOwogICAgICAgICBicmVhazsK
QEAgLTMwOTQsNiArMzIxMSwxNCBAQCBPcHRpb25hbDxSZWY8SXRlbT4+IEl0ZW06OmRlY29kZShE
ZWNvZGVyJiBkZWNvZGVyKQogICAgICAgICBpZiAoYXV0byBpdGVtID0gQ29uY2F0ZW5hdGVDVE06
OmRlY29kZShkZWNvZGVyKSkKICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfcmVmZXJlbmNlX2Nh
c3Q8SXRlbT4oV1RGTW92ZSgqaXRlbSkpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIEl0ZW1U
eXBlOjpTZXRGaWxsQ29sb3I6CisgICAgICAgIGlmIChhdXRvIGl0ZW0gPSBTZXRGaWxsQ29sb3I6
OmRlY29kZShkZWNvZGVyKSkKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfcmVmZXJlbmNlX2Nh
c3Q8SXRlbT4oV1RGTW92ZSgqaXRlbSkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEl0ZW1U
eXBlOjpTZXRTdHJva2VTdGF0ZToKKyAgICAgICAgaWYgKGF1dG8gaXRlbSA9IFNldFN0cm9rZVN0
YXRlOjpkZWNvZGUoZGVjb2RlcikpCisgICAgICAgICAgICByZXR1cm4gc3RhdGljX3JlZmVyZW5j
ZV9jYXN0PEl0ZW0+KFdURk1vdmUoKml0ZW0pKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBJ
dGVtVHlwZTo6U2V0U3RhdGU6CiAgICAgICAgIGlmIChhdXRvIGl0ZW0gPSBTZXRTdGF0ZTo6ZGVj
b2RlKGRlY29kZXIpKQogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19yZWZlcmVuY2VfY2FzdDxJ
dGVtPihXVEZNb3ZlKCppdGVtKSk7CkBAIC0zMzAyLDYgKzM0MjcsOCBAQCBTUEVDSUFMSVpFX1RZ
UEVfVFJBSVRTX0RJU1BMQVlMSVNUX0lURU0oUm90YXRlKQogU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19ESVNQTEFZTElTVF9JVEVNKFNjYWxlKQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19ESVNQTEFZ
TElTVF9JVEVNKFNldENUTSkKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRElTUExBWUxJU1RfSVRF
TShDb25jYXRlbmF0ZUNUTSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRElTUExBWUxJU1RfSVRF
TShTZXRGaWxsQ29sb3IpCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0RJU1BMQVlMSVNUX0lURU0o
U2V0U3Ryb2tlU3RhdGUpCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0RJU1BMQVlMSVNUX0lURU0o
U2V0U3RhdGUpCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0RJU1BMQVlMSVNUX0lURU0oU2V0TGlu
ZUNhcCkKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRElTUExBWUxJU1RfSVRFTShTZXRMaW5lRGFz
aCkKQEAgLTMzNjMsNiArMzQ5MCw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2Vi
Q29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlPiB7CiAgICAgV2ViQ29yZTo6RGlzcGxheUxpc3Q6
Okl0ZW1UeXBlOjpTY2FsZSwKICAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlNl
dENUTSwKICAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkNvbmNhdGVuYXRlQ1RN
LAorICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2V0RmlsbENvbG9yLAorICAg
IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2V0U3Ryb2tlU3RhdGUsCiAgICAgV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpTZXRTdGF0ZSwKICAgICBXZWJDb3JlOjpEaXNw
bGF5TGlzdDo6SXRlbVR5cGU6OlNldExpbmVDYXAsCiAgICAgV2ViQ29yZTo6RGlzcGxheUxpc3Q6
Okl0ZW1UeXBlOjpTZXRMaW5lRGFzaCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29y
ZGVyLmNwcAppbmRleCAxYzU0YWU4MjI5Mzk0MjBkZDQwYjdiNzBiYTdlMzlkYmJhNjVmZTliLi5k
YzVjYTI5MTg0ZTA4YTFiN2JkYTRlNmFmNTQ3ZTZiNzcwZjZjNDdmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNv
cmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCkBAIC01Nyw2ICs1Nyw0MCBAQCB2b2lkIFJlY29y
ZGVyOjpwdXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBpbnB1dEZv
cm1hdCwgY29uc3QgVwogICAgIGFwcGVuZEl0ZW0oV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlB1dElt
YWdlRGF0YTo6Y3JlYXRlKGlucHV0Rm9ybWF0LCBpbWFnZURhdGEsIHNyY1JlY3QsIGRlc3RQb2lu
dCwgZGVzdEZvcm1hdCkpOwogfQogCitzdGF0aWMgYm9vbCBjb250YWluc09ubHlTdHJva2VDb2xv
ck9yVGhpY2tuZXNzQ2hhbmdlKEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdGF0ZUNoYW5nZUZsYWdz
IGNoYW5nZXMpCit7CisgICAgc3RhdGljIGNvbnN0ZXhwciBHcmFwaGljc0NvbnRleHRTdGF0ZTo6
U3RhdGVDaGFuZ2VGbGFncyBzdHJva2VTdGF0ZUNoYW5nZUZsYWdzIHsKKyAgICAgICAgR3JhcGhp
Y3NDb250ZXh0U3RhdGU6OlN0cm9rZVRoaWNrbmVzc0NoYW5nZSwKKyAgICAgICAgR3JhcGhpY3ND
b250ZXh0U3RhdGU6OlN0cm9rZUNvbG9yQ2hhbmdlCisgICAgfTsKKyAgICByZXR1cm4gY2hhbmdl
cyA9PSAoY2hhbmdlcyAmIHN0cm9rZVN0YXRlQ2hhbmdlRmxhZ3MpOworfQorCitzdGF0aWMgYm9v
bCBjb250YWluc09ubHlGaWxsQ29sb3JDaGFuZ2UoR3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0YXRl
Q2hhbmdlRmxhZ3MgY2hhbmdlcykKK3sKKyAgICByZXR1cm4gY2hhbmdlcyA9PSAoY2hhbmdlcyAm
IEdyYXBoaWNzQ29udGV4dFN0YXRlOjpGaWxsQ29sb3JDaGFuZ2UpOworfQorCitzdGF0aWMgUmVm
PEl0ZW0+IGNyZWF0ZVN0YXRlQ2hhbmdlSXRlbShjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZUNo
YW5nZSYgY2hhbmdlcywgR3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0YXRlQ2hhbmdlRmxhZ3MgY2hh
bmdlRmxhZ3MpCit7CisgICAgaWYgKGNvbnRhaW5zT25seUZpbGxDb2xvckNoYW5nZShjaGFuZ2VG
bGFncykpCisgICAgICAgIHJldHVybiBTZXRGaWxsQ29sb3I6OmNyZWF0ZShjaGFuZ2VzLm1fc3Rh
dGUuZmlsbENvbG9yKTsKKworICAgIGlmIChjb250YWluc09ubHlTdHJva2VDb2xvck9yVGhpY2tu
ZXNzQ2hhbmdlKGNoYW5nZUZsYWdzKSkgeworICAgICAgICBPcHRpb25hbDxDb2xvcj4gc3Ryb2tl
Q29sb3I7CisgICAgICAgIGlmIChjaGFuZ2VGbGFncy5jb250YWlucyhHcmFwaGljc0NvbnRleHRT
dGF0ZTo6U3Ryb2tlQ29sb3JDaGFuZ2UpKQorICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBjaGFu
Z2VzLm1fc3RhdGUuc3Ryb2tlQ29sb3I7CisKKyAgICAgICAgT3B0aW9uYWw8ZmxvYXQ+IHN0cm9r
ZVRoaWNrbmVzczsKKyAgICAgICAgaWYgKGNoYW5nZUZsYWdzLmNvbnRhaW5zKEdyYXBoaWNzQ29u
dGV4dFN0YXRlOjpTdHJva2VUaGlja25lc3NDaGFuZ2UpKQorICAgICAgICAgICAgc3Ryb2tlVGhp
Y2tuZXNzID0gY2hhbmdlcy5tX3N0YXRlLnN0cm9rZVRoaWNrbmVzczsKKworICAgICAgICByZXR1
cm4gU2V0U3Ryb2tlU3RhdGU6OmNyZWF0ZShXVEZNb3ZlKHN0cm9rZUNvbG9yKSwgV1RGTW92ZShz
dHJva2VUaGlja25lc3MpKTsKKyAgICB9CisKKyAgICByZXR1cm4gU2V0U3RhdGU6OmNyZWF0ZShj
aGFuZ2VzLm1fc3RhdGUsIGNoYW5nZUZsYWdzKTsKK30KKwogdm9pZCBSZWNvcmRlcjo6d2lsbEFw
cGVuZEl0ZW0oY29uc3QgSXRlbSYgaXRlbSkKIHsKICAgICBpZiAobV9vYnNlcnZlcikKQEAgLTcx
LDcgKzEwNSw3IEBAIHZvaWQgUmVjb3JkZXI6OndpbGxBcHBlbmRJdGVtKGNvbnN0IEl0ZW0mIGl0
ZW0pCiAgICAgICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdGF0ZUNoYW5nZUZsYWdzIGNoYW5n
ZXNGcm9tTGFzdFN0YXRlID0gc3RhdGVDaGFuZ2VzLmNoYW5nZXNGcm9tU3RhdGUoY3VycmVudFN0
YXRlKCkubGFzdERyYXdpbmdTdGF0ZSk7CiAgICAgICAgIGlmIChjaGFuZ2VzRnJvbUxhc3RTdGF0
ZSkgewogICAgICAgICAgICAgTE9HX1dJVEhfU1RSRUFNKERpc3BsYXlMaXN0cywgc3RyZWFtIDw8
ICJwcmUtZHJhd2luZywgc2F2aW5nIHN0YXRlICIgPDwgR3JhcGhpY3NDb250ZXh0U3RhdGVDaGFu
Z2Uoc3RhdGVDaGFuZ2VzLm1fc3RhdGUsIGNoYW5nZXNGcm9tTGFzdFN0YXRlKSk7Ci0gICAgICAg
ICAgICBtX2Rpc3BsYXlMaXN0LmFwcGVuZChTZXRTdGF0ZTo6Y3JlYXRlKHN0YXRlQ2hhbmdlcy5t
X3N0YXRlLCBjaGFuZ2VzRnJvbUxhc3RTdGF0ZSkpOworICAgICAgICAgICAgbV9kaXNwbGF5TGlz
dC5hcHBlbmQoY3JlYXRlU3RhdGVDaGFuZ2VJdGVtKHN0YXRlQ2hhbmdlcywgY2hhbmdlc0Zyb21M
YXN0U3RhdGUpKTsKICAgICAgICAgICAgIHN0YXRlQ2hhbmdlcy5tX2NoYW5nZUZsYWdzID0geyB9
OwogICAgICAgICAgICAgY3VycmVudFN0YXRlKCkubGFzdERyYXdpbmdTdGF0ZSA9IHN0YXRlQ2hh
bmdlcy5tX3N0YXRlOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWE3ZDE2N2Y2OTc0YzFiNGNlMDdhYzVm
OGMzNTFiZmI4YzM3NWQ1Ni4uN2I2NjVjZTVkNjE5YTM3ZjIxOTMxYTQ1N2VmYmY0ZTJkY2ZiM2U0
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTEwLTE5ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtNb3Rpb25NYXJrXSBBZGQgc3RhdGUgY2hh
bmdlIGl0ZW1zIHRvIHJlcHJlc2VudCBjaGFuZ2VzIHRvIHN0cm9rZSBhbmQgZmlsbCBzdGF0ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3OTExCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBkaXNwbGF5
bGlzdHMvY2FudmFzLWRpc3BsYXktbGlzdC1leHBlY3RlZC50eHQ6IFJlYmFzZWxpbmUgYW4gZXhp
c3RpbmcgZGlzcGxheSBsaXN0IGl0ZW0gZHVtcCB0ZXN0LgorCiAyMDIwLTEwLTEzICBTZXJnaW8g
VmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFNhbml0aXplIHRo
ZSB1c2FnZSBvZiBvdmVycmlkZSBzaXplcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZGlzcGxh
eWxpc3RzL2NhbnZhcy1kaXNwbGF5LWxpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZGlz
cGxheWxpc3RzL2NhbnZhcy1kaXNwbGF5LWxpc3QtZXhwZWN0ZWQudHh0CmluZGV4IGU2NTBkM2E2
YmRjZjVkYmIyMDMzYTgwYjVlOTU4YmU4ZGI0NWFjODUuLmY3ZDcxOGYwNmFkYzhjODlhNGNmYjgz
OTJlOWE5NmUzZWFhY2ZhNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Rpc3BsYXlsaXN0cy9j
YW52YXMtZGlzcGxheS1saXN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9kaXNwbGF5
bGlzdHMvY2FudmFzLWRpc3BsYXktbGlzdC1leHBlY3RlZC50eHQKQEAgLTgsOSArOCw4IEBACiAo
ZmlsbC1yZWN0CiAgIChleHRlbnQgYXQgKDEwLDE0MCkgc2l6ZSA1NXg1MCkKICAgKHJlY3QgYXQg
KDEwLDEwKSBzaXplIDU1eDUwKSkKLShzZXQtc3RhdGUKLSAgKGNoYW5nZS1mbGFncyAxMjgpCi0g
IChmaWxsLWNvbG9yICMwMDAwQzg4MCkpCisoc2V0LWZpbGwtY29sb3IKKyAgKGNvbG9yICMwMDAw
Qzg4MCkpCiAoZmlsbC1yZWN0CiAgIChleHRlbnQgYXQgKDMwLDEyMCkgc2l6ZSA1NXg1MCkKICAg
KHJlY3QgYXQgKDMwLDMwKSBzaXplIDU1eDUwKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>