<?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>107140</bug_id>
          
          <creation_ts>2013-01-17 10:12:12 -0800</creation_ts>
          <short_desc>Wire BackgroundHTMLParser to HTMLDocumentParser</short_desc>
          <delta_ts>2013-01-17 11:53:36 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>106127</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Gentilcore">tonyg</reporter>
          <assigned_to name="Tony Gentilcore">tonyg</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>809436</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-01-17 10:12:12 -0800</bug_when>
    <thetext>Wire BackgroundHTMLParser to HTMLDocumentParser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809476</commentid>
    <comment_count>1</comment_count>
      <attachid>183211</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-01-17 10:46:58 -0800</bug_when>
    <thetext>Created attachment 183211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809484</commentid>
    <comment_count>2</comment_count>
      <attachid>183211</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-17 10:53:43 -0800</bug_when>
    <thetext>Comment on attachment 183211
Patch

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

&gt; Source/WebCore/html/parser/BackgroundHTMLParser.cpp:182
&gt; -            parser-&gt;didReceiveTokensFromBackgroundParser(delivery-&gt;tokens);
&gt; +            parser-&gt;feedTokens(delivery-&gt;tokens);

Can we keep the didReceiveTokensFromBackgroundParser name?  It&apos;s much more descriptive than &quot;feedTokens&quot;.

&gt; Source/WebCore/html/parser/HTMLDocumentParser.h:44
&gt; +class BackgroundHTMLParser;

I would probably put this forward declaration inside the ifdef.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809492</commentid>
    <comment_count>3</comment_count>
      <attachid>183213</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-01-17 10:58:41 -0800</bug_when>
    <thetext>Created attachment 183213
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809495</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-01-17 11:00:00 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 183211 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=183211&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/parser/BackgroundHTMLParser.cpp:182
&gt; &gt; -            parser-&gt;didReceiveTokensFromBackgroundParser(delivery-&gt;tokens);
&gt; &gt; +            parser-&gt;feedTokens(delivery-&gt;tokens);
&gt; 
&gt; Can we keep the didReceiveTokensFromBackgroundParser name?  It&apos;s much more descriptive than &quot;feedTokens&quot;.

Done.

&gt; 
&gt; &gt; Source/WebCore/html/parser/HTMLDocumentParser.h:44
&gt; &gt; +class BackgroundHTMLParser;
&gt; 
&gt; I would probably put this forward declaration inside the ifdef.

Actually it wasn&apos;t necessary at all. I removed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809581</commentid>
    <comment_count>5</comment_count>
      <attachid>183213</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-17 11:53:33 -0800</bug_when>
    <thetext>Comment on attachment 183213
Patch for landing

Clearing flags on attachment: 183213

Committed r140019: &lt;http://trac.webkit.org/changeset/140019&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809582</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-17 11:53:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183211</attachid>
            <date>2013-01-17 10:46:58 -0800</date>
            <delta_ts>2013-01-17 10:58:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107140-20130117104358.patch</filename>
            <type>text/plain</type>
            <size>13157</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5OTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFhZDQ2OGE1YjBlZDdh
