<?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>30775</bug_id>
          
          <creation_ts>2009-10-26 07:54:33 -0700</creation_ts>
          <short_desc>[Qt] QWebPluginInfo::isNull() should be QWebPluginInfo::isValid()?</short_desc>
          <delta_ts>2014-02-03 03:15:52 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ademar</cc>
    
    <cc>benjamin</cc>
    
    <cc>hausmann</cc>
    
    <cc>jwieczorek</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>vestbo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>157771</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2009-10-26 07:54:33 -0700</bug_when>
    <thetext>QWebPluginInfo::isNull() return true if the QWebPluginInfo has been constructed with the default constructor.

There is no way to know if a QWebPluginInfo is valid after QWebPluginDatabase::refresh(). QWebPluginInfo::isNull() could be changed in QWebPluginInfo::isValid() and be used for the default constructor and for plugins that have become invalid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158175</commentid>
    <comment_count>1</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2009-10-27 06:44:50 -0700</bug_when>
    <thetext>I propose we make this class private in 4.6, it&apos;s not ready for prime time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158183</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-27 07:12:46 -0700</bug_when>
    <thetext>What are the primary concerns?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158190</commentid>
    <comment_count>3</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2009-10-27 07:33:17 -0700</bug_when>
    <thetext>It&apos;s a pretty thin wrapper around PluginDatabase/PluginPackage, ie. we&apos;re exposing quite a few internals. This results in tricky stuff like what happens if you refresh plugins but have a QWebPluginInfo that points to one of the plugins that were removed? Now it suddenly has a dangling pointer, etc. Basically I&apos;m worried that not all use-cases have not been thought trough (typical for API around already existing functionality), and we end up exposing bugs like this.

Add to that that this is really QWeb_Netscape_PluginDatabase, ie has nothing to do with the QWebFactoryPlugins. I tried to proxy this in, but it was a bit hairy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158192</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-27 07:46:26 -0700</bug_when>
    <thetext>OK I agree, it would be totally acceptable to make this a private API for 4.6.

I can have a look at that if you&apos;ld like</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158289</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-27 11:40:24 -0700</bug_when>
    <thetext>Laszlo what is your comments on this? What are your requirements for such an API, and when do you need it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160042</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-11-03 05:53:34 -0800</bug_when>
    <thetext>Jakub, we have concerns regarding the API and given our current release pressure we&apos;d like to delay this API. AFAICS Arora is not using these classes yet. Would you mind if we hold this off for a little while longer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160059</commentid>
    <comment_count>7</comment_count>
      <attachid>42380</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-11-03 07:37:32 -0800</bug_when>
    <thetext>Created attachment 42380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160062</commentid>
    <comment_count>8</comment_count>
      <attachid>42382</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-11-03 07:46:14 -0800</bug_when>
    <thetext>Created attachment 42382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160064</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-11-03 07:55:39 -0800</bug_when>
    <thetext>Committed r50456: &lt;http://trac.webkit.org/changeset/50456&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160065</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-11-03 07:56:56 -0800</bug_when>
    <thetext>Re-opening and removing dependency on Qt 4.6 API blocker. Technically this bug is still open, but with the committed patch it&apos;s not public API at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160066</commentid>
    <comment_count>11</comment_count>
      <attachid>42382</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-11-03 07:57:57 -0800</bug_when>
    <thetext>Comment on attachment 42382
Patch

Clearning review after landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975094</commentid>
    <comment_count>12</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:15:52 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42380</attachid>
            <date>2009-11-03 07:37:32 -0800</date>
            <delta_ts>2009-11-03 07:45:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-30775-20091103163711.patch</filename>
            <type>text/plain</type>
            <size>11981</size>
            <attacher name="Simon Hausmann">hausmann</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NmQxZTBmYS4uNTQ3NGUxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAogMjAwOS0xMS0wMyAgU2ltb24gSGF1c21h
