<?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>27287</bug_id>
          
          <creation_ts>2009-07-14 19:56:10 -0700</creation_ts>
          <short_desc>[V8] Fix isolated world constructors</short_desc>
          <delta_ts>2009-07-15 11:14:48 -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 JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aa</cc>
    
    <cc>dglazkov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>131794</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-14 19:56:10 -0700</bug_when>
    <thetext>Currently the isolated world constructors are a bit confused.  The V8Proxy was entering m_context before creating the constructors, effectively moving the constructors to the main m_context world.  We need to use our new getWrapperContext helps instead.  Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131795</commentid>
    <comment_count>1</comment_count>
      <attachid>32762</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-14 19:58:36 -0700</bug_when>
    <thetext>Created attachment 32762
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131796</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-14 19:59:13 -0700</bug_when>
    <thetext>This is the last patch to make my test suite pass.  Once we land this patch, I&apos;ll enable the feature downstream and we can land the tests.  Hooray!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131941</commentid>
    <comment_count>3</comment_count>
      <attachid>32762</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-07-15 10:20:26 -0700</bug_when>
    <thetext>Comment on attachment 32762
patch

Excellent!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131962</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-15 11:14:48 -0700</bug_when>
    <thetext>Sending        WebCore/ChangeLog
Sending        WebCore/bindings/scripts/CodeGeneratorV8.pm
Sending        WebCore/bindings/v8/V8DOMWrapper.cpp
Sending        WebCore/bindings/v8/V8DOMWrapper.h
Sending        WebCore/bindings/v8/V8IsolatedWorld.cpp
Sending        WebCore/bindings/v8/V8Proxy.cpp
Sending        WebCore/bindings/v8/V8Proxy.h
Transmitting file data .......
Committed revision 45928.
http://trac.webkit.org/changeset/45928</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32762</attachid>
            <date>2009-07-14 19:58:36 -0700</date>
            <delta_ts>2009-07-15 10:20:26 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-27287-20090715025840.patch</filename>
            <type>text/plain</type>
            <size>16269</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTg4OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMDktMDctMTQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbVjhd
