<?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>74876</bug_id>
          
          <creation_ts>2011-12-19 11:58:57 -0800</creation_ts>
          <short_desc>sizeof(RenderStyle) is 64 instead of 56 on Windows (x86)</short_desc>
          <delta_ts>2011-12-20 14:37:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>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>
          <dependson>74880</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>darin</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>524088</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-19 11:58:57 -0800</bug_when>
    <thetext>Similar to the other bugs filed (e.g., bug 74646), this is because we&apos;re mixing bit packed types.

http://randomascii.wordpress.com/2010/06/06/bit-field-packing-with-visual-c/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524124</commentid>
    <comment_count>1</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-19 12:40:12 -0800</bug_when>
    <thetext>I&apos;m going to split this into 2 patches since there are 2 structs in RenderStyle that also need to be fixed up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524691</commentid>
    <comment_count>2</comment_count>
      <attachid>120045</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-20 11:04:14 -0800</bug_when>
    <thetext>Created attachment 120045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524713</commentid>
    <comment_count>3</comment_count>
      <attachid>120045</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-20 11:38:10 -0800</bug_when>
    <thetext>Comment on attachment 120045
Patch

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

&gt; Source/WebCore/rendering/style/RenderStyle.h:169
&gt; +        bool affectedByUncommonAttributeSelectors() const { return m_affectedByUncommonAttributeSelectors; }
&gt; +        void setAffectedByUncommonAttributeSelectors(bool value) { m_affectedByUncommonAttributeSelectors = value; }
&gt; +        bool unique() const { return m_unique; }
&gt; +        void setUnique(bool value) { m_unique = value; }
&gt; +        bool affectedByEmpty() const { return m_affectedByEmpty; }
&gt; +        void setAffectedByEmpty(bool value) { m_affectedByEmpty = value; }
&gt; +        bool emptyState() const { return m_emptyState; }
&gt; +        void setEmptyState(bool value) { m_emptyState = value; }
&gt; +        bool childrenAffectedByFirstChildRules() const { return m_childrenAffectedByFirstChildRules; }
&gt; +        void setChildrenAffectedByFirstChildRules(bool value) { m_childrenAffectedByFirstChildRules = value; }
&gt; +        bool childrenAffectedByLastChildRules() const { return m_childrenAffectedByLastChildRules; }
&gt; +        void setChildrenAffectedByLastChildRules(bool value) { m_childrenAffectedByLastChildRules = value; }
&gt; +        bool childrenAffectedByDirectAdjacentRules() const { return m_childrenAffectedByDirectAdjacentRules; }
&gt; +        void setChildrenAffectedByDirectAdjacentRules(bool value) { m_childrenAffectedByDirectAdjacentRules = value; }
&gt; +        bool childrenAffectedByForwardPositionalRules() const { return m_childrenAffectedByForwardPositionalRules; }
&gt; +        void setChildrenAffectedByForwardPositionalRules(bool value) { m_childrenAffectedByForwardPositionalRules = value; }
&gt; +        bool childrenAffectedByBackwardPositionalRules() const { return m_childrenAffectedByBackwardPositionalRules; }
&gt; +        void setChildrenAffectedByBackwardPositionalRules(bool value) { m_childrenAffectedByBackwardPositionalRules = value; }
&gt; +        bool firstChildState() const { return m_firstChildState; }
&gt; +        void setFirstChildState(bool value) { m_firstChildState = value; }
&gt; +        bool lastChildState() const { return m_lastChildState; }
&gt; +        void setLastChildState(bool value) { m_lastChildState = value; }
&gt; +        bool explicitInheritance() const { return m_explicitInheritance; }
&gt; +        void setExplicitInheritance(bool value) { m_explicitInheritance = value; }

Can we generate these with a macro? Also, since all these variables are only used within getters and setters, it might make more sense to make those getters and setters friends of this class instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524798</commentid>
    <comment_count>4</comment_count>
      <attachid>120045</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-20 13:44:28 -0800</bug_when>
    <thetext>Comment on attachment 120045
Patch

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

&gt;&gt; Source/WebCore/rendering/style/RenderStyle.h:169
&gt;&gt; +        void setExplicitInheritance(bool value) { m_explicitInheritance = value; }
&gt; 
&gt; Can we generate these with a macro? Also, since all these variables are only used within getters and setters, it might make more sense to make those getters and setters friends of this class instead.

Apparently we can&apos;t do this since RenderStyle hadn&apos;t be fully declared yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524839</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-20 14:37:27 -0800</bug_when>
    <thetext>Committed r103353: &lt;http://trac.webkit.org/changeset/103353&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120045</attachid>
            <date>2011-12-20 11:04:14 -0800</date>
            <delta_ts>2011-12-20 13:44:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74876-20111220110431.patch</filename>
            <type>text/plain</type>
            <size>17099</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDk3MzcxMDlhOTc1YTAy
