<?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>13451</bug_id>
          
          <creation_ts>2007-04-22 19:02:07 -0700</creation_ts>
          <short_desc>[s60] Windowless plugin support</short_desc>
          <delta_ts>2008-04-09 11:39:27 -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>Layout and Rendering</component>
          <version>417.x</version>
          <rep_platform>S60 Hardware</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sriram">sriram.yadavalli</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>13230</commentid>
    <comment_count>0</comment_count>
    <who name="Sriram">sriram.yadavalli</who>
    <bug_when>2007-04-22 19:02:07 -0700</bug_when>
    <thetext>S60 browser must provide way to support windowless plugin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13231</commentid>
    <comment_count>1</comment_count>
      <attachid>14141</attachid>
    <who name="Sriram">sriram.yadavalli</who>
    <bug_when>2007-04-22 19:06:41 -0700</bug_when>
    <thetext>Created attachment 14141
Support windowless plugin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12975</commentid>
    <comment_count>2</comment_count>
      <attachid>14141</attachid>
    <who name="Sachin Padma">Sachin.Padma</who>
    <bug_when>2007-04-24 13:56:16 -0700</bug_when>
    <thetext>Comment on attachment 14141
Support windowless plugin

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12976</commentid>
    <comment_count>3</comment_count>
    <who name="Sachin Padma">Sachin.Padma</who>
    <bug_when>2007-04-24 13:57:27 -0700</bug_when>
    <thetext>landed in r21075 in ccb</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76878</commentid>
    <comment_count>4</comment_count>
    <who name="Bradley Morrison">bradley.morrison</who>
    <bug_when>2008-04-09 11:39:27 -0700</bug_when>
    <thetext>Bulk closing of all s60 platform bugs. 

Sorry for the noise!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14141</attachid>
            <date>2007-04-22 19:06:41 -0700</date>
            <delta_ts>2007-04-24 13:56:16 -0700</delta_ts>
            <desc>Support windowless plugin</desc>
            <filename>Windowlessplugin.patch</filename>
            <type>text/plain</type>
            <size>30342</size>
            <attacher name="Sriram">sriram.yadavalli</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9Ccm93c2VyVmlldy9zcmMvUGx1Z2luQ29udGVudFBsYXllci5jcHANCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBXZWJLaXQvQnJvd3NlclZpZXcvc3JjL1BsdWdpbkNvbnRlbnRQbGF5ZXIu
