<?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>92073</bug_id>
          
          <creation_ts>2012-07-24 00:44:33 -0700</creation_ts>
          <short_desc>[WK2][EFL][GTK] Share WebCoreArgumentCoders for soup-related types</short_desc>
          <delta_ts>2012-07-24 02:13:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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>91345</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>rakuco</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>676472</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-24 00:44:33 -0700</bug_when>
    <thetext>EFL and GTK ports should share WebCoreArgumentCoders for soup-related types such as ResourceRequest, ResourceError and ResourceResponse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676478</commentid>
    <comment_count>1</comment_count>
      <attachid>153980</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-24 00:52:29 -0700</bug_when>
    <thetext>Created attachment 153980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676506</commentid>
    <comment_count>2</comment_count>
      <attachid>153980</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-07-24 01:22:47 -0700</bug_when>
    <thetext>Comment on attachment 153980
Patch

Very nice! Love patches like this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676547</commentid>
    <comment_count>3</comment_count>
      <attachid>153980</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-24 02:13:42 -0700</bug_when>
    <thetext>Comment on attachment 153980
Patch

Clearing flags on attachment: 153980

Committed r123442: &lt;http://trac.webkit.org/changeset/123442&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676548</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-24 02:13:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153980</attachid>
            <date>2012-07-24 00:52:29 -0700</date>
            <delta_ts>2012-07-24 02:13:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>92073_WebCoreArgumentCodersSoup.patch</filename>
            <type>text/plain</type>
            <size>22510</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwZTI0Y2Q1Li42NGRhZDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTItMDctMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbV0syXVtFRkxdW0dUS10gU2hhcmUgV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzIGZvciBzb3VwLXJlbGF0ZWQgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkyMDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTW92ZSBXZWJDb3JlQXJndW1lbnRDb2RlcnMgZm9yIHNvdXAtcmVs