MGFiODdiZmY3YmYyYmFjZDhjMmRiMTRkYy4uYWNlZDJjODQ2ZGQyYzBlOWRhYjQ0NzA4ZmQ3NjNj
ODg2ZmIxMTM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ4IEBACiAyMDExLTEyLTIwICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgc2l6ZW9mKFJlbmRlclN0eWxl
KSBpcyA2NCBpbnN0ZWFkIG9mIDU2IG9uIFdpbmRvd3MgKHg4NikKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODc2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBiaXQgZmllbGRzIGludG8gYSBuZXcg
Y2xhc3MgYW5kIHVzZSB1bnNpZ25lZCBmb3IgYWxsIHR5cGVzIHNvIHdlCisgICAgICAgIGFsaWdu
IGF0IDQgYnl0ZSBib3VuZHMuIEFsc28gbW92ZSB0aGUgaW5pdGlhbGl6ZXJzIGludG8gdGhlIGhl
YWRlcgorICAgICAgICBmaWxlIChoYXMgdGhlIHNpZGUgYmVuZWZpdCBvZiBub3QgbmVlZGluZyB0
byBkdXBsaWNhdGUgdGhlIGluaXRpYWxpemVycworICAgICAgICBpbiAzIHBsYWNlcykuCisKKyAg
ICAgICAgRW5hYmxlIHRoZSBjb21waWxlIGFzc2VydCBvbiBXaW5kb3dzLgorCisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjpSZW5kZXJTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZUJpdGZpZWxkczo6YWZmZWN0ZWRC
eVVuY29tbW9uQXR0cmlidXRlU2VsZWN0b3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0
eWxlQml0ZmllbGRzOjpzZXRBZmZlY3RlZEJ5VW5jb21tb25BdHRyaWJ1dGVTZWxlY3RvcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGVCaXRmaWVsZHM6OnVuaXF1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTdHlsZUJpdGZpZWxkczo6c2V0VW5pcXVlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlQml0ZmllbGRzOjphZmZlY3RlZEJ5RW1wdHkpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGVCaXRmaWVsZHM6OmVtcHR5U3RhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU3R5bGVCaXRmaWVsZHM6OnNldEVtcHR5U3RhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU3R5bGVCaXRmaWVsZHM6OmNoaWxkcmVuQWZmZWN0ZWRCeUZpcnN0Q2hpbGRS
dWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZUJpdGZpZWxkczo6c2V0Q2hpbGRy
ZW5BZmZlY3RlZEJ5Rmlyc3RDaGlsZFJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0
eWxlQml0ZmllbGRzOjpjaGlsZHJlbkFmZmVjdGVkQnlMYXN0Q2hpbGRSdWxlcyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTdHlsZUJpdGZpZWxkczo6c2V0Q2hpbGRyZW5BZmZlY3RlZEJ5TGFz
dENoaWxkUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGVCaXRmaWVsZHM6OmNo
aWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFkamFjZW50UnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGVCaXRmaWVsZHM6OnNldENoaWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFkamFjZW50
UnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGVCaXRmaWVsZHM6OmNoaWxkcmVu
QWZmZWN0ZWRCeUZvcndhcmRQb3NpdGlvbmFsUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGVCaXRmaWVsZHM6OnNldENoaWxkcmVuQWZmZWN0ZWRCeUZvcndhcmRQb3NpdGlvbmFs
UnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGVCaXRmaWVsZHM6OmNoaWxkcmVu
QWZmZWN0ZWRCeUJhY2t3YXJkUG9zaXRpb25hbFJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclN0eWxlQml0ZmllbGRzOjpzZXRDaGlsZHJlbkFmZmVjdGVkQnlCYWNrd2FyZFBvc2l0aW9u
YWxSdWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZUJpdGZpZWxkczo6Zmlyc3RD
aGlsZFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlQml0ZmllbGRzOjpzZXRG
aXJzdENoaWxkU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGVCaXRmaWVsZHM6
Omxhc3RDaGlsZFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlQml0ZmllbGRz
OjpzZXRMYXN0Q2hpbGRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZUJpdGZp
ZWxkczo6Y2hpbGRJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZUJpdGZpZWxk
czo6c2V0Q2hpbGRJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZUJpdGZpZWxk
czo6c2V0SGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU3R5bGVCaXRmaWVsZHM6Omhhc0V4cGxpY2l0bHlJbmhlcml0ZWRQcm9wZXJ0aWVz
KToKKworMjAxMS0xMi0yMCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgorCiAgICAg
ICAgIFJlbmRlclN0eWxlOjpJbmhlcml0ZWRGbGFncyBhbmQgUmVuZGVyU3R5bGU6Ok5vbkluaGVy
aXRlZEZsYWdzIG1lbWJlcnMgc2hvdWxkIGJlIDQgYnl0ZSBhbGlnbmVkCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg4MAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCBkYzJhYzMwMGFmYTRj
Y2E2ZGU5NjUwYmIxOTlmYTY4NTZhZTc1YjIyLi5kN2U2NzVjMzJjNTQ1NTViYTU1YWQxMDdmNWYx
YjgwMTZkZmNkNDI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5jcHAKQEAgLTYxLDEwICs2MSw3IEBAIHN0cnVjdCBTYW1lU2l6ZUFzUmVuZGVyU3R5
bGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTYW1lU2l6ZUFzUmVuZGVyU3R5bGU+IHsKICAgICB9IG5v
bmluaGVyaXRlZF9mbGFnczsKIH07CiAKLS8vIEZJWE1FOiBFbmFibGUgYXNzZXJ0IG9uIFdpbmRv
d3MuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg3NgotI2lmICFP
UyhXSU5ET1dTKQogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFJlbmRlclN0eWxlKSA9PSBzaXplb2Yo
U2FtZVNpemVBc1JlbmRlclN0eWxlKSwgUmVuZGVyU3R5bGVfc2hvdWxkX3N0YXlfc21hbGwpOwot
I2VuZGlmCiAKIGlubGluZSBSZW5kZXJTdHlsZSogZGVmYXVsdFN0eWxlKCkKIHsKQEAgLTk2LDIw
ICs5Myw3IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJlbmRlclN0eWxlOjpjbG9uZShjb25z
dCBSZW5kZXJTdHlsZSogb3RoZXIpCiB9CiAKIEFMV0FZU19JTkxJTkUgUmVuZGVyU3R5bGU6OlJl
bmRlclN0eWxlKCkKLSAgICA6IG1fYWZmZWN0ZWRCeVVuY29tbW9uQXR0cmlidXRlU2VsZWN0b3Jz
KGZhbHNlKQotICAgICwgbV91bmlxdWUoZmFsc2UpCi0gICAgLCBtX2FmZmVjdGVkQnlFbXB0eShm
YWxzZSkKLSAgICAsIG1fZW1wdHlTdGF0ZShmYWxzZSkKLSAgICAsIG1fY2hpbGRyZW5BZmZlY3Rl
ZEJ5Rmlyc3RDaGlsZFJ1bGVzKGZhbHNlKQotICAgICwgbV9jaGlsZHJlbkFmZmVjdGVkQnlMYXN0
Q2hpbGRSdWxlcyhmYWxzZSkKLSAgICAsIG1fY2hpbGRyZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNl
bnRSdWxlcyhmYWxzZSkKLSAgICAsIG1fY2hpbGRyZW5BZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0aW9u
YWxSdWxlcyhmYWxzZSkKLSAgICAsIG1fY2hpbGRyZW5BZmZlY3RlZEJ5QmFja3dhcmRQb3NpdGlv
bmFsUnVsZXMoZmFsc2UpCi0gICAgLCBtX2ZpcnN0Q2hpbGRTdGF0ZShmYWxzZSkKLSAgICAsIG1f
bGFzdENoaWxkU3RhdGUoZmFsc2UpCi0gICAgLCBtX2V4cGxpY2l0SW5oZXJpdGFuY2UoZmFsc2Up
Ci0gICAgLCBtX2NoaWxkSW5kZXgoMCkKLSAgICAsIG1fYm94KGRlZmF1bHRTdHlsZSgpLT5tX2Jv
eCkKKyAgICA6IG1fYm94KGRlZmF1bHRTdHlsZSgpLT5tX2JveCkKICAgICAsIHZpc3VhbChkZWZh
dWx0U3R5bGUoKS0+dmlzdWFsKQogICAgICwgbV9iYWNrZ3JvdW5kKGRlZmF1bHRTdHlsZSgpLT5t
X2JhY2tncm91bmQpCiAgICAgLCBzdXJyb3VuZChkZWZhdWx0U3R5bGUoKS0+c3Vycm91bmQpCkBA
IC0xMjYsMTkgKzExMCw2IEBAIEFMV0FZU19JTkxJTkUgUmVuZGVyU3R5bGU6OlJlbmRlclN0eWxl
KCkKIH0KIAogQUxXQVlTX0lOTElORSBSZW5kZXJTdHlsZTo6UmVuZGVyU3R5bGUoYm9vbCkKLSAg
ICA6IG1fYWZmZWN0ZWRCeVVuY29tbW9uQXR0cmlidXRlU2VsZWN0b3JzKGZhbHNlKQotICAgICwg
bV91bmlxdWUoZmFsc2UpCi0gICAgLCBtX2FmZmVjdGVkQnlFbXB0eShmYWxzZSkKLSAgICAsIG1f
ZW1wdHlTdGF0ZShmYWxzZSkKLSAgICAsIG1fY2hpbGRyZW5BZmZlY3RlZEJ5Rmlyc3RDaGlsZFJ1
bGVzKGZhbHNlKQotICAgICwgbV9jaGlsZHJlbkFmZmVjdGVkQnlMYXN0Q2hpbGRSdWxlcyhmYWxz
ZSkKLSAgICAsIG1fY2hpbGRyZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNlbnRSdWxlcyhmYWxzZSkK
LSAgICAsIG1fY2hpbGRyZW5BZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcyhmYWxzZSkK
LSAgICAsIG1fY2hpbGRyZW5BZmZlY3RlZEJ5QmFja3dhcmRQb3NpdGlvbmFsUnVsZXMoZmFsc2Up
Ci0gICAgLCBtX2ZpcnN0Q2hpbGRTdGF0ZShmYWxzZSkKLSAgICAsIG1fbGFzdENoaWxkU3RhdGUo
ZmFsc2UpCi0gICAgLCBtX2V4cGxpY2l0SW5oZXJpdGFuY2UoZmFsc2UpCi0gICAgLCBtX2NoaWxk
SW5kZXgoMCkKIHsKICAgICBzZXRCaXREZWZhdWx0cygpOwogCkBAIC0xNjgsMTkgKzEzOSw2IEBA
IEFMV0FZU19JTkxJTkUgUmVuZGVyU3R5bGU6OlJlbmRlclN0eWxlKGJvb2wpCiAKIEFMV0FZU19J
TkxJTkUgUmVuZGVyU3R5bGU6OlJlbmRlclN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBvKQogICAg
IDogUmVmQ291bnRlZDxSZW5kZXJTdHlsZT4oKQotICAgICwgbV9hZmZlY3RlZEJ5VW5jb21tb25B
dHRyaWJ1dGVTZWxlY3RvcnMoZmFsc2UpCi0gICAgLCBtX3VuaXF1ZShmYWxzZSkKLSAgICAsIG1f
YWZmZWN0ZWRCeUVtcHR5KGZhbHNlKQotICAgICwgbV9lbXB0eVN0YXRlKGZhbHNlKQotICAgICwg
bV9jaGlsZHJlbkFmZmVjdGVkQnlGaXJzdENoaWxkUnVsZXMoZmFsc2UpCi0gICAgLCBtX2NoaWxk
cmVuQWZmZWN0ZWRCeUxhc3RDaGlsZFJ1bGVzKGZhbHNlKQotICAgICwgbV9jaGlsZHJlbkFmZmVj
dGVkQnlEaXJlY3RBZGphY2VudFJ1bGVzKGZhbHNlKQotICAgICwgbV9jaGlsZHJlbkFmZmVjdGVk
QnlGb3J3YXJkUG9zaXRpb25hbFJ1bGVzKGZhbHNlKQotICAgICwgbV9jaGlsZHJlbkFmZmVjdGVk
QnlCYWNrd2FyZFBvc2l0aW9uYWxSdWxlcyhmYWxzZSkKLSAgICAsIG1fZmlyc3RDaGlsZFN0YXRl
KGZhbHNlKQotICAgICwgbV9sYXN0Q2hpbGRTdGF0ZShmYWxzZSkKLSAgICAsIG1fZXhwbGljaXRJ
bmhlcml0YW5jZShmYWxzZSkKLSAgICAsIG1fY2hpbGRJbmRleCgwKQogICAgICwgbV9ib3goby5t
X2JveCkKICAgICAsIHZpc3VhbChvLnZpc3VhbCkKICAgICAsIG1fYmFja2dyb3VuZChvLm1fYmFj
a2dyb3VuZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgK
aW5kZXggZGJkNGVkZTZlYzM4MDljNDI3ZjI0NWFjN2UwNTlmZjg4YzEzNjUwMi4uODY4NTk4Yzc4
N2M3MWUzMTkwNDVmZDg1YTM1ZGViNGYxZWZjYTUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTEyNCwyNiArMTI0LDc2IEBAIGNsYXNzIFJl
bmRlclN0eWxlOiBwdWJsaWMgUmVmQ291bnRlZDxSZW5kZXJTdHlsZT4gewogICAgIGZyaWVuZCBj
bGFzcyBSZW5kZXJUcmVlQXNUZXh0OyAvLyBGSVhNRTogT25seSBuZWVkZWQgc28gdGhlIHJlbmRl
ciB0cmVlIGNhbiBrZWVwIGx5aW5nIGFuZCBkdW1wIHRoZSB3cm9uZyBjb2xvcnMuICBSZWJhc2Vs
aW5pbmcgd291bGQgYWxsb3cgdGhpcyB0byBiZSB5YW5rZWQuCiBwcm90ZWN0ZWQ6CiAKLSAgICAv
LyBUaGUgZm9sbG93aW5nIGJpdGZpZWxkIGlzIDMyLWJpdHMgbG9uZywgd2hpY2ggb3B0aW1pemVz
IHBhZGRpbmcgd2l0aCB0aGUKLSAgICAvLyBpbnQgcmVmQ291bnQgaW4gdGhlIGJhc2UgY2xhc3Mu
IEJld2FyZSB3aGVuIGFkZGluZyBtb3JlIGJpdHMuCi0gICAgYm9vbCBtX2FmZmVjdGVkQnlVbmNv
bW1vbkF0dHJpYnV0ZVNlbGVjdG9ycyA6IDE7Ci0gICAgYm9vbCBtX3VuaXF1ZSA6IDE7Ci0KLSAg
ICAvLyBCaXRzIGZvciBkeW5hbWljIGNoaWxkIG1hdGNoaW5nLgotICAgIGJvb2wgbV9hZmZlY3Rl
ZEJ5RW1wdHkgOiAxOwotICAgIGJvb2wgbV9lbXB0eVN0YXRlIDogMTsKLQotICAgIC8vIFdlIG9w
dGltaXplIGZvciA6Zmlyc3QtY2hpbGQgYW5kIDpsYXN0LWNoaWxkLiAgVGhlIG90aGVyIHBvc2l0
aW9uYWwgY2hpbGQgc2VsZWN0b3JzIGxpa2UgbnRoLWNoaWxkIG9yCi0gICAgLy8gKi1jaGlsZC1v
Zi10eXBlLCB3ZSB3aWxsIGp1c3QgZ2l2ZSB1cCBhbmQgcmUtZXZhbHVhdGUgd2hlbmV2ZXIgY2hp
bGRyZW4gY2hhbmdlIGF0IGFsbC4KLSAgICBib29sIG1fY2hpbGRyZW5BZmZlY3RlZEJ5Rmlyc3RD
aGlsZFJ1bGVzIDogMTsKLSAgICBib29sIG1fY2hpbGRyZW5BZmZlY3RlZEJ5TGFzdENoaWxkUnVs
ZXMgOiAxOwotICAgIGJvb2wgbV9jaGlsZHJlbkFmZmVjdGVkQnlEaXJlY3RBZGphY2VudFJ1bGVz
IDogMTsKLSAgICBib29sIG1fY2hpbGRyZW5BZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxl
cyA6IDE7Ci0gICAgYm9vbCBtX2NoaWxkcmVuQWZmZWN0ZWRCeUJhY2t3YXJkUG9zaXRpb25hbFJ1
bGVzIDogMTsKLSAgICBib29sIG1fZmlyc3RDaGlsZFN0YXRlIDogMTsKLSAgICBib29sIG1fbGFz
dENoaWxkU3RhdGUgOiAxOwotICAgIGJvb2wgbV9leHBsaWNpdEluaGVyaXRhbmNlIDogMTsKLSAg
ICB1bnNpZ25lZCBtX2NoaWxkSW5kZXggOiAyMDsgLy8gUGxlbnR5IG9mIGJpdHMgdG8gY2FjaGUg
YW4gaW5kZXguCisgICAgY2xhc3MgUmVuZGVyU3R5bGVCaXRmaWVsZHMgeworICAgIHB1YmxpYzoK
KyAgICAgICAgUmVuZGVyU3R5bGVCaXRmaWVsZHMoKQorICAgICAgICAgICAgOiBtX2FmZmVjdGVk
QnlVbmNvbW1vbkF0dHJpYnV0ZVNlbGVjdG9ycyhmYWxzZSkKKyAgICAgICAgICAgICwgbV91bmlx
dWUoZmFsc2UpCisgICAgICAgICAgICAsIG1fYWZmZWN0ZWRCeUVtcHR5KGZhbHNlKQorICAgICAg
ICAgICAgLCBtX2VtcHR5U3RhdGUoZmFsc2UpCisgICAgICAgICAgICAsIG1fY2hpbGRyZW5BZmZl
Y3RlZEJ5Rmlyc3RDaGlsZFJ1bGVzKGZhbHNlKQorICAgICAgICAgICAgLCBtX2NoaWxkcmVuQWZm
ZWN0ZWRCeUxhc3RDaGlsZFJ1bGVzKGZhbHNlKQorICAgICAgICAgICAgLCBtX2NoaWxkcmVuQWZm
ZWN0ZWRCeURpcmVjdEFkamFjZW50UnVsZXMoZmFsc2UpCisgICAgICAgICAgICAsIG1fY2hpbGRy
ZW5BZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcyhmYWxzZSkKKyAgICAgICAgICAgICwg
bV9jaGlsZHJlbkFmZmVjdGVkQnlCYWNrd2FyZFBvc2l0aW9uYWxSdWxlcyhmYWxzZSkKKyAgICAg
ICAgICAgICwgbV9maXJzdENoaWxkU3RhdGUoZmFsc2UpCisgICAgICAgICAgICAsIG1fbGFzdENo
aWxkU3RhdGUoZmFsc2UpCisgICAgICAgICAgICAsIG1fZXhwbGljaXRJbmhlcml0YW5jZShmYWxz
ZSkKKyAgICAgICAgICAgICwgbV9jaGlsZEluZGV4KDApCisgICAgICAgIHsKKyAgICAgICAgfQor
CisgICAgICAgIGJvb2wgYWZmZWN0ZWRCeVVuY29tbW9uQXR0cmlidXRlU2VsZWN0b3JzKCkgY29u
c3QgeyByZXR1cm4gbV9hZmZlY3RlZEJ5VW5jb21tb25BdHRyaWJ1dGVTZWxlY3RvcnM7IH0KKyAg
ICAgICAgdm9pZCBzZXRBZmZlY3RlZEJ5VW5jb21tb25BdHRyaWJ1dGVTZWxlY3RvcnMoYm9vbCB2
YWx1ZSkgeyBtX2FmZmVjdGVkQnlVbmNvbW1vbkF0dHJpYnV0ZVNlbGVjdG9ycyA9IHZhbHVlOyB9
CisgICAgICAgIGJvb2wgdW5pcXVlKCkgY29uc3QgeyByZXR1cm4gbV91bmlxdWU7IH0KKyAgICAg
ICAgdm9pZCBzZXRVbmlxdWUoYm9vbCB2YWx1ZSkgeyBtX3VuaXF1ZSA9IHZhbHVlOyB9CisgICAg
ICAgIGJvb2wgYWZmZWN0ZWRCeUVtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9hZmZlY3RlZEJ5RW1w
dHk7IH0KKyAgICAgICAgdm9pZCBzZXRBZmZlY3RlZEJ5RW1wdHkoYm9vbCB2YWx1ZSkgeyBtX2Fm
ZmVjdGVkQnlFbXB0eSA9IHZhbHVlOyB9CisgICAgICAgIGJvb2wgZW1wdHlTdGF0ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZW1wdHlTdGF0ZTsgfQorICAgICAgICB2b2lkIHNldEVtcHR5U3RhdGUoYm9v
bCB2YWx1ZSkgeyBtX2VtcHR5U3RhdGUgPSB2YWx1ZTsgfQorICAgICAgICBib29sIGNoaWxkcmVu
QWZmZWN0ZWRCeUZpcnN0Q2hpbGRSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW5BZmZl
Y3RlZEJ5Rmlyc3RDaGlsZFJ1bGVzOyB9CisgICAgICAgIHZvaWQgc2V0Q2hpbGRyZW5BZmZlY3Rl
ZEJ5Rmlyc3RDaGlsZFJ1bGVzKGJvb2wgdmFsdWUpIHsgbV9jaGlsZHJlbkFmZmVjdGVkQnlGaXJz
dENoaWxkUnVsZXMgPSB2YWx1ZTsgfQorICAgICAgICBib29sIGNoaWxkcmVuQWZmZWN0ZWRCeUxh
c3RDaGlsZFJ1bGVzKCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZHJlbkFmZmVjdGVkQnlMYXN0Q2hp
bGRSdWxlczsgfQorICAgICAgICB2b2lkIHNldENoaWxkcmVuQWZmZWN0ZWRCeUxhc3RDaGlsZFJ1
bGVzKGJvb2wgdmFsdWUpIHsgbV9jaGlsZHJlbkFmZmVjdGVkQnlMYXN0Q2hpbGRSdWxlcyA9IHZh
bHVlOyB9CisgICAgICAgIGJvb2wgY2hpbGRyZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNlbnRSdWxl
cygpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNlbnRSdWxl
czsgfQorICAgICAgICB2b2lkIHNldENoaWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFkamFjZW50UnVs
ZXMoYm9vbCB2YWx1ZSkgeyBtX2NoaWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFkamFjZW50UnVsZXMg
PSB2YWx1ZTsgfQorICAgICAgICBib29sIGNoaWxkcmVuQWZmZWN0ZWRCeUZvcndhcmRQb3NpdGlv
bmFsUnVsZXMoKSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuQWZmZWN0ZWRCeUZvcndhcmRQb3Np
dGlvbmFsUnVsZXM7IH0KKyAgICAgICAgdm9pZCBzZXRDaGlsZHJlbkFmZmVjdGVkQnlGb3J3YXJk
UG9zaXRpb25hbFJ1bGVzKGJvb2wgdmFsdWUpIHsgbV9jaGlsZHJlbkFmZmVjdGVkQnlGb3J3YXJk
UG9zaXRpb25hbFJ1bGVzID0gdmFsdWU7IH0KKyAgICAgICAgYm9vbCBjaGlsZHJlbkFmZmVjdGVk
QnlCYWNrd2FyZFBvc2l0aW9uYWxSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW5BZmZl
Y3RlZEJ5QmFja3dhcmRQb3NpdGlvbmFsUnVsZXM7IH0KKyAgICAgICAgdm9pZCBzZXRDaGlsZHJl
bkFmZmVjdGVkQnlCYWNrd2FyZFBvc2l0aW9uYWxSdWxlcyhib29sIHZhbHVlKSB7IG1fY2hpbGRy
ZW5BZmZlY3RlZEJ5QmFja3dhcmRQb3NpdGlvbmFsUnVsZXMgPSB2YWx1ZTsgfQorICAgICAgICBi
b29sIGZpcnN0Q2hpbGRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZmlyc3RDaGlsZFN0YXRlOyB9
CisgICAgICAgIHZvaWQgc2V0Rmlyc3RDaGlsZFN0YXRlKGJvb2wgdmFsdWUpIHsgbV9maXJzdENo
aWxkU3RhdGUgPSB2YWx1ZTsgfQorICAgICAgICBib29sIGxhc3RDaGlsZFN0YXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9sYXN0Q2hpbGRTdGF0ZTsgfQorICAgICAgICB2b2lkIHNldExhc3RDaGlsZFN0
YXRlKGJvb2wgdmFsdWUpIHsgbV9sYXN0Q2hpbGRTdGF0ZSA9IHZhbHVlOyB9CisgICAgICAgIGJv
b2wgZXhwbGljaXRJbmhlcml0YW5jZSgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwbGljaXRJbmhlcml0
YW5jZTsgfQorICAgICAgICB2b2lkIHNldEV4cGxpY2l0SW5oZXJpdGFuY2UoYm9vbCB2YWx1ZSkg
eyBtX2V4cGxpY2l0SW5oZXJpdGFuY2UgPSB2YWx1ZTsgfQorCisgICAgICAgIHVuc2lnbmVkIGNo
aWxkSW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2NoaWxkSW5kZXg7IH0KKyAgICAgICAgdm9pZCBz
ZXRDaGlsZEluZGV4KHVuc2lnbmVkIGluZGV4KSB7IG1fY2hpbGRJbmRleCA9IGluZGV4OyB9CisK
KyAgICBwcml2YXRlOgorICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGJpdGZpZWxkIGlzIDMyLWJp
dHMgbG9uZywgd2hpY2ggb3B0aW1pemVzIHBhZGRpbmcgd2l0aCB0aGUKKyAgICAgICAgLy8gaW50
IHJlZkNvdW50IGluIHRoZSBiYXNlIGNsYXNzLiBCZXdhcmUgd2hlbiBhZGRpbmcgbW9yZSBiaXRz
LgorICAgICAgICB1bnNpZ25lZCBtX2FmZmVjdGVkQnlVbmNvbW1vbkF0dHJpYnV0ZVNlbGVjdG9y
cyA6IDE7CisgICAgICAgIHVuc2lnbmVkIG1fdW5pcXVlIDogMTsKKworICAgICAgICAvLyBCaXRz
IGZvciBkeW5hbWljIGNoaWxkIG1hdGNoaW5nLgorICAgICAgICB1bnNpZ25lZCBtX2FmZmVjdGVk
QnlFbXB0eSA6IDE7CisgICAgICAgIHVuc2lnbmVkIG1fZW1wdHlTdGF0ZSA6IDE7CisKKyAgICAg
ICAgLy8gV2Ugb3B0aW1pemUgZm9yIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3QtY2hpbGQuIFRoZSBv
dGhlciBwb3NpdGlvbmFsIGNoaWxkIHNlbGVjdG9ycyBsaWtlIG50aC1jaGlsZCBvcgorICAgICAg
ICAvLyAqLWNoaWxkLW9mLXR5cGUsIHdlIHdpbGwganVzdCBnaXZlIHVwIGFuZCByZS1ldmFsdWF0
ZSB3aGVuZXZlciBjaGlsZHJlbiBjaGFuZ2UgYXQgYWxsLgorICAgICAgICB1bnNpZ25lZCBtX2No
aWxkcmVuQWZmZWN0ZWRCeUZpcnN0Q2hpbGRSdWxlcyA6IDE7CisgICAgICAgIHVuc2lnbmVkIG1f
Y2hpbGRyZW5BZmZlY3RlZEJ5TGFzdENoaWxkUnVsZXMgOiAxOworICAgICAgICB1bnNpZ25lZCBt
X2NoaWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFkamFjZW50UnVsZXMgOiAxOworICAgICAgICB1bnNp
Z25lZCBtX2NoaWxkcmVuQWZmZWN0ZWRCeUZvcndhcmRQb3NpdGlvbmFsUnVsZXMgOiAxOworICAg
ICAgICB1bnNpZ25lZCBtX2NoaWxkcmVuQWZmZWN0ZWRCeUJhY2t3YXJkUG9zaXRpb25hbFJ1bGVz
IDogMTsKKyAgICAgICAgdW5zaWduZWQgbV9maXJzdENoaWxkU3RhdGUgOiAxOworICAgICAgICB1
bnNpZ25lZCBtX2xhc3RDaGlsZFN0YXRlIDogMTsKKyAgICAgICAgdW5zaWduZWQgbV9leHBsaWNp
dEluaGVyaXRhbmNlIDogMTsKKyAgICAgICAgdW5zaWduZWQgbV9jaGlsZEluZGV4IDogMjA7IC8v
IFBsZW50eSBvZiBiaXRzIHRvIGNhY2hlIGFuIGluZGV4LgorICAgIH07CisgICAgUmVuZGVyU3R5
bGVCaXRmaWVsZHMgbV9iaXRmaWVsZHM7CiAKICAgICAvLyBub24taW5oZXJpdGVkIGF0dHJpYnV0
ZXMKICAgICBEYXRhUmVmPFN0eWxlQm94RGF0YT4gbV9ib3g7CkBAIC0xMzk2LDM4ICsxNDQ2LDM4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdyaXRpbmdNb2RlKFdyaXRpbmdNb2RlIHYpIHsgaW5o
ZXJpdGVkX2ZsYWdzLm1fd3JpdGluZ01vZGUgPSB2OyB9CiAKICAgICAvLyBUbyB0ZWxsIGlmIHRo
aXMgc3R5bGUgbWF0Y2hlZCBhdHRyaWJ1dGUgc2VsZWN0b3JzLiBUaGlzIG1ha2VzIGl0IGltcG9z
c2libGUgdG8gc2hhcmUuCi0gICAgYm9vbCBhZmZlY3RlZEJ5VW5jb21tb25BdHRyaWJ1dGVTZWxl
Y3RvcnMoKSBjb25zdCB7IHJldHVybiBtX2FmZmVjdGVkQnlVbmNvbW1vbkF0dHJpYnV0ZVNlbGVj
dG9yczsgfQotICAgIHZvaWQgc2V0QWZmZWN0ZWRCeVVuY29tbW9uQXR0cmlidXRlU2VsZWN0b3Jz
KCkgeyBtX2FmZmVjdGVkQnlVbmNvbW1vbkF0dHJpYnV0ZVNlbGVjdG9ycyA9IHRydWU7IH0KKyAg
ICBib29sIGFmZmVjdGVkQnlVbmNvbW1vbkF0dHJpYnV0ZVNlbGVjdG9ycygpIGNvbnN0IHsgcmV0
dXJuIG1fYml0ZmllbGRzLmFmZmVjdGVkQnlVbmNvbW1vbkF0dHJpYnV0ZVNlbGVjdG9ycygpOyB9
CisgICAgdm9pZCBzZXRBZmZlY3RlZEJ5VW5jb21tb25BdHRyaWJ1dGVTZWxlY3RvcnMoKSB7IG1f
Yml0ZmllbGRzLnNldEFmZmVjdGVkQnlVbmNvbW1vbkF0dHJpYnV0ZVNlbGVjdG9ycyh0cnVlKTsg
fQogCi0gICAgYm9vbCB1bmlxdWUoKSBjb25zdCB7IHJldHVybiBtX3VuaXF1ZTsgfQotICAgIHZv
aWQgc2V0VW5pcXVlKCkgeyBtX3VuaXF1ZSA9IHRydWU7IH0KKyAgICBib29sIHVuaXF1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLnVuaXF1ZSgpOyB9CisgICAgdm9pZCBzZXRVbmlxdWUo
KSB7IG1fYml0ZmllbGRzLnNldFVuaXF1ZSh0cnVlKTsgfQogCiAgICAgLy8gTWV0aG9kcyBmb3Ig
aW5kaWNhdGluZyB0aGUgc3R5bGUgaXMgYWZmZWN0ZWQgYnkgZHluYW1pYyB1cGRhdGVzIChlLmcu
LCBjaGlsZHJlbiBjaGFuZ2luZywgb3VyIHBvc2l0aW9uIGNoYW5naW5nIGluIG91ciBzaWJsaW5n
IGxpc3QsIGV0Yy4pCi0gICAgYm9vbCBhZmZlY3RlZEJ5RW1wdHkoKSBjb25zdCB7IHJldHVybiBt
X2FmZmVjdGVkQnlFbXB0eTsgfQotICAgIGJvb2wgZW1wdHlTdGF0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZW1wdHlTdGF0ZTsgfQotICAgIHZvaWQgc2V0RW1wdHlTdGF0ZShib29sIGIpIHsgbV9hZmZl
Y3RlZEJ5RW1wdHkgPSB0cnVlOyBtX3VuaXF1ZSA9IHRydWU7IG1fZW1wdHlTdGF0ZSA9IGI7IH0K
KyAgICBib29sIGFmZmVjdGVkQnlFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmFm
ZmVjdGVkQnlFbXB0eSgpOyB9CisgICAgYm9vbCBlbXB0eVN0YXRlKCkgY29uc3QgeyByZXR1cm4g
bV9iaXRmaWVsZHMuZW1wdHlTdGF0ZSgpOyB9CisgICAgdm9pZCBzZXRFbXB0eVN0YXRlKGJvb2wg
YikgeyBtX2JpdGZpZWxkcy5zZXRBZmZlY3RlZEJ5RW1wdHkodHJ1ZSk7IG1fYml0ZmllbGRzLnNl
dFVuaXF1ZSh0cnVlKTsgbV9iaXRmaWVsZHMuc2V0RW1wdHlTdGF0ZShiKTsgfQogICAgIGJvb2wg
Y2hpbGRyZW5BZmZlY3RlZEJ5UG9zaXRpb25hbFJ1bGVzKCkgY29uc3QgeyByZXR1cm4gY2hpbGRy
ZW5BZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcygpIHx8IGNoaWxkcmVuQWZmZWN0ZWRC
eUJhY2t3YXJkUG9zaXRpb25hbFJ1bGVzKCk7IH0KLSAgICBib29sIGNoaWxkcmVuQWZmZWN0ZWRC
eUZpcnN0Q2hpbGRSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW5BZmZlY3RlZEJ5Rmly
c3RDaGlsZFJ1bGVzOyB9Ci0gICAgdm9pZCBzZXRDaGlsZHJlbkFmZmVjdGVkQnlGaXJzdENoaWxk
UnVsZXMoKSB7IG1fY2hpbGRyZW5BZmZlY3RlZEJ5Rmlyc3RDaGlsZFJ1bGVzID0gdHJ1ZTsgfQot
ICAgIGJvb2wgY2hpbGRyZW5BZmZlY3RlZEJ5TGFzdENoaWxkUnVsZXMoKSBjb25zdCB7IHJldHVy
biBtX2NoaWxkcmVuQWZmZWN0ZWRCeUxhc3RDaGlsZFJ1bGVzOyB9Ci0gICAgdm9pZCBzZXRDaGls
ZHJlbkFmZmVjdGVkQnlMYXN0Q2hpbGRSdWxlcygpIHsgbV9jaGlsZHJlbkFmZmVjdGVkQnlMYXN0
Q2hpbGRSdWxlcyA9IHRydWU7IH0KLSAgICBib29sIGNoaWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFk
amFjZW50UnVsZXMoKSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFk
amFjZW50UnVsZXM7IH0KLSAgICB2b2lkIHNldENoaWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFkamFj
ZW50UnVsZXMoKSB7IG1fY2hpbGRyZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNlbnRSdWxlcyA9IHRy
dWU7IH0KLSAgICBib29sIGNoaWxkcmVuQWZmZWN0ZWRCeUZvcndhcmRQb3NpdGlvbmFsUnVsZXMo
KSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuQWZmZWN0ZWRCeUZvcndhcmRQb3NpdGlvbmFsUnVs
ZXM7IH0KLSAgICB2b2lkIHNldENoaWxkcmVuQWZmZWN0ZWRCeUZvcndhcmRQb3NpdGlvbmFsUnVs
ZXMoKSB7IG1fY2hpbGRyZW5BZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcyA9IHRydWU7
IH0KLSAgICBib29sIGNoaWxkcmVuQWZmZWN0ZWRCeUJhY2t3YXJkUG9zaXRpb25hbFJ1bGVzKCkg
Y29uc3QgeyByZXR1cm4gbV9jaGlsZHJlbkFmZmVjdGVkQnlCYWNrd2FyZFBvc2l0aW9uYWxSdWxl
czsgfQotICAgIHZvaWQgc2V0Q2hpbGRyZW5BZmZlY3RlZEJ5QmFja3dhcmRQb3NpdGlvbmFsUnVs
ZXMoKSB7IG1fY2hpbGRyZW5BZmZlY3RlZEJ5QmFja3dhcmRQb3NpdGlvbmFsUnVsZXMgPSB0cnVl
OyB9Ci0gICAgYm9vbCBmaXJzdENoaWxkU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX2ZpcnN0Q2hp
bGRTdGF0ZTsgfQotICAgIHZvaWQgc2V0Rmlyc3RDaGlsZFN0YXRlKCkgeyBtX3VuaXF1ZSA9IHRy
dWU7IG1fZmlyc3RDaGlsZFN0YXRlID0gdHJ1ZTsgfQotICAgIGJvb2wgbGFzdENoaWxkU3RhdGUo
KSBjb25zdCB7IHJldHVybiBtX2xhc3RDaGlsZFN0YXRlOyB9Ci0gICAgdm9pZCBzZXRMYXN0Q2hp
bGRTdGF0ZSgpIHsgbV91bmlxdWUgPSB0cnVlOyBtX2xhc3RDaGlsZFN0YXRlID0gdHJ1ZTsgfQot
ICAgIHVuc2lnbmVkIGNoaWxkSW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2NoaWxkSW5kZXg7IH0K
LSAgICB2b2lkIHNldENoaWxkSW5kZXgodW5zaWduZWQgaW5kZXgpIHsgbV91bmlxdWUgPSB0cnVl
OyBtX2NoaWxkSW5kZXggPSBpbmRleDsgfQorICAgIGJvb2wgY2hpbGRyZW5BZmZlY3RlZEJ5Rmly
c3RDaGlsZFJ1bGVzKCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuY2hpbGRyZW5BZmZlY3Rl
ZEJ5Rmlyc3RDaGlsZFJ1bGVzKCk7IH0KKyAgICB2b2lkIHNldENoaWxkcmVuQWZmZWN0ZWRCeUZp
cnN0Q2hpbGRSdWxlcygpIHsgbV9iaXRmaWVsZHMuc2V0Q2hpbGRyZW5BZmZlY3RlZEJ5Rmlyc3RD
aGlsZFJ1bGVzKHRydWUpOyB9CisgICAgYm9vbCBjaGlsZHJlbkFmZmVjdGVkQnlMYXN0Q2hpbGRS
dWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmNoaWxkcmVuQWZmZWN0ZWRCeUxhc3RD
aGlsZFJ1bGVzKCk7IH0KKyAgICB2b2lkIHNldENoaWxkcmVuQWZmZWN0ZWRCeUxhc3RDaGlsZFJ1
bGVzKCkgeyBtX2JpdGZpZWxkcy5zZXRDaGlsZHJlbkFmZmVjdGVkQnlMYXN0Q2hpbGRSdWxlcyh0
cnVlKTsgfQorICAgIGJvb2wgY2hpbGRyZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNlbnRSdWxlcygp
IGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmNoaWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFkamFj
ZW50UnVsZXMoKTsgfQorICAgIHZvaWQgc2V0Q2hpbGRyZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNl
bnRSdWxlcygpIHsgbV9iaXRmaWVsZHMuc2V0Q2hpbGRyZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNl
bnRSdWxlcyh0cnVlKTsgfQorICAgIGJvb2wgY2hpbGRyZW5BZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0
aW9uYWxSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmNoaWxkcmVuQWZmZWN0ZWRC
eUZvcndhcmRQb3NpdGlvbmFsUnVsZXMoKTsgfQorICAgIHZvaWQgc2V0Q2hpbGRyZW5BZmZlY3Rl
ZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcygpIHsgbV9iaXRmaWVsZHMuc2V0Q2hpbGRyZW5BZmZl
Y3RlZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcyh0cnVlKTsgfQorICAgIGJvb2wgY2hpbGRyZW5B
ZmZlY3RlZEJ5QmFja3dhcmRQb3NpdGlvbmFsUnVsZXMoKSBjb25zdCB7IHJldHVybiBtX2JpdGZp
ZWxkcy5jaGlsZHJlbkFmZmVjdGVkQnlCYWNrd2FyZFBvc2l0aW9uYWxSdWxlcygpOyB9CisgICAg
dm9pZCBzZXRDaGlsZHJlbkFmZmVjdGVkQnlCYWNrd2FyZFBvc2l0aW9uYWxSdWxlcygpIHsgbV9i
aXRmaWVsZHMuc2V0Q2hpbGRyZW5BZmZlY3RlZEJ5QmFja3dhcmRQb3NpdGlvbmFsUnVsZXModHJ1
ZSk7IH0KKyAgICBib29sIGZpcnN0Q2hpbGRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYml0Zmll
bGRzLmZpcnN0Q2hpbGRTdGF0ZSgpOyB9CisgICAgdm9pZCBzZXRGaXJzdENoaWxkU3RhdGUoKSB7
IG1fYml0ZmllbGRzLnNldFVuaXF1ZSh0cnVlKTsgbV9iaXRmaWVsZHMuc2V0Rmlyc3RDaGlsZFN0
YXRlKHRydWUpOyB9CisgICAgYm9vbCBsYXN0Q2hpbGRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Yml0ZmllbGRzLmxhc3RDaGlsZFN0YXRlKCk7IH0KKyAgICB2b2lkIHNldExhc3RDaGlsZFN0YXRl
KCkgeyBtX2JpdGZpZWxkcy5zZXRVbmlxdWUodHJ1ZSk7IG1fYml0ZmllbGRzLnNldExhc3RDaGls
ZFN0YXRlKHRydWUpOyB9CisgICAgdW5zaWduZWQgY2hpbGRJbmRleCgpIGNvbnN0IHsgcmV0dXJu
IG1fYml0ZmllbGRzLmNoaWxkSW5kZXgoKTsgfQorICAgIHZvaWQgc2V0Q2hpbGRJbmRleCh1bnNp
Z25lZCBpbmRleCkgeyBtX2JpdGZpZWxkcy5zZXRVbmlxdWUodHJ1ZSk7IG1fYml0ZmllbGRzLnNl
dENoaWxkSW5kZXgoaW5kZXgpOyB9CiAKICAgICBDb2xvciB2aXNpdGVkRGVwZW5kZW50Q29sb3Io
aW50IGNvbG9yUHJvcGVydHkpIGNvbnN0OwogCi0gICAgdm9pZCBzZXRIYXNFeHBsaWNpdGx5SW5o
ZXJpdGVkUHJvcGVydGllcygpIHsgbV9leHBsaWNpdEluaGVyaXRhbmNlID0gdHJ1ZTsgfQotICAg
IGJvb2wgaGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMoKSBjb25zdCB7IHJldHVybiBt
X2V4cGxpY2l0SW5oZXJpdGFuY2U7IH0KKyAgICB2b2lkIHNldEhhc0V4cGxpY2l0bHlJbmhlcml0
ZWRQcm9wZXJ0aWVzKCkgeyBtX2JpdGZpZWxkcy5zZXRFeHBsaWNpdEluaGVyaXRhbmNlKHRydWUp
OyB9CisgICAgYm9vbCBoYXNFeHBsaWNpdGx5SW5oZXJpdGVkUHJvcGVydGllcygpIGNvbnN0IHsg
cmV0dXJuIG1fYml0ZmllbGRzLmV4cGxpY2l0SW5oZXJpdGFuY2UoKTsgfQogICAgIAogICAgIC8v
IEluaXRpYWwgdmFsdWVzIGZvciBhbGwgdGhlIHByb3BlcnRpZXMKICAgICBzdGF0aWMgRUJvcmRl
ckNvbGxhcHNlIGluaXRpYWxCb3JkZXJDb2xsYXBzZSgpIHsgcmV0dXJuIEJTRVBBUkFURTsgfQo=
</data>
<flag name="review"
          id="120208"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>