<?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>71721</bug_id>
          
          <creation_ts>2011-11-07 12:25:58 -0800</creation_ts>
          <short_desc>Factor SecurityContext out of ScriptExecutionContext</short_desc>
          <delta_ts>2011-11-07 14:00:47 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>japhet</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>497369</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-07 12:25:58 -0800</bug_when>
    <thetext>Factor SecurityContext out of ScriptExecutionContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497372</commentid>
    <comment_count>1</comment_count>
      <attachid>113911</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-07 12:29:06 -0800</bug_when>
    <thetext>Created attachment 113911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497377</commentid>
    <comment_count>2</comment_count>
      <attachid>113911</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-07 12:33:22 -0800</bug_when>
    <thetext>Comment on attachment 113911
Patch

Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497401</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-07 13:01:19 -0800</bug_when>
    <thetext>Committed r99464: &lt;http://trac.webkit.org/changeset/99464&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497447</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-11-07 14:00:47 -0800</bug_when>
    <thetext>Fun.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113911</attachid>
            <date>2011-11-07 12:29:06 -0800</date>
            <delta_ts>2011-11-07 12:33:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71721-20111107122904.patch</filename>
            <type>text/plain</type>
            <size>21589</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5NDU1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMTEtMDcgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBGYWN0b3IgU2VjdXJpdHlDb250ZXh0