Y3BwCShyZXZpc2lvbiAyMDgzOCkNCisrKyBXZWJLaXQvQnJvd3NlclZpZXcvc3JjL1BsdWdpbkNv
bnRlbnRQbGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtOCwxMSArOCwxMSBAQA0KICoNCiAq
ICAgIENvcHlyaWdodCAoYykgMjAwNiwgTm9raWEgQ29ycG9yYXRpb24NCiAqICAgIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuDQotKiAgDQorKg0KICogICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCiAqICAgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQog
KiAgIGFyZSBtZXQ6DQotKiAgDQorKg0KICogICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQogKiAgICAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0K
ICogICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0DQpAQCAtMjIsNyArMjIsNyBAQA0KICogICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgdGhlIE5va2lhIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzDQog
KiAgICAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkDQogKiAgICAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLSogIA0KKyoNCiAqICAgVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
Uw0KICogICAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVA0KICogICBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1INCkBAIC0zNSw3ICszNSw3IEBADQog
KiAgIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFDQogKiAgIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gNCiAqICAgREFNQUdFLg0KLSogIA0KKyoNCiAqICAg
IFBsZWFzZSBzZWUgZmlsZSBwYXRlbnRsaWNlbnNlLnR4dCBmb3IgZnVydGhlciBncmFudHMuDQog
KiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NCiAqLw0KQEAgLTU4LDcgKzU4LDcgQEANCiAgICAgcmV0
dXJuIHNlbGY7DQogICAgIH0NCiANCi1DUGx1Z2luQ29udGVudFBsYXllcjo6Q1BsdWdpbkNvbnRl
bnRQbGF5ZXIoIENCckN0bCYgYVBhcmVudCwgQ1BsdWdpbldpbiogYVBsdWdpbiApIA0KK0NQbHVn
aW5Db250ZW50UGxheWVyOjpDUGx1Z2luQ29udGVudFBsYXllciggQ0JyQ3RsJiBhUGFyZW50LCBD
UGx1Z2luV2luKiBhUGx1Z2luICkNCiAgICAgOiBpQnJDdGwoIGFQYXJlbnQgKSwgaVBsdWdpbigg
YVBsdWdpbiApDQogICAgIHsNCiAgICAgfQ0KQEAgLTg5LDkgKzg5LDkgQEANCiANCiBUSW50IENQ
bHVnaW5Db250ZW50UGxheWVyOjpDb3VudENvbXBvbmVudENvbnRyb2xzKCkgY29uc3QNCiAgICAg
ew0KLSAgICBpZiggaVBsdWdpbiApIA0KKyAgICBpZiggaVBsdWdpbiApDQogICAgICAgICByZXR1
cm4gMTsNCi0gICAgZWxzZSANCisgICAgZWxzZQ0KICAgICAgICAgcmV0dXJuIDA7DQogICAgIH0N
CiANCkBAIC0xMTIsNyArMTEyLDcgQEANCiAgICAgaU9yZ1JlY3QgPSBUUmVjdCggaVBsdWdpbi0+
UG9zaXRpb24oKSwgaVBsdWdpbi0+U2l6ZSgpICk7DQogDQogICAgIGlQbHVnaW4tPlNldFBhcmVu
dCggdGhpcyApOw0KLSAgICANCisNCiAgICAgLy8gdHJ5IHRvIGd1ZXNzIHdoYXQgcGFydCB0aGUg
dXNlciB3YW50cyB0byBzZWUsIHRoaXMgd2F5DQogICAgIC8vIHdlIGNhbiBhdm9pZCB1bm5lY2Vz
c2FyeSBzY3JvbGxpbmc7DQogICAgIC8vIC0gaWYgdGhlIGNvbnRlbnQgY2FuIGJlIG1hZGUgZnVs
bHkgdmlzaWJsZSwgd2UganVzdCBjZW50ZXIgdGhlIGNvbnRlbnQuDQpAQCAtMTMzLDcgKzEzMyw3
IEBADQogICAgICAgICBlbHNlDQogICAgICAgICAgICAgeCA9IGlPcmdSZWN0LmlUbC5pWDsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBib3RoIGVkZ2VzIGFyZSBjbGlwcGVk
IGF3YXkNCiAgICAgICAgIH0NCi0gICAgDQorDQogICAgIC8vIHZlcnRpY2FsDQogICAgIGlmKCB5
IDwgMCApDQogICAgICAgICB7DQpAQCAtMTQ3LDggKzE0NywxMCBAQA0KIA0KICAgICBpUGx1Z2lu
LT5TZXRSZWN0KCBUUmVjdCggVFBvaW50KHgseSksIGlPcmdSZWN0LlNpemUoKSApICk7DQogICAg
IGlQbHVnaW4tPk1ha2VWaXNpYmxlKCBFVHJ1ZSApOw0KLSAgICBpUGx1Z2luLT5SZWZyZXNoUGx1
Z2luKCk7DQogDQorICAgIENXaW5kb3dHYyYgZ2MgPSBTeXN0ZW1HYygpOw0KKyAgICBpUGx1Z2lu
LT5SZWZyZXNoUGx1Z2luKGdjKTsNCisNCiAgICAgRHJhd05vdygpOw0KICAgICB9DQogDQpJbmRl
eDogV2ViS2l0L0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxMDEyKQ0KKysrIFdlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0x
LDMgKzEsNDAgQEANCit5YWRhdmFsbCwgcmV2aWV3ZWQgYnkgPHNhY2hpbi5wYWRtYUBub2tpYS5j
b20+DQorIERFU0M6IFdpbmRvd2xlc3MgcGx1Z2luIHN1cHBvcnQNCisgaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0NTENCisNCisgICAgICAgICogQnJvd3NlclZpZXcv
c3JjL1BsdWdpbkNvbnRlbnRQbGF5ZXIuY3BwOg0KKyAgICAgICAgKENQbHVnaW5Db250ZW50UGxh
eWVyOjpDUGx1Z2luQ29udGVudFBsYXllcik6DQorICAgICAgICAoQ1BsdWdpbkNvbnRlbnRQbGF5
ZXI6OkNvdW50Q29tcG9uZW50Q29udHJvbHMpOg0KKyAgICAgICAgKENQbHVnaW5Db250ZW50UGxh
eWVyOjpTdGFydCk6DQorICAgICAgICAqIFBsdWdpbi9pbmMvUGx1Z2luV2luLmg6DQorICAgICAg
ICAoQ1BsdWdpbldpbjo6SXNQbHVnaW5XaW5kb3dlZCk6DQorICAgICAgICAoQ1BsdWdpbldpbjo6
U2V0V2luZG93ZWRQbHVnaW4pOg0KKyAgICAgICAgKiBQbHVnaW4vc3JjL05wbkltcGxlbWVudGF0
aW9uLmNwcDoNCisgICAgICAgIChOcG5HZXRWYWx1ZSk6DQorICAgICAgICAoTnBuU2V0VmFsdWUp
Og0KKyAgICAgICAgKE5wbkludmFsaWRhdGVSZWN0KToNCisgICAgICAgIChOcG5Gb3JjZVJlZHJh
dyk6DQorICAgICAgICAqIFBsdWdpbi9zcmMvUGx1Z2luU2tpbi5jcHA6DQorICAgICAgICAoQ1Bs
dWdpblNraW46OkRyYXcpOg0KKyAgICAgICAgKiBQbHVnaW4vc3JjL1BsdWdpbldpbi5jcHA6DQor
ICAgICAgICAoQ1BsdWdpbldpbjo6Q1BsdWdpbldpbik6DQorICAgICAgICAoQ1BsdWdpbldpbjo6
Q29uc3RydWN0TCk6DQorICAgICAgICAoQ1BsdWdpbldpbjo6fkNQbHVnaW5XaW4pOg0KKyAgICAg
ICAgKENQbHVnaW5XaW46Ok5ld0wpOg0KKyAgICAgICAgKENQbHVnaW5XaW46OlNpemVDaGFuZ2Vk
KToNCisgICAgICAgIChDUGx1Z2luV2luOjpPZmZlcktleUV2ZW50TCk6DQorICAgICAgICAoQ1Bs
dWdpbldpbjo6Q3JlYXRlU3RyZWFtTCk6DQorICAgICAgICAoQ1BsdWdpbldpbjo6V3JpdGVTdHJl
YW1Ub0ZpbGVMKToNCisgICAgICAgIChDUGx1Z2luV2luOjpQcm9jZXNzRXZlbnRMKToNCisgICAg
ICAgIChDUGx1Z2luV2luOjpSZWZyZXNoUGx1Z2luKToNCisgICAgICAgIChDUGx1Z2luV2luOjpN
YWtlVmlzaWJsZSk6DQorICAgICAgICAoQ1BsdWdpbldpbjo6SGFuZGxlQ29udHJvbEV2ZW50TCk6
DQorICAgICAgICAoQ1BsdWdpbldpbjo6SGFuZGxlR2FpbmluZ0ZvcmVncm91bmQpOg0KKyAgICAg
ICAgKENQbHVnaW5XaW46OkhhbmRsZUxvc2luZ0ZvcmVncm91bmQpOg0KKyAgICAgICAgKENQbHVn
aW5XaW46OlBsdWdpblNjcmlwdGFibGVPYmplY3QpOg0KKyAgICAgICAgKENQbHVnaW5XaW46OkZv
cmNlUmVkcmF3KToNCisgICAgICAgIChDUGx1Z2luV2luOjpJc0NvbnRlbnRJbnRlcmFjdGl2ZSk6
DQorDQogMjAwNy0wNC0xNiAgc3BhZG1hICANCiANCiAgICAgICAgIFJldmlld2VkIGJ5IFphbGFu
DQpJbmRleDogV2ViS2l0L1BsdWdpbi9pbmMvUGx1Z2luV2luLmgNCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBX
ZWJLaXQvUGx1Z2luL2luYy9QbHVnaW5XaW4uaAkocmV2aXNpb24gMjA4MzgpDQorKysgV2ViS2l0
L1BsdWdpbi9pbmMvUGx1Z2luV2luLmgJKHdvcmtpbmcgY29weSkNCkBAIC0xMCwxMSArMTAsMTEg
QEANCiAqDQogKiAgICBDb3B5cmlnaHQgKGMpIDIwMDYsIE5va2lhIENvcnBvcmF0aW9uDQogKiAg
ICBBbGwgcmlnaHRzIHJlc2VydmVkLg0KLSogIA0KKyoNCiAqICAgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQogKiAgIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucw0KICogICBhcmUgbWV0Og0KLSogIA0KKyoNCiAqICAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KICogICAg
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4NCiAqICAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KQEAgLTI0LDcgKzI0LDcgQEANCiAqICAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBOb2tpYSBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVz
IG9mIGl0cw0KICogICAgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZA0KICogICAgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0qICANCisqDQogKiAg
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMNCiAqICAgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QNCiAqICAgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SDQpAQCAtMzcsNyAr
MzcsNyBAQA0KICogICAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRQ0KICogICBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIDQogKiAgIERBTUFHRS4NCi0qICAN
CisqDQogKiAgICBQbGVhc2Ugc2VlIGZpbGUgcGF0ZW50bGljZW5zZS50eHQgZm9yIGZ1cnRoZXIg
Z3JhbnRzLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKi8NCkBAIC01Nyw2ICs1Nyw3IEBA
DQogY2xhc3MgQ1dlYktpdENvbnRyb2w7DQogY2xhc3MgQ1BsdWdpblNraW47DQogY2xhc3MgQ1Bs
dWdpbkhhbmRsZXI7DQorY2xhc3MgQ0JpdG1hcENvbnRleHQ7DQogI2lmZGVmICBSRF9CUk9XU0VS
X1dJREdFVFMNCiBjbGFzcyBOUE9iamVjdDsNCiAjZW5kaWYgLy9SRF9CUk9XU0VSX1dJREdFVFMN
CkBAIC05NSw4ICs5Niw4IEBADQogKiBAc2luY2UgMy4xDQogKi8NCiBjbGFzcyBDUGx1Z2luV2lu
IDogIHB1YmxpYyBDQ29lQ29udHJvbCwNCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBNUGx1
Z2luQWRhcHRlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCi0g
ICAgICAgICAgICAgICAgICAgIHB1YmxpYyBNQ29lQ29udHJvbE9ic2VydmVyLCAgICAgICAgICAg
ICAgICAgICAgDQorICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTVBsdWdpbkFkYXB0ZXIsDQor
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTUNvZUNvbnRyb2xPYnNlcnZlciwNCiAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBNQ29lRm9yZWdyb3VuZE9ic2VydmVyDQogICAgIHsNCiANCkBA
IC0xMjEsNyArMTIyLDggQEANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBDRGVzQ0FycmF5JiBhQXJnbiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBDRGVzQ0FycmF5JiBhQXJndiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBDUGx1Z2luU2tpbiYgYVBsdWdpblNraW4sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgQ1dlYktpdENvbnRyb2wmIGFXZWJLaXRDb250cm9sKTsNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBDV2ViS2l0Q29udHJvbCYgYVdlYktpdENvbnRyb2wNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCiANCiAgICAgICAgIC8qKg0KICAgICAg
ICAgKiBEZXN0cnVjdG9yLg0KQEAgLTE5MSw3ICsxOTMsNyBAQA0KICAgICAgICAgKiBAcmV0dXJu
IHZvaWQNCiAgICAgICAgICovDQogICAgICAgICB2b2lkIExvYWRQbHVnaW5Ub1ZpZXdlckwoKTsN
Ci0gICAgICAgIA0KKw0KICAgICAgICAgLyoqDQogICAgICAgICAqIFByb2NjZXMgYSB1c2VyIGlu
dGVyZmFjZSBldmVudC4NCiAgICAgICAgICoNCkBAIC0yMTAsNyArMjEyLDcgQEANCiAgICAgICAg
ICogQHNpbmNlIDMuMQ0KICAgICAgICAgKiBAcmV0dXJuIFRoZSBlcnJvciBjb2RlIGZyb20gdGhl
IHBsdWdpbg0KICAgICAgICAgKi8NCi0gICAgICAgIFRJbnQgUmVmcmVzaFBsdWdpbigpOw0KKyAg
ICAgICAgVEludCBSZWZyZXNoUGx1Z2luKENCaXRtYXBDb250ZXh0ICZhQml0bWFwQ29udGV4dCk7
DQogDQogICAgICAgICAvKioNCiAgICAgICAgICogVmlld0ZvY3VzQ2hhbmdlZCAtIGludm9rZWQg
d2hlbiBXZWJLaXRWaWV3IGdhaW5zIG9yIGxvc2VzIGZvY3VzDQpAQCAtMjQ2LDcgKzI0OCwxNiBA
QA0KICAgICAgICAgKiBAcGFyYW0gTm9uZQ0KICAgICAgICAgKiBAcmV0dXJuIHZvaWQNCiAgICAg
ICAgICovDQotICAgICAgICBUQm9vbCBJc0NvbnRlbnRJbnRlcmFjdGl2ZSgpIGNvbnN0IDsgICAg
ICAgICAgICAgICAgDQorICAgICAgICBUQm9vbCBJc0NvbnRlbnRJbnRlcmFjdGl2ZSgpIGNvbnN0
IDsNCisgICAgICAgIC8qKg0KKyAgICAgICAgKiBDaGVjayBpZiB0aGUgcGx1Z2luIGlzIHdpbmRv
d2VkIG9yIHdpbmRvd2xlc3MNCisgICAgICAgICoNCisgICAgICAgICogQHNpbmNlIDMuMg0KKyAg
ICAgICAgKiBAcGFyYW0gTm9uZQ0KKyAgICAgICAgKiBAcmV0dXJuIFRCb29sDQorICAgICAgICAq
Lw0KKyAgICAgICAgVEJvb2wgSXNQbHVnaW5XaW5kb3dlZCgpIHtyZXR1cm4gaVdpbmRvd2VkUGx1
Z2luO30NCisNCiAgICAgcHVibGljOiAvLyBGdW5jdGlvbnMgZnJvbSBDQ29lQ29udHJvbA0KIA0K
ICAgICAgICAgLyoqDQpAQCAtNDU1LDE1ICs0NjYsMTUgQEANCiAgIHB1YmxpYzogLy9Gcm9tIE1D
b2VGb3JlZ3JvdW5kT2JzZXJ2ZXINCiANCiAgICAgLyoqDQotICAgICAgICAqIEhhbmRsZUdhaW5p
bmdGb3JlZ3JvdW5kIA0KKyAgICAgICAgKiBIYW5kbGVHYWluaW5nRm9yZWdyb3VuZA0KICAgICAg
ICAgKiBAc2luY2UgMy4xDQogICAgICAgICAqIEByZXR1cm4gbm9uZQ0KICAgICAgICAgKi8NCiAg
ICAgdm9pZCBIYW5kbGVHYWluaW5nRm9yZWdyb3VuZCgpOw0KLSAgICANCi0gICAgDQorDQorDQog
ICAgIC8qKg0KLSAgICAgICAgKiBIYW5kbGVMb3NpbmdGb3JlZ3JvdW5kIA0KKyAgICAgICAgKiBI
YW5kbGVMb3NpbmdGb3JlZ3JvdW5kDQogICAgICAgICAqIEBzaW5jZSAzLjENCiAgICAgICAgICog
QHJldHVybiBub25lDQogICAgICAgICAqLw0KQEAgLTQ3MSwyMCArNDgyLDM0IEBADQogDQogI2lm
ZGVmICBSRF9CUk9XU0VSX1dJREdFVFMNCiAgICAgICAgIC8qKg0KLSAgICAgICAgKiBSZXR1cm4g
d2luZG93IG9iamVjdCB1c2FibGUgZnJvbSBzY3JpcHRhYmxlIHBsdWdpbnMgDQorICAgICAgICAq
IFJldHVybiB3aW5kb3cgb2JqZWN0IHVzYWJsZSBmcm9tIHNjcmlwdGFibGUgcGx1Z2lucw0KICAg
ICAgICAgKiBAc2luY2UgMy4xDQogICAgICAgICAqIEByZXR1cm4gbm9uZQ0KLSAgICAgICAgKi8g
ICAgICAgIA0KLSAgICAgICAgTlBPYmplY3QqIFdpbmRvd1NjcmlwdE5QT2JqZWN0KCk7IA0KKyAg
ICAgICAgKi8NCisgICAgICAgIE5QT2JqZWN0KiBXaW5kb3dTY3JpcHROUE9iamVjdCgpOw0KICAg
ICAgICAgLyoqDQogICAgICAgICAqIEdldCB0aGUgc2NyaXB0aW5nIG9iamVjdCBmcm9tIHBsdWdp
bg0KICAgICAgICAgKiBTZXRzIHRoZSBmb250DQogICAgICAgICAqIEBzaW5jZSAzLjENCiAgICAg
ICAgICogQHJldHVybg0KICAgICAgICAgKi8NCi0gICAgICAgIHZvaWQgKlBsdWdpblNjcmlwdGFi
bGVPYmplY3QoKTsgICAgICAgICANCisgICAgICAgIHZvaWQgKlBsdWdpblNjcmlwdGFibGVPYmpl
Y3QoKTsNCiAjZW5kaWYgLy9SRF9CUk9XU0VSX1dJREdFVFMNCiANCisgICAgICAgIC8qKg0KKyAg
ICAgICAgKiBTZXRzIHRoZSBwbHVnaW4ncyBiZWhhdmlvdXIgYXMgd2luZG93ZWQgb3Igd2luZG93
bGVzcw0KKyAgICAgICAgKiBAc2luY2UgMy4yDQorICAgICAgICAqIEByZXR1cm4NCisgICAgICAg
ICovDQorICAgICAgICB2b2lkIFNldFdpbmRvd2VkUGx1Z2luKFRCb29sIGFXaW5kb3dlZFBsdWdp
bikgeyBpV2luZG93ZWRQbHVnaW4gPSBhV2luZG93ZWRQbHVnaW47IH0NCisNCisgICAgICAgIC8q
Kg0KKyAgICAgICAgKiBGb3JjZXMgYSByZWRyYXcgb2YgdGhlIHNjcmVlbg0KKyAgICAgICAgKiBA
c2luY2UgMy4yDQorICAgICAgICAqIEByZXR1cm4NCisgICAgICAgICovDQorICAgICAgICB2b2lk
IEZvcmNlUmVkcmF3KFRCb29sIGFEcmF3Tm93KTsNCisNCiAgICAgcHJvdGVjdGVkOiAvLyBOZXcg
ZnVuY3Rpb25zDQogDQogICAgICAgICAvKioNCkBAIC00OTQsNyArNTE5LDcgQEANCiAgICAgICAg
ICogQHBhcmFtIGFQbHVnaW5Ta2luIFRoZSBQbHVnaW5JbnN0J3MgbGlzdGVuZXIuDQogICAgICAg
ICAqIEBwYXJhbSBhUGFyZW50IFRoZSBwYXJlbnQgY29udHJvbCBvZiB0aGUgUGx1Z2luSW5zdC4N
CiAgICAgICAgICovDQotICAgICAgICBDUGx1Z2luV2luKENQbHVnaW5Ta2luJiBhUGx1Z2luU2tp
biwgVEludCBhSGFuZGxlKTsNCisgICAgICAgIENQbHVnaW5XaW4oQ1BsdWdpblNraW4mIGFQbHVn
aW5Ta2luLCBUSW50IGFIYW5kbGUsQ1dlYktpdENvbnRyb2wmIGFXZWJLaXRDb250cm9sKTsNCiAN
CiAgICAgICAgIC8qKg0KICAgICAgICAgKiBDb25zdHJ1Y3RMDQpAQCAtNTA5LDcgKzUzNCw3IEBA
DQogICAgICAgICAqIEByZXR1cm4gdm9pZC4NCiAgICAgICAgICovDQogICAgICAgICB2b2lkIENv
bnN0cnVjdEwoY29uc3QgVERlc0MmIGFNSU1FVHlwZSwgY29uc3QgQ0Rlc0NBcnJheSYgYUFyZ24s
DQotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ0Rlc0NBcnJheSYgYUFyZ3YsY29uc3Qg
Q1dlYktpdENvbnRyb2wmIGFXZWJLaXRDb250cm9sKTsNCisgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBDRGVzQ0FycmF5JiBhQXJndik7DQogDQogICAgICAgICAvKioNCiAgICAgICAgICog
UGFzcyB0aGUgcmVzcG9uc2UgdG8gdGhlIHBsdWdpbi4NCkBAIC02MDAsNyArNjI1LDcgQEANCiAg
ICAgICAgIENQbHVnaW5Ta2luKiAgICAgICAgICAgICAgICAgICAgICAgIGlQbHVnaW5Ta2luOw0K
IA0KICAgICAgICAgUlBvaW50ZXJBcnJheTxDUGx1Z2luRGF0YT4gICAgICAgICAgaVBsdWdpbkRh
dGFBcnJheTsNCi0gICAgICAgIENEZXNDQXJyYXlGbGF0ICAgICAgICAgICAgICAgICAgICAgIGlQ
bHVnaW5EYXRhRmlsZU5hbWVzQXJyYXk7ICAgICAgICANCisgICAgICAgIENEZXNDQXJyYXlGbGF0
ICAgICAgICAgICAgICAgICAgICAgIGlQbHVnaW5EYXRhRmlsZU5hbWVzQXJyYXk7DQogDQogICAg
ICAgICBUQm9vbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpUGx1Z2luRm9jdXM7DQog
ICAgICAgICBUQm9vbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpQnJvd3NlckJhY2tn
cm91bmQ7DQpAQCAtNjA5LDE0ICs2MzQsMTggQEANCiAgICAgICAgIFRCb29sICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlJc0V4dGVudFNldDsgICAvLyBGbGFnIHRvIHNlZSBpZiBleHRl
bnQgaXMgc2V0DQogICAgICAgICBUQm9vbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
SXNMb2FkQ29tcGxldGU7Ly8gRmxhZyB0byBzZWUgaWYgZGF0YSBsb2FkIGlzIGNvbXBsZXRlDQog
ICAgICAgICBUSW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpVHJhbnNhY3Rpb25J
ZDsgLy8gVGhlIHRyYW5zYWN0aW9uIGlkDQotICAgICAgICBIQnVmQyogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpVG9wVXJsOyANCisgICAgICAgIEhCdWZDKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlUb3BVcmw7DQogICAgICAgICBUSW50ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpUmVhc29uOw0KLSAgICAgICAgDQorDQogICAgICAgICBNUGx1Z2luTm90aWZp
ZXIqICAgICAgICAgICAgICAgICAgICBpUGx1Z2luTm90aWZpZXI7Ly8gUG9pbnRlciB0byB0aGUg
cGx1Z2luIG5vdGlmaWVyO2FsbG93cyB0aGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBicm93c2VyIHRvIHNlbmQgZXZlbnRz
IHRvIHRoZSBwbHVnaW4NCiAgICAgICAgIE1PcHRpb25NZW51SGFuZGxlciogICAgICAgICAgICAg
ICAgIGlPcHRpb25NZW51SGFuZGxlcjsvLyBQb2ludGVyIHRvIHRoZSBwbHVnaW4gb3B0aW9uIG1l
bnUgaGFuZGxlcjthbGxvd3MNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBicm93c2VyIHRvIHNlbmQgb3B0aW9uIG1lbnUg
Y29tbWFuZHMgdG8gcGx1Z2luDQogICAgICAgICBUQm9vbCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpRGVsZXRlZDsgICAgICAgLy8gRmxhZyB0byBjaGVjayBpZiBwbHVnaW4gY29udHJv
bCBoYXMgYmVlbiBkZWxldGVkDQorICAgICAgICBDV2ViS2l0Q29udHJvbCogICAgICAgICAgICAg
ICAgICAgICBpV2ViS2l0Q29udHJvbDsNCisNCisgICAgICAgIFRCb29sICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlXaW5kb3dlZFBsdWdpbjsvL0ZsYWcgdGhhdCBpcyBzZXQgdG8gdHJ1
ZSBmb3Igd2luZG93ZWQgcGx1Z2luLg0KKyAgICAgICAgQ0Zic0JpdG1hcCogICAgICAgICAgICAg
ICAgICAgICAgICAgaUJpdG1hcDsgICAgICAgLy9UaGUgYml0bWFwIGZvciB3aW5kb3dsZXNzIHBs
dWdpbg0KICAgICB9Ow0KIA0KIA0KSW5kZXg6IFdlYktpdC9QbHVnaW4vc3JjL05wbkltcGxlbWVu
dGF0aW9uLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9QbHVnaW4vc3JjL05wbkltcGxlbWVu
dGF0aW9uLmNwcAkocmV2aXNpb24gMjA4MzgpDQorKysgV2ViS2l0L1BsdWdpbi9zcmMvTnBuSW1w
bGVtZW50YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtOCwxMSArOCwxMSBAQA0KICoNCiAq
ICAgIENvcHlyaWdodCAoYykgMjAwNiwgTm9raWEgQ29ycG9yYXRpb24NCiAqICAgIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuDQotKiAgDQorKg0KICogICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCiAqICAgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQog
KiAgIGFyZSBtZXQ6DQotKiAgDQorKg0KICogICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQogKiAgICAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0K
ICogICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0DQpAQCAtMjIsNyArMjIsNyBAQA0KICogICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgdGhlIE5va2lhIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzDQog
KiAgICAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkDQogKiAgICAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLSogIA0KKyoNCiAqICAgVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
Uw0KICogICAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVA0KICogICBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1INCkBAIC0zNSw3ICszNSw3IEBADQog
KiAgIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFDQogKiAgIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gNCiAqICAgREFNQUdFLg0KLSogIA0KKyoNCiAqICAg
IFBsZWFzZSBzZWUgZmlsZSBwYXRlbnRsaWNlbnNlLnR4dCBmb3IgZnVydGhlciBncmFudHMuDQog
KiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NCiAqLw0KQEAgLTQwNyw3ICs0MDcsNyBAQA0KICAgICAg
ICAgICAgIGJyZWFrOw0KIA0KICAgICAgICAgY2FzZSBOUE5WbmV0c2NhcGVXaW5kb3c6DQotICAg
ICAgICAgIHsgICAgICAgICANCisgICAgICAgICAgew0KICAgICAgICAgICAgIENQbHVnaW5XaW4q
IHBsdWdpbldpbiA9IChDUGx1Z2luV2luKilhSW5zdGFuY2UtPm5kYXRhOw0KICAgICAgICAgICAg
IGlmIChwbHVnaW5XaW4pDQogICAgICAgICAgICAgICAgIHsNCkBAIC00ODEsMTEgKzQ4MSwyMyBA
QA0KICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgIH0NCiAgICAgICAgICAgICBicmVhazsN
Ci0NCisgICAgICAgIGNhc2UgTlBQVnBsdWdpbldpbmRvd0Jvb2w6DQorICAgICAgICAgIHsNCisg
ICAgICAgICAgQ1BsdWdpbldpbiogcGx1Z2luV2luID0gKENQbHVnaW5XaW4qKWFJbnN0YW5jZS0+
bmRhdGE7DQorICAgICAgICAgIGlmIChwbHVnaW5XaW4pDQorICAgICAgICAgICAgICB7DQorICAg
ICAgICAgICAgICBOUEJvb2wqIGlzV2luZG93ZWQgPSAoTlBCb29sKilhU2V0VmFsdWU7DQorICAg
ICAgICAgICAgICBpZiAoaXNXaW5kb3dlZCkNCisgICAgICAgICAgICAgICAgICB7DQorICAgICAg
ICAgICAgICAgICAgcGx1Z2luV2luLT5TZXRXaW5kb3dlZFBsdWdpbigqaXNXaW5kb3dlZCk7DQor
ICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICBicmVhazsN
CisgICAgICAgICAgfQ0KICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICBicmVhazsNCiAg
ICAgICAgIH0gICAvLyBlbmQgb2Ygc3dpdGNoDQotICAgICAgICANCisNCiAgICAgcmV0dXJuIE5Q
RVJSX05PX0VSUk9SOw0KICAgICB9DQogDQpAQCAtNDk1LDkgKzUwNywxMyBAQA0KIC8vIFVuc3Vw
cG9ydGVkLg0KIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8NCi0gdm9pZCBOcG5JbnZhbGlk
YXRlUmVjdChOUFAgLyphSW5zdGFuY2UqLywgTlBSZWN0ICogLyphUmVjdCovKQ0KKyB2b2lkIE5w
bkludmFsaWRhdGVSZWN0KE5QUCBhSW5zdGFuY2UsIE5QUmVjdCogLyphUmVjdCovKQ0KICAgICB7
DQotICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZA0KKyAgICBDUGx1Z2luV2lu
KiBwbHVnaW5XaW4gPSAoQ1BsdWdpbldpbiopYUluc3RhbmNlLT5uZGF0YTsNCisgICAgaWYoIHBs
dWdpbldpbiApDQorICAgICAgICB7DQorICAgICAgICBwbHVnaW5XaW4tPkZvcmNlUmVkcmF3KEVG
YWxzZSk7DQorICAgICAgICB9DQogICAgIH0NCiANCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
QEAgLTUxNyw5ICs1MzMsMTMgQEANCiAvLyBVbnN1cHBvcnRlZC4NCiAvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQ0KIC8vDQotIHZvaWQgTnBuRm9yY2VSZWRyYXcoTlBQIC8qYUluc3RhbmNlKi8pDQor
IHZvaWQgTnBuRm9yY2VSZWRyYXcoTlBQIGFJbnN0YW5jZSkNCiAgICAgew0KLSAgICAvLyBUaGlz
IGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQNCisgICAgQ1BsdWdpbldpbiogcGx1Z2luV2luID0g
KENQbHVnaW5XaW4qKWFJbnN0YW5jZS0+bmRhdGE7DQorICAgIGlmKCBwbHVnaW5XaW4gKQ0KKyAg
ICAgICAgew0KKyAgICAgICAgcGx1Z2luV2luLT5Gb3JjZVJlZHJhdyhFVHJ1ZSk7DQorICAgICAg
ICB9DQogICAgIH0NCiANCiANCkluZGV4OiBXZWJLaXQvUGx1Z2luL3NyYy9QbHVnaW5Ta2luLmNw
cA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9QbHVnaW4vc3JjL1BsdWdpblNraW4uY3BwCShyZXZp
c2lvbiAyMDgzOCkNCisrKyBXZWJLaXQvUGx1Z2luL3NyYy9QbHVnaW5Ta2luLmNwcAkod29ya2lu
ZyBjb3B5KQ0KQEAgLTM0Myw3ICszNDMsOCBAQA0KICAgICAgICAgaVBsdWdpbldpbi0+U2V0RXh0
ZW50KHB0LCBuZXdSZWN0LlNpemUoKSk7DQogDQogICAgICAgICAvLyBGb3JjZSB0aGUgY29udHJv
bCB0byBiZSByZWRyYXduLg0KLSAgICAgICAgaVBsdWdpbldpbi0+UmVmcmVzaFBsdWdpbigpOw0K
KyAgICAgICAgaVBsdWdpbldpbi0+UmVmcmVzaFBsdWdpbigqZ0NvbnRleHQpOw0KKw0KICAgICAg
ICAgfQ0KICAgICB9DQogDQpJbmRleDogV2ViS2l0L1BsdWdpbi9zcmMvUGx1Z2luV2luLmNwcA0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIFdlYktpdC9QbHVnaW4vc3JjL1BsdWdpbldpbi5jcHAJKHJldmlzaW9u
IDIwODM4KQ0KKysrIFdlYktpdC9QbHVnaW4vc3JjL1BsdWdpbldpbi5jcHAJKHdvcmtpbmcgY29w
eSkNCkBAIC03LDExICs3LDExIEBADQogKg0KICogICAgQ29weXJpZ2h0IChjKSAyMDA2LCBOb2tp
YSBDb3Jwb3JhdGlvbg0KICogICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi0qICANCisqDQogKiAg
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dA0KICogICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCiAqICAgYXJlIG1ldDoNCi0qICANCisqDQogKiAg
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQNCiAqICAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQogKiAgICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCkBAIC0yMSw3
ICsyMSw3IEBADQogKiAgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgTm9raWEgQ29ycG9y
YXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMNCiAqICAgICAgICBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQNCiAqICAgICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uDQotKiAgDQorKg0KICogICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTDQogKiAgICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UDQogKiAgIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUg0KQEAgLTM0LDcgKzM0LDcgQEANCiAqICAgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUNCiAqICAgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSA0K
ICogICBEQU1BR0UuDQotKiAgDQorKg0KICogICAgUGxlYXNlIHNlZSBmaWxlIHBhdGVudGxpY2Vu
c2UudHh0IGZvciBmdXJ0aGVyIGdyYW50cy4NCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICov
DQpAQCAtNTUsNiArNTUsNyBAQA0KICNpbmNsdWRlICJXZWJLaXRDb250cm9sLmgiDQogI2luY2x1
ZGUgIldlYktpdEJyaWRnZS5oIg0KICNpbmNsdWRlICJXZWJLaXRDdXJzb3IuaCINCisjaW5jbHVk
ZSAiV2ViS2l0U3VyZmFjZS5oIg0KIA0KIC8vIENPTlNUQU5UUw0KIGNvbnN0IFRJbnQgS1BsdWdp
bkdyYW51bGFyaXR5ID0gMzsNCkBAIC03MSwxMiArNzIsMTQgQEANCiAvLyBtaWdodCBsZWF2ZS4N
CiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vDQotQ1BsdWdpbldpbjo6Q1BsdWdpbldpbihD
UGx1Z2luU2tpbiYgYVBsdWdpblNraW4sIFRJbnQgYUhhbmRsZSkgOg0KK0NQbHVnaW5XaW46OkNQ
bHVnaW5XaW4oQ1BsdWdpblNraW4mIGFQbHVnaW5Ta2luLCBUSW50IGFIYW5kbGUsIENXZWJLaXRD
b250cm9sJiBhV2ViS2l0Q29udHJvbCkgOg0KICAgICBpSGFuZGxlKGFIYW5kbGUpLA0KICAgICBp
UGx1Z2luU2tpbigmYVBsdWdpblNraW4pLA0KKyAgICBpV2ViS2l0Q29udHJvbCgmYVdlYktpdENv
bnRyb2wpLA0KICAgICBpUGx1Z2luRGF0YUFycmF5KEtQbHVnaW5HcmFudWxhcml0eSksDQogICAg
IGlQbHVnaW5EYXRhRmlsZU5hbWVzQXJyYXkoS1BsdWdpbkdyYW51bGFyaXR5KSwNCi0gICAgaURl
bGV0ZWQoRVRydWUpDQorICAgIGlEZWxldGVkKEVUcnVlKSwNCisgICAgaVdpbmRvd2VkUGx1Z2lu
KEVUcnVlKQ0KICAgICB7DQogICAgIH0NCiANCkBAIC04Niw4ICs4OSw3IEBADQogLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0NCiB2b2lkIENQbHVnaW5XaW46OkNvbnN0cnVjdEwoIGNvbnN0IFREZXND
JiBhTUlNRVR5cGUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBDRGVzQ0Fy
cmF5JiBhQXJnbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IENEZXNDQXJy
YXkmIGFBcmd2LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ1dlYktpdENv
bnRyb2wmIGFXZWJLaXRDb250cm9sICkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IENEZXNDQXJyYXkmIGFBcmd2ICkNCiAgICAgew0KICAgICBfX0FTU0VSVF9ERUJVRyggYU1J
TUVUeXBlLlB0cigpICE9IE5VTEwsIFBhbmljUGx1Z2luSW50KCkgKTsNCiANCkBAIC05NSwxNSAr
OTcsMTQgQEANCiAgICAgaUluc3RhbmNlLT5uZGF0YSA9IHRoaXM7DQogICAgIGlJbnN0YW5jZS0+
cGRhdGEgPSBOVUxMOw0KIA0KLSAgICBpUGx1Z2luSGFuZGxlciA9ICYoYVdlYktpdENvbnRyb2wu
UGx1Z2luSGFuZGxlcigpKTsNCisgICAgaVBsdWdpbkhhbmRsZXIgPSAmKGlXZWJLaXRDb250cm9s
LT5QbHVnaW5IYW5kbGVyKCkpOw0KICAgICBpZiAoIGlQbHVnaW5IYW5kbGVyICkNCiAgICAgICAg
IHsNCiAgICAgICAgIGlQbHVnaW5IYW5kbGVyLT5Mb2FkUGx1Z2luTCggaUhhbmRsZSwgJmlQbHVn
aW5GdW5jcyApOw0KICAgICAgICAgfQ0KIA0KLSAgICANCi0gICAgQ3JlYXRlV2luZG93TCgoQ0Nv
ZUNvbnRyb2wqKSZhV2ViS2l0Q29udHJvbC5XZWJLaXRWaWV3KCkpOyAgICAgICAgICAgICAgDQog
DQorDQogICAgIE5QRXJyb3IgZXJyKCBOUEVSUl9OT19FUlJPUiApOw0KICAgICBpZiAoICggaVBs
dWdpbkZ1bmNzICkgJiYgKCBpUGx1Z2luRnVuY3MtPm5ld3AgKSApDQogICAgICAgICB7DQpAQCAt
MTM5LDE0ICsxNDAsMjMgQEANCiAgICAgICAgICAgICB9DQogICAgICAgICB9DQogDQotICAgIEFj
dGl2YXRlTCgpOw0KKyAgICBpZiggIWlXaW5kb3dlZFBsdWdpbiApDQorICAgICAgICB7DQorICAg
ICAgICBTZXRDb250YWluZXJXaW5kb3dMKCppV2ViS2l0Q29udHJvbC0+QnJDdGwoKS5DQ29lQ29u
dHJvbFBhcmVudCgpKTsNCisgICAgICAgIGlCaXRtYXAgPSBuZXcgKEVMZWF2ZSkgQ0Zic0JpdG1h
cCgpOw0KKyAgICAgICAgaUJpdG1hcC0+Q3JlYXRlKFRTaXplKDAsMCksQ1N0YXRpY09iamVjdENv
bnRhaW5lcjo6SW5zdGFuY2UoKS5TdXJmYWNlTCgpLkRpc3BsYXlNb2RlKCkpOw0KKyAgICAgICAg
fQ0KKyAgICBlbHNlew0KKyAgICAgICAgQ3JlYXRlV2luZG93TCgmaVdlYktpdENvbnRyb2wtPldl
YktpdFZpZXcoKSk7DQorICAgICAgICBBY3RpdmF0ZUwoKTsNCisgICAgICAgIH0NCiAgICAgaURl
bGV0ZWQgPSBFRmFsc2U7DQogDQogICAgIC8vICMjRklYIE1FOiBGb3IgYmFja2dyb3VuZCBzb3Vu
ZCwgd2UgaGF2ZSB0byBleHBsaWNpdGx5IGNhbGwgc2V0RXh0ZW50LA0KICAgICAvLyBCR1NPVU5E
IGNyZWF0ZXMgYSBwbHVnaW4gb2JqIGRvZXNudCBjYWxsIFNldEV4dGVudA0KICAgICBTZXRFeHRl
bnQoIFRQb2ludCgwLDApLCBUU2l6ZSgwLDApICk7DQogDQotICAgIC8vIEFkZCB0aGUgZm9jdXMv
Zm9yZWdyb3VuZCBvYnNlcnZlciAgICANCisgICAgLy8gQWRkIHRoZSBmb2N1cy9mb3JlZ3JvdW5k
IG9ic2VydmVyDQogICAgIENvbnRyb2xFbnYoKS0+QWRkRm9yZWdyb3VuZE9ic2VydmVyTCggKnRo
aXMgKSA7DQogICAgIH0NCiANCkBAIC0xNTksOCArMTY5LDggQEANCiAgICAgew0KICAgICBUUkFQ
X0lHTk9SRSggU2V0UGx1Z2luRm9jdXNMKCBFRmFsc2UgKSApOw0KIA0KLSAgICAvLyBSZW1vdmUg
dGhlIGZvcmVncm91bmQgb2JzZXJ2ZXIgICAgDQotICAgIENvbnRyb2xFbnYoKS0+UmVtb3ZlRm9y
ZWdyb3VuZE9ic2VydmVyKCAqdGhpcyApOyAgICAgICAgICAgIA0KKyAgICAvLyBSZW1vdmUgdGhl
IGZvcmVncm91bmQgb2JzZXJ2ZXINCisgICAgQ29udHJvbEVudigpLT5SZW1vdmVGb3JlZ3JvdW5k
T2JzZXJ2ZXIoICp0aGlzICk7DQogDQogICAgIC8vIElmIHNvdW5kc3RhcnQgZGVzdHJveSBhbGwg
dGhlIHN0cmVhbXMgY3JlYXRlZA0KICAgICBpZiAoIGlQbHVnaW5Ta2luLT5Jc1NvdW5kc3RhcnQo
KSApDQpAQCAtMjA4LDkgKzIxOCwxMCBAQA0KICAgICAvLyBUZWxsIHRoZSBwbHVnaW4gaGFuZGxl
ciB0byBkZWNyZW1lbnQgdGhlIHJlZiBjb3VudCBmb3IgdGhlIHBsdWdpbg0KICAgICAvLyBJZiB0
aGUgcmVmIGNvdW50IGlzIHplcm8sIHRoZSBETEwgaXMgdW5sb2FkZWQuDQogICAgIGlQbHVnaW5I
YW5kbGVyLT5VbmxvYWRQbHVnaW4oIGlIYW5kbGUgKTsNCi0gICAgDQorDQogICAgIC8vIERlbGV0
ZSB0aGUgdG9wIHVybCB0aGF0IHdhcyBsb2FkZWQgZm9yIHRoaXMgcGx1Z2luDQogICAgIGRlbGV0
ZSBpVG9wVXJsOw0KKyAgICBkZWxldGUgaUJpdG1hcDsNCiAgICAgfQ0KIA0KIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tDQpAQCAtMjIxLDExICsyMzIsMTEgQEANCiBDUGx1Z2luV2luKiBDUGx1Z2lu
V2luOjpOZXdMKCBjb25zdCBURGVzQyYgYU1JTUVUeXBlLCBUSW50IGFIYW5kbGUsDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ0Rlc0NBcnJheSYgYUFyZ24sIGNvbnN0IENE
ZXNDQXJyYXkmIGFBcmd2LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQbHVnaW5T
a2luJiBhUGx1Z2luU2tpbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBD
V2ViS2l0Q29udHJvbCYgYVdlYktpdENvbnRyb2wgKQ0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIENXZWJLaXRDb250cm9sJiBhV2ViS2l0Q29udHJvbCApDQogICAgIHsNCi0gICAgQ1Bs
dWdpbldpbiogc2VsZiA9IG5ldyggRUxlYXZlICkgQ1BsdWdpbldpbiggYVBsdWdpblNraW4sIGFI
YW5kbGUgKTsNCisgICAgQ1BsdWdpbldpbiogc2VsZiA9IG5ldyggRUxlYXZlICkgQ1BsdWdpbldp
biggYVBsdWdpblNraW4sIGFIYW5kbGUsIGFXZWJLaXRDb250cm9sICk7DQogICAgIENsZWFudXBT
dGFjazo6UHVzaEwoIHNlbGYgKTsNCi0gICAgc2VsZi0+Q29uc3RydWN0TCggYU1JTUVUeXBlLCBh
QXJnbiwgYUFyZ3YsIGFXZWJLaXRDb250cm9sICk7DQorICAgIHNlbGYtPkNvbnN0cnVjdEwoIGFN
SU1FVHlwZSwgYUFyZ24sIGFBcmd2ICk7DQogICAgIENsZWFudXBTdGFjazo6UG9wKCk7DQogICAg
IHJldHVybiBzZWxmOw0KICAgICB9DQpAQCAtMjQyLDcgKzI1MywxNCBAQA0KICAgICAgICAgIFRS
ZWN0ICAgICByZWN0KCBSZWN0KCkgKTsNCiAgICAgICAgICBOUFdpbmRvdyAgd2luZG93Ow0KIA0K
LSAgICAgICAgIHdpbmRvdy53aW5kb3cgPSAoTVBsdWdpbkFkYXB0ZXIqKXRoaXM7DQorICAgICAg
ICAgaWYoICFpV2luZG93ZWRQbHVnaW4gKQ0KKyAgICAgICAgICAgICB7DQorICAgICAgICAgICAg
IGlCaXRtYXAtPlJlc2l6ZShyZWN0LlNpemUoKSk7DQorICAgICAgICAgICAgIHdpbmRvdy53aW5k
b3cgPSAoQ0Zic0JpdG1hcCopIGlCaXRtYXA7DQorICAgICAgICAgICAgIH0NCisgICAgICAgICBl
bHNlew0KKyAgICAgICAgICAgICB3aW5kb3cud2luZG93ID0gIChNUGx1Z2luQWRhcHRlciopdGhp
czsNCisgICAgICAgICAgICAgfQ0KIA0KICAgICAgICAgIC8vIENvb3JkaW5hdGVzIGZvciB0aGUg
cGx1Z2luIGFsd2F5cyBzdGFydCBmcm9tICgwLDApIGFuZCBhcmUgcmVsYXRpdmUNCiAgICAgICAg
ICAvLyB0byB0aGUgcGFyZW50IENDb2VDb250cm9sDQpAQCAtMjUwLDE0ICsyNjgsMTMgQEANCiAg
ICAgICAgICB3aW5kb3cueSA9IDA7DQogICAgICAgICAgd2luZG93LndpZHRoID0gcmVjdC5XaWR0
aCgpOw0KICAgICAgICAgIHdpbmRvdy5oZWlnaHQgPSByZWN0LkhlaWdodCgpOw0KLSAgICAgICAg
IA0KKyAgICAgICAgIHdpbmRvdy50eXBlID0gaVdpbmRvd2VkUGx1Z2luID8gTlBXaW5kb3dUeXBl
V2luZG93IDogTlBXaW5kb3dUeXBlRHJhd2FibGUgOw0KICAgICAgICAgIFRSZWN0IGNsaXBSZWN0
ID0gaVBsdWdpblNraW4tPlBsdWdpbldpbkNsaXBSZWN0KCk7DQogICAgICAgICAgd2luZG93LmNs
aXBSZWN0LnRvcCA9IGNsaXBSZWN0LmlUbC5pWDsNCiAgICAgICAgICB3aW5kb3cuY2xpcFJlY3Qu
bGVmdCA9IGNsaXBSZWN0LmlUbC5pWTsNCiAgICAgICAgICB3aW5kb3cuY2xpcFJlY3QuYm90dG9t
ID1jbGlwUmVjdC5pQnIuaVg7DQogICAgICAgICAgd2luZG93LmNsaXBSZWN0LnJpZ2h0ID0gY2xp
cFJlY3QuaUJyLmlZOw0KLSAgICAgICAgDQotICAgICAgICAgd2luZG93LnR5cGUgPSBOUFdpbmRv
d1R5cGVEcmF3YWJsZTsNCisNCiAgICAgICAgICBpUGx1Z2luRnVuY3MtPnNldHdpbmRvdyggaUlu
c3RhbmNlLCAmd2luZG93ICk7DQogICAgICAgICAgaUlzRXh0ZW50U2V0ID0gRVRydWU7DQogICAg
ICAgICAgfQ0KQEAgLTI4OCw2ICszMDUsMTEgQEANCiAgICAgICAgIHJldCA9IGlQbHVnaW5Db250
cm9sLT5PZmZlcktleUV2ZW50TCggYUtleUV2ZW50LCBhVHlwZSApOw0KICAgICAgICAgfQ0KIA0K
KyAgICBpZiggIWlXaW5kb3dlZFBsdWdpbiApDQorICAgICAgICB7DQorICAgICAgICBpUGx1Z2lu
RnVuY3MtPmV2ZW50KGlJbnN0YW5jZSwodm9pZCopJmFLZXlFdmVudCk7DQorICAgICAgICB9DQor
DQogICAgIHJldHVybiByZXQ7DQogICAgIH0NCiANCkBAIC0zMzMsOCArMzU1LDggQEANCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJbnQgYVRySWQsIFRVaW50IGFDb250ZW50TGVu
Z3RoICkNCiAgICAgew0KICAgICBUVWludCBjbGVhbnVwQ291bnQoIDAgKTsNCi0gICAgVEJvb2wg
bmV3UGx1Z2luRGF0YSggRUZhbHNlICk7IA0KLSAgICANCisgICAgVEJvb2wgbmV3UGx1Z2luRGF0
YSggRUZhbHNlICk7DQorDQogICAgIENQbHVnaW5EYXRhKiBwbHVnaW5EYXRhID0gR2V0UGx1Z2lu
RGF0YSggYVRySWQgKTsNCiAgICAgaWYgKCAhcGx1Z2luRGF0YSApDQogICAgICAgICB7DQpAQCAt
MzUwLDcgKzM3Miw3IEBADQogICAgICAgICBDbGVhbnVwU3RhY2s6OlB1c2hMKCBwbHVnaW5EYXRh
ICk7DQogICAgICAgICArK2NsZWFudXBDb3VudDsNCiAgICAgICAgIG5ld1BsdWdpbkRhdGEgPSBF
VHJ1ZTsNCi0gICAgICAgIA0KKw0KICAgICAgICAgLy8gU2F2ZSB0aGUgZmlyc3QgdXJsIHJldHVy
bmVkIGZyb20gdGhlIHJlcXVlc3QuDQogICAgICAgICAvLyBUaGlzIHVybCBpcyB0aGUgYmFzZS90
b3AsIG9yIGNhbGxlZCBieSBjb250cnVjdG9yLg0KICAgICAgICAgZGVsZXRlIGlUb3BVcmw7DQpA
QCAtMzY1LDcgKzM4Nyw3IEBADQogDQogICAgIC8vIFNhdmUgdXJsLiBVcmwgaXMgdGhlIHNhbWUs
IGlmIGFscmVhZHkgc2V0IGJ5IHBsdWdpbiBtYWtpbmcgbG9hZFJlcXVlc3QuDQogICAgIHBsdWdp
bkRhdGEtPlNldFVybEwoIGFVcmwgKTsNCi0gICAgDQorDQogICAgIC8vIENyZWF0ZSB0aGUgTlBT
dHJlYW0gc3RydWN0dXJlIGFuZCBmaWxsIGl0DQogICAgIE5QU3RyZWFtKiBzdHJlYW0gPSAoTlBT
dHJlYW0qKVVzZXI6OkFsbG9jTEMoIHNpemVvZihOUFN0cmVhbSkgKTsNCiAgICAgKytjbGVhbnVw
Q291bnQ7DQpAQCAtNTkxLDcgKzYxMyw3IEBADQogICAgICAgICAgICAgICAgICAgICB7DQogICAg
ICAgICAgICAgICAgICAgICBmaWxlRXh0UHRyLlNldChmaWxlRXh0UHRyLkxlZnQoaSkpOw0KICAg
ICAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICAgICAgDQorDQogICAgICAgICAg
ICAgICAgIC8vICBUcmltIGFueXRoaW5nIGxlZnQgb2YgcGF0aCwgdGhlIGxhc3QgJy8nDQogICAg
ICAgICAgICAgICAgIC8vICJodHRwOi8vd3d3Lnh5ei5jb20vZmxhc2h5LnN3ZiIgLT4gImZsYXNo
eS5zd2YiDQogICAgICAgICAgICAgICAgIGkgPSBmaWxlRXh0UHRyLkxvY2F0ZVJldmVyc2UoJy8n
KTsNCkBAIC04NzQsNyArODk2LDcgQEANCiANCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8v
IENQbHVnaW5XaW46OkxvYWRQbHVnaW5Ub1ZpZXdlckwNCi0vLyANCisvLw0KIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tDQogdm9pZCBDUGx1Z2luV2luOjpMb2FkUGx1Z2luVG9WaWV3ZXJMKCkNCiAg
ICAgew0KQEAgLTkwNyw3ICs5MjksNyBAQA0KICAgICAgICAgICAgIFNldFBsdWdpbkZvY3VzTCgg
RUZhbHNlICk7DQogICAgICAgICAgICAgYnJlYWs7DQogDQotICAgICAgICBjYXNlIEVFdmVudExv
c2VGb2N1czogICAgICAgICAgICANCisgICAgICAgIGNhc2UgRUV2ZW50TG9zZUZvY3VzOg0KICAg
ICAgICAgICAgIGlmICggaVBsdWdpbk5vdGlmaWVyICkNCiAgICAgICAgICAgICAgICAgew0KICAg
ICAgICAgICAgICAgICBpUGx1Z2luTm90aWZpZXItPk5vdGlmeUwoIE1QbHVnaW5Ob3RpZmllcjo6
RUFwcGxpY2F0aW9uRm9jdXNDaGFuZ2VkLA0KQEAgLTkzNywxMiArOTU5LDE4IEBADQogLy8gUmVm
cmVzaCB0aGUgcGx1Z2luLg0KIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8NCi1USW50IENQ
bHVnaW5XaW46OlJlZnJlc2hQbHVnaW4oKQ0KK1RJbnQgQ1BsdWdpbldpbjo6UmVmcmVzaFBsdWdp
bihDQml0bWFwQ29udGV4dCAmYUJpdG1hcENvbnRleHQpDQogICAgIHsNCiAgICAgaWYgKGlQbHVn
aW5Db250cm9sKQ0KICAgICAgICAgew0KICAgICAgICAgaVBsdWdpbkNvbnRyb2wtPkRyYXdEZWZl
cnJlZCgpOw0KICAgICAgICAgfQ0KKw0KKyAgICBpZiAoIWlXaW5kb3dlZFBsdWdpbiAmJiBpQml0
bWFwKQ0KKyAgICAgICAgew0KKyAgICAgICAgYUJpdG1hcENvbnRleHQuQml0Qmx0KFJlY3QoKS5p
VGwsaUJpdG1hcCk7DQorICAgICAgICB9DQorDQogICAgIHJldHVybiBLRXJyTm9uZTsNCiAgICAg
fQ0KIA0KQEAgLTk2NSw4ICs5OTMsOCBAQA0KIA0KICAgICAgICAgaWYgKCAhaURlbGV0ZWQgJiYg
aVBsdWdpbk5vdGlmaWVyICkNCiAgICAgICAgICAgICB7DQotICAgICAgICAgICAgIC8vIElmIGl0
J3MgaW52aXNpYmxlLCBzZW5kIGEgbm90aWZpY2F0aW9uIHRvIFBsdWdpbiBOb3RpZmllci4gIA0K
LSAgICAgICAgICAgICAvLyBGb3IgVmlkZW9QbHVnaW4gb25seSwgYmVjYXVzZSB2aWRlbyBwbHVn
aW4gaXMgbm90IGNvbnRyb2xsZWQgYnkgZm9jdXMuICAgICAgICAgICAgIA0KKyAgICAgICAgICAg
ICAvLyBJZiBpdCdzIGludmlzaWJsZSwgc2VuZCBhIG5vdGlmaWNhdGlvbiB0byBQbHVnaW4gTm90
aWZpZXIuDQorICAgICAgICAgICAgIC8vIEZvciBWaWRlb1BsdWdpbiBvbmx5LCBiZWNhdXNlIHZp
ZGVvIHBsdWdpbiBpcyBub3QgY29udHJvbGxlZCBieSBmb2N1cy4NCiAgICAgICAgICAgICAgVFJB
UF9JR05PUkUoIGlQbHVnaW5Ob3RpZmllci0+Tm90aWZ5TCgNCiAgICAgICAgICAgICAgICAgICAg
TVBsdWdpbk5vdGlmaWVyOjpFUGx1Z2luSW52aXNpYmxlLCAodm9pZCopMCApICk7DQogICAgICAg
ICAgICAgfQ0KQEAgLTk4MSw3ICsxMDA5LDcgQEANCiAvLw0KIHZvaWQgQ1BsdWdpbldpbjo6SGFu
ZGxlQ29udHJvbEV2ZW50TCggQ0NvZUNvbnRyb2wqIC8qYUNvbnRyb2wqLywNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRDb2VFdmVudCAvKmFFdmVudFR5cGUqLyApDQot
ICAgIHsgDQorICAgIHsNCiAgICAgfQ0KIA0KIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpAQCAt
OTkzLDcgKzEwMjEsNyBAQA0KIC8vIGlCcm93c2VyQmFja2dyb3VuZCBtZWFucyB0aGF0IHRoZSBi
cm93c2VyIGFwcCBpcyBub3QgdG9wIGFwcGxpY2F0aW9uLA0KIC8vIHN1Y2ggYXMgd2hlbiBib29r
bWFya3MsIGlkbGUgc2NyZWVuLCBvciBhbm90aGVyIGFwcC92aWV3IGlzIGluIGZvcmVncm91bmQu
DQogLy8gYUZvY3VzZWQgaXMgdHJ1ZSBpZiBicm93c2VyIGhhcyBmb2N1cyBhbmQgZmFsc2UgaWYg
YnJvd3NlciBpcyBvdXQgb2YgZm9jdXMNCi0vLyBhbmQgYSBwbHVnaW4gaGFzIHRha2VuIGZvY3Vz
LiANCisvLyBhbmQgYSBwbHVnaW4gaGFzIHRha2VuIGZvY3VzLg0KIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tDQogdm9pZCBDUGx1Z2luV2luOjpWaWV3Rm9jdXNDaGFuZ2VkKCBUQm9vbCBhRm9jdXNl
ZCApDQogICAgIHsNCkBAIC0xMTgyLDkgKzEyMTAsOSBAQA0KICAgICBpRGVsZXRlZCA9IEVGYWxz
ZTsNCiAgICAgfQ0KIA0KLSAgICANCisNCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLS8vIENQ
bHVnaW5XaW46OkhhbmRsZUdhaW5pbmdGb3JlZ3JvdW5kIA0KKy8vIENQbHVnaW5XaW46OkhhbmRs
ZUdhaW5pbmdGb3JlZ3JvdW5kDQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAvLw0KIHZvaWQg
Q1BsdWdpbldpbjo6SGFuZGxlR2FpbmluZ0ZvcmVncm91bmQoKQ0KQEAgLTExOTksMTcgKzEyMjcs
MTcgQEANCiAgICAgICAgICAgICAvLyBjYW4gZGlzcGxheSBpdHMgb3duIGN1cnNvciwgaWYgaXQg
bmVlZHMgb25lLg0KICAgICAgICAgICAgIENXZWJLaXRDdXJzb3IqIGN1cnNvciA9IGlQbHVnaW5T
a2luLT5XZWJLaXRDb250cm9sKCktPldlYktpdFZpZXcoKS5DdXJzb3IoKTsNCiAgICAgICAgICAg
ICBjdXJzb3ItPkN1cnNvclVwZGF0ZSggRUZhbHNlICk7DQotICAgICAgICAgICAgDQorDQogICAg
ICAgICAgICAgVFJBUF9JR05PUkUoIGlQbHVnaW5Ob3RpZmllci0+Tm90aWZ5TCgNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgTVBsdWdpbk5vdGlmaWVyOjpFQXBwbGljYXRpb25Gb2N1c0NoYW5n
ZWQsICh2b2lkKikxICkgKTsNCiAgICAgICAgICAgICB9DQotICAgICAgICB9ICAgICAgICAgICAg
ICAgIA0KKyAgICAgICAgfQ0KICAgfQ0KLSAgICAgICAgDQorDQogLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0NCi0vLyBDUGx1Z2luV2luOjpIYW5kbGVMb3NpbmdGb3JlZ3JvdW5kIA0KKy8vIENQbHVn
aW5XaW46OkhhbmRsZUxvc2luZ0ZvcmVncm91bmQNCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
LS8vICAgICAgICANCisvLw0KIHZvaWQgQ1BsdWdpbldpbjo6SGFuZGxlTG9zaW5nRm9yZWdyb3Vu
ZCgpDQogICB7DQogICAgIGlmICggaVBsdWdpbk5vdGlmaWVyICkNCkBAIC0xMjE5LDEzICsxMjQ3
LDEzIEBADQogICAgICAgICAgICAgaUJyb3dzZXJCYWNrZ3JvdW5kID0gRVRydWU7DQogICAgICAg
ICAgICAgVFJBUF9JR05PUkUoIGlQbHVnaW5Ob3RpZmllci0+Tm90aWZ5TCgNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgTVBsdWdpbk5vdGlmaWVyOjpFQXBwbGljYXRpb25Gb2N1c0NoYW5nZWQs
ICh2b2lkKikwICkgKTsNCi0gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICANCi0gICAgICAg
IH0gICAgICAgICAgICAgICAgIA0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0NCiAgIH0NCiAN
CiAjaWZkZWYgIFJEX0JST1dTRVJfV0lER0VUUw0KIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQot
Ly8gIA0KKy8vDQogTlBPYmplY3QqIENQbHVnaW5XaW46OldpbmRvd1NjcmlwdE5QT2JqZWN0KCkN
CiAgICAgew0KICAgICByZXR1cm4gaVBsdWdpblNraW4tPkZyYW1lKCktPldlYktpdEJyaWRnZSgp
LldlYkNvcmVCcmlkZ2UoKS5XaW5kb3dTY3JpcHROUE9iamVjdCgpOw0KQEAgLTEyMzMsOSArMTI2
MSw5IEBADQogDQogDQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0vLyBDUGx1Z2luV2luOjpQ
bHVnaW5TY3JpcHRhYmxlT2JqZWN0IA0KKy8vIENQbHVnaW5XaW46OlBsdWdpblNjcmlwdGFibGVP
YmplY3QNCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLS8vICANCisvLw0KIHZvaWQqIENQbHVn
aW5XaW46OlBsdWdpblNjcmlwdGFibGVPYmplY3QoKQ0KICAgICB7DQogICAgIGlmIChpUGx1Z2lu
RnVuY3MtPmdldHZhbHVlKSB7DQpAQCAtMTI0NSwxNSArMTI3MywyOCBAQA0KICAgICAgICAgICAg
IHJldHVybiB2YWx1ZTsNCiAgICAgICAgIH0NCiAgICAgfQ0KLSAgICByZXR1cm4gKHZvaWQgKikw
OyAgICANCisgICAgcmV0dXJuICh2b2lkICopMDsNCiAgICAgfQ0KICNlbmRpZiAvL1JEX0JST1dT
RVJfV0lER0VUUw0KIA0KIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLy8gQ1BsdWdpbldpbjo6
Rm9yY2VSZWRyYXcNCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy8vDQordm9pZCBDUGx1Z2lu
V2luOjpGb3JjZVJlZHJhdyhUQm9vbCBhRHJhd05vdykNCisgICAgew0KKyAgICBpZiggaVdlYktp
dENvbnRyb2wgKQ0KKyAgICAgICAgew0KKyAgICAgICAgLy9UUmVjdCBydCA9IFRSZWN0KFRQb2lu
dCgwLDApLGlXZWJLaXRDb250cm9sLT5XZWJLaXRWaWV3KCkuTWFpbkZyYW1lKCkuQ29udGVudFNp
emUoKSk7DQorICAgICAgICBpV2ViS2l0Q29udHJvbC0+V2ViS2l0VmlldygpLk1haW5GcmFtZSgp
LkludmFsaWRhdGVSZWN0KGlQbHVnaW5Ta2luLT5SZWN0KCksYURyYXdOb3cpOw0KKyAgICAgICAg
fQ0KKyAgICB9DQorDQorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAvLyBDUGx1Z2luV2luOjpJ
c0NvbnRlbnRJbnRlcmFjdGl2ZSgpDQotLy8gVGVsbHMgIHRoYXQgcGx1Z2luIGNvbnRlbnQgY2Fu
IGFjY2VwdCB1c2VyIGludGVyYWN0aW9uLiANCi0vLyBUaGUgcmV0dXJuIHZhbHVlIG9mIGlQbHVn
aW5GdW5jcy0+Z2V0dmFsdWUgIjAiIG9yIGZhbHNlIG1lYW5zICBwbHVnaW4gaXMgaW50ZXJhY3Rp
dmUuIA0KLS8vIElmIHJldHVybiB2YWx1ZSBvZiBpUGx1Z2luRnVuY3MtPmdldHZhbHVlIGlzIHRy
dWUgb3IgMSB0aGVuIHBsdWdpbiBpcyANCisvLyBUZWxscyAgdGhhdCBwbHVnaW4gY29udGVudCBj
YW4gYWNjZXB0IHVzZXIgaW50ZXJhY3Rpb24uDQorLy8gVGhlIHJldHVybiB2YWx1ZSBvZiBpUGx1
Z2luRnVuY3MtPmdldHZhbHVlICIwIiBvciBmYWxzZSBtZWFucyAgcGx1Z2luIGlzIGludGVyYWN0
aXZlLg0KKy8vIElmIHJldHVybiB2YWx1ZSBvZiBpUGx1Z2luRnVuY3MtPmdldHZhbHVlIGlzIHRy
dWUgb3IgMSB0aGVuIHBsdWdpbiBpcw0KIC8vIG5vdCBpbnRlcmFjdGl2ZS4gVGhpcyBpcyBkdWUg
dG8gdGhlIGJhY2t3b3JkIGZ1bmN0aW9uYWwgY29tcGF0aWJpbGl0eS4NCiAvLw0KIC8vIENQbHVn
aW5XaW46OklzQ29udGVudEludGVyYWN0aXZlKCkgcmV0dXJuIHZhbHVlID0gMCBpbXBsaWVzIHBs
dWcgaXMgbm90IGludGVyYWN0aXZlDQpAQCAtMTI2Niw3ICsxMzA3LDcgQEANCiAgICAgaWYgKCBp
UGx1Z2luRnVuY3MgJiYgKGlQbHVnaW5GdW5jcy0+Z2V0dmFsdWUpICkNCiAgICAgICAgIHsNCiAg
ICAgICAgICAgICBOUEVycm9yIGVyciggTlBFUlJfTk9fRVJST1IgKTsNCi0gICAgICAgICAgICBU
Qm9vbCBpc05vdEludGVyYWN0aXZlID0gRUZhbHNlOyANCisgICAgICAgICAgICBUQm9vbCBpc05v
dEludGVyYWN0aXZlID0gRUZhbHNlOw0KIA0KICAgICAgICAgICAgIGVyciA9IGlQbHVnaW5GdW5j
cy0+Z2V0dmFsdWUgKGlJbnN0YW5jZSwgTlBQVnBsdWdpbkludGVyYWN0aXZlQm9vbCwgJmlzTm90
SW50ZXJhY3RpdmUpOw0KIA0K
</data>
<flag name="review"
          id="5731"
          type_id="1"
          status="+"
          setter="Sachin.Padma"
    />
          </attachment>
      

    </bug>

</bugzilla>