bm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1ha2UgUVdlYlBsdWdpbkRhdGFiYXNlIHByaXZhdGUgQVBJIGZv
ciBub3cuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMwNzc1CisKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKworMjAwOS0xMS0wMyAgU2ltb24gSGF1
c21hbm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IFRvciBB
cm5lIFZlc3Riw7guCiAKICAgICAgICAgRXh0ZW5kZWQgdGhlIGNvbnZlcnNpb24gb2YgdGhlIFdl
YkNvcmUgUmVzb3VyY2VSZXF1ZXN0IHRvIHRoZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggM2ZiODk2Yi4uY2I0MTg0MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0y
MzMyLDYgKzIzMzIsNyBAQCBIRUFERVJTICs9IFwKICAgICB4bWwvWFNMVEV4dGVuc2lvbnMuaCBc
CiAgICAgeG1sL1hTTFRQcm9jZXNzb3IuaCBcCiAgICAgeG1sL1hTTFRVbmljb2RlU29ydC5oIFwK
KyAgICAkJFBXRC8uLi9XZWJLaXQvcXQvQXBpL3F3ZWJwbHVnaW5kYXRhYmFzZV9wLmggXAogICAg
ICQkUFdELy4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0Lmgg
XAogICAgICQkUFdEL3BsYXRmb3JtL25ldHdvcmsvcXQvRG5zUHJlZmV0Y2hIZWxwZXIuaAogCmRp
ZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL2hlYWRlcnMucHJpIGIvV2ViS2l0L3F0L0FwaS9oZWFk
ZXJzLnByaQppbmRleCA1YTk1YzY3Li4xYTQyNTk3IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBp
L2hlYWRlcnMucHJpCisrKyBiL1dlYktpdC9xdC9BcGkvaGVhZGVycy5wcmkKQEAgLTgsNyArOCw2
IEBAIFdFQktJVF9BUElfSEVBREVSUyA9ICQkUFdEL3F3ZWJmcmFtZS5oIFwKICAgICAgICAgICAg
ICAgICAgICAgICQkUFdEL3F3ZWJkYXRhYmFzZS5oIFwKICAgICAgICAgICAgICAgICAgICAgICQk
UFdEL3F3ZWJzZWN1cml0eW9yaWdpbi5oIFwKICAgICAgICAgICAgICAgICAgICAgICQkUFdEL3F3
ZWJlbGVtZW50LmggXAotICAgICAgICAgICAgICAgICAgICAgJCRQV0QvcXdlYnBsdWdpbmRhdGFi
YXNlLmggXAogICAgICAgICAgICAgICAgICAgICAgJCRQV0QvcXdlYnBsdWdpbmZhY3RvcnkuaCBc
CiAgICAgICAgICAgICAgICAgICAgICAkJFBXRC9xd2ViaGlzdG9yeS5oIFwKICAgICAgICAgICAg
ICAgICAgICAgICQkUFdEL3F3ZWJpbnNwZWN0b3IuaCBcCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
QXBpL3F3ZWJwbHVnaW5kYXRhYmFzZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwbHVnaW5kYXRh
YmFzZS5jcHAKaW5kZXggNjIzODk1Zi4uM2QwMjdjOSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0Fw
aS9xd2VicGx1Z2luZGF0YWJhc2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBsdWdpbmRh
dGFiYXNlLmNwcApAQCAtMTgsNyArMTgsNyBAQAogKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgot
I2luY2x1ZGUgInF3ZWJwbHVnaW5kYXRhYmFzZS5oIgorI2luY2x1ZGUgInF3ZWJwbHVnaW5kYXRh
YmFzZV9wLmgiCiAKICNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgogI2luY2x1ZGUgIlBsdWdp
blBhY2thZ2UuaCIKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBsdWdpbmRhdGFiYXNl
LmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJwbHVnaW5kYXRhYmFzZS5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiMjJjM2RlLi4wMDAwMDAwCi0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBs
dWdpbmRhdGFiYXNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5OCArMCwwIEBACi0vKgotICAgIENv
cHlyaWdodCAoQykgMjAwOSBKYWt1YiBXaWVjem9yZWsgPGZhdzIxN0BnbWFpbC5jb20+Ci0KLSAg
ICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQot
I2lmbmRlZiBRV0VCUExVR0lOREFUQUJBU0VfSAotI2RlZmluZSBRV0VCUExVR0lOREFUQUJBU0Vf
SAotCi0jaW5jbHVkZSAicXdlYmtpdGdsb2JhbC5oIgotI2luY2x1ZGUgInF3ZWJwbHVnaW5mYWN0
b3J5LmgiCi0KLSNpbmNsdWRlIDxRdENvcmUvcW9iamVjdC5oPgotI2luY2x1ZGUgPFF0Q29yZS9x
c3RyaW5nbGlzdC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgUGx1Z2luRGF0
YWJhc2U7Ci0gICAgY2xhc3MgUGx1Z2luUGFja2FnZTsKLX0KLQotY2xhc3MgUVdlYlBsdWdpbklu
Zm9Qcml2YXRlOwotY2xhc3MgUVdFQktJVF9FWFBPUlQgUVdlYlBsdWdpbkluZm8gewotcHVibGlj
OgotICAgIFFXZWJQbHVnaW5JbmZvKCk7Ci0gICAgUVdlYlBsdWdpbkluZm8oY29uc3QgUVdlYlBs
dWdpbkluZm8mIG90aGVyKTsKLSAgICBRV2ViUGx1Z2luSW5mbyAmb3BlcmF0b3I9KGNvbnN0IFFX
ZWJQbHVnaW5JbmZvJiBvdGhlcik7Ci0gICAgflFXZWJQbHVnaW5JbmZvKCk7Ci0KLXByaXZhdGU6
Ci0gICAgUVdlYlBsdWdpbkluZm8oV2ViQ29yZTo6UGx1Z2luUGFja2FnZSogcGFja2FnZSk7Ci0K
LXB1YmxpYzoKLSAgICB0eXBlZGVmIFFXZWJQbHVnaW5GYWN0b3J5OjpNaW1lVHlwZSBNaW1lVHlw
ZTsKLQotICAgIFFTdHJpbmcgbmFtZSgpIGNvbnN0OwotICAgIFFTdHJpbmcgZGVzY3JpcHRpb24o
KSBjb25zdDsKLSAgICBRTGlzdDxNaW1lVHlwZT4gbWltZVR5cGVzKCkgY29uc3Q7Ci0gICAgYm9v
bCBzdXBwb3J0c01pbWVUeXBlKGNvbnN0IFFTdHJpbmcmIG1pbWVUeXBlKSBjb25zdDsKLSAgICBR
U3RyaW5nIHBhdGgoKSBjb25zdDsKLQotICAgIGJvb2wgaXNOdWxsKCkgY29uc3Q7Ci0KLSAgICB2
b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVkKTsKLSAgICBib29sIGlzRW5hYmxlZCgpIGNvbnN0
OwotCi0gICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFFXZWJQbHVnaW5JbmZvJiBvdGhlcikgY29u
c3Q7Ci0gICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFFXZWJQbHVnaW5JbmZvJiBvdGhlcikgY29u
c3Q7Ci0KLSAgICBmcmllbmQgY2xhc3MgUVdlYlBsdWdpbkRhdGFiYXNlOwotCi1wcml2YXRlOgot
ICAgIFFXZWJQbHVnaW5JbmZvUHJpdmF0ZSogZDsKLSAgICBXZWJDb3JlOjpQbHVnaW5QYWNrYWdl
KiBtX3BhY2thZ2U7Ci0gICAgbXV0YWJsZSBRTGlzdDxNaW1lVHlwZT4gbV9taW1lVHlwZXM7Ci19
OwotCi1jbGFzcyBRV2ViUGx1Z2luRGF0YWJhc2VQcml2YXRlOwotY2xhc3MgUVdFQktJVF9FWFBP
UlQgUVdlYlBsdWdpbkRhdGFiYXNlIDogcHVibGljIFFPYmplY3QgewotICAgIFFfT0JKRUNUCi0K
LXByaXZhdGU6Ci0gICAgUVdlYlBsdWdpbkRhdGFiYXNlKFFPYmplY3QqIHBhcmVudCA9IDApOwot
ICAgIH5RV2ViUGx1Z2luRGF0YWJhc2UoKTsKLQotcHVibGljOgotICAgIFFMaXN0PFFXZWJQbHVn
aW5JbmZvPiBwbHVnaW5zKCkgY29uc3Q7Ci0KLSAgICBzdGF0aWMgUVN0cmluZ0xpc3QgZGVmYXVs
dFNlYXJjaFBhdGhzKCk7Ci0gICAgUVN0cmluZ0xpc3Qgc2VhcmNoUGF0aHMoKSBjb25zdDsKLSAg
ICB2b2lkIHNldFNlYXJjaFBhdGhzKGNvbnN0IFFTdHJpbmdMaXN0JiBwYXRocyk7Ci0gICAgdm9p
ZCBhZGRTZWFyY2hQYXRoKGNvbnN0IFFTdHJpbmcmIHBhdGgpOwotCi0gICAgdm9pZCByZWZyZXNo
KCk7Ci0KLSAgICBRV2ViUGx1Z2luSW5mbyBwbHVnaW5Gb3JNaW1lVHlwZShjb25zdCBRU3RyaW5n
JiBtaW1lVHlwZSk7Ci0gICAgdm9pZCBzZXRQcmVmZXJyZWRQbHVnaW5Gb3JNaW1lVHlwZShjb25z
dCBRU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgUVdlYlBsdWdpbkluZm8mIHBsdWdpbik7Ci0KLSAg
ICBmcmllbmQgY2xhc3MgUVdlYlNldHRpbmdzOwotCi1wcml2YXRlOgotICAgIFFXZWJQbHVnaW5E
YXRhYmFzZVByaXZhdGUqIGQ7Ci0gICAgV2ViQ29yZTo6UGx1Z2luRGF0YWJhc2UqIG1fZGF0YWJh
c2U7Ci19OwotCi0jZW5kaWYgLy8gUVdFQlBMVUdJTkRBVEFCQVNFX0gKZGlmZiAtLWdpdCBhL1dl
YktpdC9xdC9BcGkvcXdlYnBsdWdpbmRhdGFiYXNlX3AuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBs
dWdpbmRhdGFiYXNlX3AuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjJj
M2RlCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGx1Z2luZGF0YWJhc2Vf
cC5oCkBAIC0wLDAgKzEsOTggQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDA5IEpha3ViIFdp
ZWN6b3JlayA8ZmF3MjE3QGdtYWlsLmNvbT4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaWZuZGVmIFFXRUJQTFVHSU5EQVRBQkFT
RV9ICisjZGVmaW5lIFFXRUJQTFVHSU5EQVRBQkFTRV9ICisKKyNpbmNsdWRlICJxd2Via2l0Z2xv
YmFsLmgiCisjaW5jbHVkZSAicXdlYnBsdWdpbmZhY3RvcnkuaCIKKworI2luY2x1ZGUgPFF0Q29y
ZS9xb2JqZWN0Lmg+CisjaW5jbHVkZSA8UXRDb3JlL3FzdHJpbmdsaXN0Lmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKyAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZTsKKyAgICBjbGFzcyBQbHVnaW5Q
YWNrYWdlOworfQorCitjbGFzcyBRV2ViUGx1Z2luSW5mb1ByaXZhdGU7CitjbGFzcyBRV0VCS0lU
X0VYUE9SVCBRV2ViUGx1Z2luSW5mbyB7CitwdWJsaWM6CisgICAgUVdlYlBsdWdpbkluZm8oKTsK
KyAgICBRV2ViUGx1Z2luSW5mbyhjb25zdCBRV2ViUGx1Z2luSW5mbyYgb3RoZXIpOworICAgIFFX
ZWJQbHVnaW5JbmZvICZvcGVyYXRvcj0oY29uc3QgUVdlYlBsdWdpbkluZm8mIG90aGVyKTsKKyAg
ICB+UVdlYlBsdWdpbkluZm8oKTsKKworcHJpdmF0ZToKKyAgICBRV2ViUGx1Z2luSW5mbyhXZWJD
b3JlOjpQbHVnaW5QYWNrYWdlKiBwYWNrYWdlKTsKKworcHVibGljOgorICAgIHR5cGVkZWYgUVdl
YlBsdWdpbkZhY3Rvcnk6Ok1pbWVUeXBlIE1pbWVUeXBlOworCisgICAgUVN0cmluZyBuYW1lKCkg
Y29uc3Q7CisgICAgUVN0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0OworICAgIFFMaXN0PE1pbWVU
eXBlPiBtaW1lVHlwZXMoKSBjb25zdDsKKyAgICBib29sIHN1cHBvcnRzTWltZVR5cGUoY29uc3Qg
UVN0cmluZyYgbWltZVR5cGUpIGNvbnN0OworICAgIFFTdHJpbmcgcGF0aCgpIGNvbnN0OworCisg
ICAgYm9vbCBpc051bGwoKSBjb25zdDsKKworICAgIHZvaWQgc2V0RW5hYmxlZChib29sIGVuYWJs
ZWQpOworICAgIGJvb2wgaXNFbmFibGVkKCkgY29uc3Q7CisKKyAgICBib29sIG9wZXJhdG9yPT0o
Y29uc3QgUVdlYlBsdWdpbkluZm8mIG90aGVyKSBjb25zdDsKKyAgICBib29sIG9wZXJhdG9yIT0o
Y29uc3QgUVdlYlBsdWdpbkluZm8mIG90aGVyKSBjb25zdDsKKworICAgIGZyaWVuZCBjbGFzcyBR
V2ViUGx1Z2luRGF0YWJhc2U7CisKK3ByaXZhdGU6CisgICAgUVdlYlBsdWdpbkluZm9Qcml2YXRl
KiBkOworICAgIFdlYkNvcmU6OlBsdWdpblBhY2thZ2UqIG1fcGFja2FnZTsKKyAgICBtdXRhYmxl
IFFMaXN0PE1pbWVUeXBlPiBtX21pbWVUeXBlczsKK307CisKK2NsYXNzIFFXZWJQbHVnaW5EYXRh
YmFzZVByaXZhdGU7CitjbGFzcyBRV0VCS0lUX0VYUE9SVCBRV2ViUGx1Z2luRGF0YWJhc2UgOiBw
dWJsaWMgUU9iamVjdCB7CisgICAgUV9PQkpFQ1QKKworcHJpdmF0ZToKKyAgICBRV2ViUGx1Z2lu
RGF0YWJhc2UoUU9iamVjdCogcGFyZW50ID0gMCk7CisgICAgflFXZWJQbHVnaW5EYXRhYmFzZSgp
OworCitwdWJsaWM6CisgICAgUUxpc3Q8UVdlYlBsdWdpbkluZm8+IHBsdWdpbnMoKSBjb25zdDsK
KworICAgIHN0YXRpYyBRU3RyaW5nTGlzdCBkZWZhdWx0U2VhcmNoUGF0aHMoKTsKKyAgICBRU3Ry
aW5nTGlzdCBzZWFyY2hQYXRocygpIGNvbnN0OworICAgIHZvaWQgc2V0U2VhcmNoUGF0aHMoY29u
c3QgUVN0cmluZ0xpc3QmIHBhdGhzKTsKKyAgICB2b2lkIGFkZFNlYXJjaFBhdGgoY29uc3QgUVN0
cmluZyYgcGF0aCk7CisKKyAgICB2b2lkIHJlZnJlc2goKTsKKworICAgIFFXZWJQbHVnaW5JbmZv
IHBsdWdpbkZvck1pbWVUeXBlKGNvbnN0IFFTdHJpbmcmIG1pbWVUeXBlKTsKKyAgICB2b2lkIHNl
dFByZWZlcnJlZFBsdWdpbkZvck1pbWVUeXBlKGNvbnN0IFFTdHJpbmcmIG1pbWVUeXBlLCBjb25z
dCBRV2ViUGx1Z2luSW5mbyYgcGx1Z2luKTsKKworICAgIGZyaWVuZCBjbGFzcyBRV2ViU2V0dGlu
Z3M7CisKK3ByaXZhdGU6CisgICAgUVdlYlBsdWdpbkRhdGFiYXNlUHJpdmF0ZSogZDsKKyAgICBX
ZWJDb3JlOjpQbHVnaW5EYXRhYmFzZSogbV9kYXRhYmFzZTsKK307CisKKyNlbmRpZiAvLyBRV0VC
UExVR0lOREFUQUJBU0VfSApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3Mu
Y3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCmluZGV4IGZmYTIxZTQuLjMwNTIw
NTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAorKysgYi9XZWJL
aXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKQEAgLTIyLDcgKzIyLDcgQEAKIAogI2luY2x1ZGUg
InF3ZWJwYWdlLmgiCiAjaW5jbHVkZSAicXdlYnBhZ2VfcC5oIgotI2luY2x1ZGUgInF3ZWJwbHVn
aW5kYXRhYmFzZS5oIgorI2luY2x1ZGUgInF3ZWJwbHVnaW5kYXRhYmFzZV9wLmgiCiAKICNpbmNs
dWRlICJDYWNoZS5oIgogI2luY2x1ZGUgIkNyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUu
aCIKQEAgLTYyNyw3ICs2MjcsNyBAQCBRSWNvbiBRV2ViU2V0dGluZ3M6Omljb25Gb3JVcmwoY29u
c3QgUVVybCYgdXJsKQogCiAvKiEKICAgICBSZXR1cm5zIHRoZSBwbHVnaW4gZGF0YWJhc2Ugb2Jq
ZWN0LgotKi8KKwogUVdlYlBsdWdpbkRhdGFiYXNlICpRV2ViU2V0dGluZ3M6OnBsdWdpbkRhdGFi
YXNlKCkKIHsKICAgICBzdGF0aWMgUVdlYlBsdWdpbkRhdGFiYXNlKiBkYXRhYmFzZSA9IDA7CkBA
IC02MzUsNiArNjM1LDcgQEAgUVdlYlBsdWdpbkRhdGFiYXNlICpRV2ViU2V0dGluZ3M6OnBsdWdp
bkRhdGFiYXNlKCkKICAgICAgICAgZGF0YWJhc2UgPSBuZXcgUVdlYlBsdWdpbkRhdGFiYXNlKCk7
CiAgICAgcmV0dXJuIGRhdGFiYXNlOwogfQorKi8KIAogLyohCiAgICAgU2V0cyBcYSBncmFwaGlj
IHRvIGJlIGRyYXduIHdoZW4gUXRXZWJLaXQgbmVlZHMgdG8gZHJhdyBhbiBpbWFnZSBvZiB0aGUK
ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmggYi9XZWJLaXQvcXQvQXBp
L3F3ZWJzZXR0aW5ncy5oCmluZGV4IGU2OGVhNTMuLmM5NThhZTcgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3Mu
aApAQCAtMTE0LDcgKzExNCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBjbGVhckljb25E
YXRhYmFzZSgpOwogICAgIHN0YXRpYyBRSWNvbiBpY29uRm9yVXJsKGNvbnN0IFFVcmwgJnVybCk7
CiAKLSAgICBzdGF0aWMgUVdlYlBsdWdpbkRhdGFiYXNlICpwbHVnaW5EYXRhYmFzZSgpOworICAg
IC8vc3RhdGljIFFXZWJQbHVnaW5EYXRhYmFzZSAqcGx1Z2luRGF0YWJhc2UoKTsKIAogICAgIHN0
YXRpYyB2b2lkIHNldFdlYkdyYXBoaWMoV2ViR3JhcGhpYyB0eXBlLCBjb25zdCBRUGl4bWFwICZn
cmFwaGljKTsKICAgICBzdGF0aWMgUVBpeG1hcCB3ZWJHcmFwaGljKFdlYkdyYXBoaWMgdHlwZSk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpp
bmRleCA4MjdmNTBiLi5hMWVhZDE1IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMiBAQAogMjAwOS0xMS0wMyAgU2lt
b24gSGF1c21hbm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgUVdlYlBsdWdpbkRhdGFiYXNlIHByaXZh
dGUgQVBJIGZvciBub3cuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMwNzc1CisKKyAgICAgICAgKiBBcGkvaGVhZGVycy5wcmk6CisgICAgICAgICog
QXBpL3F3ZWJwbHVnaW5kYXRhYmFzZS5jcHA6CisgICAgICAgICogQXBpL3F3ZWJwbHVnaW5kYXRh
YmFzZV9wLmg6IFJlbmFtZWQgZnJvbSBXZWJLaXQvcXQvQXBpL3F3ZWJwbHVnaW5kYXRhYmFzZS5o
LgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAqIEFwaS9xd2Vic2V0
dGluZ3MuaDoKKyAgICAgICAgKiBRdExhdW5jaGVyL21haW4uY3BwOgorICAgICAgICAoTWFpbldp
bmRvdzo6c2V0dXBVSSk6CisgICAgICAgICogdGVzdHMvdGVzdHMucHJvOgorCisyMDA5LTExLTAz
ICBTaW1vbiBIYXVzbWFubiAgPGhhdXNtYW5uQHdlYmtpdC5vcmc+CisKICAgICAgICAgUnViYmVy
LXN0YW1wZWQgYnkgVG9yIEFybmUgVmVzdGLDuC4KIAogICAgICAgICBPb3BzLCBhbHNvIHJlbW92
ZSB0aGUgQVBJIGRvY3Mgb2YgdGhlIHJlbW92ZWQgbmV0d29ya1JlcXVlc3RTdGFydGVkKCkgc2ln
bmFsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1F0TGF1bmNoZXIvbWFpbi5jcHAgYi9XZWJLaXQv
cXQvUXRMYXVuY2hlci9tYWluLmNwcAppbmRleCBkZDkxNGZkLi4yYWNkZmJmIDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvUXRMYXVuY2hlci9tYWluLmNwcAorKysgYi9XZWJLaXQvcXQvUXRMYXVuY2hl
ci9tYWluLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPHF3ZWJ2aWV3Lmg+CiAjaW5j
bHVkZSA8cXdlYmZyYW1lLmg+CiAjaW5jbHVkZSA8cXdlYnNldHRpbmdzLmg+Ci0jaW5jbHVkZSA8
cXdlYnBsdWdpbmRhdGFiYXNlLmg+CiAjaW5jbHVkZSA8cXdlYmVsZW1lbnQuaD4KICNpbmNsdWRl
IDxxd2ViaW5zcGVjdG9yLmg+CiAKQEAgLTI0Myw2ICsyNDIsNyBAQCBwcm90ZWN0ZWQgc2xvdHM6
CiAgICAgICAgIGZvcm1hdE1lbnVBY3Rpb24tPnNldFZpc2libGUob24pOwogICAgIH0KIAorICAg
IC8qCiAgICAgdm9pZCBkdW1wUGx1Z2lucygpIHsKICAgICAgICAgUUxpc3Q8UVdlYlBsdWdpbklu
Zm8+IHBsdWdpbnMgPSBRV2ViU2V0dGluZ3M6OnBsdWdpbkRhdGFiYXNlKCktPnBsdWdpbnMoKTsK
ICAgICAgICAgZm9yZWFjaCAoY29uc3QgUVdlYlBsdWdpbkluZm8gcGx1Z2luLCBwbHVnaW5zKSB7
CkBAIC0yNTIsNiArMjUyLDcgQEAgcHJvdGVjdGVkIHNsb3RzOgogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgfQorICAgICovCiAKICAgICB2b2lkIGR1bXBIdG1sKCkgewogICAgICAgICBx
RGVidWcoKSA8PCAiSFRNTDogIiA8PCB2aWV3LT5wYWdlKCktPm1haW5GcmFtZSgpLT50b0h0bWwo
KTsKQEAgLTM0MSw3ICszNDIsNyBAQCBwcml2YXRlOgogICAgICAgICB6b29tVGV4dE9ubHktPnNl
dENoZWNrZWQoZmFsc2UpOwogICAgICAgICB2aWV3TWVudS0+YWRkU2VwYXJhdG9yKCk7CiAgICAg
ICAgIHZpZXdNZW51LT5hZGRBY3Rpb24oIkR1bXAgSFRNTCIsIHRoaXMsIFNMT1QoZHVtcEh0bWwo
KSkpOwotICAgICAgICB2aWV3TWVudS0+YWRkQWN0aW9uKCJEdW1wIHBsdWdpbnMiLCB0aGlzLCBT
TE9UKGR1bXBQbHVnaW5zKCkpKTsKKyAgICAgICAgLy92aWV3TWVudS0+YWRkQWN0aW9uKCJEdW1w
IHBsdWdpbnMiLCB0aGlzLCBTTE9UKGR1bXBQbHVnaW5zKCkpKTsKIAogICAgICAgICBRTWVudSAq
Zm9ybWF0TWVudSA9IG5ldyBRTWVudSgiRiZvcm1hdCIsIHRoaXMpOwogICAgICAgICBmb3JtYXRN
ZW51QWN0aW9uID0gbWVudUJhcigpLT5hZGRNZW51KGZvcm1hdE1lbnUpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L3Rlc3RzL3Rlc3RzLnBybyBiL1dlYktpdC9xdC90ZXN0cy90ZXN0cy5wcm8KaW5k
ZXggODFjYzhmMy4uOTM5Y2QyMiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L3Rlc3RzL3Rlc3RzLnBy
bworKysgYi9XZWJLaXQvcXQvdGVzdHMvdGVzdHMucHJvCkBAIC0xLDQgKzEsNCBAQAogCiBURU1Q
TEFURSA9IHN1YmRpcnMKLVNVQkRJUlMgPSBxd2ViZnJhbWUgcXdlYnBhZ2UgcXdlYmVsZW1lbnQg
cWdyYXBoaWNzd2VidmlldyBxd2ViaGlzdG9yeWludGVyZmFjZSBxd2VicGx1Z2luZGF0YWJhc2Ug
cXdlYnZpZXcgcXdlYmhpc3RvcnkKK1NVQkRJUlMgPSBxd2ViZnJhbWUgcXdlYnBhZ2UgcXdlYmVs
ZW1lbnQgcWdyYXBoaWNzd2VidmlldyBxd2ViaGlzdG9yeWludGVyZmFjZSBxd2VidmlldyBxd2Vi
aGlzdG9yeQogZ3JlYXRlclRoYW4oUVRfTUlOT1JfVkVSU0lPTiwgNCk6IFNVQkRJUlMgKz0gYmVu
Y2htYXJrcy9wYWludGluZy90c3RfcGFpbnRpbmcucHJvIGJlbmNobWFya3MvbG9hZGluZy90c3Rf
bG9hZGluZy5wcm8=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42382</attachid>
            <date>2009-11-03 07:46:14 -0800</date>
            <delta_ts>2010-06-11 11:42:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-30775-20091103164608.patch</filename>
            <type>text/plain</type>
            <size>12638</size>
            <attacher name="Simon Hausmann">hausmann</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NmQxZTBmYS4uNTQ3NGUxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAogMjAwOS0xMS0wMyAgU2ltb24gSGF1c21h