IEZpeCBpc29sYXRlZCB3b3JsZCBjb25zdHJ1Y3RvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3Mjg3CisKKyAgICAgICAgRG9uJ3QgZW50ZXIgVjhQ
cm94eTo6bV9jb250ZXh0IGJlZm9yZSBjcmVhdGluZyBET00gY29uc3RydWN0b3JzLgorICAgICAg
ICBJbnN0ZWFkLCB1c2UgZ2V0V3JhcHBlckNvbnRleHQgdG8gZ2V0IHRoZSByaWdodCBjb250ZXh0
LgorCisgICAgICAgIEFmdGVyIHRoaXMgcGF0Y2gsIGFsbCBteSB0ZXN0cyBwYXNzLiAgSSdsbCBl
bmFibGUgdGhlIGZlYXR1cmUKKyAgICAgICAgZG93bnN0cmVhbSBhbmQgbGFuZCB0aGUgdGVzdHMu
CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhE
T01XcmFwcGVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBw
ZXI6Omxvb2t1cERPTVdyYXBwZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBl
ci5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SXNvbGF0ZWRXb3JsZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpWOElzb2xhdGVkV29ybGQ6OmV2YWx1YXRlKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9WOFByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OmNyZWF0ZVdyYXBw
ZXJGcm9tQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6aXNDb250ZXh0SW5pdGlh
bGl6ZWQpOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6ZGlzcG9zZUNvbnRleHRIYW5kbGVz
KToKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6Omluc3RhbGxET01XaW5kb3cpOgorICAgICAg
ICAoV2ViQ29yZTo6VjhQcm94eTo6aW5pdENvbnRleHRJZk5lZWRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpWOFByb3h5OjpnZXRIaWRkZW5PYmplY3RQcm90b3R5cGUpOgorICAgICAgICAoV2ViQ29y
ZTo6VjhQcm94eTo6aW5zdGFsbEhpZGRlbk9iamVjdFByb3RvdHlwZSk6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvVjhQcm94eS5oOgorCiAyMDA5LTA3LTE0ICBNaWNoZWxhbmdlbG8gRGUgU2ltb25l
ICA8bWljZGVzaW1AZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkZWxlIFBldGVy
c29uLgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBt
CShyZXZpc2lvbiA0NTg4MykKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yVjgucG0JKHdvcmtpbmcgY29weSkKQEAgLTQyMiwxNyArNDIyLDEyIEBAIEVORAogICAgIGlm
ICgkY2xhc3NJbmRleCBlcSAiRE9NV0lORE9XIikgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dERlY2xzLCA8PEVORCk7CiAgICAgRE9NV2luZG93KiB3aW5kb3cgPSBWOERPTVdyYXBwZXI6OmNv
bnZlcnRUb05hdGl2ZU9iamVjdDxET01XaW5kb3c+KFY4Q2xhc3NJbmRleDo6RE9NV0lORE9XLCBp
bmZvLkhvbGRlcigpKTsKLSAgICBGcmFtZSogZnJhbWUgPSB3aW5kb3ctPmZyYW1lKCk7Ci0gICAg
aWYgKGZyYW1lKSB7Ci0gICAgICAvLyBHZXQgdGhlIHByb3h5IGNvcnJlc3BvbmRpbmcgdG8gdGhl
IERPTVdpbmRvdyBpZiBwb3NzaWJsZSB0bwotICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgdGhlIGNv
bnN0cnVjdG9yIGZ1bmN0aW9uIGlzIGNvbnN0cnVjdGVkIGluIHRoZQotICAgICAgLy8gY29udGV4
dCBvZiB0aGUgRE9NV2luZG93IGFuZCBub3QgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGNhbGxlci4K
LSAgICAgIHJldHVybiBWOFByb3h5OjpyZXRyaWV2ZShmcmFtZSktPmdldENvbnN0cnVjdG9yKHR5
cGUpOwotICAgIH0KKyAgICAvLyBHZXQgdGhlIHByb3h5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIERP
TVdpbmRvdyBpZiBwb3NzaWJsZSB0bworICAgIC8vIG1ha2Ugc3VyZSB0aGF0IHRoZSBjb25zdHJ1
Y3RvciBmdW5jdGlvbiBpcyBjb25zdHJ1Y3RlZCBpbiB0aGUKKyAgICAvLyBjb250ZXh0IG9mIHRo
ZSBET01XaW5kb3cgYW5kIG5vdCBpbiB0aGUgY29udGV4dCBvZiB0aGUgY2FsbGVyLgorICAgIHJl
dHVybiBWOERPTVdyYXBwZXI6OmdldENvbnN0cnVjdG9yKHR5cGUsIHdpbmRvdyk7CiBFTkQKLSAg
fQotCi0gICAgaWYgKCRjbGFzc0luZGV4IGVxICJXT1JLRVJDT05URVhUIikgeworICAgIH0gZWxz
aWYgKCRjbGFzc0luZGV4IGVxICJXT1JLRVJDT05URVhUIikgewogICAgICAgICAkaW1wbEluY2x1
ZGVzeyJXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaCJ9ID0gMTsKICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnREZWNscywgPDxFTkQpOwogICAgIHJldHVybiBXb3JrZXJDb250ZXh0RXhlY3V0
aW9uUHJveHk6OnJldHJpZXZlKCktPkdldENvbnN0cnVjdG9yKHR5cGUpOwpJbmRleDogV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAkocmV2aXNpb24gNDU4ODQpCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1Myw2ICs0NTMs
NDQgQEAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IFY4RAogICAgIHJldHVy
biBkZXNjcmlwdG9yOwogfQogCit2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBWOERPTVdyYXBwZXI6
OmdldENvbnN0cnVjdG9yKFY4Q2xhc3NJbmRleDo6VjhXcmFwcGVyVHlwZSB0eXBlLCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gb2JqZWN0UHJvdG90eXBlKQoreworICAgIC8vIEEgRE9NIGNvbnN0cnVj
dG9yIGlzIGEgZnVuY3Rpb24gaW5zdGFuY2UgY3JlYXRlZCBmcm9tIGEgRE9NIGNvbnN0cnVjdG9y
CisgICAgLy8gdGVtcGxhdGUuIFRoZXJlIGlzIG9uZSBpbnN0YW5jZSBwZXIgY29udGV4dC4gQSBE
T00gY29uc3RydWN0b3IgaXMKKyAgICAvLyBkaWZmZXJlbnQgZnJvbSBhIG5vcm1hbCBmdW5jdGlv
biBpbiB0d28gd2F5czoKKyAgICAvLyAgIDEpIGl0IGNhbm5vdCBiZSBjYWxsZWQgYXMgY29uc3Ry
dWN0b3IgKGFrYSwgdXNlZCB0byBjcmVhdGUgYSBET00gb2JqZWN0KQorICAgIC8vICAgMikgaXRz
IF9fcHJvdG9fXyBwb2ludHMgdG8gT2JqZWN0LnByb3RvdHlwZSByYXRoZXIgdGhhbgorICAgIC8v
ICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLgorICAgIC8vIFRoZSByZWFzb24gZm9yIDIpIGlzIHRo
YXQsIGluIFNhZmFyaSwgYSBET00gY29uc3RydWN0b3IgaXMgYSBub3JtYWwgSlMKKyAgICAvLyBv
YmplY3QsIGJ1dCBub3QgYSBmdW5jdGlvbi4gSG90bWFpbCByZWxpZXMgb24gdGhlIGZhY3QgdGhh
dCwgaW4gU2FmYXJpLAorICAgIC8vIEhUTUxFbGVtZW50Ll9fcHJvdG9fXyA9PSBPYmplY3QucHJv
dG90eXBlLgorICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGZ1bmN0aW9uVGVt
cGxhdGUgPSBnZXRUZW1wbGF0ZSh0eXBlKTsKKyAgICAvLyBHZXR0aW5nIHRoZSBmdW5jdGlvbiBt
aWdodCBmYWlsIGlmIHdlJ3JlIHJ1bm5pbmcgb3V0IG9mCisgICAgLy8gc3RhY2sgb3IgbWVtb3J5
LgorICAgIHY4OjpUcnlDYXRjaCB0cnlDYXRjaDsKKyAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9u
PiB2YWx1ZSA9IGZ1bmN0aW9uVGVtcGxhdGUtPkdldEZ1bmN0aW9uKCk7CisgICAgaWYgKHZhbHVl
LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+KCk7Cisg
ICAgLy8gSG90bWFpbCBmaXgsIHNlZSBjb21tZW50cyBhYm92ZS4KKyAgICB2YWx1ZS0+U2V0KHY4
OjpTdHJpbmc6Ok5ldygiX19wcm90b19fIiksIG9iamVjdFByb3RvdHlwZSk7CisgICAgcmV0dXJu
IHZhbHVlOworfQorCit2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBWOERPTVdyYXBwZXI6OmdldENv
bnN0cnVjdG9yKFY4Q2xhc3NJbmRleDo6VjhXcmFwcGVyVHlwZSB0eXBlLCBET01XaW5kb3cqIHdp
bmRvdykKK3sKKyAgICBGcmFtZSogZnJhbWUgPSB3aW5kb3ctPmZyYW1lKCk7CisgICAgaWYgKCFm
cmFtZSkKKyAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+KCk7CisKKyAgICB2
ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gZ2V0V3JhcHBlckNvbnRleHQoZnJhbWUp
OworICAgIGlmIChjb250ZXh0LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2
ODo6RnVuY3Rpb24+KCk7CisgICAgLy8gRW50ZXIgdGhlIHNjb3BlIGZvciB0aGlzIERPTVdpbmRv
dyB0byBnZXQgdGhlIGNvcnJlY3QgY29uc3RydWN0b3IuCisgICAgdjg6OkNvbnRleHQ6OlNjb3Bl
IHNjb3BlKGNvbnRleHQpOworCisgICAgcmV0dXJuIGdldENvbnN0cnVjdG9yKHR5cGUsIFY4UHJv
eHk6OmdldEhpZGRlbk9iamVjdFByb3RvdHlwZShjb250ZXh0KSk7Cit9CisKIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOERPTVdyYXBwZXI6OmNvbnZlcnRUb1Y4T2JqZWN0KFY4Q2xhc3NJbmRleDo6
VjhXcmFwcGVyVHlwZSB0eXBlLCB2b2lkKiBpbXBsKQogewogICAgIEFTU0VSVCh0eXBlICE9IFY4
Q2xhc3NJbmRleDo6RVZFTlRMSVNURU5FUik7CkBAIC02MDksNyArNjQ3LDcgQEAgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiBWOERPTVdyYXBwZXI6OmxvbwogICAgIGlmICh2YWx1ZS5Jc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwogCi0gICAgdjg6Okhh
bmRsZTx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gZGVzY3JpcHRvciA9IFY4RE9NV3JhcHBlcjo6Z2V0
VGVtcGxhdGUodHlwZSk7CisgICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gZGVz
Y3JpcHRvciA9IGdldFRlbXBsYXRlKHR5cGUpOwogICAgIHdoaWxlICh2YWx1ZS0+SXNPYmplY3Qo
KSkgewogICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVjdCA9IHY4OjpIYW5kbGU8
djg6Ok9iamVjdD46OkNhc3QodmFsdWUpOwogICAgICAgICBpZiAoZGVzY3JpcHRvci0+SGFzSW5z
dGFuY2Uob2JqZWN0KSkKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaAkocmV2aXNp
b24gNDU4ODQpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xOTMsNiArMTkzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiB3cmFwTmF0aXZlTm9kZUZpbHRlcih2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4pOwogCiAgICAgICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVu
Y3Rpb25UZW1wbGF0ZT4gZ2V0VGVtcGxhdGUoVjhDbGFzc0luZGV4OjpWOFdyYXBwZXJUeXBlKTsK
KyAgICAgICAgc3RhdGljIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+IGdldENvbnN0cnVjdG9yKFY4
Q2xhc3NJbmRleDo6VjhXcmFwcGVyVHlwZSwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG9iamVjdFBy
b3RvdHlwZSk7CisgICAgICAgIHN0YXRpYyB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBnZXRDb25z
dHJ1Y3RvcihWOENsYXNzSW5kZXg6OlY4V3JhcHBlclR5cGUsIERPTVdpbmRvdyopOwogCiAgICAg
ICAgIC8vIENoZWNrcyB3aGV0aGVyIGEgRE9NIG9iamVjdCBoYXMgYSBKUyB3cmFwcGVyLgogICAg
ICAgICBzdGF0aWMgYm9vbCBkb21PYmplY3RIYXNKU1dyYXBwZXIodm9pZCopOwpJbmRleDogV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOElzb2xhdGVkV29ybGQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvYmluZGluZ3MvdjgvVjhJc29sYXRlZFdvcmxkLmNwcAkocmV2aXNpb24gNDU4ODMpCisrKyBX
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SXNvbGF0ZWRXb3JsZC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTc4LDYgKzc4LDcgQEAgdm9pZCBWOElzb2xhdGVkV29ybGQ6OmV2YWx1YXRlKGNvbnN0IFZlYwog
ICAgIC8vIFdlIG5lZWQgdG8gY3JlYXRlIHRoZSB3b3JsZCBiZWZvcmUgdG91Y2hpbmcgRE9NIHdy
YXBwZXJzLgogICAgIFY4SXNvbGF0ZWRXb3JsZCogd29ybGQgPSBuZXcgVjhJc29sYXRlZFdvcmxk
KGNvbnRleHQpOwogCisgICAgVjhQcm94eTo6aW5zdGFsbEhpZGRlbk9iamVjdFByb3RvdHlwZShj
b250ZXh0KTsKICAgICBwcm94eS0+aW5zdGFsbERPTVdpbmRvdyhjb250ZXh0LCBwcm94eS0+ZnJh
bWUoKS0+ZG9tV2luZG93KCkpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc291cmNlcy5z
aXplKCk7ICsraSkKICAgICAgICAgcHJveHktPmV2YWx1YXRlKHNvdXJjZXNbaV0sIDApOwpJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCShyZXZpc2lvbiA0NTg4MykKKysrIFdlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDggQEAgVjhF
eHRlbnNpb25MaXN0IFY4UHJveHk6Om1fZXh0ZW5zaW9uczsKIGNvbnN0IGNoYXIqIFY4UHJveHk6
OmtDb250ZXh0RGVidWdEYXRhVHlwZSA9ICJ0eXBlIjsKIGNvbnN0IGNoYXIqIFY4UHJveHk6OmtD
b250ZXh0RGVidWdEYXRhVmFsdWUgPSAidmFsdWUiOwogCitzdGF0aWMgY2hhciBoaWRkZW5PYmpl
Y3RQcm90b3R5cGVLZXlbXSA9ICJoaWRkZW5PYmplY3RQcm90b3R5cGVLZXkiOworCiB2b2lkIGJh
dGNoQ29uZmlndXJlQXR0cmlidXRlcyh2ODo6SGFuZGxlPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5z
dGFuY2UsIHY4OjpIYW5kbGU8djg6Ok9iamVjdFRlbXBsYXRlPiBwcm90bywgY29uc3QgQmF0Y2hl
ZEF0dHJpYnV0ZSogYXR0cmlidXRlcywgc2l6ZV90IGF0dHJpYnV0ZUNvdW50KQogewogICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgYXR0cmlidXRlQ291bnQ7ICsraSkgewpAQCAtNjk4LDM3ICs3
MDAsNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFByb3h5OjpuZXdJbnN0YW5jCiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIAotdjg6OkxvY2FsPHY4OjpGdW5jdGlvbj4gVjhQcm94eTo6Z2V0Q29u
c3RydWN0b3IoVjhDbGFzc0luZGV4OjpWOFdyYXBwZXJUeXBlIHR5cGUpCi17Ci0gICAgLy8gQSBE
T00gY29uc3RydWN0b3IgaXMgYSBmdW5jdGlvbiBpbnN0YW5jZSBjcmVhdGVkIGZyb20gYSBET00g
Y29uc3RydWN0b3IKLSAgICAvLyB0ZW1wbGF0ZS4gVGhlcmUgaXMgb25lIGluc3RhbmNlIHBlciBj
b250ZXh0LiBBIERPTSBjb25zdHJ1Y3RvciBpcwotICAgIC8vIGRpZmZlcmVudCBmcm9tIGEgbm9y
bWFsIGZ1bmN0aW9uIGluIHR3byB3YXlzOgotICAgIC8vICAgMSkgaXQgY2Fubm90IGJlIGNhbGxl
ZCBhcyBjb25zdHJ1Y3RvciAoYWthLCB1c2VkIHRvIGNyZWF0ZSBhIERPTSBvYmplY3QpCi0gICAg
Ly8gICAyKSBpdHMgX19wcm90b19fIHBvaW50cyB0byBPYmplY3QucHJvdG90eXBlIHJhdGhlciB0
aGFuCi0gICAgLy8gICAgICBGdW5jdGlvbi5wcm90b3R5cGUuCi0gICAgLy8gVGhlIHJlYXNvbiBm
b3IgMikgaXMgdGhhdCwgaW4gU2FmYXJpLCBhIERPTSBjb25zdHJ1Y3RvciBpcyBhIG5vcm1hbCBK
UwotICAgIC8vIG9iamVjdCwgYnV0IG5vdCBhIGZ1bmN0aW9uLiBIb3RtYWlsIHJlbGllcyBvbiB0
aGUgZmFjdCB0aGF0LCBpbiBTYWZhcmksCi0gICAgLy8gSFRNTEVsZW1lbnQuX19wcm90b19fID09
IE9iamVjdC5wcm90b3R5cGUuCi0gICAgLy8KLSAgICAvLyBtX29iamVjdFByb3RvdHlwZSBpcyBh
IGNhY2hlIG9mIHRoZSBvcmlnaW5hbCBPYmplY3QucHJvdG90eXBlLgotCi0gICAgQVNTRVJUKGlz
Q29udGV4dEluaXRpYWxpemVkKCkpOwotICAgIC8vIEVudGVyIHRoZSBjb250ZXh0IG9mIHRoZSBw
cm94eSB0byBtYWtlIHN1cmUgdGhhdCB0aGUKLSAgICAvLyBmdW5jdGlvbiBpcyBjb25zdHJ1Y3Rl
ZCBpbiB0aGUgY29udGV4dCBjb3JyZXNwb25kaW5nIHRvCi0gICAgLy8gdGhpcyBwcm94eS4KLSAg
ICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUobV9jb250ZXh0KTsKLSAgICB2ODo6SGFuZGxlPHY4
OjpGdW5jdGlvblRlbXBsYXRlPiBmdW5jdGlvblRlbXBsYXRlID0gVjhET01XcmFwcGVyOjpnZXRU
ZW1wbGF0ZSh0eXBlKTsKLSAgICAvLyBHZXR0aW5nIHRoZSBmdW5jdGlvbiBtaWdodCBmYWlsIGlm
IHdlJ3JlIHJ1bm5pbmcgb3V0IG9mCi0gICAgLy8gc3RhY2sgb3IgbWVtb3J5LgotICAgIHY4OjpU
cnlDYXRjaCB0cnlDYXRjaDsKLSAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiB2YWx1ZSA9IGZ1
bmN0aW9uVGVtcGxhdGUtPkdldEZ1bmN0aW9uKCk7Ci0gICAgaWYgKHZhbHVlLklzRW1wdHkoKSkK
LSAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPigpOwotICAgIC8vIEhvdG1haWwg
Zml4LCBzZWUgY29tbWVudHMgYWJvdmUuCi0gICAgdmFsdWUtPlNldCh2ODo6U3RyaW5nOjpOZXco
Il9fcHJvdG9fXyIpLCBtX29iamVjdFByb3RvdHlwZSk7Ci0gICAgcmV0dXJuIHZhbHVlOwotfQot
CiB2ODo6TG9jYWw8djg6Ok9iamVjdD4gVjhQcm94eTo6Y3JlYXRlV3JhcHBlckZyb21DYWNoZShW
OENsYXNzSW5kZXg6OlY4V3JhcHBlclR5cGUgdHlwZSkKIHsKICAgICBpbnQgY2xhc3NJbmRleCA9
IFY4Q2xhc3NJbmRleDo6VG9JbnQodHlwZSk7CkBAIC03MzksNyArNzEwLDcgQEAgdjg6OkxvY2Fs
PHY4OjpPYmplY3Q+IFY4UHJveHk6OmNyZWF0ZVdyYQogICAgIC8vIE5vdCBpbiBjYWNoZS4KICAg
ICBpbml0Q29udGV4dElmTmVlZGVkKCk7CiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKG1f
Y29udGV4dCk7Ci0gICAgdjg6OkxvY2FsPHY4OjpGdW5jdGlvbj4gZnVuY3Rpb24gPSBnZXRDb25z
dHJ1Y3Rvcih0eXBlKTsKKyAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBmdW5jdGlvbiA9IFY4
RE9NV3JhcHBlcjo6Z2V0Q29uc3RydWN0b3IodHlwZSwgZ2V0SGlkZGVuT2JqZWN0UHJvdG90eXBl
KG1fY29udGV4dCkpOwogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBpbnN0YW5jZSA9IFNhZmVB
bGxvY2F0aW9uOjpuZXdJbnN0YW5jZShmdW5jdGlvbik7CiAgICAgaWYgKCFpbnN0YW5jZS5Jc0Vt
cHR5KCkpIHsKICAgICAgICAgbV93cmFwcGVyQm9pbGVycGxhdGVzLT5TZXQodjg6OkludGVnZXI6
Ok5ldyhjbGFzc0luZGV4KSwgaW5zdGFuY2UpOwpAQCAtNzUwLDEwICs3MjEsOSBAQCB2ODo6TG9j
YWw8djg6Ok9iamVjdD4gVjhQcm94eTo6Y3JlYXRlV3JhCiAKIGJvb2wgVjhQcm94eTo6aXNDb250
ZXh0SW5pdGlhbGl6ZWQoKQogewotICAgIC8vIG1fY29udGV4dCwgbV9nbG9iYWwsIG1fb2JqZWN0
UHJvdG90eXBlIGFuZCBtX3dyYXBwZXJCb2lsZXJwbGF0ZXMgc2hvdWxkCisgICAgLy8gbV9jb250
ZXh0LCBtX2dsb2JhbCwgYW5kIG1fd3JhcHBlckJvaWxlcnBsYXRlcyBzaG91bGQKICAgICAvLyBh
bGwgYmUgbm9uLWVtcHR5IGlmIGlmIG1fY29udGV4dCBpcyBub24tZW1wdHkuCiAgICAgQVNTRVJU
KG1fY29udGV4dC5Jc0VtcHR5KCkgfHwgIW1fZ2xvYmFsLklzRW1wdHkoKSk7Ci0gICAgQVNTRVJU
KG1fY29udGV4dC5Jc0VtcHR5KCkgfHwgIW1fb2JqZWN0UHJvdG90eXBlLklzRW1wdHkoKSk7CiAg
ICAgQVNTRVJUKG1fY29udGV4dC5Jc0VtcHR5KCkgfHwgIW1fd3JhcHBlckJvaWxlcnBsYXRlcy5J
c0VtcHR5KCkpOwogICAgIHJldHVybiAhbV9jb250ZXh0LklzRW1wdHkoKTsKIH0KQEAgLTk1Miwx
NCArOTIyLDYgQEAgdm9pZCBWOFByb3h5OjpkaXNwb3NlQ29udGV4dEhhbmRsZXMoKQogICAgICAg
ICBtX3dyYXBwZXJCb2lsZXJwbGF0ZXMuRGlzcG9zZSgpOwogICAgICAgICBtX3dyYXBwZXJCb2ls
ZXJwbGF0ZXMuQ2xlYXIoKTsKICAgICB9Ci0KLSAgICBpZiAoIW1fb2JqZWN0UHJvdG90eXBlLklz
RW1wdHkoKSkgewotI2lmbmRlZiBOREVCVUcKLSAgICAgICAgVjhHQ0NvbnRyb2xsZXI6OnVucmVn
aXN0ZXJHbG9iYWxIYW5kbGUodGhpcywgbV9vYmplY3RQcm90b3R5cGUpOwotI2VuZGlmCi0gICAg
ICAgIG1fb2JqZWN0UHJvdG90eXBlLkRpc3Bvc2UoKTsKLSAgICAgICAgbV9vYmplY3RQcm90b3R5
cGUuQ2xlYXIoKTsKLSAgICB9CiB9CiAKIHZvaWQgVjhQcm94eTo6Y2xlYXJGb3JDbG9zZSgpCkBA
IC0xMTc3LDcgKzExMzksNyBAQCBib29sIFY4UHJveHk6Omluc3RhbGxET01XaW5kb3codjg6Okhh
bmRsCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIENyZWF0ZSBhIG5ldyBKUyB3aW5k
b3cgb2JqZWN0IGFuZCB1c2UgaXQgYXMgdGhlIHByb3RvdHlwZSBmb3IgdGhlICBzaGFkb3cgZ2xv
YmFsIG9iamVjdC4KLSAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gd2luZG93Q29uc3RydWN0
b3IgPSBnZXRDb25zdHJ1Y3RvcihWOENsYXNzSW5kZXg6OkRPTVdJTkRPVyk7CisgICAgdjg6Okhh
bmRsZTx2ODo6RnVuY3Rpb24+IHdpbmRvd0NvbnN0cnVjdG9yID0gVjhET01XcmFwcGVyOjpnZXRD
b25zdHJ1Y3RvcihWOENsYXNzSW5kZXg6OkRPTVdJTkRPVywgZ2V0SGlkZGVuT2JqZWN0UHJvdG90
eXBlKGNvbnRleHQpKTsKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4ganNXaW5kb3cgPSBTYWZl
QWxsb2NhdGlvbjo6bmV3SW5zdGFuY2Uod2luZG93Q29uc3RydWN0b3IpOwogICAgIC8vIEJhaWwg
b3V0IGlmIGFsbG9jYXRpb24gZmFpbGVkLgogICAgIGlmIChqc1dpbmRvdy5Jc0VtcHR5KCkpCkBA
IC0xMjc5LDI2ICsxMjQxLDE0IEBAIHZvaWQgVjhQcm94eTo6aW5pdENvbnRleHRJZk5lZWRlZCgp
CiAjZW5kaWYKICAgICB9CiAKLSAgICAvLyBBbGxvY2F0ZSBzdHJpbmdzIHVzZWQgZHVyaW5nIGlu
aXRpYWxpemF0aW9uLgotICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gb2JqZWN0U3RyaW5nID0g
djg6OlN0cmluZzo6TmV3KCJPYmplY3QiKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHBy
b3RvdHlwZVN0cmluZyA9IHY4OjpTdHJpbmc6Ok5ldygicHJvdG90eXBlIik7Ci0gICAgLy8gQmFp
bCBvdXQgaWYgYWxsb2NhdGlvbiBmYWlsZWQuCi0gICAgaWYgKG9iamVjdFN0cmluZy5Jc0VtcHR5
KCkgfHwgcHJvdG90eXBlU3RyaW5nLklzRW1wdHkoKSkgewotICAgICAgICBkaXNwb3NlQ29udGV4
dEhhbmRsZXMoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIEFsbG9jYXRlIGNs
b25lIGNhY2hlIGFuZCBwcmUtYWxsb2NhdGVkIG9iamVjdHMKLSAgICB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IG9iamVjdCA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QobV9nbG9iYWwtPkdl
dChvYmplY3RTdHJpbmcpKTsKLSAgICBtX29iamVjdFByb3RvdHlwZSA9IHY4OjpQZXJzaXN0ZW50
PHY4OjpWYWx1ZT46Ok5ldyhvYmplY3QtPkdldChwcm90b3R5cGVTdHJpbmcpKTsKKyAgICBpbnN0
YWxsSGlkZGVuT2JqZWN0UHJvdG90eXBlKG1fY29udGV4dCk7CiAgICAgbV93cmFwcGVyQm9pbGVy
cGxhdGVzID0gdjg6OlBlcnNpc3RlbnQ8djg6OkFycmF5Pjo6TmV3KHY4OjpBcnJheTo6TmV3KFY4
Q2xhc3NJbmRleDo6V1JBUFBFUl9UWVBFX0NPVU5UKSk7CiAgICAgLy8gQmFpbCBvdXQgaWYgYWxs
b2NhdGlvbiBmYWlsZWQuCi0gICAgaWYgKG1fb2JqZWN0UHJvdG90eXBlLklzRW1wdHkoKSkgewor
ICAgIGlmIChtX3dyYXBwZXJCb2lsZXJwbGF0ZXMuSXNFbXB0eSgpKSB7CiAgICAgICAgIGRpc3Bv
c2VDb250ZXh0SGFuZGxlcygpOwogICAgICAgICByZXR1cm47CiAgICAgfQogI2lmbmRlZiBOREVC
VUcKLSAgICBWOEdDQ29udHJvbGxlcjo6cmVnaXN0ZXJHbG9iYWxIYW5kbGUoUFJPWFksIHRoaXMs
IG1fb2JqZWN0UHJvdG90eXBlKTsKICAgICBWOEdDQ29udHJvbGxlcjo6cmVnaXN0ZXJHbG9iYWxI
YW5kbGUoUFJPWFksIHRoaXMsIG1fd3JhcHBlckJvaWxlcnBsYXRlcyk7CiAjZW5kaWYKIApAQCAt
MTUyMiw0ICsxNDcyLDI0IEBAIGludCBWOFByb3h5Ojpjb250ZXh0RGVidWdJZCh2ODo6SGFuZGxl
PHYKICAgICByZXR1cm4gZGF0YS0+SXNJbnQzMigpID8gZGF0YS0+SW50MzJWYWx1ZSgpIDogLTE7
CiB9CiAKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFByb3h5OjpnZXRIaWRkZW5PYmplY3RQcm90
b3R5cGUodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCkKK3sKKyAgICByZXR1cm4gY29u
dGV4dC0+R2xvYmFsKCktPkdldEhpZGRlblZhbHVlKHY4OjpTdHJpbmc6Ok5ldyhoaWRkZW5PYmpl
Y3RQcm90b3R5cGVLZXkpKTsKK30KKwordm9pZCBWOFByb3h5OjppbnN0YWxsSGlkZGVuT2JqZWN0
UHJvdG90eXBlKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQpCit7CisgICAgdjg6Okhh
bmRsZTx2ODo6U3RyaW5nPiBvYmplY3RTdHJpbmcgPSB2ODo6U3RyaW5nOjpOZXcoIk9iamVjdCIp
OworICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gcHJvdG90eXBlU3RyaW5nID0gdjg6OlN0cmlu
Zzo6TmV3KCJwcm90b3R5cGUiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGhpZGRlbk9i
amVjdFByb3RvdHlwZVN0cmluZyA9IHY4OjpTdHJpbmc6Ok5ldyhoaWRkZW5PYmplY3RQcm90b3R5
cGVLZXkpOworICAgIC8vIEJhaWwgb3V0IGlmIGFsbG9jYXRpb24gZmFpbGVkLgorICAgIGlmIChv
YmplY3RTdHJpbmcuSXNFbXB0eSgpIHx8IHByb3RvdHlwZVN0cmluZy5Jc0VtcHR5KCkgfHwgaGlk
ZGVuT2JqZWN0UHJvdG90eXBlU3RyaW5nLklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3QgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
OjpDYXN0KGNvbnRleHQtPkdsb2JhbCgpLT5HZXQob2JqZWN0U3RyaW5nKSk7CisgICAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IG9iamVjdFByb3RvdHlwZSA9IG9iamVjdC0+R2V0KHByb3RvdHlwZVN0
cmluZyk7CisKKyAgICBjb250ZXh0LT5HbG9iYWwoKS0+U2V0SGlkZGVuVmFsdWUoaGlkZGVuT2Jq
ZWN0UHJvdG90eXBlU3RyaW5nLCBvYmplY3RQcm90b3R5cGUpOworfQorCiB9ICAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgJKHJldmlzaW9uIDQ1ODgzKQorKysg
V2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzOSw5ICsy
MzksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIENhbGwgdGhlIGZ1bmN0aW9u
IGFzIGNvbnN0cnVjdG9yIHdpdGggdGhlIGdpdmVuIGFyZ3VtZW50cy4KICAgICAgICAgdjg6Okxv
Y2FsPHY4OjpWYWx1ZT4gbmV3SW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+LCBpbnQg
YXJnYywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSk7CiAKLSAgICAgICAgLy8gUmV0dXJu
cyB0aGUgZG9tIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIGZvciB0aGUgZ2l2ZW4gbm9kZSB0eXBlLgot
ICAgICAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBnZXRDb25zdHJ1Y3RvcihWOENsYXNzSW5k
ZXg6OlY4V3JhcHBlclR5cGUpOwotCiAgICAgICAgIC8vIFRvIGNyZWF0ZSBKUyBXcmFwcGVyIG9i
amVjdHMsIHdlIGNyZWF0ZSBhIGNhY2hlIG9mIGEgJ2JvaWxlciBwbGF0ZScKICAgICAgICAgLy8g
b2JqZWN0LCBhbmQgdGhlbiBzaW1wbHkgQ2xvbmUgdGhhdCBvYmplY3QgZWFjaCB0aW1lIHdlIG5l
ZWQgYSBuZXcgb25lLgogICAgICAgICAvLyBUaGlzIGlzIGZhc3RlciB0aGFuIGdvaW5nIHRocm91
Z2ggdGhlIGZ1bGwgb2JqZWN0IGNyZWF0aW9uIHByb2Nlc3MuCkBAIC0zNDksNiArMzQ2LDEwIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBzZXRDb250ZXh0RGVidWdJZChpbnQg
aWQpOwogICAgICAgICBzdGF0aWMgaW50IGNvbnRleHREZWJ1Z0lkKHY4OjpIYW5kbGU8djg6OkNv
bnRleHQ+KTsKIAorICAgICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGdldEhpZGRl
bk9iamVjdFByb3RvdHlwZSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0Pik7CisgICAgICAgIC8vIFdB
Uk5JTkc6IENhbGwgfGluc3RhbGxIaWRkZW5PYmplY3RQcm90b3R5cGV8IG9ubHkgb24gZnJlc2gg
Y29udGV4dHMhCisgICAgICAgIHN0YXRpYyB2b2lkIGluc3RhbGxIaWRkZW5PYmplY3RQcm90b3R5
cGUodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4pOworCiAgICAgICAgIC8vIFJlZ2lzdGVycyBhbiBl
eHRlbnNpb24gdG8gYmUgYXZhaWxhYmxlIG9uIHdlYnBhZ2VzIHdpdGggYSBwYXJ0aWN1bGFyIHNj
aGVtZQogICAgICAgICAvLyBJZiB0aGUgc2NoZW1lIGFyZ3VtZW50IGlzIGVtcHR5LCB0aGUgZXh0
ZW5zaW9uIGlzIGF2YWlsYWJsZSBvbiBhbGwgcGFnZXMuCiAgICAgICAgIC8vIFdpbGwgb25seSBh
ZmZlY3QgdjggY29udGV4dHMgaW5pdGlhbGl6ZWQgYWZ0ZXIgdGhpcyBjYWxsLiBUYWtlcyBvd25l
cnNoaXAKQEAgLTM1Nyw3ICszNTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
Ly8gRklYTUU6IFNlcGFyYXRlIHRoZXNlIGNvbmNlcm5zIGZyb20gVjhQcm94eT8KICAgICAgICAg
djg6OlBlcnNpc3RlbnQ8djg6OkNvbnRleHQ+IGNyZWF0ZU5ld0NvbnRleHQodjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiBnbG9iYWwpOwotICAgICAgICBib29sIGluc3RhbGxET01XaW5kb3codjg6Okhh
bmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCwgRE9NV2luZG93KiB3aW5kb3cpOworICAgICAgICBz
dGF0aWMgYm9vbCBpbnN0YWxsRE9NV2luZG93KHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRl
eHQsIERPTVdpbmRvdyogd2luZG93KTsKIAogICAgICAgICB2b2lkIGluaXRDb250ZXh0SWZOZWVk
ZWQoKTsKICAgICAgICAgdm9pZCB1cGRhdGVEb2N1bWVudFdyYXBwZXIodjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHdyYXBwZXIpOwpAQCAtNDA5LDExICs0MTAsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpDb250ZXh0PiBtX2NvbnRleHQ7CiAgICAg
ICAgIC8vIEZvciBlYWNoIHBvc3NpYmxlIHR5cGUgb2Ygd3JhcHBlciwgd2Uga2VlcCBhIGJvaWxl
cnBsYXRlIG9iamVjdC4KLSAgICAgICAgLy8gVGhlIGJvaWxlcnBsYXRlIGlzIHVzZWQgdG8gY3Jl
YXRlIGFkZGl0aW9uYWwgd3JhcHBlcnMgb2YgdGhlIHNhbWUgdHlwZS4KLSAgICAgICAgLy8gV2Ug
a2VlcCBhIHNpbmdsZSBwZXJzaXN0ZW50IGhhbmRsZSB0byBhbiBhcnJheSBvZiB0aGUgYWN0aXZh
dGVkCi0gICAgICAgIC8vIGJvaWxlcnBsYXRlcy4KKyAgICAgICAgLy8gVGhlIGJvaWxlcnBsYXRl
IGlzIHVzZWQgdG8gY3JlYXRlIGFkZGl0aW9uYWwgd3JhcHBlcnMgb2YgdGhlIHNhbWUKKyAgICAg
ICAgLy8gdHlwZS4gIFdlIGtlZXAgYSBzaW5nbGUgcGVyc2lzdGVudCBoYW5kbGUgdG8gYW4gYXJy
YXkgb2YgdGhlCisgICAgICAgIC8vIGFjdGl2YXRlZCBib2lsZXJwbGF0ZXMuCiAgICAgICAgIHY4
OjpQZXJzaXN0ZW50PHY4OjpBcnJheT4gbV93cmFwcGVyQm9pbGVycGxhdGVzOwotICAgICAgICB2
ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IG1fb2JqZWN0UHJvdG90eXBlOwogCiAgICAgICAgIHY4
OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG1fZ2xvYmFsOwogICAgICAgICB2ODo6UGVyc2lzdGVu
dDx2ODo6VmFsdWU+IG1fZG9jdW1lbnQ7
</data>
<flag name="review"
          id="17135"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>