OWE2MjBjY2NkZWE4YzhlYzQ3MDdiNGExNi4uZTc5ZThlZTVkNzIyZWRiZWRhYmM3Nzg4NzkwMzJh
Zjk4ODhkYWQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAxLTE3ICBUb255
IEdlbnRpbGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2lyZSBCYWNrZ3Jv
dW5kSFRNTFBhcnNlciB0byBIVE1MRG9jdW1lbnRQYXJzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzE0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdpdGggdGhpcyBwYXRjaCwgd2Ugbm93IHBhc3Mg
dGhlIG1ham9yaXR5IG9mIGh0bWw1bGliIGFuZCBmYXN0L3BhcnNlciB0ZXN0cyB3aXRoIHRocmVh
ZGVkIEhUTUwgcGFyc2luZyBlbmFibGVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNl
IGNvdmVyZWQgYnkgZXhpc3RpbmcgZmFzdC9wYXJzZXIgdGVzdHMuCisKKyAgICAgICAgKiBodG1s
L3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUb2tl
bkRlbGl2ZXJ5OjpleGVjdXRlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9j
dW1lbnRQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjp+SFRN
TERvY3VtZW50UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6
cHJvY2Vzc2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpy
ZXN1bWVQYXJzaW5nQWZ0ZXJZaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQ
YXJzZXI6OmNhblRha2VOZXh0VG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50
UGFyc2VyOjpmZWVkVG9rZW5zKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNl
cjo6cHVtcFRva2VuaXplcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxEb2N1bWVudFBhcnNlcjo6c3RhcnRCYWNrZ3JvdW5kUGFyc2VyKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6c3RvcEJhY2tncm91bmRQYXJzZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTERvY3VtZW50UGFyc2VyOjplbmQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3Vt
ZW50UGFyc2VyOjpmaW5pc2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2Vy
OjpyZXN1bWVQYXJzaW5nQWZ0ZXJTY3JpcHRFeGVjdXRpb24pOgorICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxEb2N1bWVudFBhcnNlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChI
VE1MRG9jdW1lbnRQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2Vy
OjpoYXNQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJz
ZXI6OnNob3VsZFVzZVRocmVhZGluZyk6CisKIDIwMTMtMDEtMTcgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxMzk5MjkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9CYWNr
Z3JvdW5kSFRNTFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9CYWNrZ3Jv
dW5kSFRNTFBhcnNlci5jcHAKaW5kZXggN2Y1NmUxMmY5YThhM2Y4YThiNDI1OWQ0ZjZmMDY0ZTM3
NmRjMmFjNS4uNDQyOTIwYWE3MTgyZTI0NGJmZTlmZjVhZDkyNjQ0M2I5YzE1NzljMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0JhY2tncm91bmRIVE1MUGFyc2VyLmNw
cApAQCAtMTc5LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICAgICAgVG9rZW5EZWxpdmVyeSogZGVs
aXZlcnkgPSBzdGF0aWNfY2FzdDxUb2tlbkRlbGl2ZXJ5Kj4oY29udGV4dCk7CiAgICAgICAgIEhU
TUxEb2N1bWVudFBhcnNlciogcGFyc2VyID0gcGFyc2VyTWFwKCkubWFpblRocmVhZFBhcnNlcnMo
KS5nZXQoZGVsaXZlcnktPmlkZW50aWZpZXIpOwogICAgICAgICBpZiAocGFyc2VyKQotICAgICAg
ICAgICAgcGFyc2VyLT5kaWRSZWNlaXZlVG9rZW5zRnJvbUJhY2tncm91bmRQYXJzZXIoZGVsaXZl
cnktPnRva2Vucyk7CisgICAgICAgICAgICBwYXJzZXItPmZlZWRUb2tlbnMoZGVsaXZlcnktPnRv
a2Vucyk7CiAgICAgICAgIC8vIEZJWE1FOiBJZGVhbGx5IHdlIHdvdWxkbid0IG5lZWQgdG8gY2Fs
bCBkZWxldGUgbWFudWFsbHkuIEluc3RlYWQKICAgICAgICAgLy8gd2Ugd291bGQgbGlrZSBhbiBB
UEkgd2hlcmUgdGhlIG1lc3NhZ2UgcXVldWUgb3ducyB0aGUgdGFza3MgYW5kCiAgICAgICAgIC8v
IHRha2VzIGNhcmUgb2YgZGVsZXRpbmcgdGhlbS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCmluZGV4IDBhOWU3ZDg1ODgxMmU5NTI1Mjhm
MjRhN2M4NTJhZTFlOTBkZTg3NTEuLmZmMzFhODY1YjcwZjhmMDA4NWVmYjZlNTE1MWZjMDUzOTM0
ZTA3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50
UGFyc2VyLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogCisjaW5jbHVkZSAiQmFja2dyb3VuZEhUTUxQYXJz
ZXIuaCIKICNpbmNsdWRlICJDb21wYWN0SFRNTFRva2VuLmgiCiAjaW5jbHVkZSAiQ29udGVudFNl
Y3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgpAQCAtMzMsNiAr
MzQsNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5j
bHVkZSAiSFRNTFBhcnNlclNjaGVkdWxlci5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJUaHJlYWQu
aCIKICNpbmNsdWRlICJIVE1MVG9rZW5pemVyLmgiCiAjaW5jbHVkZSAiSFRNTFByZWxvYWRTY2Fu
bmVyLmgiCiAjaW5jbHVkZSAiSFRNTFNjcmlwdFJ1bm5lci5oIgpAQCAtNDEsNiArNDMsNyBAQAog
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIk5lc3RpbmdM
ZXZlbEluY3JlbWVudGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlIDx3dGYv
RnVuY3Rpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTgwLDYgKzgzLDcgQEAg
SFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTERvY3VtZW50KiBkb2N1
bWVudCwgYm9vbCByZXBvcnRFcnJvcnMKICAgICAsIG1fcGFyc2VyU2NoZWR1bGVyKEhUTUxQYXJz
ZXJTY2hlZHVsZXI6OmNyZWF0ZSh0aGlzKSkKICAgICAsIG1feHNzQXVkaXRvcih0aGlzKQogICAg
ICwgbV9lbmRXYXNEZWxheWVkKGZhbHNlKQorICAgICwgbV9oYXZlQmFja2dyb3VuZFBhcnNlcihm
YWxzZSkKICAgICAsIG1fcHVtcFNlc3Npb25OZXN0aW5nTGV2ZWwoMCkKIHsKIH0KQEAgLTkzLDYg
Kzk3LDcgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnRG
cmFnbWVudCogZnJhZ21lbnQsIEVsZW1lbnQqIGNvbnQKICAgICAsIG1fdHJlZUJ1aWxkZXIoSFRN
TFRyZWVCdWlsZGVyOjpjcmVhdGUodGhpcywgZnJhZ21lbnQsIGNvbnRleHRFbGVtZW50LCBzY3Jp
cHRpbmdQZXJtaXNzaW9uLCBtX29wdGlvbnMpKQogICAgICwgbV94c3NBdWRpdG9yKHRoaXMpCiAg
ICAgLCBtX2VuZFdhc0RlbGF5ZWQoZmFsc2UpCisgICAgLCBtX2hhdmVCYWNrZ3JvdW5kUGFyc2Vy
KGZhbHNlKQogICAgICwgbV9wdW1wU2Vzc2lvbk5lc3RpbmdMZXZlbCgwKQogewogICAgIGJvb2wg
cmVwb3J0RXJyb3JzID0gZmFsc2U7IC8vIEZvciBub3cgZG9jdW1lbnQgZnJhZ21lbnQgcGFyc2lu
ZyBuZXZlciByZXBvcnRzIGVycm9ycy4KQEAgLTEwNSw2ICsxMTAsNyBAQCBIVE1MRG9jdW1lbnRQ
YXJzZXI6On5IVE1MRG9jdW1lbnRQYXJzZXIoKQogICAgIEFTU0VSVCghbV9wdW1wU2Vzc2lvbk5l
c3RpbmdMZXZlbCk7CiAgICAgQVNTRVJUKCFtX3ByZWxvYWRTY2FubmVyKTsKICAgICBBU1NFUlQo
IW1faW5zZXJ0aW9uUHJlbG9hZFNjYW5uZXIpOworICAgIEFTU0VSVCghbV9oYXZlQmFja2dyb3Vu
ZFBhcnNlcik7CiB9CiAKIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpkZXRhY2goKQpAQCAtMTY0
LDcgKzE3MCw3IEBAIGJvb2wgSFRNTERvY3VtZW50UGFyc2VyOjppc1BhcnNpbmdGcmFnbWVudCgp
IGNvbnN0CiAKIGJvb2wgSFRNTERvY3VtZW50UGFyc2VyOjpwcm9jZXNzaW5nRGF0YSgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIGlzU2NoZWR1bGVkRm9yUmVzdW1lKCkgfHwgaW5QdW1wU2Vzc2lvbigp
OworICAgIHJldHVybiBpc1NjaGVkdWxlZEZvclJlc3VtZSgpIHx8IGluUHVtcFNlc3Npb24oKSB8
fCBtX2hhdmVCYWNrZ3JvdW5kUGFyc2VyOwogfQogCiB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6
cHVtcFRva2VuaXplcklmUG9zc2libGUoU3luY2hyb25vdXNNb2RlIG1vZGUpCkBAIC0xODksNiAr
MTk1LDggQEAgYm9vbCBIVE1MRG9jdW1lbnRQYXJzZXI6OmlzU2NoZWR1bGVkRm9yUmVzdW1lKCkg
Y29uc3QKIC8vIFVzZWQgYnkgSFRNTFBhcnNlclNjaGVkdWxlcgogdm9pZCBIVE1MRG9jdW1lbnRQ
YXJzZXI6OnJlc3VtZVBhcnNpbmdBZnRlcllpZWxkKCkKIHsKKyAgICBBU1NFUlQoIXNob3VsZFVz
ZVRocmVhZGluZygpKTsKKwogICAgIC8vIHB1bXBUb2tlbml6ZXIgY2FuIGNhdXNlIHRoaXMgcGFy
c2VyIHRvIGJlIGRldGFjaGVkIGZyb20gdGhlIERvY3VtZW50LAogICAgIC8vIGJ1dCB3ZSBuZWVk
IHRvIGVuc3VyZSBpdCBpc24ndCBkZWxldGVkIHlldC4KICAgICBSZWZQdHI8SFRNTERvY3VtZW50
UGFyc2VyPiBwcm90ZWN0KHRoaXMpOwpAQCAtMjEzLDYgKzIyMSw4IEBAIGJvb2wgSFRNTERvY3Vt
ZW50UGFyc2VyOjpjYW5UYWtlTmV4dFRva2VuKFN5bmNocm9ub3VzTW9kZSBtb2RlLCBQdW1wU2Vz
c2lvbiYgc2VzCiAgICAgaWYgKGlzU3RvcHBlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
KyAgICBBU1NFUlQoIXNob3VsZFVzZVRocmVhZGluZygpIHx8IG1vZGUgPT0gRm9yY2VTeW5jaHJv
bm91cyk7CisKICAgICBpZiAoaXNXYWl0aW5nRm9yU2NyaXB0cygpKSB7CiAgICAgICAgIGlmICht
b2RlID09IEFsbG93WWllbGQpCiAgICAgICAgICAgICBtX3BhcnNlclNjaGVkdWxlci0+Y2hlY2tG
b3JZaWVsZEJlZm9yZVNjcmlwdChzZXNzaW9uKTsKQEAgLTI0NSw5ICsyNTUsNDYgQEAgYm9vbCBI
VE1MRG9jdW1lbnRQYXJzZXI6OmNhblRha2VOZXh0VG9rZW4oU3luY2hyb25vdXNNb2RlIG1vZGUs
IFB1bXBTZXNzaW9uJiBzZXMKIAogI2lmIEVOQUJMRShUSFJFQURFRF9IVE1MX1BBUlNFUikKIAot
dm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVUb2tlbnNGcm9tQmFja2dyb3VuZFBh
cnNlcihjb25zdCBWZWN0b3I8Q29tcGFjdEhUTUxUb2tlbj4mIHRva2VucykKK3ZvaWQgSFRNTERv
Y3VtZW50UGFyc2VyOjpmZWVkVG9rZW5zKGNvbnN0IFZlY3RvcjxDb21wYWN0SFRNTFRva2VuPiYg
dG9rZW5zKQogewotICAgIC8vIEZJWE1FOiBBY3R1YWxseSBjb25zdW1lIHRoZSB0b2tlbnMuCisg
ICAgQVNTRVJUKHNob3VsZFVzZVRocmVhZGluZygpKTsKKworICAgIC8vIGZlZWRUb2tlbnMgY2Fu
IGNhdXNlIHRoaXMgcGFyc2VyIHRvIGJlIGRldGFjaGVkIGZyb20gdGhlIERvY3VtZW50LAorICAg
IC8vIGJ1dCB3ZSBuZWVkIHRvIGVuc3VyZSBpdCBpc24ndCBkZWxldGVkIHlldC4KKyAgICBSZWZQ
dHI8SFRNTERvY3VtZW50UGFyc2VyPiBwcm90ZWN0KHRoaXMpOworCisgICAgLy8gRklYTUU6IEFk
ZCBzdXBwb3J0IGZvciBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uCisKKyAgICBmb3IgKFZlY3Rv
cjxDb21wYWN0SFRNTFRva2VuPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSB0b2tlbnMuYmVnaW4oKTsg
aXQgIT0gdG9rZW5zLmVuZCgpOyArK2l0KSB7CisgICAgICAgIEFTU0VSVCghaXNXYWl0aW5nRm9y
U2NyaXB0cygpKTsKKworICAgICAgICAvLyBGSVhNRTogQ2FsbCBtX3hzc0F1ZGl0b3IuZmlsdGVy
VG9rZW4oKml0KS4KKyAgICAgICAgY29uc3RydWN0VHJlZUZyb21Db21wYWN0SFRNTFRva2VuKCpp
dCk7CisKKyAgICAgICAgaWYgKGlzU3RvcHBlZCgpKQorICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIC8vIEZJWE1FOiBXZSdsbCBwcm9iYWJseSBuZWVkIHRvIGNoZWNrIGRvY3VtZW50KCkt
PmZyYW1lKCktPm5hdmlnYXRpb25TY2hlZHVsZXIoKS0+bG9jYXRpb25DaGFuZ2VQZW5kaW5nKCkp
CisgICAgICAgIC8vIGFzIHdlIGRvIGluIGNhblRha2VOZXh0VG9rZW47CisKKyAgICAgICAgaWYg
KGlzV2FpdGluZ0ZvclNjcmlwdHMoKSkgeworICAgICAgICAgICAgcnVuU2NyaXB0c0ZvclBhdXNl
ZFRyZWVCdWlsZGVyKCk7CisgICAgICAgICAgICBpZiAoIWlzV2FpdGluZ0ZvclNjcmlwdHMoKSkg
eworICAgICAgICAgICAgICAgIFBhcnNlcklkZW50aWZpZXIgaWRlbnRpZmllciA9IFBhcnNlck1h
cDo6aWRlbnRpZmllckZvclBhcnNlcih0aGlzKTsKKyAgICAgICAgICAgICAgICBIVE1MUGFyc2Vy
VGhyZWFkOjpzaGFyZWQoKS0+cG9zdFRhc2soYmluZCgmQmFja2dyb3VuZEhUTUxQYXJzZXI6OmNv
bnRpbnVlUGFydGlhbCwgaWRlbnRpZmllcikpOworICAgICAgICAgICAgfQorICAgICAgICB9CisK
KyAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgdG9vIGFicnVwdCBhIHdheSB0byBlbmQgcGFyc2lu
ZyBiZWNhdXNlIHdlIG1pZ2h0CisgICAgICAgIC8vIGhhdmUgdG8gd2FpdCBmb3IgZGVmZXJyZWQg
c2NyaXB0cy4gV2UgcHJvYmFibHkgd2FudCB0byBjYWxsCisgICAgICAgIC8vIGF0dGVtcHRUb1J1
bkRlZmVycmVkU2NyaXB0c0FuZEVuZCgpLCBwcmVwYXJlVG9TdG9wUGFyc2luZygpLCBvcgorICAg
ICAgICAvLyBhdHRlbXB0VG9FbmQoKSBpbnN0ZWFkLgorICAgICAgICBpZiAoaXQtPnR5cGUoKSA9
PSBIVE1MVG9rZW5UeXBlczo6RW5kT2ZGaWxlKSB7CisgICAgICAgICAgICBEb2N1bWVudFBhcnNl
cjo6cHJlcGFyZVRvU3RvcFBhcnNpbmcoKTsKKyAgICAgICAgICAgIGRvY3VtZW50KCktPnNldFJl
YWR5U3RhdGUoRG9jdW1lbnQ6OkludGVyYWN0aXZlKTsKKyAgICAgICAgICAgIGVuZCgpOworICAg
ICAgICB9CisgICAgfQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX0hUTUxfUEFSU0VS
KQpAQCAtMjU5LDYgKzMwNiw4IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwdW1wVG9rZW5p
emVyKFN5bmNocm9ub3VzTW9kZSBtb2RlKQogICAgIC8vIEFTU0VSVCB0aGF0IHRoaXMgb2JqZWN0
IGlzIGJvdGggYXR0YWNoZWQgdG8gdGhlIERvY3VtZW50IGFuZCBwcm90ZWN0ZWQuCiAgICAgQVNT
RVJUKHJlZkNvdW50KCkgPj0gMik7CiAKKyAgICBBU1NFUlQoIXNob3VsZFVzZVRocmVhZGluZygp
IHx8IG1vZGUgPT0gRm9yY2VTeW5jaHJvbm91cyk7CisKICAgICBQdW1wU2Vzc2lvbiBzZXNzaW9u
KG1fcHVtcFNlc3Npb25OZXN0aW5nTGV2ZWwpOwogCiAgICAgLy8gV2UgdGVsbCB0aGUgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uIGFib3V0IGV2ZXJ5IHB1bXAsIGV2ZW4gaWYgd2UKQEAgLTM4Niwx
MSArNDM1LDQ5IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjppbnNlcnQoY29uc3QgU2VnbWVu
dGVkU3RyaW5nJiBzb3VyY2UpCiAgICAgZW5kSWZEZWxheWVkKCk7CiB9CiAKKyNpZiBFTkFCTEUo
VEhSRUFERURfSFRNTF9QQVJTRVIpCisKK3ZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpzdGFydEJh
Y2tncm91bmRQYXJzZXIoKQoreworICAgIEFTU0VSVCghbV9oYXZlQmFja2dyb3VuZFBhcnNlcik7
CisgICAgbV9oYXZlQmFja2dyb3VuZFBhcnNlciA9IHRydWU7CisKKyAgICBQYXJzZXJJZGVudGlm
aWVyIGlkZW50aWZpZXIgPSBQYXJzZXJNYXA6OmlkZW50aWZpZXJGb3JQYXJzZXIodGhpcyk7Cisg
ICAgcGFyc2VyTWFwKCkubWFpblRocmVhZFBhcnNlcnMoKS5zZXQoaWRlbnRpZmllciwgdGhpcyk7
CisKKyAgICBIVE1MUGFyc2VyVGhyZWFkOjpzaGFyZWQoKS0+cG9zdFRhc2soYmluZCgmQmFja2dy
b3VuZEhUTUxQYXJzZXI6OmNyZWF0ZVBhcnRpYWwsIGlkZW50aWZpZXIsIG1fb3B0aW9ucykpOwor
fQorCit2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6c3RvcEJhY2tncm91bmRQYXJzZXIoKQorewor
ICAgIEFTU0VSVChtX2hhdmVCYWNrZ3JvdW5kUGFyc2VyKTsKKyAgICBtX2hhdmVCYWNrZ3JvdW5k
UGFyc2VyID0gZmFsc2U7CisKKyAgICBQYXJzZXJJZGVudGlmaWVyIGlkZW50aWZpZXIgPSBQYXJz
ZXJNYXA6OmlkZW50aWZpZXJGb3JQYXJzZXIodGhpcyk7CisgICAgSFRNTFBhcnNlclRocmVhZDo6
c2hhcmVkKCktPnBvc3RUYXNrKGJpbmQoJkJhY2tncm91bmRIVE1MUGFyc2VyOjpzdG9wUGFydGlh
bCwgaWRlbnRpZmllcikpOworCisgICAgcGFyc2VyTWFwKCkubWFpblRocmVhZFBhcnNlcnMoKS5z
ZXQoaWRlbnRpZmllciwgMCk7CisgICAgLy8gV2Ugd2lsbCBub3QgcmVjaWV2ZSBhbnkgbWVzc2Fn
ZXMgZnJvbSB0aGUgcGFyc2VyIGFmdGVyIHRoaXMgcG9pbnQuCit9CisKKyNlbmRpZgorCiB2b2lk
IEhUTUxEb2N1bWVudFBhcnNlcjo6YXBwZW5kKGNvbnN0IFNlZ21lbnRlZFN0cmluZyYgc291cmNl
KQogewogICAgIGlmIChpc1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxF
KFRIUkVBREVEX0hUTUxfUEFSU0VSKQorICAgIGlmIChzaG91bGRVc2VUaHJlYWRpbmcoKSkgewor
ICAgICAgICBpZiAoIW1faGF2ZUJhY2tncm91bmRQYXJzZXIpCisgICAgICAgICAgICBzdGFydEJh
Y2tncm91bmRQYXJzZXIoKTsKKworICAgICAgICBQYXJzZXJJZGVudGlmaWVyIGlkZW50aWZpZXIg
PSBQYXJzZXJNYXA6OmlkZW50aWZpZXJGb3JQYXJzZXIodGhpcyk7CisgICAgICAgIEhUTUxQYXJz
ZXJUaHJlYWQ6OnNoYXJlZCgpLT5wb3N0VGFzayhiaW5kKCZCYWNrZ3JvdW5kSFRNTFBhcnNlcjo6
YXBwZW5kUGFydGlhbCwgaWRlbnRpZmllciwgc291cmNlLnRvU3RyaW5nKCkuaXNvbGF0ZWRDb3B5
KCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgLy8gcHVtcFRva2Vu
aXplciBjYW4gY2F1c2UgdGhpcyBwYXJzZXIgdG8gYmUgZGV0YWNoZWQgZnJvbSB0aGUgRG9jdW1l
bnQsCiAgICAgLy8gYnV0IHdlIG5lZWQgdG8gZW5zdXJlIGl0IGlzbid0IGRlbGV0ZWQgeWV0Lgog
ICAgIFJlZlB0cjxIVE1MRG9jdW1lbnRQYXJzZXI+IHByb3RlY3QodGhpcyk7CkBAIC00MjYsNiAr
NTEzLDExIEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjplbmQoKQogICAgIEFTU0VSVCghaXNE
ZXRhY2hlZCgpKTsKICAgICBBU1NFUlQoIWlzU2NoZWR1bGVkRm9yUmVzdW1lKCkpOwogCisjaWYg
RU5BQkxFKFRIUkVBREVEX0hUTUxfUEFSU0VSKQorICAgIGlmIChtX2hhdmVCYWNrZ3JvdW5kUGFy
c2VyKQorICAgICAgICBzdG9wQmFja2dyb3VuZFBhcnNlcigpOworI2VuZGlmCisKICAgICAvLyBJ
bmZvcm1zIHRoZSB0aGUgcmVzdCBvZiBXZWJDb3JlIHRoYXQgcGFyc2luZyBpcyByZWFsbHkgZmlu
aXNoZWQgKGFuZCBkZWxldGVzIHRoaXMpLgogICAgIG1fdHJlZUJ1aWxkZXItPmZpbmlzaGVkKCk7
CiB9CkBAIC00NjYsNiArNTU4LDEzIEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjplbmRJZkRl
bGF5ZWQoKQogCiB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6ZmluaXNoKCkKIHsKKyNpZiBFTkFC
TEUoVEhSRUFERURfSFRNTF9QQVJTRVIpCisgICAgaWYgKHNob3VsZFVzZVRocmVhZGluZygpKSB7
CisgICAgICAgIEhUTUxQYXJzZXJUaHJlYWQ6OnNoYXJlZCgpLT5wb3N0VGFzayhiaW5kKCZCYWNr
Z3JvdW5kSFRNTFBhcnNlcjo6ZmluaXNoUGFydGlhbCwgUGFyc2VyTWFwOjppZGVudGlmaWVyRm9y
UGFyc2VyKHRoaXMpKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgQVNTRVJUKCFtX3BhcnNlclN0b3BwZWQpIGhlcmUsIHNpbmNlIGl0
IGRvZXMgbm90CiAgICAgLy8gbWFrZXMgc2Vuc2UgdG8gY2FsbCBhbnkgbWV0aG9kcyBvbiBEb2N1
bWVudFBhcnNlciBvbmNlIGl0J3MgYmVlbiBzdG9wcGVkLgogICAgIC8vIEhvd2V2ZXIsIEZyYW1l
TG9hZGVyOjpzdG9wIGNhbGxzIERvY3VtZW50UGFyc2VyOjpmaW5pc2ggdW5jb25kaXRpb25hbGx5
LgpAQCAtNTMwLDYgKzYyOSwxNCBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cmVzdW1lUGFy
c2luZ0FmdGVyU2NyaXB0RXhlY3V0aW9uKCkKICAgICBBU1NFUlQoIWlzRXhlY3V0aW5nU2NyaXB0
KCkpOwogICAgIEFTU0VSVCghaXNXYWl0aW5nRm9yU2NyaXB0cygpKTsKIAorI2lmIEVOQUJMRShU
SFJFQURFRF9IVE1MX1BBUlNFUikKKyAgICBpZiAoc2hvdWxkVXNlVGhyZWFkaW5nKCkpIHsKKyAg
ICAgICAgUGFyc2VySWRlbnRpZmllciBpZGVudGlmaWVyID0gUGFyc2VyTWFwOjppZGVudGlmaWVy
Rm9yUGFyc2VyKHRoaXMpOworICAgICAgICBIVE1MUGFyc2VyVGhyZWFkOjpzaGFyZWQoKS0+cG9z
dFRhc2soYmluZCgmQmFja2dyb3VuZEhUTUxQYXJzZXI6OmNvbnRpbnVlUGFydGlhbCwgaWRlbnRp
ZmllcikpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICBtX2luc2VydGlv
blByZWxvYWRTY2FubmVyLmNsZWFyKCk7CiAgICAgcHVtcFRva2VuaXplcklmUG9zc2libGUoQWxs
b3dZaWVsZCk7CiAgICAgZW5kSWZEZWxheWVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IGQ0YzkzMGNkNzQ2ZWFkNTBjNjZjYTIz
MjgzNGJiZTVmZGU0NDliZjQuLjk3NGNmMWFlZjU0ZTJlNjdlMzY2ZjczZTc5MDhjYzJiNjg5ZTIx
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBh
cnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNl
ci5oCkBAIC00MSw2ICs0MSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQmFj
a2dyb3VuZEhUTUxQYXJzZXI7CiBjbGFzcyBDb21wYWN0SFRNTFRva2VuOwogY2xhc3MgRG9jdW1l
bnQ7CiBjbGFzcyBEb2N1bWVudEZyYWdtZW50OwpAQCAtNzksNyArODAsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CiAKICNpZiBFTkFCTEUoVEhS
RUFERURfSFRNTF9QQVJTRVIpCi0gICAgdm9pZCBkaWRSZWNlaXZlVG9rZW5zRnJvbUJhY2tncm91
bmRQYXJzZXIoY29uc3QgVmVjdG9yPENvbXBhY3RIVE1MVG9rZW4+Jik7CisgICAgdm9pZCBmZWVk
VG9rZW5zKGNvbnN0IFZlY3RvcjxDb21wYWN0SFRNTFRva2VuPiYpOwogI2VuZGlmCiAKIHByb3Rl
Y3RlZDoKQEAgLTExMywxMiArMTE0LDE3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHdh
dGNoRm9yTG9hZChDYWNoZWRSZXNvdXJjZSopOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wV2F0Y2hp
bmdGb3JMb2FkKENhY2hlZFJlc291cmNlKik7CiAgICAgdmlydHVhbCBIVE1MSW5wdXRTdHJlYW0m
IGlucHV0U3RyZWFtKCkgeyByZXR1cm4gbV9pbnB1dDsgfQotICAgIHZpcnR1YWwgYm9vbCBoYXNQ
cmVsb2FkU2Nhbm5lcigpIGNvbnN0IHsgcmV0dXJuIG1fcHJlbG9hZFNjYW5uZXIuZ2V0KCk7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgaGFzUHJlbG9hZFNjYW5uZXIoKSBjb25zdCB7IHJldHVybiBtX3By
ZWxvYWRTY2FubmVyLmdldCgpICYmICFzaG91bGRVc2VUaHJlYWRpbmcoKTsgfQogICAgIHZpcnR1
YWwgdm9pZCBhcHBlbmRDdXJyZW50SW5wdXRTdHJlYW1Ub1ByZWxvYWRTY2FubmVyQW5kU2Nhbigp
OwogCiAgICAgLy8gQ2FjaGVkUmVzb3VyY2VDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5
RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqKTsKIAorI2lmIEVOQUJMRShUSFJFQURFRF9IVE1MX1BB
UlNFUikKKyAgICB2b2lkIHN0YXJ0QmFja2dyb3VuZFBhcnNlcigpOworICAgIHZvaWQgc3RvcEJh
Y2tncm91bmRQYXJzZXIoKTsKKyNlbmRpZgorCiAgICAgZW51bSBTeW5jaHJvbm91c01vZGUgewog
ICAgICAgICBBbGxvd1lpZWxkLAogICAgICAgICBGb3JjZVN5bmNocm9ub3VzLApAQCAtMTM5LDYg
KzE0NSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhdHRlbXB0VG9SdW5EZWZlcnJlZFNjcmlwdHNB
bmRFbmQoKTsKICAgICB2b2lkIGVuZCgpOwogCisgICAgYm9vbCBzaG91bGRVc2VUaHJlYWRpbmco
KSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMudXNlVGhyZWFkaW5nICYmICFpc1BhcnNpbmdGcmFn
bWVudCgpOyB9CisKICAgICBib29sIGlzUGFyc2luZ0ZyYWdtZW50KCkgY29uc3Q7CiAgICAgYm9v
bCBpc1NjaGVkdWxlZEZvclJlc3VtZSgpIGNvbnN0OwogICAgIGJvb2wgaW5QdW1wU2Vzc2lvbigp
IGNvbnN0IHsgcmV0dXJuIG1fcHVtcFNlc3Npb25OZXN0aW5nTGV2ZWwgPiAwOyB9CkBAIC0xNjAs
NiArMTY4LDcgQEAgcHJpdmF0ZToKICAgICBYU1NBdWRpdG9yIG1feHNzQXVkaXRvcjsKIAogICAg
IGJvb2wgbV9lbmRXYXNEZWxheWVkOworICAgIGJvb2wgbV9oYXZlQmFja2dyb3VuZFBhcnNlcjsK
ICAgICB1bnNpZ25lZCBtX3B1bXBTZXNzaW9uTmVzdGluZ0xldmVsOwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183213</attachid>
            <date>2013-01-17 10:58:41 -0800</date>
            <delta_ts>2013-01-17 11:53:33 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-107140-20130117105542.patch</filename>
            <type>text/plain</type>
            <size>11767</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5OTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFhZDQ2OGE1YjBlZDdh
