<?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>49817</bug_id>
          
          <creation_ts>2010-11-19 11:40:48 -0800</creation_ts>
          <short_desc>Add SandboxExtension abstraction and use it for the injected bundle extension</short_desc>
          <delta_ts>2010-11-19 12:02:09 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>311589</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-19 11:40:48 -0800</bug_when>
    <thetext>Add SandboxExtension abstraction and use it for the injected bundle extension</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311592</commentid>
    <comment_count>1</comment_count>
      <attachid>74409</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-19 11:49:45 -0800</bug_when>
    <thetext>Created attachment 74409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311594</commentid>
    <comment_count>2</comment_count>
      <attachid>74409</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-11-19 11:54:03 -0800</bug_when>
    <thetext>Comment on attachment 74409
Patch

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

So much win!

&gt; WebKit2/Shared/SandboxExtension.h:35
&gt; +typedef struct __WKSandboxExtension *WKSandboxExtensionRef;

* on the wrong side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311600</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-19 12:02:09 -0800</bug_when>
    <thetext>Committed r72422: &lt;http://trac.webkit.org/changeset/72422&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74409</attachid>
            <date>2010-11-19 11:49:45 -0800</date>
            <delta_ts>2010-11-19 11:54:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49817-20101119114945.patch</filename>
            <type>text/plain</type>
            <size>23678</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NTMxNDFlYzllMzBiNzIwYTUwNjE0MzI0MWRhZTE5NDJiOTFlZTU5YS4uNzBiMzA2YjNkY2FlZjE2