bm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1ha2UgUVdlYlBsdWdpbkRhdGFiYXNlIHByaXZhdGUgQVBJIGZv
ciBub3cuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMwNzc1CisKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKworMjAwOS0xMS0wMyAgU2ltb24gSGF1
c21hbm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IFRvciBB
cm5lIFZlc3Riw7guCiAKICAgICAgICAgRXh0ZW5kZWQgdGhlIGNvbnZlcnNpb24gb2YgdGhlIFdl
YkNvcmUgUmVzb3VyY2VSZXF1ZXN0IHRvIHRoZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggM2ZiODk2Yi4uY2I0MTg0MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0y
MzMyLDYgKzIzMzIsNyBAQCBIRUFERVJTICs9IFwKICAgICB4bWwvWFNMVEV4dGVuc2lvbnMuaCBc
CiAgICAgeG1sL1hTTFRQcm9jZXNzb3IuaCBcCiAgICAgeG1sL1hTTFRVbmljb2RlU29ydC5oIFwK
KyAgICAkJFBXRC8uLi9XZWJLaXQvcXQvQXBpL3F3ZWJwbHVnaW5kYXRhYmFzZV9wLmggXAogICAg
ICQkUFdELy4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0Lmgg
XAogICAgICQkUFdEL3BsYXRmb3JtL25ldHdvcmsvcXQvRG5zUHJlZmV0Y2hIZWxwZXIuaAogCmRp
ZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL2hlYWRlcnMucHJpIGIvV2ViS2l0L3F0L0FwaS9oZWFk
ZXJzLnByaQppbmRleCA1YTk1YzY3Li4xYTQyNTk3IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBp
L2hlYWRlcnMucHJpCisrKyBiL1dlYktpdC9xdC9BcGkvaGVhZGVycy5wcmkKQEAgLTgsNyArOCw2
IEBAIFdFQktJVF9BUElfSEVBREVSUyA9ICQkUFdEL3F3ZWJmcmFtZS5oIFwKICAgICAgICAgICAg
ICAgICAgICAgICQkUFdEL3F3ZWJkYXRhYmFzZS5oIFwKICAgICAgICAgICAgICAgICAgICAgICQk
UFdEL3F3ZWJzZWN1cml0eW9yaWdpbi5oIFwKICAgICAgICAgICAgICAgICAgICAgICQkUFdEL3F3
ZWJlbGVtZW50LmggXAotICAgICAgICAgICAgICAgICAgICAgJCRQV0QvcXdlYnBsdWdpbmRhdGFi
YXNlLmggXAogICAgICAgICAgICAgICAgICAgICAgJCRQV0QvcXdlYnBsdWdpbmZhY3RvcnkuaCBc
CiAgICAgICAgICAgICAgICAgICAgICAkJFBXRC9xd2ViaGlzdG9yeS5oIFwKICAgICAgICAgICAg
ICAgICAgICAgICQkUFdEL3F3ZWJpbnNwZWN0b3IuaCBcCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
QXBpL3F3ZWJwbHVnaW5kYXRhYmFzZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwbHVnaW5kYXRh
YmFzZS5jcHAKaW5kZXggNjIzODk1Zi4uNzU4ZTI1NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0Fw
aS9xd2VicGx1Z2luZGF0YWJhc2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBsdWdpbmRh
dGFiYXNlLmNwcApAQCAtMTgsNyArMTgsNyBAQAogKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgot
I2luY2x1ZGUgInF3ZWJwbHVnaW5kYXRhYmFzZS5oIgorI2luY2x1ZGUgInF3ZWJwbHVnaW5kYXRh
YmFzZV9wLmgiCiAKICNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgogI2luY2x1ZGUgIlBsdWdp
blBhY2thZ2UuaCIKQEAgLTI2LDYgKzI2LDcgQEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiAvKiEKKyAgICBcaW50ZXJuYWwKICAgICBcdHlwZWRlZiBRV2ViUGx1Z2luSW5mbzo6TWltZVR5
cGUKICAgICBcc2luY2UgNC42CiAgICAgXGJyaWVmIFJlcHJlc2VudHMgYSBzaW5nbGUgTUlNRSB0
eXBlIHN1cHBvcnRlZCBieSBhIHBsdWdpbi4KQEAgLTMzLDYgKzM0LDcgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKIC8qIQogICAgIFxjbGFzcyBRV2ViUGx1Z2luSW5mbworICAgIFxpbnRl
cm5hbAogICAgIFxzaW5jZSA0LjYKICAgICBcYnJpZWYgVGhlIFFXZWJQbHVnaW5JbmZvIGNsYXNz
IHJlcHJlc2VudHMgYSBzaW5nbGUgTmV0c2NhcGUgcGx1Z2luLgogCkBAIC0yMzIsNiArMjM0LDcg
QEAgUVdlYlBsdWdpbkluZm8gJlFXZWJQbHVnaW5JbmZvOjpvcGVyYXRvcj0oY29uc3QgUVdlYlBs
dWdpbkluZm8mIG90aGVyKQogCiAvKiEKICAgICBcY2xhc3MgUVdlYlBsdWdpbkRhdGFiYXNlCisg
ICAgXGludGVybmFsCiAgICAgXHNpbmNlIDQuNgogICAgIFxicmllZiBUaGUgUVdlYlBsdWdpbkRh
dGFiYXNlIGNsYXNzIHByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IgbWFuYWdpbmcKICAgICBOZXRz
Y2FwZSBwbHVnaW5zIHVzZWQgYnkgV2ViS2l0IGluIFFXZWJQYWdlcy4KZGlmZiAtLWdpdCBhL1dl
YktpdC9xdC9BcGkvcXdlYnBsdWdpbmRhdGFiYXNlLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJwbHVn
aW5kYXRhYmFzZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMjJjM2RlLi4wMDAw
MDAwCi0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBsdWdpbmRhdGFiYXNlLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw5OCArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAwOSBKYWt1YiBXaWVj
em9yZWsgPGZhdzIxN0BnbWFpbC5jb20+Ci0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiBRV0VCUExVR0lOREFUQUJBU0Vf
SAotI2RlZmluZSBRV0VCUExVR0lOREFUQUJBU0VfSAotCi0jaW5jbHVkZSAicXdlYmtpdGdsb2Jh
bC5oIgotI2luY2x1ZGUgInF3ZWJwbHVnaW5mYWN0b3J5LmgiCi0KLSNpbmNsdWRlIDxRdENvcmUv
cW9iamVjdC5oPgotI2luY2x1ZGUgPFF0Q29yZS9xc3RyaW5nbGlzdC5oPgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0gICAgY2xhc3MgUGx1Z2luRGF0YWJhc2U7Ci0gICAgY2xhc3MgUGx1Z2luUGFj
a2FnZTsKLX0KLQotY2xhc3MgUVdlYlBsdWdpbkluZm9Qcml2YXRlOwotY2xhc3MgUVdFQktJVF9F
WFBPUlQgUVdlYlBsdWdpbkluZm8gewotcHVibGljOgotICAgIFFXZWJQbHVnaW5JbmZvKCk7Ci0g
ICAgUVdlYlBsdWdpbkluZm8oY29uc3QgUVdlYlBsdWdpbkluZm8mIG90aGVyKTsKLSAgICBRV2Vi
UGx1Z2luSW5mbyAmb3BlcmF0b3I9KGNvbnN0IFFXZWJQbHVnaW5JbmZvJiBvdGhlcik7Ci0gICAg
flFXZWJQbHVnaW5JbmZvKCk7Ci0KLXByaXZhdGU6Ci0gICAgUVdlYlBsdWdpbkluZm8oV2ViQ29y
ZTo6UGx1Z2luUGFja2FnZSogcGFja2FnZSk7Ci0KLXB1YmxpYzoKLSAgICB0eXBlZGVmIFFXZWJQ
bHVnaW5GYWN0b3J5OjpNaW1lVHlwZSBNaW1lVHlwZTsKLQotICAgIFFTdHJpbmcgbmFtZSgpIGNv
bnN0OwotICAgIFFTdHJpbmcgZGVzY3JpcHRpb24oKSBjb25zdDsKLSAgICBRTGlzdDxNaW1lVHlw
ZT4gbWltZVR5cGVzKCkgY29uc3Q7Ci0gICAgYm9vbCBzdXBwb3J0c01pbWVUeXBlKGNvbnN0IFFT
dHJpbmcmIG1pbWVUeXBlKSBjb25zdDsKLSAgICBRU3RyaW5nIHBhdGgoKSBjb25zdDsKLQotICAg
IGJvb2wgaXNOdWxsKCkgY29uc3Q7Ci0KLSAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVk
KTsKLSAgICBib29sIGlzRW5hYmxlZCgpIGNvbnN0OwotCi0gICAgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IFFXZWJQbHVnaW5JbmZvJiBvdGhlcikgY29uc3Q7Ci0gICAgYm9vbCBvcGVyYXRvciE9KGNv
bnN0IFFXZWJQbHVnaW5JbmZvJiBvdGhlcikgY29uc3Q7Ci0KLSAgICBmcmllbmQgY2xhc3MgUVdl
YlBsdWdpbkRhdGFiYXNlOwotCi1wcml2YXRlOgotICAgIFFXZWJQbHVnaW5JbmZvUHJpdmF0ZSog
ZDsKLSAgICBXZWJDb3JlOjpQbHVnaW5QYWNrYWdlKiBtX3BhY2thZ2U7Ci0gICAgbXV0YWJsZSBR
TGlzdDxNaW1lVHlwZT4gbV9taW1lVHlwZXM7Ci19OwotCi1jbGFzcyBRV2ViUGx1Z2luRGF0YWJh
c2VQcml2YXRlOwotY2xhc3MgUVdFQktJVF9FWFBPUlQgUVdlYlBsdWdpbkRhdGFiYXNlIDogcHVi
bGljIFFPYmplY3QgewotICAgIFFfT0JKRUNUCi0KLXByaXZhdGU6Ci0gICAgUVdlYlBsdWdpbkRh
dGFiYXNlKFFPYmplY3QqIHBhcmVudCA9IDApOwotICAgIH5RV2ViUGx1Z2luRGF0YWJhc2UoKTsK
LQotcHVibGljOgotICAgIFFMaXN0PFFXZWJQbHVnaW5JbmZvPiBwbHVnaW5zKCkgY29uc3Q7Ci0K
LSAgICBzdGF0aWMgUVN0cmluZ0xpc3QgZGVmYXVsdFNlYXJjaFBhdGhzKCk7Ci0gICAgUVN0cmlu
Z0xpc3Qgc2VhcmNoUGF0aHMoKSBjb25zdDsKLSAgICB2b2lkIHNldFNlYXJjaFBhdGhzKGNvbnN0
IFFTdHJpbmdMaXN0JiBwYXRocyk7Ci0gICAgdm9pZCBhZGRTZWFyY2hQYXRoKGNvbnN0IFFTdHJp
bmcmIHBhdGgpOwotCi0gICAgdm9pZCByZWZyZXNoKCk7Ci0KLSAgICBRV2ViUGx1Z2luSW5mbyBw
bHVnaW5Gb3JNaW1lVHlwZShjb25zdCBRU3RyaW5nJiBtaW1lVHlwZSk7Ci0gICAgdm9pZCBzZXRQ
cmVmZXJyZWRQbHVnaW5Gb3JNaW1lVHlwZShjb25zdCBRU3RyaW5nJiBtaW1lVHlwZSwgY29uc3Qg
UVdlYlBsdWdpbkluZm8mIHBsdWdpbik7Ci0KLSAgICBmcmllbmQgY2xhc3MgUVdlYlNldHRpbmdz
OwotCi1wcml2YXRlOgotICAgIFFXZWJQbHVnaW5EYXRhYmFzZVByaXZhdGUqIGQ7Ci0gICAgV2Vi
Q29yZTo6UGx1Z2luRGF0YWJhc2UqIG1fZGF0YWJhc2U7Ci19OwotCi0jZW5kaWYgLy8gUVdFQlBM
VUdJTkRBVEFCQVNFX0gKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBsdWdpbmRhdGFi
YXNlX3AuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBsdWdpbmRhdGFiYXNlX3AuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjJjM2RlCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
S2l0L3F0L0FwaS9xd2VicGx1Z2luZGF0YWJhc2VfcC5oCkBAIC0wLDAgKzEsOTggQEAKKy8qCisg
ICAgQ29weXJpZ2h0IChDKSAyMDA5IEpha3ViIFdpZWN6b3JlayA8ZmF3MjE3QGdtYWlsLmNvbT4K
KworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisq
LworCisjaWZuZGVmIFFXRUJQTFVHSU5EQVRBQkFTRV9ICisjZGVmaW5lIFFXRUJQTFVHSU5EQVRB
QkFTRV9ICisKKyNpbmNsdWRlICJxd2Via2l0Z2xvYmFsLmgiCisjaW5jbHVkZSAicXdlYnBsdWdp
bmZhY3RvcnkuaCIKKworI2luY2x1ZGUgPFF0Q29yZS9xb2JqZWN0Lmg+CisjaW5jbHVkZSA8UXRD
b3JlL3FzdHJpbmdsaXN0Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICBjbGFzcyBQbHVn
aW5EYXRhYmFzZTsKKyAgICBjbGFzcyBQbHVnaW5QYWNrYWdlOworfQorCitjbGFzcyBRV2ViUGx1
Z2luSW5mb1ByaXZhdGU7CitjbGFzcyBRV0VCS0lUX0VYUE9SVCBRV2ViUGx1Z2luSW5mbyB7Citw
dWJsaWM6CisgICAgUVdlYlBsdWdpbkluZm8oKTsKKyAgICBRV2ViUGx1Z2luSW5mbyhjb25zdCBR
V2ViUGx1Z2luSW5mbyYgb3RoZXIpOworICAgIFFXZWJQbHVnaW5JbmZvICZvcGVyYXRvcj0oY29u
c3QgUVdlYlBsdWdpbkluZm8mIG90aGVyKTsKKyAgICB+UVdlYlBsdWdpbkluZm8oKTsKKworcHJp
dmF0ZToKKyAgICBRV2ViUGx1Z2luSW5mbyhXZWJDb3JlOjpQbHVnaW5QYWNrYWdlKiBwYWNrYWdl
KTsKKworcHVibGljOgorICAgIHR5cGVkZWYgUVdlYlBsdWdpbkZhY3Rvcnk6Ok1pbWVUeXBlIE1p
bWVUeXBlOworCisgICAgUVN0cmluZyBuYW1lKCkgY29uc3Q7CisgICAgUVN0cmluZyBkZXNjcmlw
dGlvbigpIGNvbnN0OworICAgIFFMaXN0PE1pbWVUeXBlPiBtaW1lVHlwZXMoKSBjb25zdDsKKyAg
ICBib29sIHN1cHBvcnRzTWltZVR5cGUoY29uc3QgUVN0cmluZyYgbWltZVR5cGUpIGNvbnN0Owor
ICAgIFFTdHJpbmcgcGF0aCgpIGNvbnN0OworCisgICAgYm9vbCBpc051bGwoKSBjb25zdDsKKwor
ICAgIHZvaWQgc2V0RW5hYmxlZChib29sIGVuYWJsZWQpOworICAgIGJvb2wgaXNFbmFibGVkKCkg
Y29uc3Q7CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUVdlYlBsdWdpbkluZm8mIG90aGVy
KSBjb25zdDsKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUVdlYlBsdWdpbkluZm8mIG90aGVy
KSBjb25zdDsKKworICAgIGZyaWVuZCBjbGFzcyBRV2ViUGx1Z2luRGF0YWJhc2U7CisKK3ByaXZh
dGU6CisgICAgUVdlYlBsdWdpbkluZm9Qcml2YXRlKiBkOworICAgIFdlYkNvcmU6OlBsdWdpblBh
Y2thZ2UqIG1fcGFja2FnZTsKKyAgICBtdXRhYmxlIFFMaXN0PE1pbWVUeXBlPiBtX21pbWVUeXBl
czsKK307CisKK2NsYXNzIFFXZWJQbHVnaW5EYXRhYmFzZVByaXZhdGU7CitjbGFzcyBRV0VCS0lU
X0VYUE9SVCBRV2ViUGx1Z2luRGF0YWJhc2UgOiBwdWJsaWMgUU9iamVjdCB7CisgICAgUV9PQkpF
Q1QKKworcHJpdmF0ZToKKyAgICBRV2ViUGx1Z2luRGF0YWJhc2UoUU9iamVjdCogcGFyZW50ID0g
MCk7CisgICAgflFXZWJQbHVnaW5EYXRhYmFzZSgpOworCitwdWJsaWM6CisgICAgUUxpc3Q8UVdl
YlBsdWdpbkluZm8+IHBsdWdpbnMoKSBjb25zdDsKKworICAgIHN0YXRpYyBRU3RyaW5nTGlzdCBk
ZWZhdWx0U2VhcmNoUGF0aHMoKTsKKyAgICBRU3RyaW5nTGlzdCBzZWFyY2hQYXRocygpIGNvbnN0
OworICAgIHZvaWQgc2V0U2VhcmNoUGF0aHMoY29uc3QgUVN0cmluZ0xpc3QmIHBhdGhzKTsKKyAg
ICB2b2lkIGFkZFNlYXJjaFBhdGgoY29uc3QgUVN0cmluZyYgcGF0aCk7CisKKyAgICB2b2lkIHJl
ZnJlc2goKTsKKworICAgIFFXZWJQbHVnaW5JbmZvIHBsdWdpbkZvck1pbWVUeXBlKGNvbnN0IFFT
dHJpbmcmIG1pbWVUeXBlKTsKKyAgICB2b2lkIHNldFByZWZlcnJlZFBsdWdpbkZvck1pbWVUeXBl
KGNvbnN0IFFTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBRV2ViUGx1Z2luSW5mbyYgcGx1Z2luKTsK
KworICAgIGZyaWVuZCBjbGFzcyBRV2ViU2V0dGluZ3M7CisKK3ByaXZhdGU6CisgICAgUVdlYlBs
dWdpbkRhdGFiYXNlUHJpdmF0ZSogZDsKKyAgICBXZWJDb3JlOjpQbHVnaW5EYXRhYmFzZSogbV9k
YXRhYmFzZTsKK307CisKKyNlbmRpZiAvLyBRV0VCUExVR0lOREFUQUJBU0VfSApkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0
dGluZ3MuY3BwCmluZGV4IGZmYTIxZTQuLjMwNTIwNTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9B
cGkvcXdlYnNldHRpbmdzLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAK
QEAgLTIyLDcgKzIyLDcgQEAKIAogI2luY2x1ZGUgInF3ZWJwYWdlLmgiCiAjaW5jbHVkZSAicXdl
YnBhZ2VfcC5oIgotI2luY2x1ZGUgInF3ZWJwbHVnaW5kYXRhYmFzZS5oIgorI2luY2x1ZGUgInF3
ZWJwbHVnaW5kYXRhYmFzZV9wLmgiCiAKICNpbmNsdWRlICJDYWNoZS5oIgogI2luY2x1ZGUgIkNy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaCIKQEAgLTYyNyw3ICs2MjcsNyBAQCBRSWNv
biBRV2ViU2V0dGluZ3M6Omljb25Gb3JVcmwoY29uc3QgUVVybCYgdXJsKQogCiAvKiEKICAgICBS
ZXR1cm5zIHRoZSBwbHVnaW4gZGF0YWJhc2Ugb2JqZWN0LgotKi8KKwogUVdlYlBsdWdpbkRhdGFi
YXNlICpRV2ViU2V0dGluZ3M6OnBsdWdpbkRhdGFiYXNlKCkKIHsKICAgICBzdGF0aWMgUVdlYlBs
dWdpbkRhdGFiYXNlKiBkYXRhYmFzZSA9IDA7CkBAIC02MzUsNiArNjM1LDcgQEAgUVdlYlBsdWdp
bkRhdGFiYXNlICpRV2ViU2V0dGluZ3M6OnBsdWdpbkRhdGFiYXNlKCkKICAgICAgICAgZGF0YWJh
c2UgPSBuZXcgUVdlYlBsdWdpbkRhdGFiYXNlKCk7CiAgICAgcmV0dXJuIGRhdGFiYXNlOwogfQor
Ki8KIAogLyohCiAgICAgU2V0cyBcYSBncmFwaGljIHRvIGJlIGRyYXduIHdoZW4gUXRXZWJLaXQg
bmVlZHMgdG8gZHJhdyBhbiBpbWFnZSBvZiB0aGUKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkv
cXdlYnNldHRpbmdzLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCmluZGV4IGU2OGVh
NTMuLmM5NThhZTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKKysr
IGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaApAQCAtMTE0LDcgKzExNCw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgdm9pZCBjbGVhckljb25EYXRhYmFzZSgpOwogICAgIHN0YXRpYyBRSWNv
biBpY29uRm9yVXJsKGNvbnN0IFFVcmwgJnVybCk7CiAKLSAgICBzdGF0aWMgUVdlYlBsdWdpbkRh
dGFiYXNlICpwbHVnaW5EYXRhYmFzZSgpOworICAgIC8vc3RhdGljIFFXZWJQbHVnaW5EYXRhYmFz
ZSAqcGx1Z2luRGF0YWJhc2UoKTsKIAogICAgIHN0YXRpYyB2b2lkIHNldFdlYkdyYXBoaWMoV2Vi
R3JhcGhpYyB0eXBlLCBjb25zdCBRUGl4bWFwICZncmFwaGljKTsKICAgICBzdGF0aWMgUVBpeG1h
cCB3ZWJHcmFwaGljKFdlYkdyYXBoaWMgdHlwZSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hh
bmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA4MjdmNTBiLi5hMWVhZDE1IDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAg
LTEsNSArMSwyMiBAQAogMjAwOS0xMS0wMyAgU2ltb24gSGF1c21hbm4gIDxoYXVzbWFubkB3ZWJr
aXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1ha2UgUVdlYlBsdWdpbkRhdGFiYXNlIHByaXZhdGUgQVBJIGZvciBub3cuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwNzc1CisKKyAgICAgICAg
KiBBcGkvaGVhZGVycy5wcmk6CisgICAgICAgICogQXBpL3F3ZWJwbHVnaW5kYXRhYmFzZS5jcHA6
CisgICAgICAgICogQXBpL3F3ZWJwbHVnaW5kYXRhYmFzZV9wLmg6IFJlbmFtZWQgZnJvbSBXZWJL
aXQvcXQvQXBpL3F3ZWJwbHVnaW5kYXRhYmFzZS5oLgorICAgICAgICAqIEFwaS9xd2Vic2V0dGlu
Z3MuY3BwOgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuaDoKKyAgICAgICAgKiBRdExhdW5j
aGVyL21haW4uY3BwOgorICAgICAgICAoTWFpbldpbmRvdzo6c2V0dXBVSSk6CisgICAgICAgICog
dGVzdHMvdGVzdHMucHJvOgorCisyMDA5LTExLTAzICBTaW1vbiBIYXVzbWFubiAgPGhhdXNtYW5u
QHdlYmtpdC5vcmc+CisKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgVG9yIEFybmUgVmVzdGLD
uC4KIAogICAgICAgICBPb3BzLCBhbHNvIHJlbW92ZSB0aGUgQVBJIGRvY3Mgb2YgdGhlIHJlbW92
ZWQgbmV0d29ya1JlcXVlc3RTdGFydGVkKCkgc2lnbmFsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0
L1F0TGF1bmNoZXIvbWFpbi5jcHAgYi9XZWJLaXQvcXQvUXRMYXVuY2hlci9tYWluLmNwcAppbmRl
eCBkZDkxNGZkLi4yYWNkZmJmIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvUXRMYXVuY2hlci9tYWlu
LmNwcAorKysgYi9XZWJLaXQvcXQvUXRMYXVuY2hlci9tYWluLmNwcApAQCAtMzQsNyArMzQsNiBA
QAogI2luY2x1ZGUgPHF3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8cXdlYmZyYW1lLmg+CiAjaW5jbHVk
ZSA8cXdlYnNldHRpbmdzLmg+Ci0jaW5jbHVkZSA8cXdlYnBsdWdpbmRhdGFiYXNlLmg+CiAjaW5j
bHVkZSA8cXdlYmVsZW1lbnQuaD4KICNpbmNsdWRlIDxxd2ViaW5zcGVjdG9yLmg+CiAKQEAgLTI0
Myw2ICsyNDIsNyBAQCBwcm90ZWN0ZWQgc2xvdHM6CiAgICAgICAgIGZvcm1hdE1lbnVBY3Rpb24t
PnNldFZpc2libGUob24pOwogICAgIH0KIAorICAgIC8qCiAgICAgdm9pZCBkdW1wUGx1Z2lucygp
IHsKICAgICAgICAgUUxpc3Q8UVdlYlBsdWdpbkluZm8+IHBsdWdpbnMgPSBRV2ViU2V0dGluZ3M6
OnBsdWdpbkRhdGFiYXNlKCktPnBsdWdpbnMoKTsKICAgICAgICAgZm9yZWFjaCAoY29uc3QgUVdl
YlBsdWdpbkluZm8gcGx1Z2luLCBwbHVnaW5zKSB7CkBAIC0yNTIsNiArMjUyLDcgQEAgcHJvdGVj
dGVkIHNsb3RzOgogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQorICAgICovCiAKICAg
ICB2b2lkIGR1bXBIdG1sKCkgewogICAgICAgICBxRGVidWcoKSA8PCAiSFRNTDogIiA8PCB2aWV3
LT5wYWdlKCktPm1haW5GcmFtZSgpLT50b0h0bWwoKTsKQEAgLTM0MSw3ICszNDIsNyBAQCBwcml2
YXRlOgogICAgICAgICB6b29tVGV4dE9ubHktPnNldENoZWNrZWQoZmFsc2UpOwogICAgICAgICB2
aWV3TWVudS0+YWRkU2VwYXJhdG9yKCk7CiAgICAgICAgIHZpZXdNZW51LT5hZGRBY3Rpb24oIkR1
bXAgSFRNTCIsIHRoaXMsIFNMT1QoZHVtcEh0bWwoKSkpOwotICAgICAgICB2aWV3TWVudS0+YWRk
QWN0aW9uKCJEdW1wIHBsdWdpbnMiLCB0aGlzLCBTTE9UKGR1bXBQbHVnaW5zKCkpKTsKKyAgICAg
ICAgLy92aWV3TWVudS0+YWRkQWN0aW9uKCJEdW1wIHBsdWdpbnMiLCB0aGlzLCBTTE9UKGR1bXBQ
bHVnaW5zKCkpKTsKIAogICAgICAgICBRTWVudSAqZm9ybWF0TWVudSA9IG5ldyBRTWVudSgiRiZv
cm1hdCIsIHRoaXMpOwogICAgICAgICBmb3JtYXRNZW51QWN0aW9uID0gbWVudUJhcigpLT5hZGRN
ZW51KGZvcm1hdE1lbnUpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3Rlc3RzLnBybyBi
L1dlYktpdC9xdC90ZXN0cy90ZXN0cy5wcm8KaW5kZXggODFjYzhmMy4uOTM5Y2QyMiAxMDA2NDQK
LS0tIGEvV2ViS2l0L3F0L3Rlc3RzL3Rlc3RzLnBybworKysgYi9XZWJLaXQvcXQvdGVzdHMvdGVz
dHMucHJvCkBAIC0xLDQgKzEsNCBAQAogCiBURU1QTEFURSA9IHN1YmRpcnMKLVNVQkRJUlMgPSBx
d2ViZnJhbWUgcXdlYnBhZ2UgcXdlYmVsZW1lbnQgcWdyYXBoaWNzd2VidmlldyBxd2ViaGlzdG9y
eWludGVyZmFjZSBxd2VicGx1Z2luZGF0YWJhc2UgcXdlYnZpZXcgcXdlYmhpc3RvcnkKK1NVQkRJ
UlMgPSBxd2ViZnJhbWUgcXdlYnBhZ2UgcXdlYmVsZW1lbnQgcWdyYXBoaWNzd2VidmlldyBxd2Vi
aGlzdG9yeWludGVyZmFjZSBxd2VidmlldyBxd2ViaGlzdG9yeQogZ3JlYXRlclRoYW4oUVRfTUlO
T1JfVkVSU0lPTiwgNCk6IFNVQkRJUlMgKz0gYmVuY2htYXJrcy9wYWludGluZy90c3RfcGFpbnRp
bmcucHJvIGJlbmNobWFya3MvbG9hZGluZy90c3RfbG9hZGluZy5wcm8=
</data>

          </attachment>
      

    </bug>

</bugzilla>