OWE2MjBjY2NkZWE4YzhlYzQ3MDdiNGExNi4uMjVlZmQyYTUyMDFjMjJiYjgyNjMxM2NmN2RkMjAz
MTRlODdmNDJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAxLTE3ICBUb255
IEdlbnRpbGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2lyZSBCYWNrZ3Jv
dW5kSFRNTFBhcnNlciB0byBIVE1MRG9jdW1lbnRQYXJzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzE0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gQmFydGguCisKKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBub3cgcGFzcyB0aGUg
bWFqb3JpdHkgb2YgaHRtbDVsaWIgYW5kIGZhc3QvcGFyc2VyIHRlc3RzIHdpdGggdGhyZWFkZWQg
SFRNTCBwYXJzaW5nIGVuYWJsZWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgY292
ZXJlZCBieSBleGlzdGluZyBmYXN0L3BhcnNlciB0ZXN0cy4KKworICAgICAgICAqIGh0bWwvcGFy
c2VyL0JhY2tncm91bmRIVE1MUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuRGVs
aXZlcnk6OmV4ZWN1dGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVu
dFBhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6On5IVE1MRG9j
dW1lbnRQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpwcm9j
ZXNzaW5nRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnJlc3Vt
ZVBhcnNpbmdBZnRlcllpZWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNl
cjo6Y2FuVGFrZU5leHRUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJz
ZXI6OmZlZWRUb2tlbnMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpw
dW1wVG9rZW5pemVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TERvY3VtZW50UGFyc2VyOjpzdGFydEJhY2tncm91bmRQYXJzZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTERvY3VtZW50UGFyc2VyOjpzdG9wQmFja2dyb3VuZFBhcnNlcik6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OmFwcGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MRG9jdW1lbnRQYXJzZXI6OmVuZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQ
YXJzZXI6OmZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnJl
c3VtZVBhcnNpbmdBZnRlclNjcmlwdEV4ZWN1dGlvbik6CisgICAgICAgICogaHRtbC9wYXJzZXIv
SFRNTERvY3VtZW50UGFyc2VyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEhUTUxE
b2N1bWVudFBhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6Omhh
c1ByZWxvYWRTY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6
c2hvdWxkVXNlVGhyZWFkaW5nKToKKwogMjAxMy0wMS0xNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjEzOTkyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1
bWVudFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuY3BwCmluZGV4IDBhOWU3ZDg1ODgxMmU5NTI1MjhmMjRhN2M4NTJhZTFlOTBkZTg3NTEu
LjE2YmQxMTRhYjVhODcwNDIzZTZiMzEzMTBhYTRiODFjNzE5NWIxY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcApAQCAtMjYsNiAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNl
ci5oIgogCisjaW5jbHVkZSAiQmFja2dyb3VuZEhUTUxQYXJzZXIuaCIKICNpbmNsdWRlICJDb21w
YWN0SFRNTFRva2VuLmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgpAQCAtMzMsNiArMzQsNyBAQAogI2luY2x1ZGUgIkZy
YW1lLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlclNjaGVk
dWxlci5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJUaHJlYWQuaCIKICNpbmNsdWRlICJIVE1MVG9r
ZW5pemVyLmgiCiAjaW5jbHVkZSAiSFRNTFByZWxvYWRTY2FubmVyLmgiCiAjaW5jbHVkZSAiSFRN
TFNjcmlwdFJ1bm5lci5oIgpAQCAtNDEsNiArNDMsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIk5lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgiCiAj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTgwLDYgKzgzLDcgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpI
VE1MRG9jdW1lbnRQYXJzZXIoSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJv
cnMKICAgICAsIG1fcGFyc2VyU2NoZWR1bGVyKEhUTUxQYXJzZXJTY2hlZHVsZXI6OmNyZWF0ZSh0
aGlzKSkKICAgICAsIG1feHNzQXVkaXRvcih0aGlzKQogICAgICwgbV9lbmRXYXNEZWxheWVkKGZh
bHNlKQorICAgICwgbV9oYXZlQmFja2dyb3VuZFBhcnNlcihmYWxzZSkKICAgICAsIG1fcHVtcFNl
c3Npb25OZXN0aW5nTGV2ZWwoMCkKIHsKIH0KQEAgLTkzLDYgKzk3LDcgQEAgSFRNTERvY3VtZW50
UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnRGcmFnbWVudCogZnJhZ21lbnQsIEVs
ZW1lbnQqIGNvbnQKICAgICAsIG1fdHJlZUJ1aWxkZXIoSFRNTFRyZWVCdWlsZGVyOjpjcmVhdGUo
dGhpcywgZnJhZ21lbnQsIGNvbnRleHRFbGVtZW50LCBzY3JpcHRpbmdQZXJtaXNzaW9uLCBtX29w
dGlvbnMpKQogICAgICwgbV94c3NBdWRpdG9yKHRoaXMpCiAgICAgLCBtX2VuZFdhc0RlbGF5ZWQo
ZmFsc2UpCisgICAgLCBtX2hhdmVCYWNrZ3JvdW5kUGFyc2VyKGZhbHNlKQogICAgICwgbV9wdW1w
U2Vzc2lvbk5lc3RpbmdMZXZlbCgwKQogewogICAgIGJvb2wgcmVwb3J0RXJyb3JzID0gZmFsc2U7
IC8vIEZvciBub3cgZG9jdW1lbnQgZnJhZ21lbnQgcGFyc2luZyBuZXZlciByZXBvcnRzIGVycm9y
cy4KQEAgLTEwNSw2ICsxMTAsNyBAQCBIVE1MRG9jdW1lbnRQYXJzZXI6On5IVE1MRG9jdW1lbnRQ
YXJzZXIoKQogICAgIEFTU0VSVCghbV9wdW1wU2Vzc2lvbk5lc3RpbmdMZXZlbCk7CiAgICAgQVNT
RVJUKCFtX3ByZWxvYWRTY2FubmVyKTsKICAgICBBU1NFUlQoIW1faW5zZXJ0aW9uUHJlbG9hZFNj
YW5uZXIpOworICAgIEFTU0VSVCghbV9oYXZlQmFja2dyb3VuZFBhcnNlcik7CiB9CiAKIHZvaWQg
SFRNTERvY3VtZW50UGFyc2VyOjpkZXRhY2goKQpAQCAtMTY0LDcgKzE3MCw3IEBAIGJvb2wgSFRN
TERvY3VtZW50UGFyc2VyOjppc1BhcnNpbmdGcmFnbWVudCgpIGNvbnN0CiAKIGJvb2wgSFRNTERv
Y3VtZW50UGFyc2VyOjpwcm9jZXNzaW5nRGF0YSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGlzU2No
ZWR1bGVkRm9yUmVzdW1lKCkgfHwgaW5QdW1wU2Vzc2lvbigpOworICAgIHJldHVybiBpc1NjaGVk
dWxlZEZvclJlc3VtZSgpIHx8IGluUHVtcFNlc3Npb24oKSB8fCBtX2hhdmVCYWNrZ3JvdW5kUGFy
c2VyOwogfQogCiB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFRva2VuaXplcklmUG9zc2li
bGUoU3luY2hyb25vdXNNb2RlIG1vZGUpCkBAIC0xODksNiArMTk1LDggQEAgYm9vbCBIVE1MRG9j
dW1lbnRQYXJzZXI6OmlzU2NoZWR1bGVkRm9yUmVzdW1lKCkgY29uc3QKIC8vIFVzZWQgYnkgSFRN
TFBhcnNlclNjaGVkdWxlcgogdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnJlc3VtZVBhcnNpbmdB
ZnRlcllpZWxkKCkKIHsKKyAgICBBU1NFUlQoIXNob3VsZFVzZVRocmVhZGluZygpKTsKKwogICAg
IC8vIHB1bXBUb2tlbml6ZXIgY2FuIGNhdXNlIHRoaXMgcGFyc2VyIHRvIGJlIGRldGFjaGVkIGZy
b20gdGhlIERvY3VtZW50LAogICAgIC8vIGJ1dCB3ZSBuZWVkIHRvIGVuc3VyZSBpdCBpc24ndCBk
ZWxldGVkIHlldC4KICAgICBSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBwcm90ZWN0KHRoaXMp
OwpAQCAtMjEzLDYgKzIyMSw4IEBAIGJvb2wgSFRNTERvY3VtZW50UGFyc2VyOjpjYW5UYWtlTmV4
dFRva2VuKFN5bmNocm9ub3VzTW9kZSBtb2RlLCBQdW1wU2Vzc2lvbiYgc2VzCiAgICAgaWYgKGlz
U3RvcHBlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBBU1NFUlQoIXNob3VsZFVz
ZVRocmVhZGluZygpIHx8IG1vZGUgPT0gRm9yY2VTeW5jaHJvbm91cyk7CisKICAgICBpZiAoaXNX
YWl0aW5nRm9yU2NyaXB0cygpKSB7CiAgICAgICAgIGlmIChtb2RlID09IEFsbG93WWllbGQpCiAg
ICAgICAgICAgICBtX3BhcnNlclNjaGVkdWxlci0+Y2hlY2tGb3JZaWVsZEJlZm9yZVNjcmlwdChz
ZXNzaW9uKTsKQEAgLTI0Nyw3ICsyNTcsNDQgQEAgYm9vbCBIVE1MRG9jdW1lbnRQYXJzZXI6OmNh
blRha2VOZXh0VG9rZW4oU3luY2hyb25vdXNNb2RlIG1vZGUsIFB1bXBTZXNzaW9uJiBzZXMKIAog
dm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVUb2tlbnNGcm9tQmFja2dyb3VuZFBh
cnNlcihjb25zdCBWZWN0b3I8Q29tcGFjdEhUTUxUb2tlbj4mIHRva2VucykKIHsKLSAgICAvLyBG
SVhNRTogQWN0dWFsbHkgY29uc3VtZSB0aGUgdG9rZW5zLgorICAgIEFTU0VSVChzaG91bGRVc2VU
aHJlYWRpbmcoKSk7CisKKyAgICAvLyBmZWVkVG9rZW5zIGNhbiBjYXVzZSB0aGlzIHBhcnNlciB0
byBiZSBkZXRhY2hlZCBmcm9tIHRoZSBEb2N1bWVudCwKKyAgICAvLyBidXQgd2UgbmVlZCB0byBl
bnN1cmUgaXQgaXNuJ3QgZGVsZXRlZCB5ZXQuCisgICAgUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNl
cj4gcHJvdGVjdCh0aGlzKTsKKworICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLgorCisgICAgZm9yIChWZWN0b3I8Q29tcGFjdEhUTUxUb2tlbj46
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gdG9rZW5zLmJlZ2luKCk7IGl0ICE9IHRva2Vucy5lbmQoKTsg
KytpdCkgeworICAgICAgICBBU1NFUlQoIWlzV2FpdGluZ0ZvclNjcmlwdHMoKSk7CisKKyAgICAg
ICAgLy8gRklYTUU6IENhbGwgbV94c3NBdWRpdG9yLmZpbHRlclRva2VuKCppdCkuCisgICAgICAg
IGNvbnN0cnVjdFRyZWVGcm9tQ29tcGFjdEhUTUxUb2tlbigqaXQpOworCisgICAgICAgIGlmIChp
c1N0b3BwZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBGSVhNRTogV2Un
bGwgcHJvYmFibHkgbmVlZCB0byBjaGVjayBkb2N1bWVudCgpLT5mcmFtZSgpLT5uYXZpZ2F0aW9u
U2NoZWR1bGVyKCktPmxvY2F0aW9uQ2hhbmdlUGVuZGluZygpKQorICAgICAgICAvLyBhcyB3ZSBk
byBpbiBjYW5UYWtlTmV4dFRva2VuOworCisgICAgICAgIGlmIChpc1dhaXRpbmdGb3JTY3JpcHRz
KCkpIHsKKyAgICAgICAgICAgIHJ1blNjcmlwdHNGb3JQYXVzZWRUcmVlQnVpbGRlcigpOworICAg
ICAgICAgICAgaWYgKCFpc1dhaXRpbmdGb3JTY3JpcHRzKCkpIHsKKyAgICAgICAgICAgICAgICBQ
YXJzZXJJZGVudGlmaWVyIGlkZW50aWZpZXIgPSBQYXJzZXJNYXA6OmlkZW50aWZpZXJGb3JQYXJz
ZXIodGhpcyk7CisgICAgICAgICAgICAgICAgSFRNTFBhcnNlclRocmVhZDo6c2hhcmVkKCktPnBv
c3RUYXNrKGJpbmQoJkJhY2tncm91bmRIVE1MUGFyc2VyOjpjb250aW51ZVBhcnRpYWwsIGlkZW50
aWZpZXIpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIEZJWE1FOiBU
aGlzIGlzIHRvbyBhYnJ1cHQgYSB3YXkgdG8gZW5kIHBhcnNpbmcgYmVjYXVzZSB3ZSBtaWdodAor
ICAgICAgICAvLyBoYXZlIHRvIHdhaXQgZm9yIGRlZmVycmVkIHNjcmlwdHMuIFdlIHByb2JhYmx5
IHdhbnQgdG8gY2FsbAorICAgICAgICAvLyBhdHRlbXB0VG9SdW5EZWZlcnJlZFNjcmlwdHNBbmRF
bmQoKSwgcHJlcGFyZVRvU3RvcFBhcnNpbmcoKSwgb3IKKyAgICAgICAgLy8gYXR0ZW1wdFRvRW5k
KCkgaW5zdGVhZC4KKyAgICAgICAgaWYgKGl0LT50eXBlKCkgPT0gSFRNTFRva2VuVHlwZXM6OkVu
ZE9mRmlsZSkgeworICAgICAgICAgICAgRG9jdW1lbnRQYXJzZXI6OnByZXBhcmVUb1N0b3BQYXJz
aW5nKCk7CisgICAgICAgICAgICBkb2N1bWVudCgpLT5zZXRSZWFkeVN0YXRlKERvY3VtZW50OjpJ
bnRlcmFjdGl2ZSk7CisgICAgICAgICAgICBlbmQoKTsKKyAgICAgICAgfQorICAgIH0KIH0KIAog
I2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9IVE1MX1BBUlNFUikKQEAgLTI1OSw2ICszMDYsOCBA
QCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFRva2VuaXplcihTeW5jaHJvbm91c01vZGUg
bW9kZSkKICAgICAvLyBBU1NFUlQgdGhhdCB0aGlzIG9iamVjdCBpcyBib3RoIGF0dGFjaGVkIHRv
IHRoZSBEb2N1bWVudCBhbmQgcHJvdGVjdGVkLgogICAgIEFTU0VSVChyZWZDb3VudCgpID49IDIp
OwogCisgICAgQVNTRVJUKCFzaG91bGRVc2VUaHJlYWRpbmcoKSB8fCBtb2RlID09IEZvcmNlU3lu
Y2hyb25vdXMpOworCiAgICAgUHVtcFNlc3Npb24gc2Vzc2lvbihtX3B1bXBTZXNzaW9uTmVzdGlu
Z0xldmVsKTsKIAogICAgIC8vIFdlIHRlbGwgdGhlIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbiBh
Ym91dCBldmVyeSBwdW1wLCBldmVuIGlmIHdlCkBAIC0zODYsMTEgKzQzNSw0OSBAQCB2b2lkIEhU
TUxEb2N1bWVudFBhcnNlcjo6aW5zZXJ0KGNvbnN0IFNlZ21lbnRlZFN0cmluZyYgc291cmNlKQog
ICAgIGVuZElmRGVsYXllZCgpOwogfQogCisjaWYgRU5BQkxFKFRIUkVBREVEX0hUTUxfUEFSU0VS
KQorCit2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6c3RhcnRCYWNrZ3JvdW5kUGFyc2VyKCkKK3sK
KyAgICBBU1NFUlQoIW1faGF2ZUJhY2tncm91bmRQYXJzZXIpOworICAgIG1faGF2ZUJhY2tncm91
bmRQYXJzZXIgPSB0cnVlOworCisgICAgUGFyc2VySWRlbnRpZmllciBpZGVudGlmaWVyID0gUGFy
c2VyTWFwOjppZGVudGlmaWVyRm9yUGFyc2VyKHRoaXMpOworICAgIHBhcnNlck1hcCgpLm1haW5U
aHJlYWRQYXJzZXJzKCkuc2V0KGlkZW50aWZpZXIsIHRoaXMpOworCisgICAgSFRNTFBhcnNlclRo
cmVhZDo6c2hhcmVkKCktPnBvc3RUYXNrKGJpbmQoJkJhY2tncm91bmRIVE1MUGFyc2VyOjpjcmVh
dGVQYXJ0aWFsLCBpZGVudGlmaWVyLCBtX29wdGlvbnMpKTsKK30KKwordm9pZCBIVE1MRG9jdW1l
bnRQYXJzZXI6OnN0b3BCYWNrZ3JvdW5kUGFyc2VyKCkKK3sKKyAgICBBU1NFUlQobV9oYXZlQmFj
a2dyb3VuZFBhcnNlcik7CisgICAgbV9oYXZlQmFja2dyb3VuZFBhcnNlciA9IGZhbHNlOworCisg
ICAgUGFyc2VySWRlbnRpZmllciBpZGVudGlmaWVyID0gUGFyc2VyTWFwOjppZGVudGlmaWVyRm9y
UGFyc2VyKHRoaXMpOworICAgIEhUTUxQYXJzZXJUaHJlYWQ6OnNoYXJlZCgpLT5wb3N0VGFzayhi
aW5kKCZCYWNrZ3JvdW5kSFRNTFBhcnNlcjo6c3RvcFBhcnRpYWwsIGlkZW50aWZpZXIpKTsKKwor
ICAgIHBhcnNlck1hcCgpLm1haW5UaHJlYWRQYXJzZXJzKCkuc2V0KGlkZW50aWZpZXIsIDApOwor
ICAgIC8vIFdlIHdpbGwgbm90IHJlY2lldmUgYW55IG1lc3NhZ2VzIGZyb20gdGhlIHBhcnNlciBh
ZnRlciB0aGlzIHBvaW50LgorfQorCisjZW5kaWYKKwogdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6
OmFwcGVuZChjb25zdCBTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSkKIHsKICAgICBpZiAoaXNTdG9w
cGVkKCkpCiAgICAgICAgIHJldHVybjsKIAorI2lmIEVOQUJMRShUSFJFQURFRF9IVE1MX1BBUlNF
UikKKyAgICBpZiAoc2hvdWxkVXNlVGhyZWFkaW5nKCkpIHsKKyAgICAgICAgaWYgKCFtX2hhdmVC
YWNrZ3JvdW5kUGFyc2VyKQorICAgICAgICAgICAgc3RhcnRCYWNrZ3JvdW5kUGFyc2VyKCk7CisK
KyAgICAgICAgUGFyc2VySWRlbnRpZmllciBpZGVudGlmaWVyID0gUGFyc2VyTWFwOjppZGVudGlm
aWVyRm9yUGFyc2VyKHRoaXMpOworICAgICAgICBIVE1MUGFyc2VyVGhyZWFkOjpzaGFyZWQoKS0+
cG9zdFRhc2soYmluZCgmQmFja2dyb3VuZEhUTUxQYXJzZXI6OmFwcGVuZFBhcnRpYWwsIGlkZW50
aWZpZXIsIHNvdXJjZS50b1N0cmluZygpLmlzb2xhdGVkQ29weSgpKSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisjZW5kaWYKKwogICAgIC8vIHB1bXBUb2tlbml6ZXIgY2FuIGNhdXNlIHRoaXMg
cGFyc2VyIHRvIGJlIGRldGFjaGVkIGZyb20gdGhlIERvY3VtZW50LAogICAgIC8vIGJ1dCB3ZSBu
ZWVkIHRvIGVuc3VyZSBpdCBpc24ndCBkZWxldGVkIHlldC4KICAgICBSZWZQdHI8SFRNTERvY3Vt
ZW50UGFyc2VyPiBwcm90ZWN0KHRoaXMpOwpAQCAtNDI2LDYgKzUxMywxMSBAQCB2b2lkIEhUTUxE
b2N1bWVudFBhcnNlcjo6ZW5kKCkKICAgICBBU1NFUlQoIWlzRGV0YWNoZWQoKSk7CiAgICAgQVNT
RVJUKCFpc1NjaGVkdWxlZEZvclJlc3VtZSgpKTsKIAorI2lmIEVOQUJMRShUSFJFQURFRF9IVE1M
X1BBUlNFUikKKyAgICBpZiAobV9oYXZlQmFja2dyb3VuZFBhcnNlcikKKyAgICAgICAgc3RvcEJh
Y2tncm91bmRQYXJzZXIoKTsKKyNlbmRpZgorCiAgICAgLy8gSW5mb3JtcyB0aGUgdGhlIHJlc3Qg
b2YgV2ViQ29yZSB0aGF0IHBhcnNpbmcgaXMgcmVhbGx5IGZpbmlzaGVkIChhbmQgZGVsZXRlcyB0
aGlzKS4KICAgICBtX3RyZWVCdWlsZGVyLT5maW5pc2hlZCgpOwogfQpAQCAtNDY2LDYgKzU1OCwx
MyBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6ZW5kSWZEZWxheWVkKCkKIAogdm9pZCBIVE1M
RG9jdW1lbnRQYXJzZXI6OmZpbmlzaCgpCiB7CisjaWYgRU5BQkxFKFRIUkVBREVEX0hUTUxfUEFS
U0VSKQorICAgIGlmIChzaG91bGRVc2VUaHJlYWRpbmcoKSkgeworICAgICAgICBIVE1MUGFyc2Vy
VGhyZWFkOjpzaGFyZWQoKS0+cG9zdFRhc2soYmluZCgmQmFja2dyb3VuZEhUTUxQYXJzZXI6OmZp
bmlzaFBhcnRpYWwsIFBhcnNlck1hcDo6aWRlbnRpZmllckZvclBhcnNlcih0aGlzKSkpOworICAg
ICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIEFT
U0VSVCghbV9wYXJzZXJTdG9wcGVkKSBoZXJlLCBzaW5jZSBpdCBkb2VzIG5vdAogICAgIC8vIG1h
a2VzIHNlbnNlIHRvIGNhbGwgYW55IG1ldGhvZHMgb24gRG9jdW1lbnRQYXJzZXIgb25jZSBpdCdz
IGJlZW4gc3RvcHBlZC4KICAgICAvLyBIb3dldmVyLCBGcmFtZUxvYWRlcjo6c3RvcCBjYWxscyBE
b2N1bWVudFBhcnNlcjo6ZmluaXNoIHVuY29uZGl0aW9uYWxseS4KQEAgLTUzMCw2ICs2MjksMTQg
QEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnJlc3VtZVBhcnNpbmdBZnRlclNjcmlwdEV4ZWN1
dGlvbigpCiAgICAgQVNTRVJUKCFpc0V4ZWN1dGluZ1NjcmlwdCgpKTsKICAgICBBU1NFUlQoIWlz
V2FpdGluZ0ZvclNjcmlwdHMoKSk7CiAKKyNpZiBFTkFCTEUoVEhSRUFERURfSFRNTF9QQVJTRVIp
CisgICAgaWYgKHNob3VsZFVzZVRocmVhZGluZygpKSB7CisgICAgICAgIFBhcnNlcklkZW50aWZp
ZXIgaWRlbnRpZmllciA9IFBhcnNlck1hcDo6aWRlbnRpZmllckZvclBhcnNlcih0aGlzKTsKKyAg
ICAgICAgSFRNTFBhcnNlclRocmVhZDo6c2hhcmVkKCktPnBvc3RUYXNrKGJpbmQoJkJhY2tncm91
bmRIVE1MUGFyc2VyOjpjb250aW51ZVBhcnRpYWwsIGlkZW50aWZpZXIpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgbV9pbnNlcnRpb25QcmVsb2FkU2Nhbm5lci5jbGVh
cigpOwogICAgIHB1bXBUb2tlbml6ZXJJZlBvc3NpYmxlKEFsbG93WWllbGQpOwogICAgIGVuZElm
RGVsYXllZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERv
Y3VtZW50UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuaAppbmRleCBkNGM5MzBjZDc0NmVhZDUwYzY2Y2EyMzI4MzRiYmU1ZmRlNDQ5YmY0Li5j
YTY3NDdkNzliNzliNDdjNmViYzViOGRiNzNhZTcwODYwYWVhYjllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtMTEzLDEyICsxMTMs
MTcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgd2F0Y2hGb3JMb2FkKENhY2hlZFJlc291
cmNlKik7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BXYXRjaGluZ0ZvckxvYWQoQ2FjaGVkUmVzb3Vy
Y2UqKTsKICAgICB2aXJ0dWFsIEhUTUxJbnB1dFN0cmVhbSYgaW5wdXRTdHJlYW0oKSB7IHJldHVy
biBtX2lucHV0OyB9Ci0gICAgdmlydHVhbCBib29sIGhhc1ByZWxvYWRTY2FubmVyKCkgY29uc3Qg
eyByZXR1cm4gbV9wcmVsb2FkU2Nhbm5lci5nZXQoKTsgfQorICAgIHZpcnR1YWwgYm9vbCBoYXNQ
cmVsb2FkU2Nhbm5lcigpIGNvbnN0IHsgcmV0dXJuIG1fcHJlbG9hZFNjYW5uZXIuZ2V0KCkgJiYg
IXNob3VsZFVzZVRocmVhZGluZygpOyB9CiAgICAgdmlydHVhbCB2b2lkIGFwcGVuZEN1cnJlbnRJ
bnB1dFN0cmVhbVRvUHJlbG9hZFNjYW5uZXJBbmRTY2FuKCk7CiAKICAgICAvLyBDYWNoZWRSZXNv
dXJjZUNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJj
ZSopOwogCisjaWYgRU5BQkxFKFRIUkVBREVEX0hUTUxfUEFSU0VSKQorICAgIHZvaWQgc3RhcnRC
YWNrZ3JvdW5kUGFyc2VyKCk7CisgICAgdm9pZCBzdG9wQmFja2dyb3VuZFBhcnNlcigpOworI2Vu
ZGlmCisKICAgICBlbnVtIFN5bmNocm9ub3VzTW9kZSB7CiAgICAgICAgIEFsbG93WWllbGQsCiAg
ICAgICAgIEZvcmNlU3luY2hyb25vdXMsCkBAIC0xMzksNiArMTQ0LDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGF0dGVtcHRUb1J1bkRlZmVycmVkU2NyaXB0c0FuZEVuZCgpOwogICAgIHZvaWQgZW5k
KCk7CiAKKyAgICBib29sIHNob3VsZFVzZVRocmVhZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0
aW9ucy51c2VUaHJlYWRpbmcgJiYgIWlzUGFyc2luZ0ZyYWdtZW50KCk7IH0KKwogICAgIGJvb2wg
aXNQYXJzaW5nRnJhZ21lbnQoKSBjb25zdDsKICAgICBib29sIGlzU2NoZWR1bGVkRm9yUmVzdW1l
KCkgY29uc3Q7CiAgICAgYm9vbCBpblB1bXBTZXNzaW9uKCkgY29uc3QgeyByZXR1cm4gbV9wdW1w
U2Vzc2lvbk5lc3RpbmdMZXZlbCA+IDA7IH0KQEAgLTE2MCw2ICsxNjcsNyBAQCBwcml2YXRlOgog
ICAgIFhTU0F1ZGl0b3IgbV94c3NBdWRpdG9yOwogCiAgICAgYm9vbCBtX2VuZFdhc0RlbGF5ZWQ7
CisgICAgYm9vbCBtX2hhdmVCYWNrZ3JvdW5kUGFyc2VyOwogICAgIHVuc2lnbmVkIG1fcHVtcFNl
c3Npb25OZXN0aW5nTGV2ZWw7CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>