<?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>134662</bug_id>
          
          <creation_ts>2014-07-06 05:17:04 -0700</creation_ts>
          <short_desc>CSS JIT: Ensure resolvingMode size is 1 byte</short_desc>
          <delta_ts>2014-07-06 18:19:03 -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>CSS</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1020646</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-07-06 05:17:04 -0700</bug_when>
    <thetext>We use branch8 in jumpIfNotResolvingStyle. However, sizeof(SelectorChecker::Mode) is 4. So it works only in little endianess environment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020651</commentid>
    <comment_count>1</comment_count>
      <attachid>234457</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-07-06 06:56:27 -0700</bug_when>
    <thetext>Created attachment 234457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020654</commentid>
    <comment_count>2</comment_count>
      <attachid>234457</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-07-06 07:02:59 -0700</bug_when>
    <thetext>Comment on attachment 234457
Patch

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

Added comments.

&gt; Source/WebCore/css/SelectorChecker.h:52
&gt; +    };

Using C++11 enum class to guarantee sizeof(Mode) is 1 byte.

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:1475
&gt; +    static_assert(sizeof(SelectorChecker::Mode) == 1, &quot;We generate a byte load/test for the SelectorChecker::Mode.&quot;);

Guaranteed sizeof(SelectorChecker::Mode) == 1 by using static_assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020689</commentid>
    <comment_count>3</comment_count>
      <attachid>234457</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-07-06 14:35:42 -0700</bug_when>
    <thetext>Comment on attachment 234457
Patch

Good catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020739</commentid>
    <comment_count>4</comment_count>
      <attachid>234457</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-07-06 18:18:56 -0700</bug_when>
    <thetext>Comment on attachment 234457
Patch

Clearing flags on attachment: 234457

Committed r170832: &lt;http://trac.webkit.org/changeset/170832&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020740</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-07-06 18:19:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234457</attachid>
            <date>2014-07-06 06:56:27 -0700</date>
            <delta_ts>2014-07-06 18:18:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134662-20140706225750.patch</filename>
            <type>text/plain</type>
            <size>23286</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwODI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGIxYTI1YTA3YjNiOTNh