YXRlZCB0eXBlcyBzdWNoIGFzCisgICAgICAgIFJlc291cmNlUmVxdWVzdCwgUmVzb3VyY2VSZXNw
b25zZSBhbmQgUmVzb3VyY2VFcnJvciBmcm9tCisgICAgICAgIHBvcnQgc3BlY2lmaWMgZmlsZSB0
byBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcC4KKyAgICAgICAgVGhp
cyB3YXksIHRoZSBkaWZmZXJlbnQgcG9ydHMgdXNpbmcgbGlic291cCBjYW4gc2hhcmUKKyAgICAg
ICAgY29kZSBhbmQgYXZvaWQgZHVwbGljYXRpb24uCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5s
aXN0LmFtOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFNoYXJlZC9l
ZmwvV2ViQ29yZUFyZ3VtZW50Q29kZXJzRWZsLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFy
ZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViQ29yZUFyZ3VtZW50Q29kZXJzR3RrLmNwcC4KKyAgICAg
ICAgKENvcmVJUEMpOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29y
ZUlQQzo6OjpkZWNvZGUpOgorCiAyMDEyLTA3LTIzICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIz
MTg0LCByMTIzMTk1LCBhbmQgcjEyMzE5Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDdjYjZlZTUuLmNhODFkNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAt
Mzc0LDcgKzM3NCw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hh
cmVkL2d0ay9OYXRpdmVXZWJXaGVlbEV2ZW50R3RrLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hh
cmVkL2d0ay9QcmludEluZm9HdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1By
b2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzR3RrLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0
ay9XZWJFdmVudEZhY3RvcnkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2
ZW50RmFjdG9yeS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW1hZ2VPcHRpb25zLmggXApA
QCAtNDMxLDYgKzQzMCw3IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmggXAorCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1Vw
ZGF0ZUluZm8uY3BwIFwKQEAgLTEyNDIsMTMgKzEyNDIsMTMgQEAgd2Via2l0Ml9wbHVnaW5fcHJv
Y2Vzc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViS2V5Ym9hcmRFdmVu
dC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNb3VzZUV2ZW50LmNwcCBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYldoZWVsRXZlbnQuY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvZ3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHAgXAogCVNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9ndGsvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudEd0ay5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9ndGsvTmF0aXZlV2ViV2hlZWxFdmVudEd0ay5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9ndGsvTmF0aXZlV2ViTW91c2VFdmVudEd0ay5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9ndGsvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcCBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL2d0ay9XZWJFdmVudEZhY3RvcnkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpblByb2Nlc3NQcm94eUd0ay5jcHAgXAogCVNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uY3BwIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFr
ZQppbmRleCA1OTZkNjBiLi4zMTYwMDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAt
MjcsOSArMjcsOSBAQCBMSVNUKEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvZWZs
L05hdGl2ZVdlYk1vdXNlRXZlbnRFZmwuY3BwCiAgICAgU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGhFZmwuY3BwCiAgICAgU2hhcmVkL2VmbC9XZWJFdmVudEZhY3RvcnkuY3BwCi0gICAg
U2hhcmVkL2VmbC9XZWJDb3JlQXJndW1lbnRDb2RlcnNFZmwuY3BwCiAKICAgICBTaGFyZWQvc291
cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKKyAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3Bw
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9lZmwvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9lZmwvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzRWZsLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggYTk2NDg4My4uMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1dlYkNvcmVBcmd1bWVudENvZGVy
c0VmbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMDUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUKLSAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3QsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIK
LQotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VSZXF1ZXN0Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+
Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci0KLXZv
aWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVy
KiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCkKLXsKLSAg
ICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VSZXF1ZXN0LnVybCgpLnN0cmluZygpKTsKLSAgICBl
bmNvZGVyLT5lbmNvZGUocmVzb3VyY2VSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZCgiQ29va2llIikp
OwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZGVjb2RlKEFyZ3Vt
ZW50RGVjb2RlciogZGVjb2RlciwgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QpCi17
Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7Ci0KLSAgICBTdHJpbmcgdXJsOwotICAgIGlm
ICghZGVjb2Rlci0+ZGVjb2RlKHVybCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXF1
ZXN0LnNldFVSTChLVVJMKEtVUkwoKSwgdXJsKSk7Ci0KLSAgICBTdHJpbmcgY29va2llOwotICAg
IGlmICghZGVjb2Rlci0+ZGVjb2RlKGNvb2tpZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICByZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZCgiQ29va2llIiwgY29va2llKTsKLQotICAgIHJl
c291cmNlUmVxdWVzdCA9IHJlcXVlc3Q7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLQotdm9pZCBB
cmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBl
bmNvZGVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNvdXJjZVJlc3BvbnNlKQotewotICAg
IGVuY29kZXItPmVuY29kZShyZXNvdXJjZVJlc3BvbnNlLm1pbWVUeXBlKCkpOwotfQotCi1ib29s
IEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZShBcmd1bWVudERlY29kZXIq
IGRlY29kZXIsIFJlc291cmNlUmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2UpCi17Ci0gICAgUmVz
b3VyY2VSZXNwb25zZSByZXNwb25zZTsKLQotICAgIFN0cmluZyBtaW1lVHlwZTsKLSAgICBpZiAo
IWRlY29kZXItPmRlY29kZShtaW1lVHlwZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBy
ZXNwb25zZS5zZXRNaW1lVHlwZShtaW1lVHlwZSk7Ci0KLSAgICByZXNvdXJjZVJlc3BvbnNlID0g
cmVzcG9uc2U7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLQotdm9pZCBBcmd1bWVudENvZGVyPFJl
c291cmNlRXJyb3I+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBSZXNv
dXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQotewotICAgIGVuY29kZXItPmVuY29kZShyZXNvdXJj
ZUVycm9yLmRvbWFpbigpKTsKLSAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VFcnJvci5lcnJv
ckNvZGUoKSk7Ci0gICAgZW5jb2Rlci0+ZW5jb2RlKHJlc291cmNlRXJyb3IuZmFpbGluZ1VSTCgp
KTsKLSAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VFcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlv
bigpKTsKLX0KLQotYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjpkZWNvZGUoQXJn
dW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQotewot
ICAgIFN0cmluZyBkb21haW47Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoZG9tYWluKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaW50IGVycm9yQ29kZTsKLSAgICBpZiAoIWRlY29k
ZXItPmRlY29kZShlcnJvckNvZGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBTdHJp
bmcgZmFpbGluZ1VSTDsKLSAgICBpZiAoIWRlY29kZXItPmRlY29kZShmYWlsaW5nVVJMKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgU3RyaW5nIGxvY2FsaXplZERlc2NyaXB0aW9uOwot
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGxvY2FsaXplZERlc2NyaXB0aW9uKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgcmVzb3VyY2VFcnJvciA9IFJlc291cmNlRXJyb3IoZG9tYWlu
LCBlcnJvckNvZGUsIGZhaWxpbmdVUkwsIGxvY2FsaXplZERlc2NyaXB0aW9uKTsKLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgQ29yZUlQQwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2RlcnNHdGsuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2RlcnNHdGsuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDZlMjVjLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9ndGsvV2ViQ29yZUFyZ3VtZW50Q29kZXJzR3RrLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDIyNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rv
cm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgotCi0j
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VF
cnJvci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+Ci0jaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
Ci1uYW1lc3BhY2UgQ29yZUlQQyB7Ci0KLXZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVl
c3Q+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlc291cmNlUmVxdWVzdCkKLXsKLSAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VSZXF1
ZXN0LnVybCgpLnN0cmluZygpKTsKLSAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VSZXF1ZXN0
Lmh0dHBNZXRob2QoKSk7Ci0KLSAgICBjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzID0gcmVz
b3VyY2VSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKTsKLSAgICBlbmNvZGVyLT5lbmNvZGUoaGVh
ZGVycyk7Ci0KLSAgICBGb3JtRGF0YSogaHR0cEJvZHkgPSByZXNvdXJjZVJlcXVlc3QuaHR0cEJv
ZHkoKTsKLSAgICBlbmNvZGVyLT5lbmNvZGUoc3RhdGljX2Nhc3Q8Ym9vbD4oaHR0cEJvZHkpKTsK
LSAgICBpZiAoaHR0cEJvZHkpCi0gICAgICAgIGVuY29kZXItPmVuY29kZShodHRwQm9keS0+Zmxh
dHRlblRvU3RyaW5nKCkpOwotCi0gICAgZW5jb2Rlci0+ZW5jb2RlKHJlc291cmNlUmVxdWVzdC5m
aXJzdFBhcnR5Rm9yQ29va2llcygpLnN0cmluZygpKTsKLSAgICBlbmNvZGVyLT5lbmNvZGUoc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KHJlc291cmNlUmVxdWVzdC5zb3VwTWVzc2FnZUZsYWdzKCkpKTsK
LX0KLQotYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVxdWVzdD46OmRlY29kZShBcmd1bWVu
dERlY29kZXIqIGRlY29kZXIsIFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KQotewot
ICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OwotCi0gICAgU3RyaW5nIHVybDsKLSAgICBpZiAo
IWRlY29kZXItPmRlY29kZSh1cmwpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmVxdWVz
dC5zZXRVUkwoS1VSTChLVVJMKCksIHVybCkpOwotCi0gICAgU3RyaW5nIGh0dHBNZXRob2Q7Ci0g
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoaHR0cE1ldGhvZCkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICByZXF1ZXN0LnNldEhUVFBNZXRob2QoaHR0cE1ldGhvZCk7Ci0KLSAgICBIVFRQSGVh
ZGVyTWFwIGhlYWRlcnM7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoaGVhZGVycykpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICByZXF1ZXN0LmFkZEhUVFBIZWFkZXJGaWVsZHMoaGVhZGVy
cyk7Ci0KLSAgICBib29sIGhhc0hUVFBCb2R5OwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGhh
c0hUVFBCb2R5KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChoYXNIVFRQQm9keSkg
ewotICAgICAgICBTdHJpbmcgaHR0cEJvZHk7Ci0gICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KGh0dHBCb2R5KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmVxdWVzdC5z
ZXRIVFRQQm9keShGb3JtRGF0YTo6Y3JlYXRlKGh0dHBCb2R5LnV0ZjgoKSkpOwotICAgIH0KLQot
ICAgIFN0cmluZyBmaXJzdFBhcnR5Rm9yQ29va2llczsKLSAgICBpZiAoIWRlY29kZXItPmRlY29k
ZShmaXJzdFBhcnR5Rm9yQ29va2llcykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXF1
ZXN0LnNldEZpcnN0UGFydHlGb3JDb29raWVzKEtVUkwoS1VSTCgpLCBmaXJzdFBhcnR5Rm9yQ29v
a2llcykpOwotCi0gICAgdWludDMyX3Qgc291cE1lc3NhZ2VGbGFnczsKLSAgICBpZiAoIWRlY29k
ZXItPmRlY29kZShzb3VwTWVzc2FnZUZsYWdzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IHJlcXVlc3Quc2V0U291cE1lc3NhZ2VGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdz
Pihzb3VwTWVzc2FnZUZsYWdzKSk7Ci0KLSAgICByZXNvdXJjZVJlcXVlc3QgPSByZXF1ZXN0Owot
ICAgIHJldHVybiB0cnVlOwotfQotCi0KLXZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3Bv
bnNlPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzb3VyY2VSZXNwb25zZSkKLXsKLSAgICBib29sIHJlc3BvbnNlSXNOdWxsID0gcmVz
b3VyY2VSZXNwb25zZS5pc051bGwoKTsKLSAgICBlbmNvZGVyLT5lbmNvZGUocmVzcG9uc2VJc051
bGwpOwotICAgIGlmIChyZXNwb25zZUlzTnVsbCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZW5j
b2Rlci0+ZW5jb2RlKHJlc291cmNlUmVzcG9uc2UudXJsKCkuc3RyaW5nKCkpOwotICAgIGVuY29k
ZXItPmVuY29kZShzdGF0aWNfY2FzdDxpbnQzMl90PihyZXNvdXJjZVJlc3BvbnNlLmh0dHBTdGF0
dXNDb2RlKCkpKTsKLQotICAgIGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMgPSByZXNvdXJj
ZVJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZHMoKTsKLSAgICBlbmNvZGVyLT5lbmNvZGUoaGVhZGVy
cyk7Ci0KLSAgICBlbmNvZGVyLT5lbmNvZGUoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHJlc291cmNl
UmVzcG9uc2Uuc291cE1lc3NhZ2VGbGFncygpKSk7Ci0gICAgZW5jb2Rlci0+ZW5jb2RlKHJlc291
cmNlUmVzcG9uc2UubWltZVR5cGUoKSk7Ci0gICAgZW5jb2Rlci0+ZW5jb2RlKHJlc291cmNlUmVz
cG9uc2UudGV4dEVuY29kaW5nTmFtZSgpKTsKLSAgICBlbmNvZGVyLT5lbmNvZGUoc3RhdGljX2Nh
c3Q8aW50NjRfdD4ocmVzb3VyY2VSZXNwb25zZS5leHBlY3RlZENvbnRlbnRMZW5ndGgoKSkpOwot
ICAgIGVuY29kZXItPmVuY29kZShyZXNvdXJjZVJlc3BvbnNlLmh0dHBTdGF0dXNUZXh0KCkpOwot
ICAgIGVuY29kZXItPmVuY29kZShyZXNvdXJjZVJlc3BvbnNlLnN1Z2dlc3RlZEZpbGVuYW1lKCkp
OwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZShBcmd1
bWVudERlY29kZXIqIGRlY29kZXIsIFJlc291cmNlUmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2Up
Ci17Ci0gICAgYm9vbCByZXNwb25zZUlzTnVsbDsKLSAgICBpZiAoIWRlY29kZXItPmRlY29kZShy
ZXNwb25zZUlzTnVsbCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAocmVzcG9uc2VJ
c051bGwpIHsKLSAgICAgICAgcmVzb3VyY2VSZXNwb25zZSA9IFJlc291cmNlUmVzcG9uc2UoKTsK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgUmVzb3VyY2VSZXNwb25zZSByZXNw
b25zZTsKLQotICAgIFN0cmluZyB1cmw7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUodXJsKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJlc3BvbnNlLnNldFVSTChLVVJMKEtVUkwoKSwg
dXJsKSk7Ci0KLSAgICBpbnQzMl90IGh0dHBTdGF0dXNDb2RlOwotICAgIGlmICghZGVjb2Rlci0+
ZGVjb2RlKGh0dHBTdGF0dXNDb2RlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJlc3Bv
bnNlLnNldEhUVFBTdGF0dXNDb2RlKGh0dHBTdGF0dXNDb2RlKTsKLQotICAgIEhUVFBIZWFkZXJN
YXAgaGVhZGVyczsKLSAgICBpZiAoIWRlY29kZXItPmRlY29kZShoZWFkZXJzKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIGZvciAoSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgaXQg
PSBoZWFkZXJzLmJlZ2luKCksIGVuZCA9IGhlYWRlcnMuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkK
LSAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKGl0LT5maXJzdCwgaXQtPnNlY29u
ZCk7Ci0KLSAgICB1aW50MzJfdCBzb3VwTWVzc2FnZUZsYWdzOwotICAgIGlmICghZGVjb2Rlci0+
ZGVjb2RlKHNvdXBNZXNzYWdlRmxhZ3MpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmVz
cG9uc2Uuc2V0U291cE1lc3NhZ2VGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPihz
b3VwTWVzc2FnZUZsYWdzKSk7Ci0KLSAgICBTdHJpbmcgbWltZVR5cGU7Ci0gICAgaWYgKCFkZWNv
ZGVyLT5kZWNvZGUobWltZVR5cGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmVzcG9u
c2Uuc2V0TWltZVR5cGUobWltZVR5cGUpOwotCi0gICAgU3RyaW5nIHRleHRFbmNvZGluZ05hbWU7
Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUodGV4dEVuY29kaW5nTmFtZSkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICByZXNwb25zZS5zZXRUZXh0RW5jb2RpbmdOYW1lKHRleHRFbmNvZGlu
Z05hbWUpOwotCi0gICAgaW50NjRfdCBjb250ZW50TGVuZ3RoOwotICAgIGlmICghZGVjb2Rlci0+
ZGVjb2RlKGNvbnRlbnRMZW5ndGgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmVzcG9u
c2Uuc2V0RXhwZWN0ZWRDb250ZW50TGVuZ3RoKGNvbnRlbnRMZW5ndGgpOwotCi0gICAgU3RyaW5n
IGh0dHBTdGF0dXNUZXh0OwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGh0dHBTdGF0dXNUZXh0
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNUZXh0
KGh0dHBTdGF0dXNUZXh0KTsKLQotICAgIFN0cmluZyBzdWdnZXN0ZWRGaWxlbmFtZTsKLSAgICBp
ZiAoIWRlY29kZXItPmRlY29kZShzdWdnZXN0ZWRGaWxlbmFtZSkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICByZXNwb25zZS5zZXRTdWdnZXN0ZWRGaWxlbmFtZShzdWdnZXN0ZWRGaWxlbmFt
ZSk7Ci0KLSAgICByZXNvdXJjZVJlc3BvbnNlID0gcmVzcG9uc2U7Ci0gICAgcmV0dXJuIHRydWU7
Ci19Ci0KLQotdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGUoQXJndW1l
bnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQot
ewotICAgIGJvb2wgZXJyb3JJc051bGwgPSByZXNvdXJjZUVycm9yLmlzTnVsbCgpOwotICAgIGVu
Y29kZXItPmVuY29kZShlcnJvcklzTnVsbCk7Ci0gICAgaWYgKGVycm9ySXNOdWxsKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VFcnJvci5kb21haW4oKSk7
Ci0gICAgZW5jb2Rlci0+ZW5jb2RlKHJlc291cmNlRXJyb3IuZXJyb3JDb2RlKCkpOwotICAgIGVu
Y29kZXItPmVuY29kZShyZXNvdXJjZUVycm9yLmZhaWxpbmdVUkwoKSk7IAotICAgIGVuY29kZXIt
PmVuY29kZShyZXNvdXJjZUVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkpOwotfQotCi1ib29s
IEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRl
Y29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCi17Ci0gICAgYm9vbCBlcnJvcklz
TnVsbDsKLSAgICBpZiAoIWRlY29kZXItPmRlY29kZShlcnJvcklzTnVsbCkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICBpZiAoZXJyb3JJc051bGwpIHsKLSAgICAgICAgcmVzb3VyY2VFcnJv
ciA9IFJlc291cmNlRXJyb3IoKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAg
U3RyaW5nIGRvbWFpbjsKLSAgICBpZiAoIWRlY29kZXItPmRlY29kZShkb21haW4pKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpbnQgZXJyb3JDb2RlOwotICAgIGlmICghZGVjb2Rlci0+
ZGVjb2RlKGVycm9yQ29kZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFN0cmluZyBm
YWlsaW5nVVJMOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGZhaWxpbmdVUkwpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICBTdHJpbmcgbG9jYWxpemVkRGVzY3JpcHRpb247Ci0gICAg
aWYgKCFkZWNvZGVyLT5kZWNvZGUobG9jYWxpemVkRGVzY3JpcHRpb24pKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgCi0gICAgcmVzb3VyY2VFcnJvciA9IFJlc291cmNlRXJyb3IoZG9tYWlu
LCBlcnJvckNvZGUsIGZhaWxpbmdVUkwsIGxvY2FsaXplZERlc2NyaXB0aW9uKTsKLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291
cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5kYmUyYzUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTAsMCArMSwyMjggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlRXJyb3IuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBDb3JlSVBD
IHsKKwordm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVxdWVzdD46OmVuY29kZShBcmd1bWVu
dEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0
KQoreworICAgIGVuY29kZXItPmVuY29kZShyZXNvdXJjZVJlcXVlc3QudXJsKCkuc3RyaW5nKCkp
OworICAgIGVuY29kZXItPmVuY29kZShyZXNvdXJjZVJlcXVlc3QuaHR0cE1ldGhvZCgpKTsKKwor
ICAgIGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMgPSByZXNvdXJjZVJlcXVlc3QuaHR0cEhl
YWRlckZpZWxkcygpOworICAgIGVuY29kZXItPmVuY29kZShoZWFkZXJzKTsKKworICAgIEZvcm1E
YXRhKiBodHRwQm9keSA9IHJlc291cmNlUmVxdWVzdC5odHRwQm9keSgpOworICAgIGVuY29kZXIt
PmVuY29kZShzdGF0aWNfY2FzdDxib29sPihodHRwQm9keSkpOworICAgIGlmIChodHRwQm9keSkK
KyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKGh0dHBCb2R5LT5mbGF0dGVuVG9TdHJpbmcoKSk7CisK
KyAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VSZXF1ZXN0LmZpcnN0UGFydHlGb3JDb29raWVz
KCkuc3RyaW5nKCkpOworICAgIGVuY29kZXItPmVuY29kZShzdGF0aWNfY2FzdDx1aW50MzJfdD4o
cmVzb3VyY2VSZXF1ZXN0LnNvdXBNZXNzYWdlRmxhZ3MoKSkpOworfQorCitib29sIEFyZ3VtZW50
Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2Rlciwg
UmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QpCit7CisgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3Q7CisKKyAgICBTdHJpbmcgdXJsOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHVy
bCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXF1ZXN0LnNldFVSTChLVVJMKEtVUkwo
KSwgdXJsKSk7CisKKyAgICBTdHJpbmcgaHR0cE1ldGhvZDsKKyAgICBpZiAoIWRlY29kZXItPmRl
Y29kZShodHRwTWV0aG9kKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlcXVlc3Quc2V0
SFRUUE1ldGhvZChodHRwTWV0aG9kKTsKKworICAgIEhUVFBIZWFkZXJNYXAgaGVhZGVyczsKKyAg
ICBpZiAoIWRlY29kZXItPmRlY29kZShoZWFkZXJzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIHJlcXVlc3QuYWRkSFRUUEhlYWRlckZpZWxkcyhoZWFkZXJzKTsKKworICAgIGJvb2wgaGFz
SFRUUEJvZHk7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoaGFzSFRUUEJvZHkpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGhhc0hUVFBCb2R5KSB7CisgICAgICAgIFN0cmluZyBo
dHRwQm9keTsKKyAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoaHR0cEJvZHkpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXF1ZXN0LnNldEhUVFBCb2R5KEZvcm1EYXRh
OjpjcmVhdGUoaHR0cEJvZHkudXRmOCgpKSk7CisgICAgfQorCisgICAgU3RyaW5nIGZpcnN0UGFy
dHlGb3JDb29raWVzOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGZpcnN0UGFydHlGb3JDb29r
aWVzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlcXVlc3Quc2V0Rmlyc3RQYXJ0eUZv
ckNvb2tpZXMoS1VSTChLVVJMKCksIGZpcnN0UGFydHlGb3JDb29raWVzKSk7CisKKyAgICB1aW50
MzJfdCBzb3VwTWVzc2FnZUZsYWdzOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHNvdXBNZXNz
YWdlRmxhZ3MpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVxdWVzdC5zZXRTb3VwTWVz
c2FnZUZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KHNvdXBNZXNzYWdlRmxhZ3Mp
KTsKKworICAgIHJlc291cmNlUmVxdWVzdCA9IHJlcXVlc3Q7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKKwordm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjplbmNvZGUoQXJndW1l
bnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNvdXJjZVJlc3Bv
bnNlKQoreworICAgIGJvb2wgcmVzcG9uc2VJc051bGwgPSByZXNvdXJjZVJlc3BvbnNlLmlzTnVs
bCgpOworICAgIGVuY29kZXItPmVuY29kZShyZXNwb25zZUlzTnVsbCk7CisgICAgaWYgKHJlc3Bv
bnNlSXNOdWxsKQorICAgICAgICByZXR1cm47CisKKyAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3Vy
Y2VSZXNwb25zZS51cmwoKS5zdHJpbmcoKSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKHN0YXRpY19j
YXN0PGludDMyX3Q+KHJlc291cmNlUmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSkpOworCisgICAg
Y29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVycyA9IHJlc291cmNlUmVzcG9uc2UuaHR0cEhlYWRl
ckZpZWxkcygpOworICAgIGVuY29kZXItPmVuY29kZShoZWFkZXJzKTsKKworICAgIGVuY29kZXIt
PmVuY29kZShzdGF0aWNfY2FzdDx1aW50MzJfdD4ocmVzb3VyY2VSZXNwb25zZS5zb3VwTWVzc2Fn
ZUZsYWdzKCkpKTsKKyAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VSZXNwb25zZS5taW1lVHlw
ZSgpKTsKKyAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VSZXNwb25zZS50ZXh0RW5jb2RpbmdO
YW1lKCkpOworICAgIGVuY29kZXItPmVuY29kZShzdGF0aWNfY2FzdDxpbnQ2NF90PihyZXNvdXJj
ZVJlc3BvbnNlLmV4cGVjdGVkQ29udGVudExlbmd0aCgpKSk7CisgICAgZW5jb2Rlci0+ZW5jb2Rl
KHJlc291cmNlUmVzcG9uc2UuaHR0cFN0YXR1c1RleHQoKSk7CisgICAgZW5jb2Rlci0+ZW5jb2Rl
KHJlc291cmNlUmVzcG9uc2Uuc3VnZ2VzdGVkRmlsZW5hbWUoKSk7Cit9CisKK2Jvb2wgQXJndW1l
bnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2Rl
ciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSkKK3sKKyAgICBib29sIHJlc3Bv
bnNlSXNOdWxsOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHJlc3BvbnNlSXNOdWxsKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChyZXNwb25zZUlzTnVsbCkgeworICAgICAgICBy
ZXNvdXJjZVJlc3BvbnNlID0gUmVzb3VyY2VSZXNwb25zZSgpOworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlOworCisgICAgU3RyaW5n
IHVybDsKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZSh1cmwpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgcmVzcG9uc2Uuc2V0VVJMKEtVUkwoS1VSTCgpLCB1cmwpKTsKKworICAgIGludDMy
X3QgaHR0cFN0YXR1c0NvZGU7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoaHR0cFN0YXR1c0Nv
ZGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c0Nv
ZGUoaHR0cFN0YXR1c0NvZGUpOworCisgICAgSFRUUEhlYWRlck1hcCBoZWFkZXJzOworICAgIGlm
ICghZGVjb2Rlci0+ZGVjb2RlKGhlYWRlcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
Zm9yIChIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IGhlYWRlcnMuYmVnaW4oKSwg
ZW5kID0gaGVhZGVycy5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICByZXNwb25zZS5z
ZXRIVFRQSGVhZGVyRmllbGQoaXQtPmZpcnN0LCBpdC0+c2Vjb25kKTsKKworICAgIHVpbnQzMl90
IHNvdXBNZXNzYWdlRmxhZ3M7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoc291cE1lc3NhZ2VG
bGFncykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXNwb25zZS5zZXRTb3VwTWVzc2Fn
ZUZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KHNvdXBNZXNzYWdlRmxhZ3MpKTsK
KworICAgIFN0cmluZyBtaW1lVHlwZTsKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShtaW1lVHlw
ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXNwb25zZS5zZXRNaW1lVHlwZShtaW1l
VHlwZSk7CisKKyAgICBTdHJpbmcgdGV4dEVuY29kaW5nTmFtZTsKKyAgICBpZiAoIWRlY29kZXIt
PmRlY29kZSh0ZXh0RW5jb2RpbmdOYW1lKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJl
c3BvbnNlLnNldFRleHRFbmNvZGluZ05hbWUodGV4dEVuY29kaW5nTmFtZSk7CisKKyAgICBpbnQ2
NF90IGNvbnRlbnRMZW5ndGg7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoY29udGVudExlbmd0
aCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXNwb25zZS5zZXRFeHBlY3RlZENvbnRl
bnRMZW5ndGgoY29udGVudExlbmd0aCk7CisKKyAgICBTdHJpbmcgaHR0cFN0YXR1c1RleHQ7Cisg
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoaHR0cFN0YXR1c1RleHQpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c1RleHQoaHR0cFN0YXR1c1RleHQpOwor
CisgICAgU3RyaW5nIHN1Z2dlc3RlZEZpbGVuYW1lOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KHN1Z2dlc3RlZEZpbGVuYW1lKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3BvbnNl
LnNldFN1Z2dlc3RlZEZpbGVuYW1lKHN1Z2dlc3RlZEZpbGVuYW1lKTsKKworICAgIHJlc291cmNl
UmVzcG9uc2UgPSByZXNwb25zZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworCit2b2lkIEFyZ3Vt
ZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIs
IGNvbnN0IFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCit7CisgICAgYm9vbCBlcnJvcklz
TnVsbCA9IHJlc291cmNlRXJyb3IuaXNOdWxsKCk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKGVycm9y
SXNOdWxsKTsKKyAgICBpZiAoZXJyb3JJc051bGwpCisgICAgICAgIHJldHVybjsKKworICAgIGVu
Y29kZXItPmVuY29kZShyZXNvdXJjZUVycm9yLmRvbWFpbigpKTsKKyAgICBlbmNvZGVyLT5lbmNv
ZGUocmVzb3VyY2VFcnJvci5lcnJvckNvZGUoKSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKHJlc291
cmNlRXJyb3IuZmFpbGluZ1VSTCgpKTsKKyAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VFcnJv
ci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFJlc291
cmNlRXJyb3I+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZXNvdXJjZUVycm9y
JiByZXNvdXJjZUVycm9yKQoreworICAgIGJvb2wgZXJyb3JJc051bGw7CisgICAgaWYgKCFkZWNv
ZGVyLT5kZWNvZGUoZXJyb3JJc051bGwpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYg
KGVycm9ySXNOdWxsKSB7CisgICAgICAgIHJlc291cmNlRXJyb3IgPSBSZXNvdXJjZUVycm9yKCk7
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIFN0cmluZyBkb21haW47CisgICAg
aWYgKCFkZWNvZGVyLT5kZWNvZGUoZG9tYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaW50IGVycm9yQ29kZTsKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShlcnJvckNvZGUpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBTdHJpbmcgZmFpbGluZ1VSTDsKKyAgICBpZiAo
IWRlY29kZXItPmRlY29kZShmYWlsaW5nVVJMKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgU3RyaW5nIGxvY2FsaXplZERlc2NyaXB0aW9uOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KGxvY2FsaXplZERlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmVz
b3VyY2VFcnJvciA9IFJlc291cmNlRXJyb3IoZG9tYWluLCBlcnJvckNvZGUsIGZhaWxpbmdVUkws
IGxvY2FsaXplZERlc2NyaXB0aW9uKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfQorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>