<?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>106251</bug_id>
          
          <creation_ts>2013-01-07 13:55:22 -0800</creation_ts>
          <short_desc>Introduce HTMLParserOptions to encapsulate HTML parser options</short_desc>
          <delta_ts>2013-01-07 16:21:32 -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>New Bugs</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="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>801623</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-07 13:55:22 -0800</bug_when>
    <thetext>Introduce HTMLParserOptions to encapsulate HTML parser options</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801625</commentid>
    <comment_count>1</comment_count>
      <attachid>181558</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-07 13:59:51 -0800</bug_when>
    <thetext>Created attachment 181558
Patch (no xcodeproj changes yet)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801636</commentid>
    <comment_count>2</comment_count>
      <attachid>181558</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-07 14:08:20 -0800</bug_when>
    <thetext>Comment on attachment 181558
Patch (no xcodeproj changes yet)

Attachment 181558 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15734861</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801653</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-07 14:18:23 -0800</bug_when>
    <thetext>(The apple-mac failure is expected because I need to add HTMLParserOptions to the xcodeproj file.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801668</commentid>
    <comment_count>4</comment_count>
      <attachid>181558</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-07 14:28:58 -0800</bug_when>
    <thetext>Comment on attachment 181558
Patch (no xcodeproj changes yet)

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

This is a fantastic change.  This breaks these options from being &quot;dynamic&quot; if they&apos;re supposed to be by being &quot;Settings&quot;.  r=me if you make Mac build.

&gt; Source/WebCore/html/parser/HTMLParserOptions.h:36
&gt; +class HTMLParserOptions {
&gt; +public:
&gt; +    bool usePreHTML5ParserQuirks;
&gt; +    unsigned maximumDOMTreeDepth;

I find structs rarely stay that way for long... but OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801670</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-07 14:31:17 -0800</bug_when>
    <thetext>&gt; I find structs rarely stay that way for long... but OK.

The idea is that we&apos;ll end up copying this data structure from the main thread to the parser thread, which means we&apos;ll need to keep it simple enough to copy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801791</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-07 16:21:32 -0800</bug_when>
    <thetext>Committed r139008: &lt;http://trac.webkit.org/changeset/139008&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181558</attachid>
            <date>2013-01-07 13:59:51 -0800</date>
            <delta_ts>2013-01-07 14:28:58 -0800</delta_ts>
            <desc>Patch (no xcodeproj changes yet)</desc>
            <filename>bug-106251-20130107135656.patch</filename>
            <type>text/plain</type>
            <size>23691</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4OTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2YzMzcxZjg3Nzg4YjAw
NzllMWJlMDE3NzBjYjhiMjQyNjNhMDdkYy4uNjg2NmRkOTgyOGM0NmRkZTdhOTIyODAwZWU1MzYy
YjU2YmRjMTRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTAxLTA3ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW50cm9kdWNlIEhUTUxQYXJz
ZXJPcHRpb25zIHRvIGVuY2Fwc3VsYXRlIEhUTUwgcGFyc2VyIG9wdGlvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjI1MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgdGhlIEhUTUxU
cmVlQnVpbGRlciAoYW5kIHBvdGVudGlhbGx5IG90aGVyIHBhcnRzIG9mIHRoZQorICAgICAgICBw
YXJzZXIpIHVzZSB0aGVpciBEb2N1bWVudCogdG8gcmVhZCBjb25maWd1cmF0aW9uIGluZm9ybWF0
aW9uIGZyb20gdGhlCisgICAgICAgIERvY3VtZW50IChzdWNoIGFzIFNldHRpbmdzKS4gVGhpcyBw
YXRjaCBpbnRyb2R1Y2VzIHRoZQorICAgICAgICBIVE1MUGFyc2VyT3B0aW9ucyBjbGFzcyB0byBl
bmNhcHN1bGF0ZSB0aGF0IGluZm9ybWF0aW9uLCBtYWtpbmcgaXQKKyAgICAgICAgZWFzaWVyIHRv
IG1vdmUgdGhlIEhUTUwgcGFyc2VyIHRvIGEgYmFja2dyb3VuZCB0aHJlYWQgKGJlY2F1c2UgdGhl
CisgICAgICAgIEhUTUxUcmVlQnVpbGRlciB3b24ndCBuZWVkIHRvIHRhbGsgdG8gdGhlIERvY3Vt
ZW50IGRpcmVjdGx5KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJD
b3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAg
ICAgICogaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERvY3VtZW50UGFyc2VyKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFRva2VuaXplcik6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6Omluc2VydCk6CisgICAgICAgICogaHRtbC9wYXJzZXIv
SFRNTERvY3VtZW50UGFyc2VyLmg6CisgICAgICAgIChIVE1MRG9jdW1lbnRQYXJzZXIpOgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MUHJlbG9hZFNjYW5uZXI6OkhUTUxQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgICog
aHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKEhUTUxQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRy
ZWVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6SFRNTFRy
ZWVCdWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0Vu
ZFRhZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRh
Z0ZvckluSGVhZCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OmNyZWF0ZSk6CisgICAgICAgIChIVE1M
VHJlZUJ1aWxkZXIpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxWaWV3U291cmNlUGFyc2VyOjpIVE1MVmlld1Nv
dXJjZVBhcnNlcik6CisKIDIwMTMtMDEtMDcgIFZpY3RvciBDYXJidW5lICA8dmljdG9yQHJvc2Vk
dS5vcmc+CiAKICAgICAgICAgW1RyYWNrXSBSZW5kZXJpbmcgY3Jhc2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggYWYzM2ZhMDkxZDkzOTY0ODg0ZmVhOTE4Y2EzMDNhNDI0OGYwYjRhZi4uOGU2NGEz
ZjRhODhlZDBjNDM1ZWZiODAxMTcwMWNkYWQ1MDZkN2I2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTE1MjgsNiArMTUyOCw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL3BhcnNl
ci9IVE1MRW50aXR5UGFyc2VyLmNwcAogICAgIGh0bWwvcGFyc2VyL0hUTUxFbnRpdHlTZWFyY2gu
Y3BwCiAgICAgaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHAKKyAgICBodG1sL3BhcnNl
ci9IVE1MUGFyc2VyT3B0aW9ucy5jcHAKICAgICBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1
bGVyLmNwcAogICAgIGh0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuY3BwCiAg
ICAgaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggZDc2ZGU4MDE1MjZmODU5ZTE5YzJiODM4ZGE0NGExNDMzYjRlNzUw
NC4uMDE2YjliNjYzZTM0ZGUwMTQxZmJmYmFiMDFiMDY4NzVlMzBlOWJiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC0zNTM0LDYgKzM1MzQsOCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyT3B0aW9ucy5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJPcHRpb25zLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZjA2NGMwNmU0Mzkx
N2FlOTM4ZWRlZmQzYmNlZWNkOGUzZWFhMTUyMC4uYjQ1NmU1NzRiYmY5YzY5MDczMzA2MGE4NDg2
ZWZhYzllODIyYzI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC03MTAsNiArNzEwLDcgQEAgU09VUkNFUyAr
PSBcCiAgICAgaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5jcHAgXAogICAg
IGh0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5jcHAgXAogICAgIGh0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJJZGlvbXMuY3BwIFwKKyAgICBodG1sL3BhcnNlci9IVE1MUGFyc2VyT3B0aW9u
cy5jcHAgXAogICAgIGh0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwIFwKICAgICBo
dG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwIFwKICAgICBodG1sL3BhcnNlci9IVE1M
U2NyaXB0UnVubmVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNTFmYmQ3NzI0NDQ1MDgyMGIw
YzNmZWEzZjg2YjQ1ODY3OWRhMmYzNS4uODZmODYyMDE1MDM1Yjk5OTVlYzIxYWYxMmIzOWQ2OWQ5
ZmI0NmFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzM0Miw2ICszMzQyLDggQEAKICAgICAgICAg
ICAgICdodG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwJywKICAgICAgICAgICAg
ICdodG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaCcsCiAgICAgICAgICAgICAnaHRt
bC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJPcHRpb25zLmNwcCcsCisgICAgICAgICAgICAnaHRtbC9wYXJzZXIvSFRNTFBh
cnNlck9wdGlvbnMuaCcsCiAgICAgICAgICAgICAnaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVk
dWxlci5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIu
aCcsCiAgICAgICAgICAgICAnaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDJiMDY4
ZGY2NzY5NGVhYWExODNjYzM5NDEzY2MyMDEzMTMzMDcyOGYuLjViOWRjY2Y2NGI3MzFhODNhZTY1
OWNkZDU0NzBlMGU2MjE0NzEzNTYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCkBAIC02NDQzMyw2ICs2NDQzMywxNCBAQAogCQkJCQk+CiAJCQkJPC9G
aWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxwYXJzZXJcSFRNTFBh
cnNlck9wdGlvbnMuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJl
bGF0aXZlUGF0aD0iLi5caHRtbFxwYXJzZXJcSFRNTFBhcnNlck9wdGlvbnMuaCIKKwkJCQkJPgor
CQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxccGFyc2Vy
XEhUTUxQYXJzZXJTY2hlZHVsZXIuY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAKaW5kZXggNTkz
MmJiOTkwZDk1MDAwNWU3Y2YxOTdiZjM3YmI2MGVlNTMwNzZlNy4uNDg1NTNhYWE4MWU5MWIyYTA4
NWE2Y2RmN2U2MzNjZWMxNjIzZGFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCkBAIC03Miw5ICs3MiwxMCBAQCBzdGF0aWMgSFRN
TFRva2VuaXplclN0YXRlOjpTdGF0ZSB0b2tlbml6ZXJTdGF0ZUZvckNvbnRleHRFbGVtZW50KEVs
ZW1lbnQqIGNvbnRleAogCiBIVE1MRG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcihI
VE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycykKICAgICA6IFNjcmlwdGFi
bGVEb2N1bWVudFBhcnNlcihkb2N1bWVudCkKLSAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6
ZXI6OmNyZWF0ZSh1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhkb2N1bWVudCkpKQorICAgICwgbV9v
cHRpb25zKGRvY3VtZW50KQorICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6Y3JlYXRl
KG1fb3B0aW9ucy51c2VQcmVIVE1MNVBhcnNlclF1aXJrcykpCiAgICAgLCBtX3NjcmlwdFJ1bm5l
cihIVE1MU2NyaXB0UnVubmVyOjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpKQotICAgICwgbV90cmVl
QnVpbGRlcihIVE1MVHJlZUJ1aWxkZXI6OmNyZWF0ZSh0aGlzLCBkb2N1bWVudCwgcmVwb3J0RXJy
b3JzLCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhkb2N1bWVudCksIG1heGltdW1ET01UcmVlRGVw
dGgoZG9jdW1lbnQpKSkKKyAgICAsIG1fdHJlZUJ1aWxkZXIoSFRNTFRyZWVCdWlsZGVyOjpjcmVh
dGUodGhpcywgZG9jdW1lbnQsIHJlcG9ydEVycm9ycywgbV9vcHRpb25zKSkKICAgICAsIG1fcGFy
c2VyU2NoZWR1bGVyKEhUTUxQYXJzZXJTY2hlZHVsZXI6OmNyZWF0ZSh0aGlzKSkKICAgICAsIG1f
eHNzQXVkaXRvcih0aGlzKQogICAgICwgbV9lbmRXYXNEZWxheWVkKGZhbHNlKQpAQCAtODYsOCAr
ODcsOSBAQCBIVE1MRG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcihIVE1MRG9jdW1l
bnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycwogLy8gbWluaW1pemUgY29kZSBkdXBsaWNh
dGlvbiBiZXR3ZWVuIHRoZXNlIGNvbnN0cnVjdG9ycy4KIEhUTUxEb2N1bWVudFBhcnNlcjo6SFRN
TERvY3VtZW50UGFyc2VyKERvY3VtZW50RnJhZ21lbnQqIGZyYWdtZW50LCBFbGVtZW50KiBjb250
ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Np
b24pCiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoZnJhZ21lbnQtPmRvY3VtZW50KCkp
Ci0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUodXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MoZnJhZ21lbnQtPmRvY3VtZW50KCkpKSkKLSAgICAsIG1fdHJlZUJ1aWxkZXIoSFRN
TFRyZWVCdWlsZGVyOjpjcmVhdGUodGhpcywgZnJhZ21lbnQsIGNvbnRleHRFbGVtZW50LCBzY3Jp
cHRpbmdQZXJtaXNzaW9uLCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhmcmFnbWVudC0+ZG9jdW1l
bnQoKSksIG1heGltdW1ET01UcmVlRGVwdGgoZnJhZ21lbnQtPmRvY3VtZW50KCkpKSkKKyAgICAs
IG1fb3B0aW9ucyhmcmFnbWVudC0+ZG9jdW1lbnQoKSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxU
b2tlbml6ZXI6OmNyZWF0ZShtX29wdGlvbnMudXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpKQorICAg
ICwgbV90cmVlQnVpbGRlcihIVE1MVHJlZUJ1aWxkZXI6OmNyZWF0ZSh0aGlzLCBmcmFnbWVudCwg
Y29udGV4dEVsZW1lbnQsIHNjcmlwdGluZ1Blcm1pc3Npb24sIG1fb3B0aW9ucykpCiAgICAgLCBt
X3hzc0F1ZGl0b3IodGhpcykKICAgICAsIG1fZW5kV2FzRGVsYXllZChmYWxzZSkKICAgICAsIG1f
cHVtcFNlc3Npb25OZXN0aW5nTGV2ZWwoMCkKQEAgLTI4OCw3ICsyOTAsNyBAQCB2b2lkIEhUTUxE
b2N1bWVudFBhcnNlcjo6cHVtcFRva2VuaXplcihTeW5jaHJvbm91c01vZGUgbW9kZSkKICAgICBp
ZiAoaXNXYWl0aW5nRm9yU2NyaXB0cygpKSB7CiAgICAgICAgIEFTU0VSVChtX3Rva2VuaXplci0+
c3RhdGUoKSA9PSBIVE1MVG9rZW5pemVyU3RhdGU6OkRhdGFTdGF0ZSk7CiAgICAgICAgIGlmICgh
bV9wcmVsb2FkU2Nhbm5lcikgewotICAgICAgICAgICAgbV9wcmVsb2FkU2Nhbm5lciA9IGFkb3B0
UHRyKG5ldyBIVE1MUHJlbG9hZFNjYW5uZXIoZG9jdW1lbnQoKSkpOworICAgICAgICAgICAgbV9w
cmVsb2FkU2Nhbm5lciA9IGFkb3B0UHRyKG5ldyBIVE1MUHJlbG9hZFNjYW5uZXIoZG9jdW1lbnQo
KSwgbV9vcHRpb25zKSk7CiAgICAgICAgICAgICBtX3ByZWxvYWRTY2FubmVyLT5hcHBlbmRUb0Vu
ZChtX2lucHV0LmN1cnJlbnQoKSk7CiAgICAgICAgIH0KICAgICAgICAgbV9wcmVsb2FkU2Nhbm5l
ci0+c2NhbigpOwpAQCAtMzI1LDcgKzMyNyw3IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpp
bnNlcnQoY29uc3QgU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UpCiAgICAgICAgIC8vIENoZWNrIHRo
ZSBkb2N1bWVudC53cml0ZSgpIG91dHB1dCB3aXRoIGEgc2VwYXJhdGUgcHJlbG9hZCBzY2FubmVy
IGFzCiAgICAgICAgIC8vIHRoZSBtYWluIHNjYW5uZXIgY2FuJ3QgZGVhbCB3aXRoIGluc2VydGlv
bnMuCiAgICAgICAgIGlmICghbV9pbnNlcnRpb25QcmVsb2FkU2Nhbm5lcikKLSAgICAgICAgICAg
IG1faW5zZXJ0aW9uUHJlbG9hZFNjYW5uZXIgPSBhZG9wdFB0cihuZXcgSFRNTFByZWxvYWRTY2Fu
bmVyKGRvY3VtZW50KCkpKTsKKyAgICAgICAgICAgIG1faW5zZXJ0aW9uUHJlbG9hZFNjYW5uZXIg
PSBhZG9wdFB0cihuZXcgSFRNTFByZWxvYWRTY2FubmVyKGRvY3VtZW50KCksIG1fb3B0aW9ucykp
OwogICAgICAgICBtX2luc2VydGlvblByZWxvYWRTY2FubmVyLT5hcHBlbmRUb0VuZChzb3VyY2Up
OwogICAgICAgICBtX2luc2VydGlvblByZWxvYWRTY2FubmVyLT5zY2FuKCk7CiAgICAgfQpAQCAt
NTQ5LDE4ICs1NTEsNiBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cGFyc2VEb2N1bWVudEZy
YWdtZW50KGNvbnN0IFN0cmluZyYgc291cmNlLCBEb2N1bWVudEZyYQogICAgIHBhcnNlci0+ZGV0
YWNoKCk7IC8vIEFsbG93cyB+RG9jdW1lbnRQYXJzZXIgdG8gYXNzZXJ0IGl0IHdhcyBkZXRhY2hl
ZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uCiB9CiAgICAgCi1ib29sIEhUTUxEb2N1bWVudFBhcnNlcjo6
dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIEFTU0VS
VChkb2N1bWVudCk7Ci0gICAgcmV0dXJuIGRvY3VtZW50LT5zZXR0aW5ncygpICYmIGRvY3VtZW50
LT5zZXR0aW5ncygpLT51c2VQcmVIVE1MNVBhcnNlclF1aXJrcygpOwotfQotCi11bnNpZ25lZCBI
VE1MRG9jdW1lbnRQYXJzZXI6Om1heGltdW1ET01UcmVlRGVwdGgoRG9jdW1lbnQqIGRvY3VtZW50
KQotewotICAgIEFTU0VSVChkb2N1bWVudCk7Ci0gICAgcmV0dXJuIGRvY3VtZW50LT5zZXR0aW5n
cygpID8gZG9jdW1lbnQtPnNldHRpbmdzKCktPm1heGltdW1IVE1MUGFyc2VyRE9NVHJlZURlcHRo
KCkgOiBTZXR0aW5nczo6ZGVmYXVsdE1heGltdW1IVE1MUGFyc2VyRE9NVHJlZURlcHRoOwotfQot
CiB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCkKIHsKICAg
ICBpZiAobV9wYXJzZXJTY2hlZHVsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IGNlMTA4ZjRiOTMyMDg4Y2QxNDhjMDVkNjM5YWM4
NjlkYTk2ZWFiNzUuLjg2YmE4YjdlMWVjYTE2ZGNkYmE1MDYwODE0ZTY2OTFkMWU0M2IwNGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCkBA
IC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCIKICNpbmNs
dWRlICJGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCIKICNpbmNsdWRlICJIVE1MSW5wdXRT
dHJlYW0uaCIKKyNpbmNsdWRlICJIVE1MUGFyc2VyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkhUTUxT
Y3JpcHRSdW5uZXJIb3N0LmgiCiAjaW5jbHVkZSAiSFRNTFNvdXJjZVRyYWNrZXIuaCIKICNpbmNs
dWRlICJIVE1MVG9rZW4uaCIKQEAgLTY2LDkgKzY3LDYgQEAgcHVibGljOgogICAgIHZvaWQgcmVz
dW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKIAogICAgIHN0YXRpYyB2b2lkIHBhcnNlRG9jdW1lbnRG
cmFnbWVudChjb25zdCBTdHJpbmcmLCBEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4
dEVsZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiA9IEFsbG93U2NyaXB0aW5nQ29u
dGVudCk7Ci0gICAgCi0gICAgc3RhdGljIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoRG9j
dW1lbnQqKTsKLSAgICBzdGF0aWMgdW5zaWduZWQgbWF4aW11bURPTVRyZWVEZXB0aChEb2N1bWVu
dCopOwogCiAgICAgSFRNTFRva2VuaXplciogdG9rZW5pemVyKCkgY29uc3QgeyByZXR1cm4gbV90
b2tlbml6ZXIuZ2V0KCk7IH0KICAgICBTdHJpbmcgc291cmNlRm9yVG9rZW4oY29uc3QgSFRNTFRv
a2VuJik7CkBAIC0xMzcsNiArMTM1LDcgQEAgcHJpdmF0ZToKICAgICBib29sIGluUHVtcFNlc3Np
b24oKSBjb25zdCB7IHJldHVybiBtX3B1bXBTZXNzaW9uTmVzdGluZ0xldmVsID4gMDsgfQogICAg
IGJvb2wgc2hvdWxkRGVsYXlFbmQoKSBjb25zdCB7IHJldHVybiBpblB1bXBTZXNzaW9uKCkgfHwg
aXNXYWl0aW5nRm9yU2NyaXB0cygpIHx8IGlzU2NoZWR1bGVkRm9yUmVzdW1lKCkgfHwgaXNFeGVj
dXRpbmdTY3JpcHQoKTsgfQogCisgICAgSFRNTFBhcnNlck9wdGlvbnMgbV9vcHRpb25zOwogICAg
IEhUTUxJbnB1dFN0cmVhbSBtX2lucHV0OwogCiAgICAgLy8gV2UgaG9sZCBtX3Rva2VuIGhlcmUg
YmVjYXVzZSBpdCBtaWdodCBiZSBwYXJ0aWFsbHkgY29tcGxldGUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyT3B0aW9ucy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyT3B0aW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODY0NjZm
YWE5ZjkyZmU5ZWE0NmZkZWQwODE0Yzk3NTQzODE1MzJkMQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJPcHRpb25zLmNwcApAQCAtMCwwICsx
LDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
R09PR0xFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBHT09HTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJIVE1MUGFyc2VyT3B0aW9ucy5oIgorCisj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0hUTUxQYXJzZXJPcHRpb25zOjpIVE1MUGFyc2VyT3B0aW9ucyhEb2N1bWVu
dCogZG9jdW1lbnQpCit7CisgICAgQVNTRVJUKGRvY3VtZW50KTsKKyAgICBTZXR0aW5ncyogc2V0
dGluZ3MgPSBkb2N1bWVudC0+c2V0dGluZ3MoKTsKKyAgICB1c2VQcmVIVE1MNVBhcnNlclF1aXJr
cyA9IHNldHRpbmdzICYmIHNldHRpbmdzLT51c2VQcmVIVE1MNVBhcnNlclF1aXJrcygpOworICAg
IG1heGltdW1ET01UcmVlRGVwdGggPSBzZXR0aW5ncyA/IHNldHRpbmdzLT5tYXhpbXVtSFRNTFBh
cnNlckRPTVRyZWVEZXB0aCgpIDogU2V0dGluZ3M6OmRlZmF1bHRNYXhpbXVtSFRNTFBhcnNlckRP
TVRyZWVEZXB0aDsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlck9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWZmZGMyNTNkYTExNGUxYjEzZDc4ZjQwNmYwMjMy
M2U0OTc1NDFmOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJPcHRpb25zLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMyBHb29nbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgR09PR0xFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEhUTUxQYXJzZXJPcHRpb25z
X2gKKyNkZWZpbmUgSFRNTFBhcnNlck9wdGlvbnNfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIERvY3VtZW50OworCitjbGFzcyBIVE1MUGFyc2VyT3B0aW9ucyB7CitwdWJsaWM6Cisg
ICAgYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrczsKKyAgICB1bnNpZ25lZCBtYXhpbXVtRE9N
VHJlZURlcHRoOworCisgICAgSFRNTFBhcnNlck9wdGlvbnMoKQorICAgICAgICA6IHVzZVByZUhU
TUw1UGFyc2VyUXVpcmtzKGZhbHNlKQorICAgICAgICAsIG1heGltdW1ET01UcmVlRGVwdGgoMCkK
KyAgICB7CisgICAgfQorCisgICAgZXhwbGljaXQgSFRNTFBhcnNlck9wdGlvbnMoRG9jdW1lbnQq
KTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmNwcAppbmRleCA2OWFhMTA5MTcyMjBmNDBlOGZmNzk4MzhlYThk
ZjFmODVhZTA2OTJhLi5kYmFlZjAzYmFiOTA1MGQ4ZTNjODgwMjgxODBjYzRlZjAwNjEzMjRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5j
cHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJIVE1MVG9rZW5pemVyLmgiCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUg
IkhUTUxQYXJzZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiSW5wdXRUeXBlTmFtZXMuaCIKICNpbmNs
dWRlICJMaW5rUmVsQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCkBAIC0xNjEs
MTAgKzE2MiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pbnB1dElzSW1hZ2U7CiB9OwogCi1I
VE1MUHJlbG9hZFNjYW5uZXI6OkhUTUxQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCogZG9jdW1lbnQp
CitIVE1MUHJlbG9hZFNjYW5uZXI6OkhUTUxQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCogZG9jdW1l
bnQsIGNvbnN0IEhUTUxQYXJzZXJPcHRpb25zJiBvcHRpb25zKQogICAgIDogbV9kb2N1bWVudChk
b2N1bWVudCkKICAgICAsIG1fY3NzU2Nhbm5lcihkb2N1bWVudCkKLSAgICAsIG1fdG9rZW5pemVy
KEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXI6OnVzZVByZUhUTUw1UGFy
c2VyUXVpcmtzKGRvY3VtZW50KSkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpj
cmVhdGUob3B0aW9ucy51c2VQcmVIVE1MNVBhcnNlclF1aXJrcykpCiAgICAgLCBtX2luU3R5bGUo
ZmFsc2UpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2Fk
U2Nhbm5lci5oCmluZGV4IGY1NDcyMDdjZmQ3NzZmYWMwMDlkYmI1MTdhMzJiNGM5OTcwZGQ0OTAu
LjgxYWYxMjQyY2IyNjVlOWZhMWZiNzRjMjYyMjU2ZTgwNDJiMGQ5MDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNCw2ICszNCw3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OworY2xhc3MgSFRNTFBh
cnNlck9wdGlvbnM7CiBjbGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1MVG9rZW5pemVyOwogY2xh
c3MgU2VnbWVudGVkU3RyaW5nOwpAQCAtNDEsNyArNDIsNyBAQCBjbGFzcyBTZWdtZW50ZWRTdHJp
bmc7CiBjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgot
ICAgIGV4cGxpY2l0IEhUTUxQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOworICAgIEhUTUxQcmVs
b2FkU2Nhbm5lcihEb2N1bWVudCosIGNvbnN0IEhUTUxQYXJzZXJPcHRpb25zJik7CiAKICAgICB2
b2lkIGFwcGVuZFRvRW5kKGNvbnN0IFNlZ21lbnRlZFN0cmluZyYpOwogICAgIHZvaWQgc2Nhbigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5k
ZXggZDg3NTdiY2MzMTY4NDE5NDRjNjZhNDhkNjU4ZWQ2YTk3YTE2MTdmMS4uMGY0ZDU1MWNkNGQ0
NDU1NTAxZGE4NzUwMWU3ODI1NTZmOTJmYTRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNzAsMzIgKzI3MCwzMiBAQCBwcml2YXRl
OgogfTsKIAogCi1IVE1MVHJlZUJ1aWxkZXI6OkhUTUxUcmVlQnVpbGRlcihIVE1MRG9jdW1lbnRQ
YXJzZXIqIHBhcnNlciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCwgYm9vbCB1c2VQcmVI
VE1MNVBhcnNlclF1aXJrcywgdW5zaWduZWQgbWF4aW11bURPTVRyZWVEZXB0aCkKK0hUTUxUcmVl
QnVpbGRlcjo6SFRNTFRyZWVCdWlsZGVyKEhUTUxEb2N1bWVudFBhcnNlciogcGFyc2VyLCBIVE1M
RG9jdW1lbnQqIGRvY3VtZW50LCBib29sLCBjb25zdCBIVE1MUGFyc2VyT3B0aW9ucyYgb3B0aW9u
cykKICAgICA6IG1fZnJhbWVzZXRPayh0cnVlKQogICAgICwgbV9kb2N1bWVudChkb2N1bWVudCkK
LSAgICAsIG1fdHJlZShkb2N1bWVudCwgbWF4aW11bURPTVRyZWVEZXB0aCkKKyAgICAsIG1fdHJl
ZShkb2N1bWVudCwgb3B0aW9ucy5tYXhpbXVtRE9NVHJlZURlcHRoKQogICAgICwgbV9pbnNlcnRp
b25Nb2RlKEluaXRpYWxNb2RlKQogICAgICwgbV9vcmlnaW5hbEluc2VydGlvbk1vZGUoSW5pdGlh
bE1vZGUpCiAgICAgLCBtX3Nob3VsZFNraXBMZWFkaW5nTmV3bGluZShmYWxzZSkKICAgICAsIG1f
cGFyc2VyKHBhcnNlcikKICAgICAsIG1fc2NyaXB0VG9Qcm9jZXNzU3RhcnRQb3NpdGlvbih1bmlu
aXRpYWxpemVkUG9zaXRpb25WYWx1ZTEoKSkKLSAgICAsIG1fdXNlUHJlSFRNTDVQYXJzZXJRdWly
a3ModXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpCisgICAgLCBtX29wdGlvbnMob3B0aW9ucykKIHsK
IH0KIAogLy8gRklYTUU6IE1lbWJlciB2YXJpYWJsZXMgc2hvdWxkIGJlIGdyb3VwZWQgaW50byBz
ZWxmLWluaXRpYWxpemluZyBzdHJ1Y3RzIHRvCiAvLyBtaW5pbWl6ZSBjb2RlIGR1cGxpY2F0aW9u
IGJldHdlZW4gdGhlc2UgY29uc3RydWN0b3JzLgotSFRNTFRyZWVCdWlsZGVyOjpIVE1MVHJlZUJ1
aWxkZXIoSFRNTERvY3VtZW50UGFyc2VyKiBwYXJzZXIsIERvY3VtZW50RnJhZ21lbnQqIGZyYWdt
ZW50LCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9u
IHNjcmlwdGluZ1Blcm1pc3Npb24sIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MsIHVuc2ln
bmVkIG1heGltdW1ET01UcmVlRGVwdGgpCitIVE1MVHJlZUJ1aWxkZXI6OkhUTUxUcmVlQnVpbGRl
cihIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNlciwgRG9jdW1lbnRGcmFnbWVudCogZnJhZ21lbnQs
IEVsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24gc2Ny
aXB0aW5nUGVybWlzc2lvbiwgY29uc3QgSFRNTFBhcnNlck9wdGlvbnMmIG9wdGlvbnMpCiAgICAg
OiBtX2ZyYW1lc2V0T2sodHJ1ZSkKICAgICAsIG1fZnJhZ21lbnRDb250ZXh0KGZyYWdtZW50LCBj
b250ZXh0RWxlbWVudCwgc2NyaXB0aW5nUGVybWlzc2lvbikKICAgICAsIG1fZG9jdW1lbnQoZnJh
Z21lbnQtPmRvY3VtZW50KCkpCi0gICAgLCBtX3RyZWUoZnJhZ21lbnQsIHNjcmlwdGluZ1Blcm1p
c3Npb24sIG1heGltdW1ET01UcmVlRGVwdGgpCisgICAgLCBtX3RyZWUoZnJhZ21lbnQsIHNjcmlw
dGluZ1Blcm1pc3Npb24sIG9wdGlvbnMubWF4aW11bURPTVRyZWVEZXB0aCkKICAgICAsIG1faW5z
ZXJ0aW9uTW9kZShJbml0aWFsTW9kZSkKICAgICAsIG1fb3JpZ2luYWxJbnNlcnRpb25Nb2RlKElu
aXRpYWxNb2RlKQogICAgICwgbV9zaG91bGRTa2lwTGVhZGluZ05ld2xpbmUoZmFsc2UpCiAgICAg
LCBtX3BhcnNlcihwYXJzZXIpCiAgICAgLCBtX3NjcmlwdFRvUHJvY2Vzc1N0YXJ0UG9zaXRpb24o
dW5pbml0aWFsaXplZFBvc2l0aW9uVmFsdWUxKCkpCi0gICAgLCBtX3VzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKQorICAgICwgbV9vcHRpb25zKG9wdGlvbnMp
CiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICAvLyBGSVhNRTogVGhpcyBhc3Nl
cnRpb24gd2lsbCBiZWNvbWUgaW52YWxpZCBpZiA8aHR0cDovL3dlYmtpdC5vcmcvYi82MDMxNj4g
aXMgZml4ZWQuCkBAIC0yMTg1LDcgKzIxODUsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJv
Y2Vzc0VuZFRhZyhBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgICAgICAgICAgLy8gc2VsZi1j
bG9zaW5nIHNjcmlwdCB0YWcgd2FzIGVuY291bnRlcmVkIGFuZCBwcmUtSFRNTDUgcGFyc2VyCiAg
ICAgICAgICAgICAvLyBxdWlya3MgYXJlIGVuYWJsZWQuIFdlIG11c3Qgc2V0IHRoZSB0b2tlbml6
ZXIncyBzdGF0ZSB0bwogICAgICAgICAgICAgLy8gRGF0YVN0YXRlIGV4cGxpY2l0bHkgaWYgdGhl
IHRva2VuaXplciBkaWRuJ3QgaGF2ZSBhIGNoYW5jZSB0by4KLSAgICAgICAgICAgIEFTU0VSVCht
X3BhcnNlci0+dG9rZW5pemVyKCktPnN0YXRlKCkgPT0gSFRNTFRva2VuaXplclN0YXRlOjpEYXRh
U3RhdGUgfHwgbV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyk7CisgICAgICAgICAgICBBU1NFUlQo
bV9wYXJzZXItPnRva2VuaXplcigpLT5zdGF0ZSgpID09IEhUTUxUb2tlbml6ZXJTdGF0ZTo6RGF0
YVN0YXRlIHx8IG1fb3B0aW9ucy51c2VQcmVIVE1MNVBhcnNlclF1aXJrcyk7CiAgICAgICAgICAg
ICBtX3BhcnNlci0+dG9rZW5pemVyKCktPnNldFN0YXRlKEhUTUxUb2tlbml6ZXJTdGF0ZTo6RGF0
YVN0YXRlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMjcwNCw3ICsyNzA0
LDcgQEAgYm9vbCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0ZvckluSGVhZChBdG9t
aWNIVE1MVG9rZW4qIHRva2VuKQogICAgIH0KICAgICBpZiAodG9rZW4tPm5hbWUoKSA9PSBzY3Jp
cHRUYWcpIHsKICAgICAgICAgcHJvY2Vzc1NjcmlwdFN0YXJ0VGFnKHRva2VuKTsKLSAgICAgICAg
aWYgKG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgJiYgdG9rZW4tPnNlbGZDbG9zaW5nKCkpCisg
ICAgICAgIGlmIChtX29wdGlvbnMudXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgJiYgdG9rZW4tPnNl
bGZDbG9zaW5nKCkpCiAgICAgICAgICAgICBwcm9jZXNzRmFrZUVuZFRhZyhzY3JpcHRUYWcpOwog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUcmVlQnVpbGRlci5oCmluZGV4IDY0YTA5YTM0YjJiZDQ1YTBjNTRiNjNjYWMxZjQwODAz
M2U3NWQ2MGYuLjM5MTRkNWJlNWE4MzFlYmE4NzczZThlNzQ5ODJmMTNiMGI1Nzg3M2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiSFRNTENvbnN0cnVjdGlvblNpdGUuaCIKICNpbmNsdWRlICJIVE1M
RWxlbWVudFN0YWNrLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIgor
I2luY2x1ZGUgIkhUTUxQYXJzZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5o
IgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
QEAgLTU3LDEzICs1OCwxMyBAQCBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiBjbGFzcyBIVE1M
VHJlZUJ1aWxkZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUcmVlQnVpbGRlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRy
PEhUTUxUcmVlQnVpbGRlcj4gY3JlYXRlKEhUTUxEb2N1bWVudFBhcnNlciogcGFyc2VyLCBIVE1M
RG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywgYm9vbCB1c2VQcmVIVE1MNVBh
cnNlclF1aXJrcywgdW5zaWduZWQgbWF4aW11bURPTVRyZWVEZXB0aCkKKyAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNl
ciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMsIGNvbnN0IEhUTUxQ
YXJzZXJPcHRpb25zJiBvcHRpb25zKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBIVE1MVHJlZUJ1aWxkZXIocGFyc2VyLCBkb2N1bWVudCwgcmVwb3J0RXJyb3JzLCB1c2VQcmVI
VE1MNVBhcnNlclF1aXJrcywgbWF4aW11bURPTVRyZWVEZXB0aCkpOworICAgICAgICByZXR1cm4g
YWRvcHRQdHIobmV3IEhUTUxUcmVlQnVpbGRlcihwYXJzZXIsIGRvY3VtZW50LCByZXBvcnRFcnJv
cnMsIG9wdGlvbnMpKTsKICAgICB9Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWls
ZGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBwYXJzZXIsIERvY3VtZW50RnJhZ21lbnQq
IGZyYWdtZW50LCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJt
aXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Npb24sIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3Ms
IHVuc2lnbmVkIG1heGltdW1ET01UcmVlRGVwdGgpCisgICAgc3RhdGljIFBhc3NPd25QdHI8SFRN
TFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBwYXJzZXIsIERvY3VtZW50
RnJhZ21lbnQqIGZyYWdtZW50LCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3Jp
cHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Npb24sIGNvbnN0IEhUTUxQYXJzZXJPcHRp
b25zJiBvcHRpb25zKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBIVE1MVHJl
ZUJ1aWxkZXIocGFyc2VyLCBmcmFnbWVudCwgY29udGV4dEVsZW1lbnQsIHNjcmlwdGluZ1Blcm1p
c3Npb24sIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzLCBtYXhpbXVtRE9NVHJlZURlcHRoKSk7Cisg
ICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRyZWVCdWlsZGVyKHBhcnNlciwgZnJhZ21l
bnQsIGNvbnRleHRFbGVtZW50LCBzY3JpcHRpbmdQZXJtaXNzaW9uLCBvcHRpb25zKSk7CiAgICAg
fQogICAgIH5IVE1MVHJlZUJ1aWxkZXIoKTsKIApAQCAtMTIzLDggKzEyNCw4IEBAIHByaXZhdGU6
CiAgICAgICAgIEFmdGVyQWZ0ZXJGcmFtZXNldE1vZGUsCiAgICAgfTsKIAotICAgIEhUTUxUcmVl
QnVpbGRlcihIVE1MRG9jdW1lbnRQYXJzZXIqLCBIVE1MRG9jdW1lbnQqLCBib29sIHJlcG9ydEVy
cm9ycywgYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcywgdW5zaWduZWQgbWF4aW11bURPTVRy
ZWVEZXB0aCk7Ci0gICAgSFRNTFRyZWVCdWlsZGVyKEhUTUxEb2N1bWVudFBhcnNlciosIERvY3Vt
ZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQ
ZXJtaXNzaW9uLCBib29sIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzLCB1bnNpZ25lZCBtYXhpbXVt
RE9NVHJlZURlcHRoKTsKKyAgICBIVE1MVHJlZUJ1aWxkZXIoSFRNTERvY3VtZW50UGFyc2VyKiwg
SFRNTERvY3VtZW50KiwgYm9vbCByZXBvcnRFcnJvcnMsIGNvbnN0IEhUTUxQYXJzZXJPcHRpb25z
Jik7CisgICAgSFRNTFRyZWVCdWlsZGVyKEhUTUxEb2N1bWVudFBhcnNlciosIERvY3VtZW50RnJh
Z21lbnQqLCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNz
aW9uLCBjb25zdCBIVE1MUGFyc2VyT3B0aW9ucyYpOwogCiAgICAgdm9pZCBwcm9jZXNzVG9rZW4o
QXRvbWljSFRNTFRva2VuKik7CiAKQEAgLTI0OSw3ICsyNTAsNyBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxFbGVtZW50PiBtX3NjcmlwdFRvUHJvY2VzczsgLy8gPHNjcmlwdD4gdGFnIHdoaWNoIG5l
ZWRzIHByb2Nlc3NpbmcgYmVmb3JlIHJlc3VtaW5nIHRoZSBwYXJzZXIuCiAgICAgVGV4dFBvc2l0
aW9uIG1fc2NyaXB0VG9Qcm9jZXNzU3RhcnRQb3NpdGlvbjsgLy8gU3RhcnRpbmcgbGluZSBudW1i
ZXIgb2YgdGhlIHNjcmlwdCB0YWcgbmVlZGluZyBwcm9jZXNzaW5nLgogCi0gICAgYm9vbCBtX3Vz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzOworICAgIEhUTUxQYXJzZXJPcHRpb25zIG1fb3B0aW9uczsK
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3
U291cmNlUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291
cmNlUGFyc2VyLmNwcAppbmRleCAwZTMxZmM5ZWY3ZjJhZTkzZWIwMWZlNzk4ZGVjNzMyMzNlNGU0
M2E0Li41YTU1ODUzZWQ3ZjI3YzBmMWZjZDhlMzBjZTliZThkZThlNWJhNTkyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFZpZXdTb3VyY2VQYXJzZXIuY3BwCkBA
IC0yOCwxMyArMjgsMTQgQEAKIAogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJPcHRpb25zLmgiCiAjaW5j
bHVkZSAiSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IEhUTUxWaWV3U291cmNlUGFyc2VyOjpIVE1MVmlld1NvdXJjZVBhcnNlcihIVE1MVmlld1NvdXJj
ZURvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIoZG9j
dW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoSFRNTERvY3Vt
ZW50UGFyc2VyOjp1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhkb2N1bWVudCkpKQorICAgICwgbV90
b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6Y3JlYXRlKEhUTUxQYXJzZXJPcHRpb25zKGRvY3VtZW50
KS51c2VQcmVIVE1MNVBhcnNlclF1aXJrcykpCiB7CiB9CiAK
</data>
<flag name="review"
          id="199234"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="199237"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>