MGJkYmFjNDNhMzNiMzBiZDE4OWU2NzhiNS4uMTFkZDgwMDZlYWUwYjFjNzNhYzRhNzM4ODZjNmNj
ZjhlYzUyMTU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTA3LTA2ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIENTUyBKSVQ6IEVu
c3VyZSByZXNvbHZpbmdNb2RlIHNpemUgaXMgMSBieXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQ2NjIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSBzZWxlY3RvciBjb21waWxlciB1c2VzIE1h
Y3JvQXNzZW1ibGVyOjpicmFuY2g4IGZvciBTZWxlY3RvckNoZWNrZXI6Ok1vZGUsCisgICAgICAg
IHdlIHNob3VsZCBlbnN1cmUgc2l6ZW9mKFNlbGVjdG9yQ2hlY2tlcjo6TW9kZSkgPT0gMS4KKyAg
ICAgICAgT2xkIGltcGxlbWVudGF0aW9uIHdvcmtzIG9ubHkgaW4gbGl0dGxlIGVuZGlhbm5lc3Mg
ZW52aXJvbm1lbnRzLgorCisgICAgICAgICogY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaGVkUmVzdWx0KToK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaGVkUnVsZUxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGlu
Z1J1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpzb3J0QW5k
VHJhbnNmZXJNYXRjaGVkUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJ1bGVDb2xs
ZWN0b3I6Omhhc0FueU1hdGNoaW5nUnVsZXMpOgorICAgICAgICAqIGNzcy9FbGVtZW50UnVsZUNv
bGxlY3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6OkVsZW1l
bnRSdWxlQ29sbGVjdG9yKToKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2gpOgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KToKKyAgICAgICAgKFdlYkNvcmU6
OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUpOgorICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNr
ZXIuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjppbnZhbGlkYXRlU3R5bGVSZWN1cnNpdmVseSk6CisgICAgICAgICogY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6cHNl
dWRvU3R5bGVSdWxlc0ZvckVsZW1lbnQpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpjaGVja1JlZ2lvblNlbGVjdG9yKToKKyAgICAgICAgKiBjc3Nq
aXQvU2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBp
bGVyOjpTZWxlY3RvckNvZGVHZW5lcmF0b3I6Omp1bXBJZk5vdFJlc29sdmluZ1N0eWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmVsZW1lbnRJc0FjdGl2ZUZvclN0eWxl
UmVzb2x1dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjplbGVtZW50
SXNIb3ZlcmVkRm9yU3R5bGVSZXNvbHV0aW9uKToKKyAgICAgICAgKiBkb20vU2VsZWN0b3JRdWVy
eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckRhdGFMaXN0OjpzZWxlY3Rvck1hdGNo
ZXMpOgorCiAyMDE0LTA3LTA1ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbaU9TXSBNZWRpYURvY3VtZW50IHNob3VsZCBzZXQgYSB2aWV3cG9ydApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKaW5kZXggYjhjZmVlMTgyY2VlZjA0
NjIxMGFjMGVjMmY3M2I3ZDkzZmFhZDBjOC4uNWRiNTIyZmRhNmEwZGM2YjNlZDg5N2M1Njc3NWQ4
NTgwNTA3YmQ0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29s
bGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3Iu
Y3BwCkBAIC03NywxMyArNzcsMTMgQEAgY2xhc3MgTWF0Y2hSZXF1ZXN0IHsKIAogU3R5bGVSZXNv
bHZlcjo6TWF0Y2hSZXN1bHQmIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaGVkUmVzdWx0KCkK
IHsKLSAgICBBU1NFUlQobV9tb2RlID09IFNlbGVjdG9yQ2hlY2tlcjo6UmVzb2x2aW5nU3R5bGUp
OworICAgIEFTU0VSVChtX21vZGUgPT0gU2VsZWN0b3JDaGVja2VyOjpNb2RlOjpSZXNvbHZpbmdT
dHlsZSk7CiAgICAgcmV0dXJuIG1fcmVzdWx0OwogfQogCiBjb25zdCBWZWN0b3I8UmVmUHRyPFN0
eWxlUnVsZT4+JiBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hlZFJ1bGVMaXN0KCkgY29uc3QK
IHsKLSAgICBBU1NFUlQobV9tb2RlID09IFNlbGVjdG9yQ2hlY2tlcjo6Q29sbGVjdGluZ1J1bGVz
KTsKKyAgICBBU1NFUlQobV9tb2RlID09IFNlbGVjdG9yQ2hlY2tlcjo6TW9kZTo6Q29sbGVjdGlu
Z1J1bGVzKTsKICAgICByZXR1cm4gbV9tYXRjaGVkUnVsZUxpc3Q7CiB9CiAKQEAgLTE0NSw3ICsx
NDUsNyBAQCBpbmxpbmUgYm9vbCBNYXRjaGluZ1VBUnVsZXNTY29wZTo6aXNNYXRjaGluZ1VBUnVs
ZXMoKQogdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXMoY29u
c3QgTWF0Y2hSZXF1ZXN0JiBtYXRjaFJlcXVlc3QsIFN0eWxlUmVzb2x2ZXI6OlJ1bGVSYW5nZSYg
cnVsZVJhbmdlKQogewogICAgIEFTU0VSVChtYXRjaFJlcXVlc3QucnVsZVNldCk7Ci0gICAgQVNT
RVJUX1dJVEhfTUVTU0FHRSghKG1fbW9kZSA9PSBTZWxlY3RvckNoZWNrZXI6OlJlc29sdmluZ1N0
eWxlICYmICFtX3N0eWxlKSwgIldoZW4gcmVzb2x2aW5nIHN0eWxlLCB0aGUgU2VsZWN0b3JDaGVj
a2VyIG11c3QgaGF2ZSBhIHN0eWxlIHRvIHNldCB0aGUgcHNldWRvIGVsZW1lbnRzIGFuZC9vciB0
byBkbyBtYXJraW5nLiBUaGUgU2VsZWN0b3JDb21waWxlciBhbHNvIHJlbHkgb24gdGhhdCBiZWhh
dmlvci4iKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCEobV9tb2RlID09IFNlbGVjdG9yQ2hl
Y2tlcjo6TW9kZTo6UmVzb2x2aW5nU3R5bGUgJiYgIW1fc3R5bGUpLCAiV2hlbiByZXNvbHZpbmcg
c3R5bGUsIHRoZSBTZWxlY3RvckNoZWNrZXIgbXVzdCBoYXZlIGEgc3R5bGUgdG8gc2V0IHRoZSBw
c2V1ZG8gZWxlbWVudHMgYW5kL29yIHRvIGRvIG1hcmtpbmcuIFRoZSBTZWxlY3RvckNvbXBpbGVy
IGFsc28gcmVseSBvbiB0aGF0IGJlaGF2aW9yLiIpOwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBwc2V1ZG9JZCA9IG1fZWxlbWVudC5zaGFkb3dQc2V1ZG9JZCgpOwogICAgIGlmICghcHNldWRv
SWQuaXNFbXB0eSgpKQpAQCAtMjAwLDcgKzIwMCw3IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0
b3I6OnNvcnRBbmRUcmFuc2Zlck1hdGNoZWRSdWxlcygpCiAgICAgc29ydE1hdGNoZWRSdWxlcygp
OwogCiAgICAgVmVjdG9yPGNvbnN0IFJ1bGVEYXRhKiwgMzI+JiBtYXRjaGVkUnVsZXMgPSAqbV9t
YXRjaGVkUnVsZXM7Ci0gICAgaWYgKG1fbW9kZSA9PSBTZWxlY3RvckNoZWNrZXI6OkNvbGxlY3Rp
bmdSdWxlcykgeworICAgIGlmIChtX21vZGUgPT0gU2VsZWN0b3JDaGVja2VyOjpNb2RlOjpDb2xs
ZWN0aW5nUnVsZXMpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1hdGNoZWRS
dWxlcy5zaXplKCk7ICsraSkKICAgICAgICAgICAgIG1fbWF0Y2hlZFJ1bGVMaXN0LmFwcGVuZCht
YXRjaGVkUnVsZXNbaV0tPnJ1bGUoKSk7CiAgICAgICAgIHJldHVybjsKQEAgLTQzMiw3ICs0MzIs
NyBAQCBib29sIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpoYXNBbnlNYXRjaGluZ1J1bGVzKFJ1bGVT
ZXQqIHJ1bGVTZXQpCiB7CiAgICAgY2xlYXJNYXRjaGVkUnVsZXMoKTsKIAotICAgIG1fbW9kZSA9
IFNlbGVjdG9yQ2hlY2tlcjo6U2hhcmluZ1J1bGVzOworICAgIG1fbW9kZSA9IFNlbGVjdG9yQ2hl
Y2tlcjo6TW9kZTo6U2hhcmluZ1J1bGVzOwogICAgIGludCBmaXJzdFJ1bGVJbmRleCA9IC0xLCBs
YXN0UnVsZUluZGV4ID0gLTE7CiAgICAgU3R5bGVSZXNvbHZlcjo6UnVsZVJhbmdlIHJ1bGVSYW5n
ZShmaXJzdFJ1bGVJbmRleCwgbGFzdFJ1bGVJbmRleCk7CiAgICAgY29sbGVjdE1hdGNoaW5nUnVs
ZXMoTWF0Y2hSZXF1ZXN0KHJ1bGVTZXQpLCBydWxlUmFuZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
RWxlbWVudFJ1bGVDb2xsZWN0b3IuaAppbmRleCAxMDk5Mzg5YzAyZjdlNGZmMzY0YmIyZWM4MDUy
YjVlNWI1ZmQyOTRhLi5kMTBjYjBkMjk4NGRiZjBiMmM2MDkyODZiZTZiYzg2NjMwOGU4NDA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaApAQCAtNDksNyArNDks
NyBAQCBjbGFzcyBFbGVtZW50UnVsZUNvbGxlY3RvciB7CiAgICAgICAgICwgbV9yZWdpb25Gb3JT
dHlsaW5nKDApCiAgICAgICAgICwgbV9wc2V1ZG9TdHlsZVJlcXVlc3QoTk9QU0VVRE8pCiAgICAg
ICAgICwgbV9zYW1lT3JpZ2luT25seShmYWxzZSkKLSAgICAgICAgLCBtX21vZGUoU2VsZWN0b3JD
aGVja2VyOjpSZXNvbHZpbmdTdHlsZSkKKyAgICAgICAgLCBtX21vZGUoU2VsZWN0b3JDaGVja2Vy
OjpNb2RlOjpSZXNvbHZpbmdTdHlsZSkKICAgICAgICAgLCBtX2NhblVzZUZhc3RSZWplY3QobV9z
ZWxlY3RvckZpbHRlci5wYXJlbnRTdGFja0lzQ29uc2lzdGVudChlbGVtZW50LnBhcmVudE5vZGUo
KSkpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5k
ZXggNDY1ODc3OWJmY2ExMDIyOWE0NTc2NTA1NjJkNGI4MGU2YTJkZjc3Yi4uNGJhMmM2ZjI4NmY0
N2IyYmIyYTAxZDc4Y2ZkZDA2NzNhNjQ4NmY1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9y
Q2hlY2tlci5jcHAKQEAgLTE0NywxMSArMTQ3LDExIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpt
YXRjaChjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCkgY29uc3QKICAgICBp
ZiAoY29udGV4dC5wc2V1ZG9JZCAhPSBOT1BTRVVETyAmJiBjb250ZXh0LnBzZXVkb0lkICE9IHBz
ZXVkb0lkKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGNvbnRleHQucHNldWRvSWQg
PT0gTk9QU0VVRE8gJiYgcHNldWRvSWQgIT0gTk9QU0VVRE8pIHsKLSAgICAgICAgaWYgKG1fbW9k
ZSA9PSBSZXNvbHZpbmdTdHlsZSAmJiBwc2V1ZG9JZCA8IEZJUlNUX0lOVEVSTkFMX1BTRVVET0lE
KQorICAgICAgICBpZiAobV9tb2RlID09IE1vZGU6OlJlc29sdmluZ1N0eWxlICYmIHBzZXVkb0lk
IDwgRklSU1RfSU5URVJOQUxfUFNFVURPSUQpCiAgICAgICAgICAgICBjb250ZXh0LmVsZW1lbnRT
dHlsZS0+c2V0SGFzUHNldWRvU3R5bGUocHNldWRvSWQpOwogCiAgICAgICAgIC8vIEZvciBTaGFy
aW5nUnVsZXMgdGVzdGluZywgYW55IG1hdGNoIGlzIGdvb2QgZW5vdWdoLCB3ZSBkb24ndCBjYXJl
IHdoYXQgaXMgbWF0Y2hlZC4KLSAgICAgICAgcmV0dXJuIG1fbW9kZSA9PSBTaGFyaW5nUnVsZXMg
fHwgbV9tb2RlID09IFN0eWxlSW52YWxpZGF0aW9uOworICAgICAgICByZXR1cm4gbV9tb2RlID09
IE1vZGU6OlNoYXJpbmdSdWxlcyB8fCBtX21vZGUgPT0gTW9kZTo6U3R5bGVJbnZhbGlkYXRpb247
CiAgICAgfQogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTc2LDE0ICsxNzYsMTQgQEAgYm9vbCBT
ZWxlY3RvckNoZWNrZXI6Om1hdGNoKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250
ZXh0KSBjb25zdAogCiAgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQuc2VsZWN0b3ItPnBzZXVk
b0VsZW1lbnRUeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRXZWJLaXRDdXN0b20g
JiYgcm9vdC0+dHlwZSgpICE9IFNoYWRvd1Jvb3Q6OlVzZXJBZ2VudFNoYWRvd1Jvb3QpCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBTZWxlY3RvckZhaWxzTG9jYWxseTsKLSAgICAgICAgICAg
IH0gZWxzZSBpZiAobV9tb2RlICE9IFN0eWxlSW52YWxpZGF0aW9uKQorICAgICAgICAgICAgfSBl
bHNlIGlmIChtX21vZGUgIT0gTW9kZTo6U3R5bGVJbnZhbGlkYXRpb24pCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNMb2NhbGx5OwogICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgaWYgKCghY29udGV4dC5lbGVtZW50U3R5bGUgJiYgbV9tb2RlID09IFJlc29sdmluZ1N0
eWxlKSB8fCBtX21vZGUgPT0gUXVlcnlpbmdSdWxlcykKKyAgICAgICAgICAgIGlmICgoIWNvbnRl
eHQuZWxlbWVudFN0eWxlICYmIG1fbW9kZSA9PSBNb2RlOjpSZXNvbHZpbmdTdHlsZSkgfHwgbV9t
b2RlID09IE1vZGU6OlF1ZXJ5aW5nUnVsZXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFNlbGVj
dG9yRmFpbHNMb2NhbGx5OwogCiAgICAgICAgICAgICAvLyBXaGVuIGludmFsaWRhdGluZyBzdHls
ZSBhbGwgcHNldWRvIGVsZW1lbnRzIG5lZWQgdG8gbWF0Y2guCi0gICAgICAgICAgICBQc2V1ZG9J
ZCBwc2V1ZG9JZCA9IG1fbW9kZSA9PSBTdHlsZUludmFsaWRhdGlvbiA/IE5PUFNFVURPIDogQ1NT
U2VsZWN0b3I6OnBzZXVkb0lkKGNvbnRleHQuc2VsZWN0b3ItPnBzZXVkb0VsZW1lbnRUeXBlKCkp
OworICAgICAgICAgICAgUHNldWRvSWQgcHNldWRvSWQgPSBtX21vZGUgPT0gTW9kZTo6U3R5bGVJ
bnZhbGlkYXRpb24gPyBOT1BTRVVETyA6IENTU1NlbGVjdG9yOjpwc2V1ZG9JZChjb250ZXh0LnNl
bGVjdG9yLT5wc2V1ZG9FbGVtZW50VHlwZSgpKTsKICAgICAgICAgICAgIGlmIChwc2V1ZG9JZCAh
PSBOT1BTRVVETykgewogICAgICAgICAgICAgICAgIGR5bmFtaWNQc2V1ZG8gPSBwc2V1ZG9JZDsK
IApAQCAtMjQzLDcgKzI0Myw3IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjptYXRjaChjb25zdCBT
ZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCkgY29uc3QKICAgICAgICAgfQogCiAgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6RGlyZWN0QWRqYWNlbnQ6Ci0gICAgICAgIGlmIChtX21vZGUgPT0g
UmVzb2x2aW5nU3R5bGUpIHsKKyAgICAgICAgaWYgKG1fbW9kZSA9PSBNb2RlOjpSZXNvbHZpbmdT
dHlsZSkgewogICAgICAgICAgICAgaWYgKEVsZW1lbnQqIHBhcmVudEVsZW1lbnQgPSBjb250ZXh0
LmVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkKICAgICAgICAgICAgICAgICBwYXJlbnRFbGVtZW50
LT5zZXRDaGlsZHJlbkFmZmVjdGVkQnlEaXJlY3RBZGphY2VudFJ1bGVzKCk7CiAgICAgICAgIH0K
QEAgLTI1NSw3ICsyNTUsNyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2goY29uc3QgU2Vs
ZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAgICAgIHJldHVybiBtYXRj
aFJlY3Vyc2l2ZWx5KG5leHRDb250ZXh0LCBpZ25vcmVEeW5hbWljUHNldWRvKTsKIAogICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OkluZGlyZWN0QWRqYWNlbnQ6Ci0gICAgICAgIGlmIChtX21vZGUgPT0g
UmVzb2x2aW5nU3R5bGUpIHsKKyAgICAgICAgaWYgKG1fbW9kZSA9PSBNb2RlOjpSZXNvbHZpbmdT
dHlsZSkgewogICAgICAgICAgICAgaWYgKEVsZW1lbnQqIHBhcmVudEVsZW1lbnQgPSBjb250ZXh0
LmVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkKICAgICAgICAgICAgICAgICBwYXJlbnRFbGVtZW50
LT5zZXRDaGlsZHJlbkFmZmVjdGVkQnlGb3J3YXJkUG9zaXRpb25hbFJ1bGVzKCk7CiAgICAgICAg
IH0KQEAgLTI3NSw3ICsyNzUsNyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2goY29uc3Qg
U2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAgICAgIC8vIHRvIGZv
bGxvdyB0aGUgcHNldWRvIGVsZW1lbnRzLgogICAgICAgICBuZXh0Q29udGV4dC5oYXNTY3JvbGxi
YXJQc2V1ZG8gPSBkeW5hbWljUHNldWRvICE9IE5PUFNFVURPICYmIChjb250ZXh0LnNjcm9sbGJh
ciB8fCBkeW5hbWljUHNldWRvID09IFNDUk9MTEJBUl9DT1JORVIgfHwgZHluYW1pY1BzZXVkbyA9
PSBSRVNJWkVSKTsKICAgICAgICAgbmV4dENvbnRleHQuaGFzU2VsZWN0aW9uUHNldWRvID0gZHlu
YW1pY1BzZXVkbyA9PSBTRUxFQ1RJT047Ci0gICAgICAgIGlmICgoY29udGV4dC5lbGVtZW50U3R5
bGUgfHwgbV9tb2RlID09IENvbGxlY3RpbmdSdWxlcyB8fCBtX21vZGUgPT0gUXVlcnlpbmdSdWxl
cykgJiYgZHluYW1pY1BzZXVkbyAhPSBOT1BTRVVETworICAgICAgICBpZiAoKGNvbnRleHQuZWxl
bWVudFN0eWxlIHx8IG1fbW9kZSA9PSBNb2RlOjpDb2xsZWN0aW5nUnVsZXMgfHwgbV9tb2RlID09
IE1vZGU6OlF1ZXJ5aW5nUnVsZXMpICYmIGR5bmFtaWNQc2V1ZG8gIT0gTk9QU0VVRE8KICAgICAg
ICAgICAgICYmICFuZXh0Q29udGV4dC5oYXNTZWxlY3Rpb25Qc2V1ZG8KICAgICAgICAgICAgICYm
ICEobmV4dENvbnRleHQuaGFzU2Nyb2xsYmFyUHNldWRvICYmIG5leHRDb250ZXh0LnNlbGVjdG9y
LT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcykpCiAgICAgICAgICAgICByZXR1
cm4gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHk7CkBAIC01MTEsNyArNTExLDcgQEAgYm9vbCBTZWxl
Y3RvckNoZWNrZXI6OmNoZWNrT25lKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250
ZXh0KSBjb25zdAogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChtX21vZGUgPT0gUmVz
b2x2aW5nU3R5bGUpIHsKKyAgICAgICAgICAgICAgICBpZiAobV9tb2RlID09IE1vZGU6OlJlc29s
dmluZ1N0eWxlKSB7CiAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQtPnNldFN0eWxlQWZmZWN0
ZWRCeUVtcHR5KCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZXh0LmVsZW1lbnRTdHls
ZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuZWxlbWVudFN0eWxlLT5zZXRFbXB0
eVN0YXRlKHJlc3VsdCk7CkBAIC01MjQsNyArNTI0LDcgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6
OmNoZWNrT25lKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250ZXh0KSBjb25zdAog
ICAgICAgICAgICAgLy8gZmlyc3QtY2hpbGQgbWF0Y2hlcyB0aGUgZmlyc3QgY2hpbGQgdGhhdCBp
cyBhbiBlbGVtZW50CiAgICAgICAgICAgICBpZiAoRWxlbWVudCogcGFyZW50RWxlbWVudCA9IGVs
ZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkgewogICAgICAgICAgICAgICAgIGJvb2wgcmVzdWx0ID0g
aXNGaXJzdENoaWxkRWxlbWVudChlbGVtZW50KTsKLSAgICAgICAgICAgICAgICBpZiAobV9tb2Rl
ID09IFJlc29sdmluZ1N0eWxlKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fbW9kZSA9PSBNb2Rl
OjpSZXNvbHZpbmdTdHlsZSkgewogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTdHlsZSogY2hp
bGRTdHlsZSA9IGNvbnRleHQuZWxlbWVudFN0eWxlID8gY29udGV4dC5lbGVtZW50U3R5bGUgOiBl
bGVtZW50LT5yZW5kZXJTdHlsZSgpOwogICAgICAgICAgICAgICAgICAgICBwYXJlbnRFbGVtZW50
LT5zZXRDaGlsZHJlbkFmZmVjdGVkQnlGaXJzdENoaWxkUnVsZXMoKTsKICAgICAgICAgICAgICAg
ICAgICAgaWYgKHJlc3VsdCAmJiBjaGlsZFN0eWxlKQpAQCAtNTM3LDcgKzUzNyw3IEBAIGJvb2wg
U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYg
Y29udGV4dCkgY29uc3QKICAgICAgICAgICAgIC8vIGZpcnN0LW9mLXR5cGUgbWF0Y2hlcyB0aGUg
Zmlyc3QgZWxlbWVudCBvZiBpdHMgdHlwZQogICAgICAgICAgICAgaWYgKEVsZW1lbnQqIHBhcmVu
dEVsZW1lbnQgPSBlbGVtZW50LT5wYXJlbnRFbGVtZW50KCkpIHsKICAgICAgICAgICAgICAgICBi
b29sIHJlc3VsdCA9IGlzRmlyc3RPZlR5cGUoZWxlbWVudCwgZWxlbWVudC0+dGFnUU5hbWUoKSk7
Ci0gICAgICAgICAgICAgICAgaWYgKG1fbW9kZSA9PSBSZXNvbHZpbmdTdHlsZSkKKyAgICAgICAg
ICAgICAgICBpZiAobV9tb2RlID09IE1vZGU6OlJlc29sdmluZ1N0eWxlKQogICAgICAgICAgICAg
ICAgICAgICBwYXJlbnRFbGVtZW50LT5zZXRDaGlsZHJlbkFmZmVjdGVkQnlGb3J3YXJkUG9zaXRp
b25hbFJ1bGVzKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAg
IH0KQEAgLTU0Niw3ICs1NDYsNyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUoY29u
c3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAgICAgICAgICAv
LyBsYXN0LWNoaWxkIG1hdGNoZXMgdGhlIGxhc3QgY2hpbGQgdGhhdCBpcyBhbiBlbGVtZW50CiAg
ICAgICAgICAgICBpZiAoRWxlbWVudCogcGFyZW50RWxlbWVudCA9IGVsZW1lbnQtPnBhcmVudEVs
ZW1lbnQoKSkgewogICAgICAgICAgICAgICAgIGJvb2wgcmVzdWx0ID0gcGFyZW50RWxlbWVudC0+
aXNGaW5pc2hlZFBhcnNpbmdDaGlsZHJlbigpICYmIGlzTGFzdENoaWxkRWxlbWVudChlbGVtZW50
KTsKLSAgICAgICAgICAgICAgICBpZiAobV9tb2RlID09IFJlc29sdmluZ1N0eWxlKSB7CisgICAg
ICAgICAgICAgICAgaWYgKG1fbW9kZSA9PSBNb2RlOjpSZXNvbHZpbmdTdHlsZSkgewogICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJTdHlsZSogY2hpbGRTdHlsZSA9IGNvbnRleHQuZWxlbWVudFN0
eWxlID8gY29udGV4dC5lbGVtZW50U3R5bGUgOiBlbGVtZW50LT5yZW5kZXJTdHlsZSgpOwogICAg
ICAgICAgICAgICAgICAgICBwYXJlbnRFbGVtZW50LT5zZXRDaGlsZHJlbkFmZmVjdGVkQnlMYXN0
Q2hpbGRSdWxlcygpOwogICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIGNoaWxkU3R5
bGUpCkBAIC01NTgsNyArNTU4LDcgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKGNv
bnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250ZXh0KSBjb25zdAogICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0xhc3RPZlR5cGU6CiAgICAgICAgICAgICAvLyBsYXN0
LW9mLXR5cGUgbWF0Y2hlcyB0aGUgbGFzdCBlbGVtZW50IG9mIGl0cyB0eXBlCiAgICAgICAgICAg
ICBpZiAoRWxlbWVudCogcGFyZW50RWxlbWVudCA9IGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkg
ewotICAgICAgICAgICAgICAgIGlmIChtX21vZGUgPT0gUmVzb2x2aW5nU3R5bGUpCisgICAgICAg
ICAgICAgICAgaWYgKG1fbW9kZSA9PSBNb2RlOjpSZXNvbHZpbmdTdHlsZSkKICAgICAgICAgICAg
ICAgICAgICAgcGFyZW50RWxlbWVudC0+c2V0Q2hpbGRyZW5BZmZlY3RlZEJ5QmFja3dhcmRQb3Np
dGlvbmFsUnVsZXMoKTsKICAgICAgICAgICAgICAgICBpZiAoIXBhcmVudEVsZW1lbnQtPmlzRmlu
aXNoZWRQYXJzaW5nQ2hpbGRyZW4oKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtNTY5LDcgKzU2OSw3IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShjb25z
dCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCkgY29uc3QKICAgICAgICAgICAgIGlm
IChFbGVtZW50KiBwYXJlbnRFbGVtZW50ID0gZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7CiAg
ICAgICAgICAgICAgICAgYm9vbCBmaXJzdENoaWxkID0gaXNGaXJzdENoaWxkRWxlbWVudChlbGVt
ZW50KTsKICAgICAgICAgICAgICAgICBib29sIG9ubHlDaGlsZCA9IGZpcnN0Q2hpbGQgJiYgcGFy
ZW50RWxlbWVudC0+aXNGaW5pc2hlZFBhcnNpbmdDaGlsZHJlbigpICYmIGlzTGFzdENoaWxkRWxl
bWVudChlbGVtZW50KTsKLSAgICAgICAgICAgICAgICBpZiAobV9tb2RlID09IFJlc29sdmluZ1N0
eWxlKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fbW9kZSA9PSBNb2RlOjpSZXNvbHZpbmdTdHls
ZSkgewogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTdHlsZSogY2hpbGRTdHlsZSA9IGNvbnRl
eHQuZWxlbWVudFN0eWxlID8gY29udGV4dC5lbGVtZW50U3R5bGUgOiBlbGVtZW50LT5yZW5kZXJT
dHlsZSgpOwogICAgICAgICAgICAgICAgICAgICBwYXJlbnRFbGVtZW50LT5zZXRDaGlsZHJlbkFm
ZmVjdGVkQnlGaXJzdENoaWxkUnVsZXMoKTsKICAgICAgICAgICAgICAgICAgICAgcGFyZW50RWxl
bWVudC0+c2V0Q2hpbGRyZW5BZmZlY3RlZEJ5TGFzdENoaWxkUnVsZXMoKTsKQEAgLTU4NCw3ICs1
ODQsNyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUoY29uc3QgU2VsZWN0b3JDaGVj
a2luZ0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBz
ZXVkb0NsYXNzT25seU9mVHlwZToKICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNlbGVjdG9y
IGlzIHZlcnkgc2xvdy4KICAgICAgICAgICAgIGlmIChFbGVtZW50KiBwYXJlbnRFbGVtZW50ID0g
ZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG1fbW9kZSA9
PSBSZXNvbHZpbmdTdHlsZSkgeworICAgICAgICAgICAgICAgIGlmIChtX21vZGUgPT0gTW9kZTo6
UmVzb2x2aW5nU3R5bGUpIHsKICAgICAgICAgICAgICAgICAgICAgcGFyZW50RWxlbWVudC0+c2V0
Q2hpbGRyZW5BZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcygpOwogICAgICAgICAgICAg
ICAgICAgICBwYXJlbnRFbGVtZW50LT5zZXRDaGlsZHJlbkFmZmVjdGVkQnlCYWNrd2FyZFBvc2l0
aW9uYWxSdWxlcygpOwogICAgICAgICAgICAgICAgIH0KQEAgLTU5OCw3ICs1OTgsNyBAQCBib29s
IFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQm
IGNvbnRleHQpIGNvbnN0CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBpZiAo
RWxlbWVudCogcGFyZW50RWxlbWVudCA9IGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkgewogICAg
ICAgICAgICAgICAgIGludCBjb3VudCA9IDEgKyBjb3VudEVsZW1lbnRzQmVmb3JlKGVsZW1lbnQp
OwotICAgICAgICAgICAgICAgIGlmIChtX21vZGUgPT0gUmVzb2x2aW5nU3R5bGUpIHsKKyAgICAg
ICAgICAgICAgICBpZiAobV9tb2RlID09IE1vZGU6OlJlc29sdmluZ1N0eWxlKSB7CiAgICAgICAg
ICAgICAgICAgICAgIFJlbmRlclN0eWxlKiBjaGlsZFN0eWxlID0gY29udGV4dC5lbGVtZW50U3R5
bGUgPyBjb250ZXh0LmVsZW1lbnRTdHlsZSA6IGVsZW1lbnQtPnJlbmRlclN0eWxlKCk7CiAgICAg
ICAgICAgICAgICAgICAgIGVsZW1lbnQtPnNldENoaWxkSW5kZXgoY291bnQpOwogICAgICAgICAg
ICAgICAgICAgICBpZiAoY2hpbGRTdHlsZSkKQEAgLTYxNSw3ICs2MTUsNyBAQCBib29sIFNlbGVj
dG9yQ2hlY2tlcjo6Y2hlY2tPbmUoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRl
eHQpIGNvbnN0CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBpZiAoRWxlbWVu
dCogcGFyZW50RWxlbWVudCA9IGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkgewogICAgICAgICAg
ICAgICAgIGludCBjb3VudCA9IDEgKyBjb3VudEVsZW1lbnRzT2ZUeXBlQmVmb3JlKGVsZW1lbnQs
IGVsZW1lbnQtPnRhZ1FOYW1lKCkpOwotICAgICAgICAgICAgICAgIGlmIChtX21vZGUgPT0gUmVz
b2x2aW5nU3R5bGUpCisgICAgICAgICAgICAgICAgaWYgKG1fbW9kZSA9PSBNb2RlOjpSZXNvbHZp
bmdTdHlsZSkKICAgICAgICAgICAgICAgICAgICAgcGFyZW50RWxlbWVudC0+c2V0Q2hpbGRyZW5B
ZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcygpOwogCiAgICAgICAgICAgICAgICAgaWYg
KHNlbGVjdG9yLT5tYXRjaE50aChjb3VudCkpCkBAIC02MjYsNyArNjI2LDcgQEAgYm9vbCBTZWxl
Y3RvckNoZWNrZXI6OmNoZWNrT25lKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250
ZXh0KSBjb25zdAogICAgICAgICAgICAgaWYgKCFzZWxlY3Rvci0+cGFyc2VOdGgoKSkKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGlmIChFbGVtZW50KiBwYXJlbnRFbGVtZW50
ID0gZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG1fbW9k
ZSA9PSBSZXNvbHZpbmdTdHlsZSkKKyAgICAgICAgICAgICAgICBpZiAobV9tb2RlID09IE1vZGU6
OlJlc29sdmluZ1N0eWxlKQogICAgICAgICAgICAgICAgICAgICBwYXJlbnRFbGVtZW50LT5zZXRD
aGlsZHJlbkFmZmVjdGVkQnlCYWNrd2FyZFBvc2l0aW9uYWxSdWxlcygpOwogICAgICAgICAgICAg
ICAgIGlmICghcGFyZW50RWxlbWVudC0+aXNGaW5pc2hlZFBhcnNpbmdDaGlsZHJlbigpKQogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC02MzksNyArNjM5LDcgQEAgYm9vbCBT
ZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBj
b250ZXh0KSBjb25zdAogICAgICAgICAgICAgaWYgKCFzZWxlY3Rvci0+cGFyc2VOdGgoKSkKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGlmIChFbGVtZW50KiBwYXJlbnRFbGVt
ZW50ID0gZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG1f
bW9kZSA9PSBSZXNvbHZpbmdTdHlsZSkKKyAgICAgICAgICAgICAgICBpZiAobV9tb2RlID09IE1v
ZGU6OlJlc29sdmluZ1N0eWxlKQogICAgICAgICAgICAgICAgICAgICBwYXJlbnRFbGVtZW50LT5z
ZXRDaGlsZHJlbkFmZmVjdGVkQnlCYWNrd2FyZFBvc2l0aW9uYWxSdWxlcygpOwogICAgICAgICAg
ICAgICAgIGlmICghcGFyZW50RWxlbWVudC0+aXNGaW5pc2hlZFBhcnNpbmdDaGlsZHJlbigpKQog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC02NzUsNyArNjc1LDcgQEAgYm9v
bCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0
JiBjb250ZXh0KSBjb25zdAogICAgICAgICAgICAgLy8gLi4uZXhjZXB0IGlmIDp2aXNpdGVkIG1h
dGNoaW5nIGlzIGRpc2FibGVkIGZvciBhbmNlc3Rvci9zaWJsaW5nIG1hdGNoaW5nLgogICAgICAg
ICAgICAgcmV0dXJuIGVsZW1lbnQtPmlzTGluaygpICYmIGNvbnRleHQudmlzaXRlZE1hdGNoVHlw
ZSA9PSBWaXNpdGVkTWF0Y2hFbmFibGVkOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1
ZG9DbGFzc0RyYWc6Ci0gICAgICAgICAgICBpZiAobV9tb2RlID09IFJlc29sdmluZ1N0eWxlKSB7
CisgICAgICAgICAgICBpZiAobV9tb2RlID09IE1vZGU6OlJlc29sdmluZ1N0eWxlKSB7CiAgICAg
ICAgICAgICAgICAgaWYgKGNvbnRleHQuZWxlbWVudFN0eWxlKQogICAgICAgICAgICAgICAgICAg
ICBjb250ZXh0LmVsZW1lbnRTdHlsZS0+c2V0QWZmZWN0ZWRCeURyYWcoKTsKICAgICAgICAgICAg
ICAgICBlbHNlCkBAIC02ODgsNyArNjg4LDcgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNr
T25lKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250ZXh0KSBjb25zdAogICAgICAg
ICAgICAgcmV0dXJuIG1hdGNoZXNGb2N1c1BzZXVkb0NsYXNzKGVsZW1lbnQpOwogICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0hvdmVyOgogICAgICAgICAgICAgaWYgKG1fc3Ry
aWN0UGFyc2luZyB8fCBlbGVtZW50LT5pc0xpbmsoKSB8fCBjYW5NYXRjaEhvdmVyT3JBY3RpdmVJ
blF1aXJrc01vZGUoY29udGV4dCkpIHsKLSAgICAgICAgICAgICAgICBpZiAobV9tb2RlID09IFJl
c29sdmluZ1N0eWxlKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fbW9kZSA9PSBNb2RlOjpSZXNv
bHZpbmdTdHlsZSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoY29udGV4dC5lbGVtZW50U3R5
bGUpCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmVsZW1lbnRTdHlsZS0+c2V0QWZm
ZWN0ZWRCeUhvdmVyKCk7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKQEAgLTcwMCw3ICs3MDAs
NyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUoY29uc3QgU2VsZWN0b3JDaGVja2lu
Z0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NBY3RpdmU6CiAgICAgICAgICAgICBpZiAobV9zdHJp
Y3RQYXJzaW5nIHx8IGVsZW1lbnQtPmlzTGluaygpIHx8IGNhbk1hdGNoSG92ZXJPckFjdGl2ZUlu
UXVpcmtzTW9kZShjb250ZXh0KSkgewotICAgICAgICAgICAgICAgIGlmIChtX21vZGUgPT0gUmVz
b2x2aW5nU3R5bGUpIHsKKyAgICAgICAgICAgICAgICBpZiAobV9tb2RlID09IE1vZGU6OlJlc29s
dmluZ1N0eWxlKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZXh0LmVsZW1lbnRTdHls
ZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuZWxlbWVudFN0eWxlLT5zZXRBZmZl
Y3RlZEJ5QWN0aXZlKCk7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
ZWxlY3RvckNoZWNrZXIuaAppbmRleCBhM2FkNDcyMzg3ODc0M2JmYzU4OWFjM2YyNzYyNjNjMDZj
MDY5NmFjLi5kNjczN2QzMjFhNTRkN2UxNDZkN2I0MmU4NWY4Njc1M2JiNTgzNWQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCkBAIC00Nyw3ICs0Nyw5IEBAIGNsYXNzIFNlbGVj
dG9yQ2hlY2tlciB7CiAKIHB1YmxpYzoKICAgICBlbnVtIFZpc2l0ZWRNYXRjaFR5cGUgeyBWaXNp
dGVkTWF0Y2hEaXNhYmxlZCwgVmlzaXRlZE1hdGNoRW5hYmxlZCB9OwotICAgIGVudW0gTW9kZSB7
IFJlc29sdmluZ1N0eWxlID0gMCwgQ29sbGVjdGluZ1J1bGVzLCBRdWVyeWluZ1J1bGVzLCBTaGFy
aW5nUnVsZXMsIFN0eWxlSW52YWxpZGF0aW9uIH07CisgICAgZW51bSBjbGFzcyBNb2RlIDogdW5z
aWduZWQgY2hhciB7CisgICAgICAgIFJlc29sdmluZ1N0eWxlID0gMCwgQ29sbGVjdGluZ1J1bGVz
LCBRdWVyeWluZ1J1bGVzLCBTaGFyaW5nUnVsZXMsIFN0eWxlSW52YWxpZGF0aW9uCisgICAgfTsK
IAogICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1bWVudCYsIE1vZGUpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5jcHAKaW5kZXggMjA0ZTAzNDI4
OTY5NTViZjI0NTVkOTEwNDkxNTU2ZjViZDViMTAxMC4uM2I3Mzc1ODg3M2Q4MTIyYzE0MzJkZDRk
MWY3ZmZiNDI2MTJmMjc1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlSW52
YWxpZGF0aW9uQW5hbHlzaXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUludmFs
aWRhdGlvbkFuYWx5c2lzLmNwcApAQCAtOTQsNyArOTQsNyBAQCBzdGF0aWMgdm9pZCBpbnZhbGlk
YXRlU3R5bGVSZWN1cnNpdmVseShFbGVtZW50JiBlbGVtZW50LCBTZWxlY3RvckZpbHRlciYgZmls
dGVyLAogICAgICAgICByZXR1cm47CiAgICAgaWYgKGVsZW1lbnQuc3R5bGVDaGFuZ2VUeXBlKCkg
PT0gTm9TdHlsZUNoYW5nZSkgewogICAgICAgICBFbGVtZW50UnVsZUNvbGxlY3RvciBydWxlQ29s
bGVjdG9yKGVsZW1lbnQsIG51bGxwdHIsIHJ1bGVTZXRzLCBmaWx0ZXIpOwotICAgICAgICBydWxl
Q29sbGVjdG9yLnNldE1vZGUoU2VsZWN0b3JDaGVja2VyOjpTdHlsZUludmFsaWRhdGlvbik7Cisg
ICAgICAgIHJ1bGVDb2xsZWN0b3Iuc2V0TW9kZShTZWxlY3RvckNoZWNrZXI6Ok1vZGU6OlN0eWxl
SW52YWxpZGF0aW9uKTsKICAgICAgICAgcnVsZUNvbGxlY3Rvci5tYXRjaEF1dGhvclJ1bGVzKGZh
bHNlKTsKIAogICAgICAgICBpZiAocnVsZUNvbGxlY3Rvci5oYXNNYXRjaGVkUnVsZXMoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA3OWNmZGM5MTNkYTljYjJjYTJkMjYw
MzhkOTUwZjFmYWIwNzlkYTcyLi40ZmU0ZmIxMGMxOTdiODk4NzhkNzcyZTNiNzExYmRjMTEwM2Y0
YTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xNDM2LDcgKzE0MzYs
NyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OnVwZGF0ZUZvbnQoKQogICAgIG1fc3RhdGUuaW5pdEZv
clN0eWxlUmVzb2x2ZShkb2N1bWVudCgpLCBlbGVtZW50LCAwKTsKIAogICAgIEVsZW1lbnRSdWxl
Q29sbGVjdG9yIGNvbGxlY3RvcigqZWxlbWVudCwgbV9zdGF0ZS5zdHlsZSgpLCBtX3J1bGVTZXRz
LCBtX3NlbGVjdG9yRmlsdGVyKTsKLSAgICBjb2xsZWN0b3Iuc2V0TW9kZShTZWxlY3RvckNoZWNr
ZXI6OkNvbGxlY3RpbmdSdWxlcyk7CisgICAgY29sbGVjdG9yLnNldE1vZGUoU2VsZWN0b3JDaGVj
a2VyOjpNb2RlOjpDb2xsZWN0aW5nUnVsZXMpOwogICAgIGNvbGxlY3Rvci5zZXRQc2V1ZG9TdHls
ZVJlcXVlc3QoUHNldWRvU3R5bGVSZXF1ZXN0KHBzZXVkb0lkKSk7CiAgICAgY29sbGVjdG9yLnNl
dE1lZGl1bShtX21lZGl1bS5nZXQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCmlu
ZGV4IGNjOTRmNjg4Mjg2ZTJiMTkxYjE0NmZiNWZhMmEwOTE0MzgzMzZhOWMuLmM1Yzk3N2E2Y2I1
ZTc0ZTY0YzljZjg2OWQ2NWRlMjIwYmQxOWEwMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuaApAQCAtNTY1LDcgKzU2NSw3IEBAIGlubGluZSBib29sIGNoZWNrUmVnaW9uU2VsZWN0b3Io
Y29uc3QgQ1NTU2VsZWN0b3IqIHJlZ2lvblNlbGVjdG9yLCBFbGVtZW50KiByZWdpCiAgICAgaWYg
KCFyZWdpb25TZWxlY3RvciB8fCAhcmVnaW9uRWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgU2VsZWN0b3JDaGVja2VyIHNlbGVjdG9yQ2hlY2tlcihyZWdpb25FbGVtZW50LT5k
b2N1bWVudCgpLCBTZWxlY3RvckNoZWNrZXI6OlF1ZXJ5aW5nUnVsZXMpOworICAgIFNlbGVjdG9y
Q2hlY2tlciBzZWxlY3RvckNoZWNrZXIocmVnaW9uRWxlbWVudC0+ZG9jdW1lbnQoKSwgU2VsZWN0
b3JDaGVja2VyOjpNb2RlOjpRdWVyeWluZ1J1bGVzKTsKICAgICBmb3IgKGNvbnN0IENTU1NlbGVj
dG9yKiBzID0gcmVnaW9uU2VsZWN0b3I7IHM7IHMgPSBDU1NTZWxlY3Rvckxpc3Q6Om5leHQocykp
IHsKICAgICAgICAgU2VsZWN0b3JDaGVja2VyOjpTZWxlY3RvckNoZWNraW5nQ29udGV4dCBzZWxl
Y3RvckNoZWNraW5nQ29udGV4dChzLCByZWdpb25FbGVtZW50LCBTZWxlY3RvckNoZWNrZXI6OlZp
c2l0ZWRNYXRjaERpc2FibGVkKTsKICAgICAgICAgaWYgKHNlbGVjdG9yQ2hlY2tlci5tYXRjaChz
ZWxlY3RvckNoZWNraW5nQ29udGV4dCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Nq
aXQvU2VsZWN0b3JDb21waWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JD
b21waWxlci5jcHAKaW5kZXggNjgwMmQ5NTFlZWMzNDJkOThhMWUwNzA3NDRiNGVkOTk2NzEwOWYz
Ny4uNzU1YTQwMmJiOTVhYTMyZTA0NjkxNWRhNzQ1OTc5NWU4YzQ0NzEwMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcApAQCAtMTQ3Miw3ICsxNDcyLDggQEAg
dm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmFkZEZsYWdzVG9FbGVtZW50U3R5bGVGcm9tQ29u
dGV4dChBc3NlbWJsZXI6OlJlZ2lzdGUKICAgICBtX2Fzc2VtYmxlci5sb2FkUHRyKEFzc2VtYmxl
cjo6QWRkcmVzcyhBc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBvZmZzZXRUb0NoZWNr
aW5nQ29udGV4dCksIGNoZWNraW5nQ29udGV4dCk7CiAKICAgICAvLyBJZiB3ZSBub3QgcmVzb2x2
aW5nIHN0eWxlLCBza2lwIHRoZSB3aG9sZSBtYXJraW5nLgotICAgIHJldHVybiBtX2Fzc2VtYmxl
ci5icmFuY2g4KEFzc2VtYmxlcjo6Tm90RXF1YWwsIEFzc2VtYmxlcjo6QWRkcmVzcyhjaGVja2lu
Z0NvbnRleHQsIE9CSkVDVF9PRkZTRVRPRihDaGVja2luZ0NvbnRleHQsIHJlc29sdmluZ01vZGUp
KSwgQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoU2VsZWN0b3JDaGVja2VyOjpSZXNvbHZpbmdTdHls
ZSkpOworICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFNlbGVjdG9yQ2hlY2tlcjo6TW9kZSkgPT0g
MSwgIldlIGdlbmVyYXRlIGEgYnl0ZSBsb2FkL3Rlc3QgZm9yIHRoZSBTZWxlY3RvckNoZWNrZXI6
Ok1vZGUuIik7CisgICAgcmV0dXJuIG1fYXNzZW1ibGVyLmJyYW5jaDgoQXNzZW1ibGVyOjpOb3RF
cXVhbCwgQXNzZW1ibGVyOjpBZGRyZXNzKGNoZWNraW5nQ29udGV4dCwgT0JKRUNUX09GRlNFVE9G
KENoZWNraW5nQ29udGV4dCwgcmVzb2x2aW5nTW9kZSkpLCBBc3NlbWJsZXI6OlRydXN0ZWRJbW0z
MihzdGF0aWNfY2FzdDxzdGQ6OnVuZGVybHlpbmdfdHlwZTxTZWxlY3RvckNoZWNrZXI6Ok1vZGU+
Ojp0eXBlPihTZWxlY3RvckNoZWNrZXI6Ok1vZGU6OlJlc29sdmluZ1N0eWxlKSkpOwogfQogCiBz
dGF0aWMgdm9pZCBnZXREb2N1bWVudChBc3NlbWJsZXImIGFzc2VtYmxlciwgQXNzZW1ibGVyOjpS
ZWdpc3RlcklEIGVsZW1lbnQsIEFzc2VtYmxlcjo6UmVnaXN0ZXJJRCBvdXRwdXQpCkBAIC0yMjEz
LDcgKzIyMTQsNyBAQCBzdGF0aWMgYm9vbCBlbGVtZW50SXNBY3RpdmUoRWxlbWVudCogZWxlbWVu
dCkKIAogc3RhdGljIGJvb2wgZWxlbWVudElzQWN0aXZlRm9yU3R5bGVSZXNvbHV0aW9uKEVsZW1l
bnQqIGVsZW1lbnQsIGNvbnN0IENoZWNraW5nQ29udGV4dCogY2hlY2tpbmdDb250ZXh0KQogewot
ICAgIGlmIChjaGVja2luZ0NvbnRleHQtPnJlc29sdmluZ01vZGUgPT0gU2VsZWN0b3JDaGVja2Vy
OjpSZXNvbHZpbmdTdHlsZSkKKyAgICBpZiAoY2hlY2tpbmdDb250ZXh0LT5yZXNvbHZpbmdNb2Rl
ID09IFNlbGVjdG9yQ2hlY2tlcjo6TW9kZTo6UmVzb2x2aW5nU3R5bGUpCiAgICAgICAgIGVsZW1l
bnQtPnNldENoaWxkcmVuQWZmZWN0ZWRCeUFjdGl2ZSgpOwogICAgIHJldHVybiBlbGVtZW50LT5h
Y3RpdmUoKSB8fCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZvcmNlUHNldWRvU3RhdGUoZWxl
bWVudCwgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzQWN0aXZlKTsKIH0KQEAgLTIzMDksNyArMjMx
MCw3IEBAIHN0YXRpYyBib29sIGVsZW1lbnRJc0hvdmVyZWQoRWxlbWVudCogZWxlbWVudCkKIAog
c3RhdGljIGJvb2wgZWxlbWVudElzSG92ZXJlZEZvclN0eWxlUmVzb2x1dGlvbihFbGVtZW50KiBl
bGVtZW50LCBjb25zdCBDaGVja2luZ0NvbnRleHQqIGNoZWNraW5nQ29udGV4dCkKIHsKLSAgICBp
ZiAoY2hlY2tpbmdDb250ZXh0LT5yZXNvbHZpbmdNb2RlID09IFNlbGVjdG9yQ2hlY2tlcjo6UmVz
b2x2aW5nU3R5bGUpCisgICAgaWYgKGNoZWNraW5nQ29udGV4dC0+cmVzb2x2aW5nTW9kZSA9PSBT
ZWxlY3RvckNoZWNrZXI6Ok1vZGU6OlJlc29sdmluZ1N0eWxlKQogICAgICAgICBlbGVtZW50LT5z
ZXRDaGlsZHJlbkFmZmVjdGVkQnlIb3ZlcigpOwogICAgIHJldHVybiBlbGVtZW50LT5ob3ZlcmVk
KCkgfHwgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmb3JjZVBzZXVkb1N0YXRlKGVsZW1lbnQs
IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0hvdmVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TZWxlY3RvclF1ZXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3Rv
clF1ZXJ5LmNwcAppbmRleCBiNTMyMjkzMDY0NmJkNzJkZGU3ODdiNDU5OTM3ZjIxODk3NGMyYWJh
Li41ZWFhZDUxOTIzODUwNDJmMDFmZDU0MzQ2ZTQ2OWY0NDc4YWYxZDE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0b3JRdWVyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NlbGVjdG9yUXVlcnkuY3BwCkBAIC0xMjEsNyArMTIxLDcgQEAgaW5saW5lIGJvb2wgU2Vs
ZWN0b3JEYXRhTGlzdDo6c2VsZWN0b3JNYXRjaGVzKGNvbnN0IFNlbGVjdG9yRGF0YSYgc2VsZWN0
b3JEYXRhLAogICAgICAgICByZXR1cm4gc2VsZWN0b3JDaGVja2VyRmFzdFBhdGgubWF0Y2hlcygp
OwogICAgIH0KIAotICAgIFNlbGVjdG9yQ2hlY2tlciBzZWxlY3RvckNoZWNrZXIoZWxlbWVudC5k
b2N1bWVudCgpLCBTZWxlY3RvckNoZWNrZXI6OlF1ZXJ5aW5nUnVsZXMpOworICAgIFNlbGVjdG9y
Q2hlY2tlciBzZWxlY3RvckNoZWNrZXIoZWxlbWVudC5kb2N1bWVudCgpLCBTZWxlY3RvckNoZWNr
ZXI6Ok1vZGU6OlF1ZXJ5aW5nUnVsZXMpOwogICAgIFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JD
aGVja2luZ0NvbnRleHQgc2VsZWN0b3JDaGVja2luZ0NvbnRleHQoc2VsZWN0b3JEYXRhLnNlbGVj
dG9yLCAmZWxlbWVudCwgU2VsZWN0b3JDaGVja2VyOjpWaXNpdGVkTWF0Y2hEaXNhYmxlZCk7CiAg
ICAgc2VsZWN0b3JDaGVja2luZ0NvbnRleHQuc2NvcGUgPSByb290Tm9kZS5pc0RvY3VtZW50Tm9k
ZSgpID8gbnVsbHB0ciA6ICZyb290Tm9kZTsKICAgICByZXR1cm4gc2VsZWN0b3JDaGVja2VyLm1h
dGNoKHNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>