IG91dCBvZiBTY3JpcHRFeGVjdXRpb25Db250ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTcyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBuZXcgU2VjdXJpdHlDb250ZXh0IG9iamVjdCBsZXRz
IHVzIHRpZ2h0bHkgc2NvcGUgY29udHJvbCBvZgorICAgICAgICB0aGUgc2VjdXJpdHktY3JpdGlj
YWwgaW5mb3JtYXRpb24gaW4gU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KKyAgICAgICAgT3JpZ2lu
YWxseSBJIGhhZCBob3BlZCB0byBwdXQgYWxsIHRoaXMgc3RhdGUgb24gU2VjdXJpdHlPcmlnaW4s
IGJ1dAorICAgICAgICBTZWN1cml0eU9yaWdpbiBnZXRzIHNoYXJlZCBiZXR3ZWVuIGRvY3VtZW50
cyBpbiBzb21lIGNvcm5lciBjYXNlcywgc28KKyAgICAgICAgaXQncyBub3QgYSBnb29kIGZpdCBm
b3Igc3RhdGUgbGlrZSB0aGUgc2FuZGJveCBmbGFncyBhbmQgdGhlIENTUCBwb2xpY3kKKyAgICAg
ICAgdGhhdCByZWFsbHkgbmVlZHMgdG8gYmUgcGVyLWRvY3VtZW50LgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBU
YXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogZG9tL0RPTUFsbEluT25lLmNwcDoKKyAgICAgICAgKiBkb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKiBkb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlclR5cGVzLmg6CisgICAgICAgICogcGFnZS9TZWN1
cml0eU9yaWdpbi5oOgorCiAyMDExLTExLTA3ICBEYXZpZCBCYXJyICA8ZGF2aWRiYXJyQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBPcHRpbWl6ZSBvdXRsaW5lIHJlbmRlcmluZyB0byBhdm9pZCB0
cmFuc3BhcmVuY3kgbGF5ZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gOTk0
MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
NTc5LDYgKzU3OSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vU2NyaXB0RWxlbWVu
dC5jcHAKICAgICBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKICAgICBkb20vU2NyaXB0
UnVubmVyLmNwcAorICAgIGRvbS9TZWN1cml0eUNvbnRleHQuY3BwCiAgICAgZG9tL1NlbGVjdG9y
UXVlcnkuY3BwCiAgICAgZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmNwcAogICAgIGRvbS9TaGFk
b3dJbmNsdXNpb25TZWxlY3Rvci5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQkocmV2aXNpb24gOTk0MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzMwLDYgKzEzMzAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0UnVubmVyLmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuY3BwIFwK
KwlTb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmggXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9TZWxlY3RvclF1ZXJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1NlbGVjdG9yUXVl
cnkuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmNwcCBcCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQkod29ya2luZyBjb3B5KQpAQCAtNTYyLDYgKzU2Miw3IEBAIFNPVVJDRVMgKz0gXAogICAg
IGRvbS9TY3JpcHRFbGVtZW50LmNwcCBcCiAgICAgZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
Y3BwIFwKICAgICBkb20vU2NyaXB0UnVubmVyLmNwcCBcCisgICAgZG9tL1NlY3VyaXR5Q29udGV4
dC5jcHAgXAogICAgIGRvbS9TZWxlY3RvclF1ZXJ5LmNwcCBcCiAgICAgZG9tL1NoYWRvd0NvbnRl
bnRFbGVtZW50LmNwcCBcCiAgICAgZG9tL1NoYWRvd0luY2x1c2lvblNlbGVjdG9yLmNwcCBcCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA5OTQzMikKKysrIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtNTMxNiw2ICs1MzE2LDggQEAKICAgICAgICAg
ICAgICdkb20vU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgnLAogICAgICAgICAgICAgJ2RvbS9T
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdkb20vU2NyaXB0
ZWRBbmltYXRpb25Db250cm9sbGVyLmgnLAorICAgICAgICAgICAgJ2RvbS9TZWN1cml0eUNvbnRl
eHQuY3BwJywKKyAgICAgICAgICAgICdkb20vU2VjdXJpdHlDb250ZXh0LmgnLAogICAgICAgICAg
ICAgJ2RvbS9TZWxlY3RvclF1ZXJ5LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1NlbGVjdG9yUXVl
cnkuaCcsCiAgICAgICAgICAgICAnZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmNwcCcsCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNp
b24gOTk0MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agkod29ya2luZyBjb3B5KQpAQCAtNDc5NjIsNiArNDc5NjIsNjIgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFNlY3VyaXR5Q29udGV4dC5j
cHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRl
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
RGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQ
cm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGRvbVxTZWN1cml0eUNvbnRleHQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFNlbGVjdG9yUXVlcnkuY3BwIgogCQkJCT4KIAkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjQ3LDYgKzMyNDcsOCBAQAogCQk5NzZENkM5MzEyMkI4QTNEMDAxRkQxRjcgLyogQXN5bmNG
aWxlV3JpdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NzZENkM3NDEyMkI4QTNEMDAxRkQxRjcgLyogQXN5bmNGaWxlV3JpdGVyQ2xpZW50
LmggKi87IH07CiAJCTk3NkQ2Qzk0MTIyQjhBM0QwMDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJl
Z2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk3NkQ2Qzc1MTIyQjhBM0QwMDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcCAq
LzsgfTsKIAkJOTc2RDZDOTUxMjJCOEEzRDAwMUZEMUY3IC8qIFRocmVhZGFibGVCbG9iUmVnaXN0
cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NkQ2
Qzc2MTIyQjhBM0QwMDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmggKi87IH07CisJ
CTk3NkYzNkVBMTQ2ODYyMjUwMDVFOTNCNCAvKiBTZWN1cml0eUNvbnRleHQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RjM2RTgxNDY4NjIyNTAw
NUU5M0I0IC8qIFNlY3VyaXR5Q29udGV4dC5jcHAgKi87IH07CisJCTk3NkYzNkVCMTQ2ODYyMjUw
MDVFOTNCNCAvKiBTZWN1cml0eUNvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk3NkYzNkU5MTQ2ODYyMjUwMDVFOTNCNCAvKiBTZWN1cml0eUNv
bnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk5NzdCMzcyMzEyMjg3MjE3MDBCODFGRjggLyogSFRNTEVsZW1lbnRTdGFjay5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzcxRjEyMjg3MjE3
MDBCODFGRjggLyogSFRNTEVsZW1lbnRTdGFjay5jcHAgKi87IH07CiAJCTk3N0IzNzI0MTIyODcy
MTcwMEI4MUZGOCAvKiBIVE1MRWxlbWVudFN0YWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzcyMDEyMjg3MjE3MDBCODFGRjggLyogSFRNTEVs
ZW1lbnRTdGFjay5oICovOyB9OwogCQk5NzdCMzcyNTEyMjg3MjE3MDBCODFGRjggLyogSFRNTFRy
ZWVCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3N0IzNzIxMTIyODcyMTcwMEI4MUZGOCAvKiBIVE1MVHJlZUJ1aWxkZXIuY3BwICovOyB9
OwpAQCAtMTA0MTEsNiArMTA0MTMsOCBAQAogCQk5NzZENkM3NDEyMkI4QTNEMDAxRkQxRjcgLyog
QXN5bmNGaWxlV3JpdGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEFzeW5jRmlsZVdyaXRlckNsaWVudC5oOyBwYXRoID0gZmlsZWFwaS9Bc3luY0ZpbGVXcml0ZXJD
bGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2RDZDNzUxMjJCOEEzRDAw
MUZEMUY3IC8qIFRocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHA7IHBhdGggPSBmaWxl
YXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5NzZENkM3NjEyMkI4QTNEMDAxRkQxRjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5
Lmg7IHBhdGggPSBmaWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTc2RjM2RTgxNDY4NjIyNTAwNUU5M0I0IC8qIFNlY3VyaXR5Q29u
dGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZWN1cml0eUNv
bnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzZGMzZFOTE0Njg2MjI1
MDA1RTkzQjQgLyogU2VjdXJpdHlDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNlY3VyaXR5Q29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
NzdCMzcxRjEyMjg3MjE3MDBCODFGRjggLyogSFRNTEVsZW1lbnRTdGFjay5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBIVE1MRWxlbWVudFN0YWNrLmNwcDsgcGF0aCA9
IHBhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTc3QjM3MjAxMjI4NzIxNzAwQjgxRkY4IC8qIEhUTUxFbGVtZW50U3RhY2suaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSFRNTEVsZW1lbnRTdGFjay5oOyBwYXRoID0gcGFy
c2VyL0hUTUxFbGVtZW50U3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc3
QjM3MjExMjI4NzIxNzAwQjgxRkY4IC8qIEhUTUxUcmVlQnVpbGRlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBIVE1MVHJlZUJ1aWxkZXIuY3BwOyBwYXRoID0gcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
MTE5Miw2ICsyMTE5Niw4IEBACiAJCQkJRTExQzlEOUEwRUIzNjgxMjAwRTQwOURCIC8qIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCAqLywKIAkJCQk4QTQxM0FERjEyMDdCQkE1MDA4MjAxNkUgLyog
U2NyaXB0UnVubmVyLmNwcCAqLywKIAkJCQk4QTQxM0FERTEyMDdCQkE1MDA4MjAxNkUgLyogU2Ny
aXB0UnVubmVyLmggKi8sCisJCQkJOTc2RjM2RTgxNDY4NjIyNTAwNUU5M0I0IC8qIFNlY3VyaXR5
Q29udGV4dC5jcHAgKi8sCisJCQkJOTc2RjM2RTkxNDY4NjIyNTAwNUU5M0I0IC8qIFNlY3VyaXR5
Q29udGV4dC5oICovLAogCQkJCUU0NTMyMkE5MTQwQ0UyNjcwMDVBMEY5MiAvKiBTZWxlY3RvclF1
ZXJ5LmNwcCAqLywKIAkJCQlFNDUzMjJBQTE0MENFMjY3MDA1QTBGOTIgLyogU2VsZWN0b3JRdWVy
eS5oICovLAogCQkJCUE3NjZDRjhCMTM4MTBFMEMwMDExQTBCMyAvKiBTaGFkb3dDb250ZW50RWxl
bWVudC5jcHAgKi8sCkBAIC0yNDYwNSw2ICsyNDYxMSw3IEBACiAJCQkJMkQ4RkVCREQxNDNFM0VG
NzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTY5
Mzc5QzE0NjA5QzZDMDBDMDEzNjIgLyogRHJhZ1Nlc3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUNBRTlGOTEwMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk5NzZGMzZFQjE0Njg2MjI1MDA1RTkzQjQgLyogU2VjdXJpdHlDb250ZXh0
LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI3NDYxLDYgKzI3NDY4LDcgQEAKIAkJCQlDREVBNzYzMDE0
NjA4QTUzMDA4QjMxRjEgLyogUGxhdGZvcm1DbG9ja0NBLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUNERUE3NjM0MTQ2MEI1NkYwMDhCMzFGMSAvKiBQbGF0Zm9ybUNsb2NrUE9TSVguY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQ0RFQTc2MzUxNDYwQjcxQTAwOEIzMUYxIC8qIENsb2NrLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTk3NkYzNkVBMTQ2ODYyMjUwMDVFOTNCNCAvKiBTZWN1cml0eUNvbnRl
eHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5P
bmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAJ
KHJldmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTEwLDYgKzExMCw3IEBACiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5jcHAiCiAjaW5jbHVkZSAiU2NyaXB0UnVubmVyLmNwcCIKICNpbmNsdWRlICJT
Y3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIuY3BwIgorI2luY2x1ZGUgIlNlY3VyaXR5Q29udGV4dC5j
cHAiCiAjaW5jbHVkZSAiU2VsZWN0b3JRdWVyeS5jcHAiCiAjaW5jbHVkZSAiU2hhZG93Q29udGVu
dEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIlNoYWRvd0luY2x1c2lvblNlbGVjdG9yLmNwcCIKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAJKHJl
dmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OSw4ICs4OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6QWRkQ29uc29sZU0KIH0KIAogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpCi0gICAgOiBtX3NhbmRib3hGbGFncyhTYW5kYm94Tm9uZSkK
LSAgICAsIG1faXRlcmF0aW5nQWN0aXZlRE9NT2JqZWN0cyhmYWxzZSkKKyAgICA6IG1faXRlcmF0
aW5nQWN0aXZlRE9NT2JqZWN0cyhmYWxzZSkKICAgICAsIG1faW5EZXN0cnVjdG9yKGZhbHNlKQog
ICAgICwgbV9pbkRpc3BhdGNoRXJyb3JFdmVudChmYWxzZSkKICNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQpAQCAtMjk0LDE2ICsyOTMsNiBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNs
b3NlTWVzc2FnCiAgICAgfQogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnNldFNl
Y3VyaXR5T3JpZ2luKFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luKQot
ewotICAgIG1fc2VjdXJpdHlPcmlnaW4gPSBzZWN1cml0eU9yaWdpbjsKLX0KLQotdm9pZCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpzZXRDb250ZW50U2VjdXJpdHlQb2xpY3koUGFzc1JlZlB0cjxD
b250ZW50U2VjdXJpdHlQb2xpY3k+IGNvbnRlbnRTZWN1cml0eVBvbGljeSkKLXsKLSAgICBtX2Nv
bnRlbnRTZWN1cml0eVBvbGljeSA9IGNvbnRlbnRTZWN1cml0eVBvbGljeTsKLX0KLQogYm9vbCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpzYW5pdGl6ZVNjcmlwdEVycm9yKFN0cmluZyYgZXJyb3JN
ZXNzYWdlLCBpbnQmIGxpbmVOdW1iZXIsIFN0cmluZyYgc291cmNlVVJMKQogewogICAgIEtVUkwg
dGFyZ2V0VVJMID0gY29tcGxldGVVUkwoc291cmNlVVJMKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAkocmV2aXNpb24gOTk0MzIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSwxNiArMjksMTQgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1
ZGUgIkNvbnNvbGVUeXBlcy5oIgotI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNs
dWRlICJLVVJMLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlDb250ZXh0LmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNDgsMTQgKzQ2LDEyIEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5Owog
Y2xhc3MgRE9NVGltZXI7CiBjbGFzcyBFdmVudExpc3RlbmVyOwogY2xhc3MgRXZlbnRRdWV1ZTsK
IGNsYXNzIEV2ZW50VGFyZ2V0OwogY2xhc3MgTWVzc2FnZVBvcnQ7CiBjbGFzcyBTY3JpcHRDYWxs
U3RhY2s7Ci1jbGFzcyBTZWN1cml0eU9yaWdpbjsKIAogI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiBjbGFzcyBEYXRhYmFzZTsKQEAgLTY3LDcgKzYzLDcgQEAgY2xhc3MgRGF0YWJhc2VUaHJlYWQ7
CiBjbGFzcyBGaWxlVGhyZWFkOwogI2VuZGlmCiAKLWNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQgeworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCA6IHB1YmxpYyBTZWN1cml0eUNvbnRl
eHQgewogcHVibGljOgogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICB2aXJ0dWFs
IH5TY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CkBAIC05NCwxMyArOTAsNiBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZUV2YWwoKSA9IDA7CiAKLSAgICBTZWN1cml0eU9yaWdp
biogc2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX3NlY3VyaXR5T3JpZ2luLmdldCgp
OyB9Ci0gICAgU2FuZGJveEZsYWdzIHNhbmRib3hGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fc2Fu
ZGJveEZsYWdzOyB9Ci0gICAgQ29udGVudFNlY3VyaXR5UG9saWN5KiBjb250ZW50U2VjdXJpdHlQ
b2xpY3koKSB7IHJldHVybiBtX2NvbnRlbnRTZWN1cml0eVBvbGljeS5nZXQoKTsgfQotCi0gICAg
dm9pZCBlbmZvcmNlU2FuZGJveEZsYWdzKFNhbmRib3hGbGFncyBtYXNrKSB7IG1fc2FuZGJveEZs
YWdzIHw9IG1hc2s7IH0KLSAgICBib29sIGlzU2FuZGJveGVkKFNhbmRib3hGbGFncyBtYXNrKSBj
b25zdCB7IHJldHVybiBtX3NhbmRib3hGbGFncyAmIG1hc2s7IH0KLQogICAgIGJvb2wgc2FuaXRp
emVTY3JpcHRFcnJvcihTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50JiBsaW5lTnVtYmVyLCBTdHJp
bmcmIHNvdXJjZVVSTCk7CiAgICAgdm9pZCByZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pID0gMDsKQEAgLTE4OSwxMyArMTc4LDYgQEAgcHJvdGVj
dGVkOgogICAgICAgICBTdHJpbmcgbV9tZXNzYWdlOwogICAgIH07CiAKLSAgICAvLyBFeHBsaWNp
dGx5IG92ZXJyaWRlIHRoZSBzZWN1cml0eSBvcmlnaW4gZm9yIHRoaXMgc2NyaXB0IGNvbnRleHQu
Ci0gICAgLy8gTm90ZTogSXQgaXMgZGFuZ2Vyb3VzIHRvIGNoYW5nZSB0aGUgc2VjdXJpdHkgb3Jp
Z2luIG9mIGEgc2NyaXB0IGNvbnRleHQKLSAgICAvLyAgICAgICB0aGF0IGFscmVhZHkgY29udGFp
bnMgY29udGVudC4KLSAgICB2b2lkIHNldFNlY3VyaXR5T3JpZ2luKFBhc3NSZWZQdHI8U2VjdXJp
dHlPcmlnaW4+KTsKLQotICAgIHZvaWQgc2V0Q29udGVudFNlY3VyaXR5UG9saWN5KFBhc3NSZWZQ
dHI8Q29udGVudFNlY3VyaXR5UG9saWN5Pik7Ci0KIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25z
dCBLVVJMJiB2aXJ0dWFsVVJMKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgS1VSTCB2aXJ0dWFs
Q29tcGxldGVVUkwoY29uc3QgU3RyaW5nJikgY29uc3QgPSAwOwpAQCAtMjA2LDEwICsxODgsNiBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBjbG9zZU1lc3NhZ2VQb3J0cygpOwogCi0gICAgU2FuZGJv
eEZsYWdzIG1fc2FuZGJveEZsYWdzOwotICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV9zZWN1
cml0eU9yaWdpbjsKLSAgICBSZWZQdHI8Q29udGVudFNlY3VyaXR5UG9saWN5PiBtX2NvbnRlbnRT
ZWN1cml0eVBvbGljeTsKLQogICAgIEhhc2hTZXQ8TWVzc2FnZVBvcnQqPiBtX21lc3NhZ2VQb3J0
czsKICAgICBIYXNoU2V0PENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKj4gbV9kZXN0cnVjdGlv
bk9ic2VydmVyczsKICAgICBIYXNoTWFwPEFjdGl2ZURPTU9iamVjdCosIHZvaWQqPiBtX2FjdGl2
ZURPTU9iamVjdHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmNwcAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuY3BwCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiU2VjdXJpdHlDb250ZXh0LmgiCisKKyNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQ
b2xpY3kuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK1NlY3VyaXR5Q29udGV4dDo6U2VjdXJpdHlDb250ZXh0KCkKKyAgICA6IG1fc2FuZGJv
eEZsYWdzKFNhbmRib3hOb25lKQoreworfQorCitTZWN1cml0eUNvbnRleHQ6On5TZWN1cml0eUNv
bnRleHQoKQoreworfQorCit2b2lkIFNlY3VyaXR5Q29udGV4dDo6c2V0U2VjdXJpdHlPcmlnaW4o
UGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4pCit7CisgICAgbV9zZWN1
cml0eU9yaWdpbiA9IHNlY3VyaXR5T3JpZ2luOworfQorCit2b2lkIFNlY3VyaXR5Q29udGV4dDo6
c2V0Q29udGVudFNlY3VyaXR5UG9saWN5KFBhc3NSZWZQdHI8Q29udGVudFNlY3VyaXR5UG9saWN5
PiBjb250ZW50U2VjdXJpdHlQb2xpY3kpCit7CisgICAgbV9jb250ZW50U2VjdXJpdHlQb2xpY3kg
PSBjb250ZW50U2VjdXJpdHlQb2xpY3k7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9TZWN1cml0eUNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2Vj
dXJpdHlDb250ZXh0LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJp
dHlDb250ZXh0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKyNpZm5kZWYg
U2VjdXJpdHlDb250ZXh0X2gKKyNkZWZpbmUgU2VjdXJpdHlDb250ZXh0X2gKKworI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFNlY3VyaXR5T3JpZ2luOworY2xhc3MgQ29udGVudFNlY3VyaXR5
UG9saWN5OworCitlbnVtIFNhbmRib3hGbGFnIHsKKyAgICBTYW5kYm94Tm9uZSA9IDAsCisgICAg
U2FuZGJveE5hdmlnYXRpb24gPSAxLAorICAgIFNhbmRib3hQbHVnaW5zID0gMSA8PCAxLAorICAg
IFNhbmRib3hPcmlnaW4gPSAxIDw8IDIsCisgICAgU2FuZGJveEZvcm1zID0gMSA8PCAzLAorICAg
IFNhbmRib3hTY3JpcHRzID0gMSA8PCA0LAorICAgIFNhbmRib3hUb3BOYXZpZ2F0aW9uID0gMSA8
PCA1LAorICAgIFNhbmRib3hQb3B1cHMgPSAxIDw8IDYsCisgICAgU2FuZGJveEFsbCA9IC0xIC8v
IE1hc2sgd2l0aCBhbGwgYml0cyBzZXQgdG8gMS4KK307CisKK3R5cGVkZWYgaW50IFNhbmRib3hG
bGFnczsKKworY2xhc3MgU2VjdXJpdHlDb250ZXh0IHsKK3B1YmxpYzoKKyAgICBTZWN1cml0eU9y
aWdpbiogc2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX3NlY3VyaXR5T3JpZ2luLmdl
dCgpOyB9CisgICAgU2FuZGJveEZsYWdzIHNhbmRib3hGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1f
c2FuZGJveEZsYWdzOyB9CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5KiBjb250ZW50U2VjdXJp
dHlQb2xpY3koKSB7IHJldHVybiBtX2NvbnRlbnRTZWN1cml0eVBvbGljeS5nZXQoKTsgfQorCisg
ICAgdm9pZCBlbmZvcmNlU2FuZGJveEZsYWdzKFNhbmRib3hGbGFncyBtYXNrKSB7IG1fc2FuZGJv
eEZsYWdzIHw9IG1hc2s7IH0KKyAgICBib29sIGlzU2FuZGJveGVkKFNhbmRib3hGbGFncyBtYXNr
KSBjb25zdCB7IHJldHVybiBtX3NhbmRib3hGbGFncyAmIG1hc2s7IH0KKworcHJvdGVjdGVkOgor
ICAgIFNlY3VyaXR5Q29udGV4dCgpOworICAgIH5TZWN1cml0eUNvbnRleHQoKTsKKworICAgIC8v
IEV4cGxpY2l0bHkgb3ZlcnJpZGUgdGhlIHNlY3VyaXR5IG9yaWdpbiBmb3IgdGhpcyBzZWN1cml0
eSBjb250ZXh0LgorICAgIC8vIE5vdGU6IEl0IGlzIGRhbmdlcm91cyB0byBjaGFuZ2UgdGhlIHNl
Y3VyaXR5IG9yaWdpbiBvZiBhIHNjcmlwdCBjb250ZXh0CisgICAgLy8gICAgICAgdGhhdCBhbHJl
YWR5IGNvbnRhaW5zIGNvbnRlbnQuCisgICAgdm9pZCBzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVm
UHRyPFNlY3VyaXR5T3JpZ2luPik7CisgICAgdm9pZCBzZXRDb250ZW50U2VjdXJpdHlQb2xpY3ko
UGFzc1JlZlB0cjxDb250ZW50U2VjdXJpdHlQb2xpY3k+KTsKKworcHJpdmF0ZToKKyAgICBTYW5k
Ym94RmxhZ3MgbV9zYW5kYm94RmxhZ3M7CisgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBtX3Nl
Y3VyaXR5T3JpZ2luOworICAgIFJlZlB0cjxDb250ZW50U2VjdXJpdHlQb2xpY3k+IG1fY29udGVu
dFNlY3VyaXR5UG9saWN5OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gU2VjdXJpdHlDb250ZXh0X2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5o
CShyZXZpc2lvbiA5OTQzMikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiUG9saWN5Q2hlY2tl
ci5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
Tm90aWZpZXIuaCIKKyNpbmNsdWRlICJTZWN1cml0eUNvbnRleHQuaCIKICNpbmNsdWRlICJTdWJm
cmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaAkocmV2aXNp
b24gOTk0MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC05MiwxOCArOTIsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIE5vUmVmZXJyZXIKICAgICB9OwogCi0gICAgZW51bSBTYW5kYm94RmxhZyB7Ci0gICAgICAg
IFNhbmRib3hOb25lID0gMCwKLSAgICAgICAgU2FuZGJveE5hdmlnYXRpb24gPSAxLAotICAgICAg
ICBTYW5kYm94UGx1Z2lucyA9IDEgPDwgMSwKLSAgICAgICAgU2FuZGJveE9yaWdpbiA9IDEgPDwg
MiwKLSAgICAgICAgU2FuZGJveEZvcm1zID0gMSA8PCAzLAotICAgICAgICBTYW5kYm94U2NyaXB0
cyA9IDEgPDwgNCwKLSAgICAgICAgU2FuZGJveFRvcE5hdmlnYXRpb24gPSAxIDw8IDUsCi0gICAg
ICAgIFNhbmRib3hQb3B1cHMgPSAxIDw8IDYsCi0gICAgICAgIFNhbmRib3hBbGwgPSAtMSAvLyBN
YXNrIHdpdGggYWxsIGJpdHMgc2V0IHRvIDEuCi0gICAgfTsKLQogICAgIC8vIFBhc3NlZCB0byBG
cmFtZUxvYWRlcjo6dXJsU2VsZWN0ZWQoKSBhbmQgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZUlm
SmF2YVNjcmlwdFVSTCgpCiAgICAgLy8gdG8gY29udHJvbCB3aGV0aGVyLCBpbiB0aGUgY2FzZSBv
ZiBhIEphdmFTY3JpcHQgVVJMLCBleGVjdXRlSWZKYXZhU2NyaXB0VVJMKCkgc2hvdWxkCiAgICAg
Ly8gcmVwbGFjZSB0aGUgZG9jdW1lbnQuICBJdCBpcyBhIEZJWE1FIHRvIGVsaW1pbmF0ZSB0aGlz
IGV4dHJhIHBhcmFtZXRlciBmcm9tCkBAIC0xMTgsNyArMTA2LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBOb3RBYm91dFRvSW5zdGFudGlhdGVQbHVnaW4KICAgICB9OwogCi0gICAg
dHlwZWRlZiBpbnQgU2FuZGJveEZsYWdzOwogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL1NlY3VyaXR5T3JpZ2luLmgJKHJldmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9TZWN1cml0eU9yaWdpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw4ICsyOSw4IEBACiAj
aWZuZGVmIFNlY3VyaXR5T3JpZ2luX2gKICNkZWZpbmUgU2VjdXJpdHlPcmlnaW5faAogCi0jaW5j
bHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisj
aW5jbHVkZSAiU2VjdXJpdHlDb250ZXh0LmgiIC8vIEZJWE1FOiBSZW1vdmUgb25jZSBwYXJzZVNh
bmRib3hQb2xpY3kgbW92ZXMgdG8gU2VjdXJpdHlDb250ZXh0LgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRTYWZlUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Cg==
</data>
<flag name="review"
          id="112422"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="112425"
          type_id="3"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>