NTcyM2M5ZWQ2OGQwNGMwNTQ4NmQ4MDgyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0xMS0xOSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBTYW5kYm94
RXh0ZW5zaW9uIGFic3RyYWN0aW9uIGFuZCB1c2UgaXQgZm9yIHRoZSBpbmplY3RlZCBidW5kbGUg
ZXh0ZW5zaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00OTgxNworCisgICAgICAgIEV4cG9ydCBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24gc3ltYm9s
IG5lZWRlZCBieSBXZWJLaXQyLgorICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAg
ICAgICAqIFdlYkNvcmUuZXhwLmluOgorCiAyMDEwLTExLTE5ICBOaWtvbGFzIFppbW1lcm1hbm4g
IDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpcmsgU2NodWx6
ZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCmluZGV4IDQ4NjIzOTQ4YWJmMGVmMTM1NWRiODdiYzFiZWJjOWE4ZmE3ZjZjOGYuLmU0
MThlZGU2ODBhZWE2OWEyMjA3ZTExNTlmNmZhNzE0ZmYwYjI4NjQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KKysrIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNTE0LDYg
KzUxNCw3IEBAIF9fWk43V2ViQ29yZTI0Y29udGV4dE1lbnVJdGVtVGFnSXRhbGljRXYKIF9fWk43
V2ViQ29yZTI0Y29udGV4dE1lbnVJdGVtVGFnU3R5bGVzRXYKIF9fWk43V2ViQ29yZTI0Y3JlYXRl
RnJhZ21lbnRGcm9tTWFya3VwRVBOU184RG9jdW1lbnRFUktOM1dURjZTdHJpbmdFUzVfTlNfMjdG
cmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb25FCiBfX1pON1dlYkNvcmUyNGRlY29kZVVSTEVzY2Fw
ZVNlcXVlbmNlc0VSS04zV1RGNlN0cmluZ0UKK19fWk43V2ViQ29yZTI0ZmlsZVN5c3RlbVJlcHJl
c2VudGF0aW9uRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMjRub3RpZnlIaXN0b3J5SXRl
bUNoYW5nZWRFCiBfX1pON1dlYkNvcmUyNHJhbmdlQ29tcGxpYW50RXF1aXZhbGVudEVSS05TXzhQ
b3NpdGlvbkUKIF9fWk43V2ViQ29yZTI1SGlzdG9yeVByb3BlcnR5TGlzdFdyaXRlcjExcmVsZWFz
ZURhdGFFdgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBhNjI2YTc3MzU3MTFkOGNmMjJhNDdhZDAyZGZlNmZkM2E2MzFiMWU5Li4wYjJhN2Vh
MDhiZDdmYmRkZDRhNTA1Y2Q3YWVjNzYxNzI0YzQ0ZTg2IDEwMDY0NAotLS0gYS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEwLTEx
LTE5ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNhbmRib3hFeHRlbnNpb24g
YWJzdHJhY3Rpb24gYW5kIHVzZSBpdCBmb3IgdGhlIGluamVjdGVkIGJ1bmRsZSBleHRlbnNpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODE3CisK
KyAgICAgICAgKiBTaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oOgorICAgICAgICBBZGQgU2FuZGJv
eEV4dGVuc2lvbiBhYnN0cmFjdGlvbi4KKyAgICAgICAgCisgICAgICAgICogU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgIEluc3RlYWQgb2YgZW5jb2RpbmcvZGVjb2Rp
bmcgYSB0b2tlbiwgZW5jb2RlL2RlY29kZSB0aGUgc2FuZGJveCBleHRlbnNpb24gaGFuZGxlLgor
CisgICAgICAgICogU2hhcmVkL21hYy9TYW5kYm94RXh0ZW5zaW9uTWFjLm1tOiBBZGRlZC4KKyAg
ICAgICAgQWRkIE1hYyBpbXBsZW1lbnRhdGlvbiBvZiBTYW5kYm94RXh0ZW5zaW9uLgorCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250
ZXh0OjplbnN1cmVXZWJQcm9jZXNzKToKKyAgICAgICAgQ3JlYXRlIGEgU2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlIG9iamVjdC4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxlcy4KKyAgICAgICAgCisgICAgICAgICogV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAoV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZTo6c2V0U2FuZGJveEV4dGVuc2lvbik6CisgICAgICAgIFNldCB0aGUg
c2FuZGJveCBleHRlbnNpb24uCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L21hYy9JbmplY3RlZEJ1bmRsZU1hYy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlOjpsb2FkKToKKyAgICAgICAgQ29uc3VtZSB0aGUgc2FuZGJveCBleHRlbnNpb24uCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgIENyZWF0ZSBhIHNhbmRib3gg
ZXh0ZW5zaW9uIGFuZCBzZXQgaXQgb24gdGhlIGluamVjdGVkIGJ1bmRsZS4KKwogMjAxMC0xMS0x
OCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0
ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzA0ZTRmMGZhM2ZjMjkyYzE4ZWY2NDc1YzYwOTI1Y2YwNzdkMTYxNQotLS0gL2Rldi9udWxsCisr
KyBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaApAQCAtMCwwICsxLDEwMCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgU2FuZGJveEV4dGVuc2lvbl9oCisjZGVmaW5lIFNhbmRib3hF
eHRlbnNpb25faAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisKKyNpZiBFTkFCTEUoV0VCX1BST0NFU1NfU0FOREJPWCkKK3R5cGVkZWYg
c3RydWN0IF9fV0tTYW5kYm94RXh0ZW5zaW9uICpXS1NhbmRib3hFeHRlbnNpb25SZWY7CisjZW5k
aWYKKworbmFtZXNwYWNlIENvcmVJUEMgeworICAgIGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKKyAg
ICBjbGFzcyBBcmd1bWVudERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFz
cyBTYW5kYm94RXh0ZW5zaW9uIDogcHVibGljIFJlZkNvdW50ZWQ8U2FuZGJveEV4dGVuc2lvbj4g
eworcHVibGljOgorICAgIGVudW0gVHlwZSB7CisgICAgICAgIFJlYWRPbmx5LAorICAgICAgICBX
cml0ZU9ubHksCisgICAgICAgIFJlYWRXcml0ZSwKKyAgICB9OworCisgICAgY2xhc3MgSGFuZGxl
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGFuZGxlKTsKKyAgICAKKyAgICBwdWJs
aWM6CisgICAgICAgIEhhbmRsZSgpOworICAgICAgICB+SGFuZGxlKCk7CisKKyAgICAgICAgdm9p
ZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKikgY29uc3Q7CisgICAgICAgIHN0YXRp
YyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBIYW5kbGUmKTsKKworICAg
IHByaXZhdGU6CisgICAgICAgIGZyaWVuZCBjbGFzcyBTYW5kYm94RXh0ZW5zaW9uOworI2lmIEVO
QUJMRShXRUJfUFJPQ0VTU19TQU5EQk9YKQorICAgICAgICBtdXRhYmxlIFdLU2FuZGJveEV4dGVu
c2lvblJlZiBtX3NhbmRib3hFeHRlbnNpb247CisjZW5kaWYKKyAgICB9OworCisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gY3JlYXRlKGNvbnN0IEhhbmRsZSYpOworICAg
IHN0YXRpYyB2b2lkIGNyZWF0ZUhhbmRsZShjb25zdCBTdHJpbmcmIHBhdGgsIFR5cGUgdHlwZSwg
SGFuZGxlJik7CisgICAgflNhbmRib3hFeHRlbnNpb24oKTsKKworICAgIGJvb2wgaW52YWxpZGF0
ZSgpOworICAgIGJvb2wgY29uc3VtZSgpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFNhbmRi
b3hFeHRlbnNpb24oY29uc3QgSGFuZGxlJik7CisgICAgICAgICAgICAgICAgICAgICAKKyNpZiBF
TkFCTEUoV0VCX1BST0NFU1NfU0FOREJPWCkKKyAgICBtdXRhYmxlIFdLU2FuZGJveEV4dGVuc2lv
blJlZiBtX3NhbmRib3hFeHRlbnNpb247CisjZW5kaWYKK307CisKKyNpZiAhRU5BQkxFKFdFQl9Q
Uk9DRVNTX1NBTkRCT1gpCitpbmxpbmUgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlOjpIYW5kbGUo
KSB7IH0KK2lubGluZSBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU6On5IYW5kbGUoKSB7IH0KK2lu
bGluZSB2b2lkIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZTo6ZW5jb2RlKENvcmVJUEM6OkFyZ3Vt
ZW50RW5jb2RlciopIGNvbnN0IHsgfQoraW5saW5lIGJvb2wgU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgSGFuZGxlJikgeyByZXR1cm4g
dHJ1ZTsgfQoraW5saW5lIFBhc3NSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gU2FuZGJveEV4dGVu
c2lvbjo6Y3JlYXRlKGNvbnN0IEhhbmRsZSYpIHsgcmV0dXJuIDA7IH0KK2lubGluZSB2b2lkIFNh
bmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShjb25zdCBTdHJpbmcmIHBhdGgsIFR5cGUgdHlw
ZSwgSGFuZGxlJikgeyB9CitpbmxpbmUgU2FuZGJveEV4dGVuc2lvbjo6flNhbmRib3hFeHRlbnNp
b24oKSB7IH0KK2lubGluZSBib29sIFNhbmRib3hFeHRlbnNpb246OmludmFsaWRhdGUoKSB7IHJl
dHVybiB0cnVlOyB9CitpbmxpbmUgYm9vbCBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lKCkgeyBy
ZXR1cm4gdHJ1ZTsgfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisKKyNlbmRp
ZiAvLyBTYW5kYm94RXh0ZW5zaW9uX2gKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggYWQzMDEwN2JjMjM0OTA3ZGZlOGY1NmQ5MjE5MDIw
ZmZhOTM4N2MyOS4uNGEwMDEwNjFiNDQ1YmNiNGVjZGYyYmIyZTAzYzY0M2I4MWY2MWVkNiAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAK
KysrIGIvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAg
LTQwLDkgKzQwLDcgQEAgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6V2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycygpCiB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0CiB7CiAgICAgZW5j
b2Rlci0+ZW5jb2RlKGluamVjdGVkQnVuZGxlUGF0aCk7Ci0jaWYgRU5BQkxFKFdFQl9QUk9DRVNT
X1NBTkRCT1gpCi0gICAgZW5jb2Rlci0+ZW5jb2RlKGluamVjdGVkQnVuZGxlUGF0aFRva2VuKTsK
LSNlbmRpZgorICAgIGVuY29kZXItPmVuY29kZShpbmplY3RlZEJ1bmRsZVBhdGhFeHRlbnNpb25I
YW5kbGUpOwogCiAgICAgZW5jb2Rlci0+ZW5jb2RlKGFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnkp
OwogICAgIGVuY29kZXItPmVuY29kZSh1cmxTY2hlbWVzUmVnaXN0ZXJlcmRBc0VtcHR5RG9jdW1l
bnQpOwpAQCAtNjMsMTAgKzYxLDggQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWIKIHsKICAgICBp
ZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLmluamVjdGVkQnVuZGxlUGF0aCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSNpZiBFTkFCTEUoV0VCX1BST0NFU1NfU0FOREJPWCkKLSAgICBp
ZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLmluamVjdGVkQnVuZGxlUGF0aFRva2VuKSkK
KyAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLmluamVjdGVkQnVuZGxlUGF0aEV4
dGVuc2lvbkhhbmRsZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgogCiAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5hcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCmluZGV4IGJiMTU5MjA3YTk2MDI1YjQ1M2UwZjc2NWY4OWZjMGVjNmZk
M2ZjMWMuLmQ0NjQwYjgxYThkNjJkMmI1MzA1ODZkZDVjYmNkN2Q5MWI3NzhjYTQgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9X
ZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTI3LDYgKzI3
LDcgQEAKICNkZWZpbmUgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyc19oCiAKICNpbmNsdWRl
ICJDYWNoZU1vZGVsLmgiCisjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDgs
OSArNDksNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgc3Rh
dGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMmKTsKIAogICAgIFN0cmluZyBpbmplY3RlZEJ1bmRsZVBhdGg7Ci0jaWYg
RU5BQkxFKFdFQl9QUk9DRVNTX1NBTkRCT1gpCi0gICAgU3RyaW5nIGluamVjdGVkQnVuZGxlUGF0
aFRva2VuOwotI2VuZGlmCisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGluamVjdGVkQnVu
ZGxlUGF0aEV4dGVuc2lvbkhhbmRsZTsKIAogICAgIFN0cmluZyBhcHBsaWNhdGlvbkNhY2hlRGly
ZWN0b3J5OwogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVyZEFzRW1wdHlE
b2N1bWVudDsKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL21hYy9TYW5kYm94RXh0ZW5zaW9u
TWFjLm1tIGIvV2ViS2l0Mi9TaGFyZWQvbWFjL1NhbmRib3hFeHRlbnNpb25NYWMubW0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjI1MzZhZjI5OGI3MmNmYTIzMzA1MDM1YTZhYzI1YTA3OWNjODRmNgotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYktpdDIvU2hhcmVkL21hYy9TYW5kYm94RXh0ZW5zaW9uTWFjLm1tCkBAIC0w
LDAgKzEsMTQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShXRUJfUFJPQ0VTU19TQU5EQk9Y
KQorCisjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgorCisjaW5jbHVkZSAiQXJndW1lbnRE
ZWNvZGVyLmgiCisjaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCisjaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgorI2luY2x1ZGUgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvRmlsZVN5c3RlbS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKwor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGU6OkhhbmRsZSgpCisgICAgOiBtX3NhbmRib3hFeHRlbnNpb24oMCkK
K3sKK30KKyAgICAKK1NhbmRib3hFeHRlbnNpb246OkhhbmRsZTo6fkhhbmRsZSgpCit7CisgICAg
aWYgKG1fc2FuZGJveEV4dGVuc2lvbikgeworICAgICAgICBXS1NhbmRib3hFeHRlbnNpb25JbnZh
bGlkYXRlKG1fc2FuZGJveEV4dGVuc2lvbik7CisgICAgICAgIFdLU2FuZGJveEV4dGVuc2lvbkRl
c3Ryb3kobV9zYW5kYm94RXh0ZW5zaW9uKTsKKyAgICB9Cit9CisKK3ZvaWQgU2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyKSBj
b25zdAoreworICAgIEFTU0VSVChtX3NhbmRib3hFeHRlbnNpb24pOworCisgICAgc2l6ZV90IGxl
bmd0aCA9IDA7CisgICAgY29uc3QgY2hhciAqc2VyaWFsaXplZEZvcm1hdCA9IFdLU2FuZGJveEV4
dGVuc2lvbkdldFNlcmlhbGl6ZWRGb3JtYXQobV9zYW5kYm94RXh0ZW5zaW9uLCAmbGVuZ3RoKTsK
KyAgICBBU1NFUlQoc2VyaWFsaXplZEZvcm1hdCk7CisKKyAgICBlbmNvZGVyLT5lbmNvZGVCeXRl
cyhyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihzZXJpYWxpemVkRm9ybWF0KSwgbGVu
Z3RoKTsKKworICAgIC8vIEVuY29kaW5nIHdpbGwgZGVzdHJveSB0aGUgc2FuZGJveCBleHRlbnNp
b24gbG9jYWxseS4KKyAgICBXS1NhbmRib3hFeHRlbnNpb25EZXN0cm95KG1fc2FuZGJveEV4dGVu
c2lvbik7CisgICAgbV9zYW5kYm94RXh0ZW5zaW9uID0gMDsKK30KKworYm9vbCBTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGU6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIs
IEhhbmRsZSYgcmVzdWx0KQoreworICAgIEFTU0VSVCghcmVzdWx0Lm1fc2FuZGJveEV4dGVuc2lv
bik7CisKKyAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGFSZWZlcmVuY2U7CisgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGVCeXRlcyhkYXRhUmVmZXJlbmNlKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgcmVzdWx0Lm1fc2FuZGJveEV4dGVuc2lvbiA9IFdLU2FuZGJveEV4dGVuc2lv
bkNyZWF0ZUZyb21TZXJpYWxpemVkRm9ybWF0KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+
KGRhdGFSZWZlcmVuY2UuZGF0YSgpKSwgZGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIHJldHVy
biB0cnVlOworfQorCitQYXNzUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZShjb25zdCBIYW5kbGUmIGhhbmRsZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFNhbmRib3hFeHRlbnNpb24oaGFuZGxlKSk7Cit9CisKK3N0YXRpYyBXS1NhbmRib3hFeHRl
bnNpb25UeXBlIHdrU2FuZGJveEV4dGVuc2lvblR5cGUoU2FuZGJveEV4dGVuc2lvbjo6VHlwZSB0
eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgU2FuZGJveEV4dGVuc2lvbjo6
UmVhZE9ubHk6CisgICAgICAgIHJldHVybiBXS1NhbmRib3hFeHRlbnNpb25UeXBlUmVhZE9ubHk7
CisgICAgY2FzZSBTYW5kYm94RXh0ZW5zaW9uOjpXcml0ZU9ubHk6CisgICAgICAgIHJldHVybiBX
S1NhbmRib3hFeHRlbnNpb25UeXBlV3JpdGVPbmx5OworICAgIGNhc2UgU2FuZGJveEV4dGVuc2lv
bjo6UmVhZFdyaXRlOgorICAgICAgICByZXR1cm4gV0tTYW5kYm94RXh0ZW5zaW9uVHlwZVJlYWRX
cml0ZTsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gV0tT
YW5kYm94RXh0ZW5zaW9uVHlwZVJlYWRPbmx5OworfQorCit2b2lkIFNhbmRib3hFeHRlbnNpb246
OmNyZWF0ZUhhbmRsZShjb25zdCBTdHJpbmcmIHBhdGgsIFR5cGUgdHlwZSwgSGFuZGxlJiBoYW5k
bGUpCit7CisgICAgQVNTRVJUKCFoYW5kbGUubV9zYW5kYm94RXh0ZW5zaW9uKTsKKyAgICBoYW5k
bGUubV9zYW5kYm94RXh0ZW5zaW9uID0gV0tTYW5kYm94RXh0ZW5zaW9uQ3JlYXRlKGZpbGVTeXN0
ZW1SZXByZXNlbnRhdGlvbihwYXRoKS5kYXRhKCksIHdrU2FuZGJveEV4dGVuc2lvblR5cGUodHlw
ZSkpOworfQorCitTYW5kYm94RXh0ZW5zaW9uOjpTYW5kYm94RXh0ZW5zaW9uKGNvbnN0IEhhbmRs
ZSYgaGFuZGxlKQorICAgIDogbV9zYW5kYm94RXh0ZW5zaW9uKGhhbmRsZS5tX3NhbmRib3hFeHRl
bnNpb24pCit7CisgICAgaGFuZGxlLm1fc2FuZGJveEV4dGVuc2lvbiA9IDA7Cit9CisKK1NhbmRi
b3hFeHRlbnNpb246On5TYW5kYm94RXh0ZW5zaW9uKCkKK3sKKyAgICBpZiAoIW1fc2FuZGJveEV4
dGVuc2lvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgV0tTYW5kYm94RXh0ZW5zaW9uSW52YWxp
ZGF0ZShtX3NhbmRib3hFeHRlbnNpb24pOworICAgIFdLU2FuZGJveEV4dGVuc2lvbkRlc3Ryb3ko
bV9zYW5kYm94RXh0ZW5zaW9uKTsKK30KKworYm9vbCBTYW5kYm94RXh0ZW5zaW9uOjppbnZhbGlk
YXRlKCkKK3sKKyAgICBBU1NFUlQobV9zYW5kYm94RXh0ZW5zaW9uKTsKKworICAgIGJvb2wgcmVz
dWx0ID0gV0tTYW5kYm94RXh0ZW5zaW9uSW52YWxpZGF0ZShtX3NhbmRib3hFeHRlbnNpb24pOwor
ICAgIFdLU2FuZGJveEV4dGVuc2lvbkRlc3Ryb3kobV9zYW5kYm94RXh0ZW5zaW9uKTsKKyAgICBt
X3NhbmRib3hFeHRlbnNpb24gPSAwOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBT
YW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lKCkKK3sKKyAgICBBU1NFUlQobV9zYW5kYm94RXh0ZW5z
aW9uKTsKKworICAgIGJvb2wgcmVzdWx0ID0gV0tTYW5kYm94RXh0ZW5zaW9uQ29uc3VtZShtX3Nh
bmRib3hFeHRlbnNpb24pOworICAgIFdLU2FuZGJveEV4dGVuc2lvbkRlc3Ryb3kobV9zYW5kYm94
RXh0ZW5zaW9uKTsKKyAgICBtX3NhbmRib3hFeHRlbnNpb24gPSAwOworCisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VC
X1BST0NFU1NfU0FOREJPWCkKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHQuY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggNjRiMTA1N2U5
YTNjOWEzZWFjZjIxMTI2ZDlkMTViZjU0OWY3MmNhMC4uNTg1YmQ2OTE5OTE5ZmVmNWIzZWE3ODUx
YWQzNmVjYmM3YTY0YjRkNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5jcHAKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAgLTQ0LDEwICs0
NCw2IEBACiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25BcnJheVB0ci5oPgogCi0jaWYgRU5BQkxFKFdFQl9QUk9DRVNTX1NBTkRCT1gpCi0jaW5jbHVk
ZSA8c2FuZGJveC5oPgotI2VuZGlmCi0KICNpZm5kZWYgTkRFQlVHCiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWRMZWFrQ291bnRlci5oPgogI2VuZGlmCkBAIC0xNjEsMTYgKzE1Nyw3IEBAIHZvaWQg
V2ViQ29udGV4dDo6ZW5zdXJlV2ViUHJvY2VzcygpCiAgICAgaWYgKCFpbmplY3RlZEJ1bmRsZVBh
dGgoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgcGFyYW1ldGVycy5pbmplY3RlZEJ1bmRsZVBhdGgg
PSBpbmplY3RlZEJ1bmRsZVBhdGgoKTsKIAotI2lmIEVOQUJMRShXRUJfUFJPQ0VTU19TQU5EQk9Y
KQotICAgICAgICBjaGFyKiBzYW5kYm94QnVuZGxlVG9rZW5VVEY4ID0gMDsKLSAgICAgICAgQ1N0
cmluZyBpbmplY3RlZEJ1bmRsZVBhdGhVVEY4ID0gaW5qZWN0ZWRCdW5kbGVQYXRoKCkudXRmOCgp
OwotICAgICAgICBzYW5kYm94X2lzc3VlX2V4dGVuc2lvbihpbmplY3RlZEJ1bmRsZVBhdGhVVEY4
LmRhdGEoKSwgJnNhbmRib3hCdW5kbGVUb2tlblVURjgpOwotICAgICAgICBTdHJpbmcgc2FuZGJv
eEJ1bmRsZVRva2VuID0gU3RyaW5nOjpmcm9tVVRGOChzYW5kYm94QnVuZGxlVG9rZW5VVEY4KTsK
LSAgICAgICAgaWYgKHNhbmRib3hCdW5kbGVUb2tlblVURjgpCi0gICAgICAgICAgICBmcmVlKHNh
bmRib3hCdW5kbGVUb2tlblVURjgpOwotCi0gICAgICAgIHBhcmFtZXRlcnMuaW5qZWN0ZWRCdW5k
bGVQYXRoVG9rZW4gPSBzYW5kYm94QnVuZGxlVG9rZW47Ci0jZW5kaWYKKyAgICAgICAgU2FuZGJv
eEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHBhcmFtZXRlcnMuaW5qZWN0ZWRCdW5kbGVQYXRoLCBT
YW5kYm94RXh0ZW5zaW9uOjpSZWFkT25seSwgcGFyYW1ldGVycy5pbmplY3RlZEJ1bmRsZVBhdGhF
eHRlbnNpb25IYW5kbGUpOwogICAgIH0KIAogICAgIHBhcmFtZXRlcnMuc2hvdWxkVHJhY2tWaXNp
dGVkTGlua3MgPSBtX2hpc3RvcnlDbGllbnQuc2hvdWxkVHJhY2tWaXNpdGVkTGlua3MoKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjYyODFhY2ViNDNl
NTkxOTNhYWY2ZmM3ZjlmZGQ2NTRhMWQxMGU0OS4uMzI2MTE3MDgxODk1MjhlOGYyNzgxYzFmZDAw
YTY5NWZhZGRlMmI4YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTE1NCw2ICsxNTQsOCBAQAogCQkxQUE1NkYyOTExRTkyQkM4MDA2MUI4ODIgLyogUGx1
Z2luQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFBNTZGMjgxMUU5MkJDODAwNjFCODgyIC8qIFBsdWdpbkNvbnRyb2xsZXIuaCAqLzsg
fTsKIAkJMUFBNTg4OTIxMUVFNzA0MDAwNjFCODgyIC8qIE5ldHNjYXBlUGx1Z2luU3RyZWFtLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUE1ODg5MDEx
RUU3MDQwMDA2MUI4ODIgLyogTmV0c2NhcGVQbHVnaW5TdHJlYW0uaCAqLzsgfTsKIAkJMUFBNTg4
OTMxMUVFNzA0MDAwNjFCODgyIC8qIE5ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQTU4ODkxMTFFRTcwNDAwMDYx
Qjg4MiAvKiBOZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAgKi87IH07CisJCTFBQUI0QThEMTI5NkYw
QTIwMDIzOTUyRiAvKiBTYW5kYm94RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUFCNEE4QzEyOTZGMEEyMDAyMzk1MkYgLyogU2FuZGJv
eEV4dGVuc2lvbi5oICovOyB9OworCQkxQUFCNEFBQTEyOTZGMTU0MDAyMzk1MkYgLyogU2FuZGJv
eEV4dGVuc2lvbk1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBQUI0QUE5MTI5NkYxNTQwMDIzOTUyRiAvKiBTYW5kYm94RXh0ZW5zaW9uTWFjLm1t
ICovOyB9OwogCQkxQUFERTZGRjEwRDg1NUZDMDBEM0Q2M0QgLyogQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUFERTZGRTEwRDg1NUZDMDBEM0Q2M0QgLyogQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFt
ZXdvcmsgKi87IH07CiAJCTFBQjdENENBMTI4OEFBQTcwMENGRDA4QyAvKiBEb3dubG9hZFByb3h5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUI3RDRD
ODEyODhBQUE3MDBDRkQwOEMgLyogRG93bmxvYWRQcm94eS5oICovOyB9OwogCQkxQUI3RDRDQjEy
ODhBQUE3MDBDRkQwOEMgLyogRG93bmxvYWRQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUI3RDRDOTEyODhBQUE3MDBDRkQwOEMgLyogRG93
bmxvYWRQcm94eS5jcHAgKi87IH07CkBAIC03MTQsNiArNzE2LDggQEAKIAkJMUFBNTZGMjgxMUU5
MkJDODAwNjFCODgyIC8qIFBsdWdpbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGx1Z2luQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQUE1ODg5MDExRUU3MDQwMDA2MUI4ODIgLyogTmV0c2NhcGVQbHVnaW5TdHJlYW0uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0c2NhcGVQbHVnaW5TdHJlYW0uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFBNTg4OTExMUVFNzA0MDAwNjFCODgyIC8q
IE5ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE5ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUFBQjRBOEMxMjk2RjBBMjAwMjM5NTJGIC8qIFNhbmRib3hFeHRlbnNpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2FuZGJveEV4dGVuc2lvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQUFCNEFBOTEyOTZGMTU0MDAyMzk1MkYgLyogU2FuZGJv
eEV4dGVuc2lvbk1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFNhbmRib3hFeHRlbnNpb25NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFB
QURFNkZFMTBEODU1RkMwMEQzRDYzRCAvKiBBcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yayAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIu
ZnJhbWV3b3JrOyBuYW1lID0gQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcms7IHBhdGggPSBT
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrOyBz
b3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKIAkJMUFCN0Q0QzgxMjg4QUFBNzAwQ0ZEMDhDIC8qIERv
d25sb2FkUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRG93bmxvYWRQ
cm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUI3RDRDOTEyODhBQUE3MDBD
RkQwOEMgLyogRG93bmxvYWRQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEb3dubG9hZFByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEzOTUsNiArMTM5OSw3IEBACiAJCQkJQkNDNTcxNjExMTVBREI0MjAwMUNDQUY5IC8qIE5vdElt
cGxlbWVudGVkLmggKi8sCiAJCQkJQkNDNDNBQjgxMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3Jt
UG9wdXBNZW51RGF0YS5jcHAgKi8sCiAJCQkJQkNDNDNBQjkxMjdCOTVEQzAwMzE3RjE2IC8qIFBs
YXRmb3JtUG9wdXBNZW51RGF0YS5oICovLAorCQkJCTFBQUI0QThDMTI5NkYwQTIwMDIzOTUyRiAv
KiBTYW5kYm94RXh0ZW5zaW9uLmggKi8sCiAJCQkJQkNCRDNDM0ExMjVCRkE3QTAwRDJDMjlGIC8q
IFN0cmluZ1BhaXJWZWN0b3IuaCAqLywKIAkJCQlCQ0IwQjBERjEyMzA1QUIxMDBCMTM0MUUgLyog
VXNlck1lc3NhZ2VDb2RlcnMuaCAqLywKIAkJCQkxQTBGMjlDOTEyMEIzNzE2MDA1M0QxQjkgLyog
VmlzaXRlZExpbmtUYWJsZS5jcHAgKi8sCkBAIC0xODE5LDYgKzE4MjQsNyBAQAogCQkJCUJDMTEx
QjVDMTEyRjYyOTgwMDMzN0JBQiAvKiBXZWJFdmVudEZhY3RvcnkubW0gKi8sCiAJCQkJQkNFMjMx
QzAxMjJDNDY2RTAwRDVDMzVBIC8qIFdlYlVSTFJlcXVlc3RNYWMubW0gKi8sCiAJCQkJQkM5MEEx
RDUxMjJERDY2QTAwQ0M4QzUwIC8qIFdlYlVSTFJlc3BvbnNlTWFjLm1tICovLAorCQkJCTFBQUI0
QUE5MTI5NkYxNTQwMDIzOTUyRiAvKiBTYW5kYm94RXh0ZW5zaW9uTWFjLm1tICovLAogCQkJKTsK
IAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjQyMCw2ICsy
NDI2LDcgQEAKIAkJCQlFRDgyQTdGMjEyOEM2RkFGMDA0NDc3QjMgLyogV0tCdW5kbGVQYWdlT3Zl
cmxheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUNBOEI5NDYxMjdDODgyQTAwNTc2QzJCIC8qIFdl
Ykluc3BlY3RvclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNTM1NjlEMTI5
MUIxRDIwMDA3NDlEQyAvKiBXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuaCBpbiBIZWFkZXJzICov
LAorCQkJCTFBQUI0QThEMTI5NkYwQTIwMDIzOTUyRiAvKiBTYW5kYm94RXh0ZW5zaW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKQEAgLTI3NzgsNiArMjc4NSw3IEBACiAJCQkJMUNBOEI5NTQxMjdDODkxNTAw
NTc2QzJCIC8qIFdlYkluc3BlY3Rvck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUVEQ0E3MUI3
MTI4RERBOEMwMDIwMUIyNiAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxNTM1NjlDMTI5MUIxRDIwMDA3NDlEQyAvKiBXZWJQYWdlQ29udGV4dE1lbnVDbGll
bnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUFBQjRBQUExMjk2RjE1NDAwMjM5NTJGIC8qIFNh
bmRib3hFeHRlbnNpb25NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKaW5kZXggNGZkN2MwZGYwZWJi
YjE1MWZmMWEyYjUyOGE0YzJhNDAyZDI1NmNlYi4uYTA3NGNiNTVhM2QzMDNkMDkzMWNlYzg0Yzll
NmU4N2Y4YjUyNzQ3NCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkFQSU9i
amVjdC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQ2xpZW50LmgiCisjaW5jbHVkZSAiU2Fu
ZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUgIldLQnVuZGxlLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9Vc2VyQ29udGVudFR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU2NyaXB0VHlwZXMu
aD4KQEAgLTcxLDEwICs3Miw3IEBAIHB1YmxpYzoKICAgICB+SW5qZWN0ZWRCdW5kbGUoKTsKIAog
ICAgIGJvb2wgbG9hZChBUElPYmplY3QqIGluaXRpYWxpemF0aW9uVXNlckRhdGEpOwotCi0jaWYg
RU5BQkxFKFdFQl9QUk9DRVNTX1NBTkRCT1gpCi0gICAgdm9pZCBzZXRTYW5kYm94VG9rZW4oY29u
c3QgU3RyaW5nJiBzYW5kYm94VG9rZW4pIHsgbV9zYW5kYm94VG9rZW4gPSBzYW5kYm94VG9rZW47
IH0KLSNlbmRpZgorICAgIHZvaWQgc2V0U2FuZGJveEV4dGVuc2lvbihQYXNzUmVmUHRyPFNhbmRi
b3hFeHRlbnNpb24+IHNhbmRib3hFeHRlbnNpb24pIHsgbV9zYW5kYm94RXh0ZW5zaW9uID0gc2Fu
ZGJveEV4dGVuc2lvbjsgfQogCiAgICAgLy8gQVBJCiAgICAgdm9pZCBpbml0aWFsaXplQ2xpZW50
KFdLQnVuZGxlQ2xpZW50Kik7CkBAIC0xMTgsOSArMTE2LDcgQEAgcHJpdmF0ZToKICAgICBTdHJp
bmcgbV9wYXRoOwogICAgIFBsYXRmb3JtQnVuZGxlIG1fcGxhdGZvcm1CdW5kbGU7IC8vIFRoaXMg
aXMgbGVha2VkIHJpZ2h0IG5vdywgc2luY2Ugd2UgbmV2ZXIgdW5sb2FkIHRoZSBidW5kbGUvbW9k
dWxlLgogCi0jaWYgRU5BQkxFKFdFQl9QUk9DRVNTX1NBTkRCT1gpCi0gICAgU3RyaW5nIG1fc2Fu
ZGJveFRva2VuOwotI2VuZGlmCisgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IG1fc2FuZGJv
eEV4dGVuc2lvbjsKIAogICAgIEluamVjdGVkQnVuZGxlQ2xpZW50IG1fY2xpZW50OwogfTsKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRC
dW5kbGVNYWMuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9Jbmpl
Y3RlZEJ1bmRsZU1hYy5jcHAKaW5kZXggZjEyNmJjZWZmNzVhZmYxNmQ3NThmMDQxMzQwNjU3NzQ3
YWJhNGEwOS4uZjI3OGVhOTkxZmMwNThiZDNhNjFmNjQ0MDE1OGUyNTViNjQ5MTE2OSAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1bmRs
ZU1hYy5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9Jbmpl
Y3RlZEJ1bmRsZU1hYy5jcHAKQEAgLTMxLDI3ICszMSwyMCBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmIEVOQUJM
RShXRUJfUFJPQ0VTU19TQU5EQk9YKQotI2luY2x1ZGUgPHNhbmRib3guaD4KLSNlbmRpZgotCiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGJvb2wgSW5q
ZWN0ZWRCdW5kbGU6OmxvYWQoQVBJT2JqZWN0KiBpbml0aWFsaXphdGlvblVzZXJEYXRhKQogewot
I2lmIEVOQUJMRShXRUJfUFJPQ0VTU19TQU5EQk9YKQotICAgIGlmICghbV9zYW5kYm94VG9rZW4u
aXNFbXB0eSgpKSB7Ci0gICAgICAgIENTdHJpbmcgYnVuZGxlUGF0aCA9IG1fcGF0aC51dGY4KCk7
Ci0gICAgICAgIENTdHJpbmcgc2FuZGJveFRva2VuID0gbV9zYW5kYm94VG9rZW4udXRmOCgpOwot
ICAgICAgICBpbnQgcnYgPSBzYW5kYm94X2NvbnN1bWVfZXh0ZW5zaW9uKGJ1bmRsZVBhdGguZGF0
YSgpLCBzYW5kYm94VG9rZW4uZGF0YSgpKTsKLSAgICAgICAgaWYgKHJ2KSB7Ci0gICAgICAgICAg
ICBmcHJpbnRmKHN0ZGVyciwgIkluamVjdGVkQnVuZGxlOjpsb2FkIGZhaWxlZCAtIENvdWxkIG5v
dCBjb25zdW1lICglZCkgYnVuZGxlIHNhbmRib3ggZXh0ZW5zaW9uIFslc10gZm9yIFslc10uXG4i
LCBydiwgc2FuZGJveFRva2VuLmRhdGEoKSwgYnVuZGxlUGF0aC5kYXRhKCkpOworICAgIGlmICht
X3NhbmRib3hFeHRlbnNpb24pIHsKKyAgICAgICAgaWYgKCFtX3NhbmRib3hFeHRlbnNpb24tPmNv
bnN1bWUoKSkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJJbmplY3RlZEJ1bmRsZTo6
bG9hZCBmYWlsZWQgLSBDb3VsZCBub3QgY29uc3VtZSBidW5kbGUgc2FuZGJveCBleHRlbnNpb24g
Zm9yIFslc10uXG4iLCBtX3BhdGgudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIH0KKworICAgICAgICBtX3NhbmRib3hFeHRlbnNpb24gPSAwOwogICAg
IH0KLSNlbmRpZgogICAgIAogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gaW5qZWN0ZWRCdW5k
bGVQYXRoU3RyKEFkb3B0Q0YsIENGU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4obV9wYXRoLmNoYXJhY3RlcnMoKSksIG1fcGF0aC5s
ZW5ndGgoKSkpOwogICAgIGlmICghaW5qZWN0ZWRCdW5kbGVQYXRoU3RyKSB7CmRpZmYgLS1naXQg
YS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAKaW5kZXggZWY4NThjNTcxZGE5ODlkMjM3YjFkYmI4MDcxYTYzOGY0MTVj
MzM3My4uM2E2ZDIzMjUzMTc5NDU2Njc1OTg0OTdiY2FmZTE5NWEyMDE2ZDA4OCAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTI4LDkgKzEyOCw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6
aW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYg
cGFyYW1lCiAKICAgICBpZiAoIXBhcmFtZXRlcnMuaW5qZWN0ZWRCdW5kbGVQYXRoLmlzRW1wdHko
KSkgewogICAgICAgICBtX2luamVjdGVkQnVuZGxlID0gSW5qZWN0ZWRCdW5kbGU6OmNyZWF0ZShw
YXJhbWV0ZXJzLmluamVjdGVkQnVuZGxlUGF0aCk7Ci0jaWYgRU5BQkxFKFdFQl9QUk9DRVNTX1NB
TkRCT1gpCi0gICAgICAgIG1faW5qZWN0ZWRCdW5kbGUtPnNldFNhbmRib3hUb2tlbihwYXJhbWV0
ZXJzLmluamVjdGVkQnVuZGxlUGF0aFRva2VuKTsKLSNlbmRpZgorICAgICAgICBtX2luamVjdGVk
QnVuZGxlLT5zZXRTYW5kYm94RXh0ZW5zaW9uKFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZShwYXJh
bWV0ZXJzLmluamVjdGVkQnVuZGxlUGF0aEV4dGVuc2lvbkhhbmRsZSkpOworCiAgICAgICAgIGlm
ICghbV9pbmplY3RlZEJ1bmRsZS0+bG9hZChpbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNl
ckRhdGEuZ2V0KCkpKSB7CiAgICAgICAgICAgICAvLyBEb24ndCBrZWVwIGFyb3VuZCB0aGUgSW5q
ZWN0ZWRCdW5kbGUgcmVmZXJlbmNlIGlmIHRoZSBsb2FkIGZhaWxzLgogICAgICAgICAgICAgbV9p
bmplY3RlZEJ1bmRsZS5jbGVhcigpOwo=
</data>
<flag name="review"
          id="65004"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>