<?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>24090</bug_id>
          
          <creation_ts>2009-02-23 03:08:48 -0800</creation_ts>
          <short_desc>WorkerThreadableLoader needs to be able to post tasks for a mode.</short_desc>
          <delta_ts>2009-02-25 01:04:46 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>22720</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>110562</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-23 03:08:48 -0800</bug_when>
    <thetext>This will allow the sync xhr call done within a WorkerContext to get callbacks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110563</commentid>
    <comment_count>1</comment_count>
      <attachid>27877</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-23 03:11:44 -0800</bug_when>
    <thetext>Created attachment 27877
Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110741</commentid>
    <comment_count>2</comment_count>
      <attachid>27918</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-24 08:33:35 -0800</bug_when>
    <thetext>Created attachment 27918
Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110746</commentid>
    <comment_count>3</comment_count>
      <attachid>27918</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-02-24 09:03:56 -0800</bug_when>
    <thetext>Comment on attachment 27918
Proposed fix.

&gt; +        Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks.

What are those non-message tasks? How do we manage lifetime for them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110749</commentid>
    <comment_count>4</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-24 09:12:04 -0800</bug_when>
    <thetext>They are all part of xhr, so lifetime would be managed by xhr having pending activity.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110750</commentid>
    <comment_count>5</comment_count>
      <attachid>27918</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-02-24 09:17:49 -0800</bug_when>
    <thetext>Comment on attachment 27918
Proposed fix.

&gt; They are all part of xhr, so lifetime would be managed by xhr having pending
&gt; activity.

That&apos;s what I expected, but it doesn&apos;t seem to be discoverable. How will someone adding a new kind of tasks learn that lifetime issues need to be resolved on a case by case basis?

r=me, by the way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110769</commentid>
    <comment_count>6</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-24 10:58:11 -0800</bug_when>
    <thetext>Committed as r41184.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27877</attachid>
            <date>2009-02-23 03:11:44 -0800</date>
            <delta_ts>2009-02-23 03:13:37 -0800</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>bug24090.txt</filename>
            <type>text/plain</type>
            <size>13333</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDE4NWMyMi4uYTY4YTU4YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiwzMyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgogCisgICAgICAgIEJ1ZyAyNDA5MDogV29ya2VyVGhyZWFkYWJsZUxvYWRl
ciBuZWVkcyB0byBiZSBhYmxlIHRvIHBvc3QgdGFza3MgZm9yIGEgbW9kZS4KKyAgICAgICAgPGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5MD4KKworICAgICAgICBO
byBvYnNlcnZhYmxlIGNoYW5nZSBpbiBiZWhhdmlvciwgc28gbm8gdGVzdC4KKworICAgICAgICAq
IGRvbS9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6cG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJDb250ZXh0KToKKyAgICAgICAg
KiBkb20vV29ya2VyTWVzc2FnaW5nUHJveHkuaDoKKyAgICAgICAgKiBsb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUp
OgorICAgICAgICAqIGxvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlclRocmVhZGFibGVMb2FkZXI6OldvcmtlclRocmVhZGFibGVMb2FkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJy
aWRnZTo6TWFpblRocmVhZEJyaWRnZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRTZW5kRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRSZWNlaXZl
UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFp
blRocmVhZEJyaWRnZTo6ZGlkUmVjZWl2ZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
VGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6ZGlkRmluaXNoTG9hZGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdl
OjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1h
aW5UaHJlYWRCcmlkZ2U6OmRpZEZhaWxSZWRpcmVjdENoZWNrKToKKyAgICAgICAgKFdlYkNvcmU6
OldvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmRpZFJlY2VpdmVBdXRo
ZW50aWNhdGlvbkNhbmNlbGxhdGlvbik6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFi
bGVMb2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZGFibGVMb2FkZXI6OmNy
ZWF0ZSk6CisKKzIwMDktMDItMjMgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIEJ1ZyAyNDA4
OTogVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSBzaG91bGQgZG8g
Y2FsbGJhY2tzIGxpa2UgdGhlIGFzeW5jIGNvZGUuCiAgICAgICAgIDxodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQwODk+CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1dlYkNvcmUvZG9tL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmNwcAppbmRleCA4ZDYyNjA3Li41MzUwNzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9X
b3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvV2ViQ29yZS9kb20vV29ya2VyTWVzc2FnaW5n
UHJveHkuY3BwCkBAIC0yMjUsNiArMjI1LDE2IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6
OnBvc3RUYXNrVG9Xb3JrZXJDb250ZXh0KFBhc3NSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29uCiAg
ICAgICAgIG1fcXVldWVkRWFybHlUYXNrcy5hcHBlbmQodGFzayk7CiB9CiAKK3ZvaWQgV29ya2Vy
TWVzc2FnaW5nUHJveHk6OnBvc3RUYXNrRm9yTW9kZVRvV29ya2VyQ29udGV4dChQYXNzUmVmUHRy
PFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2ssIGNvbnN0IFN0cmluZyYgbW9kZSkK
K3sKKyAgICBpZiAobV9hc2tlZFRvVGVybWluYXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBB
U1NFUlQobV93b3JrZXJUaHJlYWQpOworICAgICsrbV91bmNvbmZpcm1lZE1lc3NhZ2VDb3VudDsK
KyAgICBtX3dvcmtlclRocmVhZC0+cnVuTG9vcCgpLnBvc3RUYXNrRm9yTW9kZSh0YXNrLCBtb2Rl
KTsKK30KKwogdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdFRhc2tUb1dvcmtlck9iamVj
dChQYXNzUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2spCiB7CiAgICAg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayh0YXNrKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9XZWJDb3JlL2RvbS9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oCmluZGV4IDM2MDIxNzEuLjNjODU4NzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvV2ViQ29yZS9kb20vV29ya2VyTWVzc2Fn
aW5nUHJveHkuaApAQCAtNjYsNiArNjYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAg
ICAgdm9pZCBwb3N0VGFza1RvV29ya2VyT2JqZWN0KFBhc3NSZWZQdHI8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6VGFzaz4pOwogICAgICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJDb250ZXh0KFBh
c3NSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4pOworICAgICAgICB2b2lkIHBv
c3RUYXNrRm9yTW9kZVRvV29ya2VyQ29udGV4dChQYXNzUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ6OlRhc2s+LCBjb25zdCBTdHJpbmcmIG1vZGUpOwogCiAgICAgICAgIHZvaWQgd29ya2Vy
VGhyZWFkQ3JlYXRlZChQYXNzUmVmUHRyPFdvcmtlclRocmVhZD4pOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuY3BwCmluZGV4IGJmMDBmZDYuLjJjZGNhN2IgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJEb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJD
b250ZXh0LmgiCisjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgogI2luY2x1ZGUgIldvcmtlclRo
cmVhZGFibGVMb2FkZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDYsNyArNDcsNyBA
QCBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgaWYg
KGNvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpKQotICAgICAgICByZXR1cm4gV29ya2VyVGhyZWFk
YWJsZUxvYWRlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PFdvcmtlckNvbnRleHQqPihjb250ZXh0KSwg
Y2xpZW50LCByZXF1ZXN0LCBjYWxsYmFja3NTZXR0aW5nLCBjb250ZW50U25pZmYpOworICAgICAg
ICByZXR1cm4gV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PFdvcmtl
ckNvbnRleHQqPihjb250ZXh0KSwgY2xpZW50LCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgp
LCByZXF1ZXN0LCBjYWxsYmFja3NTZXR0aW5nLCBjb250ZW50U25pZmYpOwogI2VuZGlmIC8vIEVO
QUJMRShXT1JLRVJTKQogCiAgICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1dlYkNv
cmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDgzNzI4MjIuLmQ4MDFj
MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3Bw
CisrKyBiL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC01Miw5
ICs1MiwxMCBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAv
LyBGSVhNRTogVGhlIGFzc3VtcHRpb24gdGhhdCB3ZSBjYW4gdXBjYXN0IHdvcmtlciBvYmplY3Qg
cHJveHkgdG8gV29ya2VyTWVzc2FnaW5nUHJveHkgd2lsbCBub3QgYmUgdHJ1ZSBpbiBtdWx0aS1w
cm9jZXNzIGltcGxlbWVudGF0aW9uLgotV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6V29ya2VyVGhy
ZWFkYWJsZUxvYWRlcihXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgTG9hZENh
bGxiYWNrcyBjYWxsYmFja3NTZXR0aW5nLCBDb250ZW50U25pZmYgY29udGVudFNuaWZmKQorV29y
a2VyVGhyZWFkYWJsZUxvYWRlcjo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcihXb3JrZXJDb250ZXh0
KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0
cmluZyYgdGFza01vZGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgTG9hZENhbGxi
YWNrcyBjYWxsYmFja3NTZXR0aW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBDb250ZW50U25pZmYgY29udGVudFNuaWZmKQogICAgIDogbV93b3JrZXJD
b250ZXh0KHdvcmtlckNvbnRleHQpCi0gICAgLCBtX2JyaWRnZSgqKG5ldyBNYWluVGhyZWFkQnJp
ZGdlKGNsaWVudCwgKihzdGF0aWNfY2FzdDxXb3JrZXJNZXNzYWdpbmdQcm94eSo+KG1fd29ya2Vy
Q29udGV4dC0+dGhyZWFkKCktPndvcmtlck9iamVjdFByb3h5KCkpKSwgcmVxdWVzdCwgY2FsbGJh
Y2tzU2V0dGluZywgY29udGVudFNuaWZmKSkpCisgICAgLCBtX2JyaWRnZSgqKG5ldyBNYWluVGhy
ZWFkQnJpZGdlKGNsaWVudCwgKihzdGF0aWNfY2FzdDxXb3JrZXJNZXNzYWdpbmdQcm94eSo+KG1f
d29ya2VyQ29udGV4dC0+dGhyZWFkKCktPndvcmtlck9iamVjdFByb3h5KCkpKSwgdGFza01vZGUs
IHJlcXVlc3QsIGNhbGxiYWNrc1NldHRpbmcsIGNvbnRlbnRTbmlmZikpKQogewogfQogCkBAIC02
OCw5ICs2OSwxMSBAQCB2b2lkIFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmNhbmNlbCgpCiAgICAg
bV9icmlkZ2UuY2FuY2VsKCk7CiB9CiAKLVdvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJl
YWRCcmlkZ2U6Ok1haW5UaHJlYWRCcmlkZ2UoVGhyZWFkYWJsZUxvYWRlckNsaWVudCogd29ya2Vy
Q2xpZW50LCBXb3JrZXJNZXNzYWdpbmdQcm94eSYgbWVzc2FnaW5nUHJveHksIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgTG9hZENhbGxiYWNrcyBjYWxsYmFja3NTZXR0aW5nLCBDb250
ZW50U25pZmYgY29udGVudFNuaWZmKQorV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVh
ZEJyaWRnZTo6TWFpblRocmVhZEJyaWRnZShUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiB3b3JrZXJD
bGllbnQsIFdvcmtlck1lc3NhZ2luZ1Byb3h5JiBtZXNzYWdpbmdQcm94eSwgY29uc3QgU3RyaW5n
JiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2FkQ2FsbGJh
Y2tzIGNhbGxiYWNrc1NldHRpbmcsIENvbnRlbnRTbmlmZiBjb250ZW50U25pZmYpCiAgICAgOiBt
X3dvcmtlckNsaWVudFdyYXBwZXIoVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXI6OmNyZWF0
ZSh3b3JrZXJDbGllbnQpKQogICAgICwgbV9tZXNzYWdpbmdQcm94eShtZXNzYWdpbmdQcm94eSkK
KyAgICAsIG1fdGFza01vZGUodGFza01vZGUuY29weSgpKQogewogICAgIEFTU0VSVCh3b3JrZXJD
bGllbnQpOwogICAgIG1fbWVzc2FnaW5nUHJveHkucG9zdFRhc2tUb1dvcmtlck9iamVjdChjcmVh
dGVDYWxsYmFja1Rhc2soJk1haW5UaHJlYWRCcmlkZ2U6Om1haW5UaHJlYWRDcmVhdGVMb2FkZXIs
IHRoaXMsIHJlcXVlc3QsIGNhbGxiYWNrc1NldHRpbmcsIGNvbnRlbnRTbmlmZikpOwpAQCAtMTQ5
LDcgKzE1Miw3IEBAIHN0YXRpYyB2b2lkIHdvcmtlckNvbnRleHREaWRTZW5kRGF0YShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSZWZQdHI8VGhyCiAKIHZvaWQgV29ya2VyVGhyZWFk
YWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6ZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBs
b25nIGJ5dGVzU2VudCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCkKIHsK
LSAgICBtX21lc3NhZ2luZ1Byb3h5LnBvc3RUYXNrVG9Xb3JrZXJDb250ZXh0KGNyZWF0ZUNhbGxi
YWNrVGFzaygmd29ya2VyQ29udGV4dERpZFNlbmREYXRhLCBtX3dvcmtlckNsaWVudFdyYXBwZXIs
IGJ5dGVzU2VudCwgdG90YWxCeXRlc1RvQmVTZW50KSk7CisgICAgbV9tZXNzYWdpbmdQcm94eS5w
b3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoY3JlYXRlQ2FsbGJhY2tUYXNrKCZ3b3JrZXJD
b250ZXh0RGlkU2VuZERhdGEsIG1fd29ya2VyQ2xpZW50V3JhcHBlciwgYnl0ZXNTZW50LCB0b3Rh
bEJ5dGVzVG9CZVNlbnQpLCBtX3Rhc2tNb2RlKTsKIH0KIAogc3RhdGljIHZvaWQgd29ya2VyQ29u
dGV4dERpZFJlY2VpdmVSZXNwb25zZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBS
ZWZQdHI8VGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXI+IHdvcmtlckNsaWVudFdyYXBwZXIs
IGF1dG9fcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGE+IHJlc3BvbnNlRGF0YSkK
QEAgLTE2MSw3ICsxNjQsNyBAQCBzdGF0aWMgdm9pZCB3b3JrZXJDb250ZXh0RGlkUmVjZWl2ZVJl
c3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFJlZgogCiB2b2lkIFdvcmtl
clRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmRpZFJlY2VpdmVSZXNwb25zZShj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICBtX21lc3NhZ2luZ1Byb3h5
LnBvc3RUYXNrVG9Xb3JrZXJDb250ZXh0KGNyZWF0ZUNhbGxiYWNrVGFzaygmd29ya2VyQ29udGV4
dERpZFJlY2VpdmVSZXNwb25zZSwgbV93b3JrZXJDbGllbnRXcmFwcGVyLCByZXNwb25zZSkpOwor
ICAgIG1fbWVzc2FnaW5nUHJveHkucG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJDb250ZXh0KGNyZWF0
ZUNhbGxiYWNrVGFzaygmd29ya2VyQ29udGV4dERpZFJlY2VpdmVSZXNwb25zZSwgbV93b3JrZXJD
bGllbnRXcmFwcGVyLCByZXNwb25zZSksIG1fdGFza01vZGUpOwogfQogCiBzdGF0aWMgdm9pZCB3
b3JrZXJDb250ZXh0RGlkUmVjZWl2ZURhdGEoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgUmVmUHRyPFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyPiB3b3JrZXJDbGllbnRXcmFw
cGVyLCBhdXRvX3B0cjxWZWN0b3I8Y2hhcj4gPiB2ZWN0b3JEYXRhKQpAQCAtMTc0LDcgKzE3Nyw3
IEBAIHZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6ZGlkUmVj
ZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwKIHsKICAgICBhdXRvX3B0cjxWZWN0b3I8Y2hhcj4g
PiB2ZWN0b3IobmV3IFZlY3RvcjxjaGFyPihsZW5ndGhSZWNlaXZlZCkpOyAvLyBuZWVkcyB0byBi
ZSBhbiBhdXRvX3B0ciBmb3IgdXNhZ2Ugd2l0aCBjcmVhdGVDYWxsYmFja1Rhc2suCiAgICAgbWVt
Y3B5KHZlY3Rvci0+ZGF0YSgpLCBkYXRhLCBsZW5ndGhSZWNlaXZlZCk7Ci0gICAgbV9tZXNzYWdp
bmdQcm94eS5wb3N0VGFza1RvV29ya2VyQ29udGV4dChjcmVhdGVDYWxsYmFja1Rhc2soJndvcmtl
ckNvbnRleHREaWRSZWNlaXZlRGF0YSwgbV93b3JrZXJDbGllbnRXcmFwcGVyLCB2ZWN0b3IpKTsK
KyAgICBtX21lc3NhZ2luZ1Byb3h5LnBvc3RUYXNrRm9yTW9kZVRvV29ya2VyQ29udGV4dChjcmVh
dGVDYWxsYmFja1Rhc2soJndvcmtlckNvbnRleHREaWRSZWNlaXZlRGF0YSwgbV93b3JrZXJDbGll
bnRXcmFwcGVyLCB2ZWN0b3IpLCBtX3Rhc2tNb2RlKTsKIH0KIAogc3RhdGljIHZvaWQgd29ya2Vy
Q29udGV4dERpZEZpbmlzaExvYWRpbmcoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
UmVmUHRyPFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyPiB3b3JrZXJDbGllbnRXcmFwcGVy
LCBpbnQgaWRlbnRpZmllcikKQEAgLTE4NSw3ICsxODgsNyBAQCBzdGF0aWMgdm9pZCB3b3JrZXJD
b250ZXh0RGlkRmluaXNoTG9hZGluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBS
ZWZQdAogCiB2b2lkIFdvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmRp
ZEZpbmlzaExvYWRpbmcoaW50IGlkZW50aWZpZXIpCiB7Ci0gICAgbV9tZXNzYWdpbmdQcm94eS5w
b3N0VGFza1RvV29ya2VyQ29udGV4dChjcmVhdGVDYWxsYmFja1Rhc2soJndvcmtlckNvbnRleHRE
aWRGaW5pc2hMb2FkaW5nLCBtX3dvcmtlckNsaWVudFdyYXBwZXIsIGlkZW50aWZpZXIpKTsKKyAg
ICBtX21lc3NhZ2luZ1Byb3h5LnBvc3RUYXNrRm9yTW9kZVRvV29ya2VyQ29udGV4dChjcmVhdGVD
YWxsYmFja1Rhc2soJndvcmtlckNvbnRleHREaWRGaW5pc2hMb2FkaW5nLCBtX3dvcmtlckNsaWVu
dFdyYXBwZXIsIGlkZW50aWZpZXIpLCBtX3Rhc2tNb2RlKTsKIH0KIAogc3RhdGljIHZvaWQgd29y
a2VyQ29udGV4dERpZEZhaWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUmVmUHRy
PFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyPiB3b3JrZXJDbGllbnRXcmFwcGVyLCBjb25z
dCBSZXNvdXJjZUVycm9yJiBlcnJvcikKQEAgLTE5Niw3ICsxOTksNyBAQCBzdGF0aWMgdm9pZCB3
b3JrZXJDb250ZXh0RGlkRmFpbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSZWZQ
dHI8VGhyZWFkYQogCiB2b2lkIFdvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlk
Z2U6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7Ci0gICAgbV9tZXNzYWdp
bmdQcm94eS5wb3N0VGFza1RvV29ya2VyQ29udGV4dChjcmVhdGVDYWxsYmFja1Rhc2soJndvcmtl
ckNvbnRleHREaWRGYWlsLCBtX3dvcmtlckNsaWVudFdyYXBwZXIsIGVycm9yKSk7CisgICAgbV9t
ZXNzYWdpbmdQcm94eS5wb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoY3JlYXRlQ2FsbGJh
Y2tUYXNrKCZ3b3JrZXJDb250ZXh0RGlkRmFpbCwgbV93b3JrZXJDbGllbnRXcmFwcGVyLCBlcnJv
ciksIG1fdGFza01vZGUpOwogfQogCiBzdGF0aWMgdm9pZCB3b3JrZXJDb250ZXh0RGlkRmFpbFJl
ZGlyZWN0Q2hlY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUmVmUHRyPFRocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyPiB3b3JrZXJDbGllbnRXcmFwcGVyKQpAQCAtMjA3LDcg
KzIxMCw3IEBAIHN0YXRpYyB2b2lkIHdvcmtlckNvbnRleHREaWRGYWlsUmVkaXJlY3RDaGVjayhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSCiAKIHZvaWQgV29ya2VyVGhyZWFkYWJs
ZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6ZGlkRmFpbFJlZGlyZWN0Q2hlY2soKQogewotICAg
IG1fbWVzc2FnaW5nUHJveHkucG9zdFRhc2tUb1dvcmtlckNvbnRleHQoY3JlYXRlQ2FsbGJhY2tU
YXNrKCZ3b3JrZXJDb250ZXh0RGlkRmFpbFJlZGlyZWN0Q2hlY2ssIG1fd29ya2VyQ2xpZW50V3Jh
cHBlcikpOworICAgIG1fbWVzc2FnaW5nUHJveHkucG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJDb250
ZXh0KGNyZWF0ZUNhbGxiYWNrVGFzaygmd29ya2VyQ29udGV4dERpZEZhaWxSZWRpcmVjdENoZWNr
LCBtX3dvcmtlckNsaWVudFdyYXBwZXIpLCBtX3Rhc2tNb2RlKTsKIH0KIAogc3RhdGljIHZvaWQg
d29ya2VyQ29udGV4dERpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlckNsaWVudFdy
YXBwZXI+IHdvcmtlckNsaWVudFdyYXBwZXIsIGF1dG9fcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXNwb25zZURhdGE+IHJlc3BvbnNlRGF0YSkKQEAgLTIxOSw3ICsyMjIsNyBAQCBzdGF0aWMgdm9p
ZCB3b3JrZXJDb250ZXh0RGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbgogCiB2b2lkIFdvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRC
cmlkZ2U6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICBtX21lc3NhZ2luZ1Byb3h5LnBvc3RUYXNrVG9X
b3JrZXJDb250ZXh0KGNyZWF0ZUNhbGxiYWNrVGFzaygmd29ya2VyQ29udGV4dERpZFJlY2VpdmVB
dXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbiwgbV93b3JrZXJDbGllbnRXcmFwcGVyLCByZXNwb25z
ZSkpOworICAgIG1fbWVzc2FnaW5nUHJveHkucG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJDb250ZXh0
KGNyZWF0ZUNhbGxiYWNrVGFzaygmd29ya2VyQ29udGV4dERpZFJlY2VpdmVBdXRoZW50aWNhdGlv
bkNhbmNlbGxhdGlvbiwgbV93b3JrZXJDbGllbnRXcmFwcGVyLCByZXNwb25zZSksIG1fdGFza01v
ZGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJl
YWRhYmxlTG9hZGVyLmgKaW5kZXggYWI2YjYyYy4uZjk5N2UxMCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1dv
cmtlclRocmVhZGFibGVMb2FkZXIuaApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxFKFdP
UktFUlMpCiAKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlRocmVhZGFi
bGVMb2FkZXIuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaCIKQEAgLTU0LDkgKzU1LDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgV29ya2VyVGhyZWFkYWJsZUxvYWRlciA6IHB1
YmxpYyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJs
ZUxvYWRlciB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJU
aHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyLCBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgTG9h
ZENhbGxiYWNrcyBjYWxsYmFja3NTZXR0aW5nLCBDb250ZW50U25pZmYgY29udGVudFNuaWZmKQor
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUo
V29ya2VyQ29udGV4dCogd29ya2VyLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNv
bnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgTG9h
ZENhbGxiYWNrcyBjYWxsYmFja3NTZXR0aW5nLCBDb250ZW50U25pZmYgY29udGVudFNuaWZmKQog
ICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdvcmtlclRocmVhZGFi
bGVMb2FkZXIod29ya2VyLCBjbGllbnQsIHJlcXVlc3QsIGNhbGxiYWNrc1NldHRpbmcsIGNvbnRl
bnRTbmlmZikpOworICAgICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyKHdvcmtlciwgY2xpZW50LCB0YXNrTW9kZSwgcmVxdWVzdCwgY2FsbGJhY2tzU2V0
dGluZywgY29udGVudFNuaWZmKSk7CiAgICAgICAgIH0KIAogICAgICAgICB+V29ya2VyVGhyZWFk
YWJsZUxvYWRlcigpOwpAQCAtOTMsNyArOTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIGNsYXNzIE1haW5UaHJlYWRCcmlkZ2UgOiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IHsKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgLy8gQWxsIGV4ZWN1dGVkIG9uIHRoZSB3b3JrZXIg
Y29udGV4dCdzIHRocmVhZC4KLSAgICAgICAgICAgIE1haW5UaHJlYWRCcmlkZ2UoVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCosIFdvcmtlck1lc3NhZ2luZ1Byb3h5JiwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgTG9hZENhbGxiYWNrcywgQ29udGVudFNuaWZmKTsKKyAgICAgICAgICAgIE1haW5UaHJl
YWRCcmlkZ2UoVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIFdvcmtlck1lc3NhZ2luZ1Byb3h5Jiwg
Y29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgTG9hZENhbGxi
YWNrcywgQ29udGVudFNuaWZmKTsKICAgICAgICAgICAgIHZvaWQgY2FuY2VsKCk7CiAgICAgICAg
ICAgICB2b2lkIGRlc3Ryb3koKTsKIApAQCAtMTI0LDkgKzEyNSwxMiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICAgICAgICAgIC8vIE1heSBiZSB1c2VkIG9uIGVpdGhlciB0aHJlYWQuCiAg
ICAgICAgICAgICBXb3JrZXJNZXNzYWdpbmdQcm94eSYgbV9tZXNzYWdpbmdQcm94eTsKKworICAg
ICAgICAgICAgLy8gRm9yIHVzZSBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgICAgICBTdHJp
bmcgbV90YXNrTW9kZTsKICAgICAgICAgfTsKIAotICAgICAgICBXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyKFdvcmtlckNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiwgTG9hZENhbGxiYWNrcywgQ29udGVudFNuaWZmKTsKKyAgICAgICAgV29ya2Vy
VGhyZWFkYWJsZUxvYWRlcihXb3JrZXJDb250ZXh0KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCos
IGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIExvYWRDYWxs
YmFja3MsIENvbnRlbnRTbmlmZik7CiAKICAgICAgICAgUmVmUHRyPFdvcmtlckNvbnRleHQ+IG1f
d29ya2VyQ29udGV4dDsKICAgICAgICAgTWFpblRocmVhZEJyaWRnZSYgbV9icmlkZ2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27918</attachid>
            <date>2009-02-24 08:33:35 -0800</date>
            <delta_ts>2009-02-24 09:17:49 -0800</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>bug24090.txt</filename>
            <type>text/plain</type>
            <size>14184</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWQzMGNlMS4uMDE1ZDdkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAwOS0wMi0yNCAgRGF2aWQgTGV2aW4g
IDxsZXZpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQnVnIDI0MDkwOiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIG5lZWRzIHRv
IGJlIGFibGUgdG8gcG9zdCB0YXNrcyBmb3IgYSBtb2RlLgorICAgICAgICA8aHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDkwPgorCisgICAgICAgIE5vIG9ic2VydmFi
bGUgY2hhbmdlIGluIGJlaGF2aW9yLCBzbyBubyB0ZXN0LgorCisgICAgICAgICogZG9tL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1By
b3h5Ojpwb3N0TWVzc2FnZVRvV29ya2VyQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJNZXNzYWdpbmdQcm94eTo6cG9zdFRhc2tUb1dvcmtlckNvbnRleHQpOgorICAgICAgICBGaXhl
ZCB0aGUgYnVnIHRoYXQgbV91bmNvbmZpcm1lZE1lc3NhZ2VDb3VudCB3YXMgZ2V0dGluZyBpbmNy
ZW1lbnRlZCBmb3Igbm9uLW1lc3NhZ2UgdGFza3MuCisKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
ck1lc3NhZ2luZ1Byb3h5Ojpwb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQpOgorCisgICAg
ICAgICogZG9tL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6Y3Jl
YXRlKToKKyAgICAgICAgKiBsb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJl
YWRCcmlkZ2U6Ok1haW5UaHJlYWRCcmlkZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhy
ZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6ZGlkU2VuZERhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZGFibGVMb2FkZXI6
Ok1haW5UaHJlYWRCcmlkZ2U6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmRpZEZpbmlzaExvYWRpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJy
aWRnZTo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVy
OjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGYWlsUmVkaXJlY3RDaGVjayk6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRSZWNlaXZl
QXV0aGVudGljYXRpb25DYW5jZWxsYXRpb24pOgorICAgICAgICBDaGFuZ2VkIHRoZXNlIG1ldGhv
ZHMgdG8gcG9zdCB0YXNrIHVzaW5nIGEgbW9kZS4KKworICAgICAgICAqIGxvYWRlci9Xb3JrZXJU
aHJlYWRhYmxlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyOjpjcmVhdGUpOgorCiAyMDA5LTAyLTIzICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZG9tL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1dlYkNvcmUvZG9tL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCA4ZDYyNjA3Li5mYWNiMDhjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvV2ViQ29yZS9kb20vV29y
a2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC0yMTAsMTkgKzIxMCwyOCBAQCB2b2lkIFdvcmtlck1l
c3NhZ2luZ1Byb3h5Ojpwb3N0TWVzc2FnZVRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKIAogdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdE1lc3NhZ2VUb1dvcmtlckNv
bnRleHQoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIHBvc3RUYXNrVG9Xb3JrZXJDb250
ZXh0KE1lc3NhZ2VXb3JrZXJDb250ZXh0VGFzazo6Y3JlYXRlKG1lc3NhZ2UpKTsKKyAgICBpZiAo
bV9hc2tlZFRvVGVybWluYXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV93b3JrZXJU
aHJlYWQpIHsKKyAgICAgICAgKyttX3VuY29uZmlybWVkTWVzc2FnZUNvdW50OworICAgICAgICBt
X3dvcmtlclRocmVhZC0+cnVuTG9vcCgpLnBvc3RUYXNrKE1lc3NhZ2VXb3JrZXJDb250ZXh0VGFz
azo6Y3JlYXRlKG1lc3NhZ2UpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9xdWV1ZWRFYXJseVRh
c2tzLmFwcGVuZChNZXNzYWdlV29ya2VyQ29udGV4dFRhc2s6OmNyZWF0ZShtZXNzYWdlKSk7CiB9
CiAKIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RUYXNrVG9Xb3JrZXJDb250ZXh0KFBh
c3NSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKIHsKKyAgICBwb3N0
VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQodGFzaywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1v
ZGUoKSk7Cit9CisKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RUYXNrRm9yTW9kZVRv
V29ya2VyQ29udGV4dChQYXNzUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRh
c2ssIGNvbnN0IFN0cmluZyYgbW9kZSkKK3sKICAgICBpZiAobV9hc2tlZFRvVGVybWluYXRlKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV93b3JrZXJUaHJlYWQpIHsKLSAgICAgICAgKytt
X3VuY29uZmlybWVkTWVzc2FnZUNvdW50OwotICAgICAgICBtX3dvcmtlclRocmVhZC0+cnVuTG9v
cCgpLnBvc3RUYXNrKHRhc2spOwotICAgIH0gZWxzZQotICAgICAgICBtX3F1ZXVlZEVhcmx5VGFz
a3MuYXBwZW5kKHRhc2spOworICAgIEFTU0VSVChtX3dvcmtlclRocmVhZCk7CisgICAgbV93b3Jr
ZXJUaHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUodGFzaywgbW9kZSk7CiB9CiAKIHZv
aWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RUYXNrVG9Xb3JrZXJPYmplY3QoUGFzc1JlZlB0
cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvZG9tL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmgKaW5kZXggMzYwMjE3MS4uM2M4NTg3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
V29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9XZWJDb3JlL2RvbS9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5oCkBAIC02Niw2ICs2Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2
b2lkIHBvc3RUYXNrVG9Xb3JrZXJPYmplY3QoUGFzc1JlZlB0cjxTY3JpcHRFeGVjdXRpb25Db250
ZXh0OjpUYXNrPik7CiAgICAgICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckNvbnRleHQoUGFzc1Jl
ZlB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPik7CisgICAgICAgIHZvaWQgcG9zdFRh
c2tGb3JNb2RlVG9Xb3JrZXJDb250ZXh0KFBhc3NSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaz4sIGNvbnN0IFN0cmluZyYgbW9kZSk7CiAKICAgICAgICAgdm9pZCB3b3JrZXJUaHJl
YWRDcmVhdGVkKFBhc3NSZWZQdHI8V29ya2VyVGhyZWFkPik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlci5jcHAKaW5kZXggYmYwMGZkNi4uMmNkY2E3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIldvcmtlckNvbnRl
eHQuaCIKKyNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFk
YWJsZUxvYWRlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Niw3ICs0Nyw3IEBAIFBh
c3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvCiAKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBpZiAoY29u
dGV4dC0+aXNXb3JrZXJDb250ZXh0KCkpCi0gICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxl
TG9hZGVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8V29ya2VyQ29udGV4dCo+KGNvbnRleHQpLCBjbGll
bnQsIHJlcXVlc3QsIGNhbGxiYWNrc1NldHRpbmcsIGNvbnRlbnRTbmlmZik7CisgICAgICAgIHJl
dHVybiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8V29ya2VyQ29u
dGV4dCo+KGNvbnRleHQpLCBjbGllbnQsIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCksIHJl
cXVlc3QsIGNhbGxiYWNrc1NldHRpbmcsIGNvbnRlbnRTbmlmZik7CiAjZW5kaWYgLy8gRU5BQkxF
KFdPUktFUlMpCiAKICAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwIGIvV2ViQ29yZS9s
b2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggODM3MjgyMi4uZDgwMWMyYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKKysr
IGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTUyLDkgKzUy
LDEwIEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEZJ
WE1FOiBUaGUgYXNzdW1wdGlvbiB0aGF0IHdlIGNhbiB1cGNhc3Qgd29ya2VyIG9iamVjdCBwcm94
eSB0byBXb3JrZXJNZXNzYWdpbmdQcm94eSB3aWxsIG5vdCBiZSB0cnVlIGluIG11bHRpLXByb2Nl
c3MgaW1wbGVtZW50YXRpb24uCi1Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQqIGNsaWVudCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBMb2FkQ2FsbGJh
Y2tzIGNhbGxiYWNrc1NldHRpbmcsIENvbnRlbnRTbmlmZiBjb250ZW50U25pZmYpCitXb3JrZXJU
aHJlYWRhYmxlTG9hZGVyOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyKFdvcmtlckNvbnRleHQqIHdv
cmtlckNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5n
JiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBMb2FkQ2FsbGJhY2tz
IGNhbGxiYWNrc1NldHRpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIENvbnRlbnRTbmlmZiBjb250ZW50U25pZmYpCiAgICAgOiBtX3dvcmtlckNvbnRl
eHQod29ya2VyQ29udGV4dCkKLSAgICAsIG1fYnJpZGdlKCoobmV3IE1haW5UaHJlYWRCcmlkZ2Uo
Y2xpZW50LCAqKHN0YXRpY19jYXN0PFdvcmtlck1lc3NhZ2luZ1Byb3h5Kj4obV93b3JrZXJDb250
ZXh0LT50aHJlYWQoKS0+d29ya2VyT2JqZWN0UHJveHkoKSkpLCByZXF1ZXN0LCBjYWxsYmFja3NT
ZXR0aW5nLCBjb250ZW50U25pZmYpKSkKKyAgICAsIG1fYnJpZGdlKCoobmV3IE1haW5UaHJlYWRC
cmlkZ2UoY2xpZW50LCAqKHN0YXRpY19jYXN0PFdvcmtlck1lc3NhZ2luZ1Byb3h5Kj4obV93b3Jr
ZXJDb250ZXh0LT50aHJlYWQoKS0+d29ya2VyT2JqZWN0UHJveHkoKSkpLCB0YXNrTW9kZSwgcmVx
dWVzdCwgY2FsbGJhY2tzU2V0dGluZywgY29udGVudFNuaWZmKSkpCiB7CiB9CiAKQEAgLTY4LDkg
KzY5LDExIEBAIHZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6Y2FuY2VsKCkKICAgICBtX2Jy
aWRnZS5jYW5jZWwoKTsKIH0KIAotV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJy
aWRnZTo6TWFpblRocmVhZEJyaWRnZShUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiB3b3JrZXJDbGll
bnQsIFdvcmtlck1lc3NhZ2luZ1Byb3h5JiBtZXNzYWdpbmdQcm94eSwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBMb2FkQ2FsbGJhY2tzIGNhbGxiYWNrc1NldHRpbmcsIENvbnRlbnRT
bmlmZiBjb250ZW50U25pZmYpCitXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJp
ZGdlOjpNYWluVGhyZWFkQnJpZGdlKFRocmVhZGFibGVMb2FkZXJDbGllbnQqIHdvcmtlckNsaWVu
dCwgV29ya2VyTWVzc2FnaW5nUHJveHkmIG1lc3NhZ2luZ1Byb3h5LCBjb25zdCBTdHJpbmcmIHRh
c2tNb2RlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvYWRDYWxsYmFja3Mg
Y2FsbGJhY2tzU2V0dGluZywgQ29udGVudFNuaWZmIGNvbnRlbnRTbmlmZikKICAgICA6IG1fd29y
a2VyQ2xpZW50V3JhcHBlcihUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcjo6Y3JlYXRlKHdv
cmtlckNsaWVudCkpCiAgICAgLCBtX21lc3NhZ2luZ1Byb3h5KG1lc3NhZ2luZ1Byb3h5KQorICAg
ICwgbV90YXNrTW9kZSh0YXNrTW9kZS5jb3B5KCkpCiB7CiAgICAgQVNTRVJUKHdvcmtlckNsaWVu
dCk7CiAgICAgbV9tZXNzYWdpbmdQcm94eS5wb3N0VGFza1RvV29ya2VyT2JqZWN0KGNyZWF0ZUNh
bGxiYWNrVGFzaygmTWFpblRocmVhZEJyaWRnZTo6bWFpblRocmVhZENyZWF0ZUxvYWRlciwgdGhp
cywgcmVxdWVzdCwgY2FsbGJhY2tzU2V0dGluZywgY29udGVudFNuaWZmKSk7CkBAIC0xNDksNyAr
MTUyLDcgQEAgc3RhdGljIHZvaWQgd29ya2VyQ29udGV4dERpZFNlbmREYXRhKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFJlZlB0cjxUaHIKIAogdm9pZCBXb3JrZXJUaHJlYWRhYmxl
TG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcg
Ynl0ZXNTZW50LCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRlc1RvQmVTZW50KQogewotICAg
IG1fbWVzc2FnaW5nUHJveHkucG9zdFRhc2tUb1dvcmtlckNvbnRleHQoY3JlYXRlQ2FsbGJhY2tU
YXNrKCZ3b3JrZXJDb250ZXh0RGlkU2VuZERhdGEsIG1fd29ya2VyQ2xpZW50V3JhcHBlciwgYnl0
ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpKTsKKyAgICBtX21lc3NhZ2luZ1Byb3h5LnBvc3RU
YXNrRm9yTW9kZVRvV29ya2VyQ29udGV4dChjcmVhdGVDYWxsYmFja1Rhc2soJndvcmtlckNvbnRl
eHREaWRTZW5kRGF0YSwgbV93b3JrZXJDbGllbnRXcmFwcGVyLCBieXRlc1NlbnQsIHRvdGFsQnl0
ZXNUb0JlU2VudCksIG1fdGFza01vZGUpOwogfQogCiBzdGF0aWMgdm9pZCB3b3JrZXJDb250ZXh0
RGlkUmVjZWl2ZVJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFJlZlB0
cjxUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcj4gd29ya2VyQ2xpZW50V3JhcHBlciwgYXV0
b19wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4gcmVzcG9uc2VEYXRhKQpAQCAt
MTYxLDcgKzE2NCw3IEBAIHN0YXRpYyB2b2lkIHdvcmtlckNvbnRleHREaWRSZWNlaXZlUmVzcG9u
c2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUmVmCiAKIHZvaWQgV29ya2VyVGhy
ZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIG1fbWVzc2FnaW5nUHJveHkucG9z
dFRhc2tUb1dvcmtlckNvbnRleHQoY3JlYXRlQ2FsbGJhY2tUYXNrKCZ3b3JrZXJDb250ZXh0RGlk
UmVjZWl2ZVJlc3BvbnNlLCBtX3dvcmtlckNsaWVudFdyYXBwZXIsIHJlc3BvbnNlKSk7CisgICAg
bV9tZXNzYWdpbmdQcm94eS5wb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoY3JlYXRlQ2Fs
bGJhY2tUYXNrKCZ3b3JrZXJDb250ZXh0RGlkUmVjZWl2ZVJlc3BvbnNlLCBtX3dvcmtlckNsaWVu
dFdyYXBwZXIsIHJlc3BvbnNlKSwgbV90YXNrTW9kZSk7CiB9CiAKIHN0YXRpYyB2b2lkIHdvcmtl
ckNvbnRleHREaWRSZWNlaXZlRGF0YShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBS
ZWZQdHI8VGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXI+IHdvcmtlckNsaWVudFdyYXBwZXIs
IGF1dG9fcHRyPFZlY3RvcjxjaGFyPiA+IHZlY3RvckRhdGEpCkBAIC0xNzQsNyArMTc3LDcgQEAg
dm9pZCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRSZWNlaXZl
RGF0YShjb25zdCBjaGFyKiBkYXRhLAogewogICAgIGF1dG9fcHRyPFZlY3RvcjxjaGFyPiA+IHZl
Y3RvcihuZXcgVmVjdG9yPGNoYXI+KGxlbmd0aFJlY2VpdmVkKSk7IC8vIG5lZWRzIHRvIGJlIGFu
IGF1dG9fcHRyIGZvciB1c2FnZSB3aXRoIGNyZWF0ZUNhbGxiYWNrVGFzay4KICAgICBtZW1jcHko
dmVjdG9yLT5kYXRhKCksIGRhdGEsIGxlbmd0aFJlY2VpdmVkKTsKLSAgICBtX21lc3NhZ2luZ1By
b3h5LnBvc3RUYXNrVG9Xb3JrZXJDb250ZXh0KGNyZWF0ZUNhbGxiYWNrVGFzaygmd29ya2VyQ29u
dGV4dERpZFJlY2VpdmVEYXRhLCBtX3dvcmtlckNsaWVudFdyYXBwZXIsIHZlY3RvcikpOworICAg
IG1fbWVzc2FnaW5nUHJveHkucG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJDb250ZXh0KGNyZWF0ZUNh
bGxiYWNrVGFzaygmd29ya2VyQ29udGV4dERpZFJlY2VpdmVEYXRhLCBtX3dvcmtlckNsaWVudFdy
YXBwZXIsIHZlY3RvciksIG1fdGFza01vZGUpOwogfQogCiBzdGF0aWMgdm9pZCB3b3JrZXJDb250
ZXh0RGlkRmluaXNoTG9hZGluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSZWZQ
dHI8VGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXI+IHdvcmtlckNsaWVudFdyYXBwZXIsIGlu
dCBpZGVudGlmaWVyKQpAQCAtMTg1LDcgKzE4OCw3IEBAIHN0YXRpYyB2b2lkIHdvcmtlckNvbnRl
eHREaWRGaW5pc2hMb2FkaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFJlZlB0
CiAKIHZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6ZGlkRmlu
aXNoTG9hZGluZyhpbnQgaWRlbnRpZmllcikKIHsKLSAgICBtX21lc3NhZ2luZ1Byb3h5LnBvc3RU
YXNrVG9Xb3JrZXJDb250ZXh0KGNyZWF0ZUNhbGxiYWNrVGFzaygmd29ya2VyQ29udGV4dERpZEZp
bmlzaExvYWRpbmcsIG1fd29ya2VyQ2xpZW50V3JhcHBlciwgaWRlbnRpZmllcikpOworICAgIG1f
bWVzc2FnaW5nUHJveHkucG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJDb250ZXh0KGNyZWF0ZUNhbGxi
YWNrVGFzaygmd29ya2VyQ29udGV4dERpZEZpbmlzaExvYWRpbmcsIG1fd29ya2VyQ2xpZW50V3Jh
cHBlciwgaWRlbnRpZmllciksIG1fdGFza01vZGUpOwogfQogCiBzdGF0aWMgdm9pZCB3b3JrZXJD
b250ZXh0RGlkRmFpbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSZWZQdHI8VGhy
ZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXI+IHdvcmtlckNsaWVudFdyYXBwZXIsIGNvbnN0IFJl
c291cmNlRXJyb3ImIGVycm9yKQpAQCAtMTk2LDcgKzE5OSw3IEBAIHN0YXRpYyB2b2lkIHdvcmtl
ckNvbnRleHREaWRGYWlsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFJlZlB0cjxU
aHJlYWRhCiAKIHZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6
ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIHsKLSAgICBtX21lc3NhZ2luZ1By
b3h5LnBvc3RUYXNrVG9Xb3JrZXJDb250ZXh0KGNyZWF0ZUNhbGxiYWNrVGFzaygmd29ya2VyQ29u
dGV4dERpZEZhaWwsIG1fd29ya2VyQ2xpZW50V3JhcHBlciwgZXJyb3IpKTsKKyAgICBtX21lc3Nh
Z2luZ1Byb3h5LnBvc3RUYXNrRm9yTW9kZVRvV29ya2VyQ29udGV4dChjcmVhdGVDYWxsYmFja1Rh
c2soJndvcmtlckNvbnRleHREaWRGYWlsLCBtX3dvcmtlckNsaWVudFdyYXBwZXIsIGVycm9yKSwg
bV90YXNrTW9kZSk7CiB9CiAKIHN0YXRpYyB2b2lkIHdvcmtlckNvbnRleHREaWRGYWlsUmVkaXJl
Y3RDaGVjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSZWZQdHI8VGhyZWFkYWJs
ZUxvYWRlckNsaWVudFdyYXBwZXI+IHdvcmtlckNsaWVudFdyYXBwZXIpCkBAIC0yMDcsNyArMjEw
LDcgQEAgc3RhdGljIHZvaWQgd29ya2VyQ29udGV4dERpZEZhaWxSZWRpcmVjdENoZWNrKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFIKIAogdm9pZCBXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGYWlsUmVkaXJlY3RDaGVjaygpCiB7Ci0gICAgbV9t
ZXNzYWdpbmdQcm94eS5wb3N0VGFza1RvV29ya2VyQ29udGV4dChjcmVhdGVDYWxsYmFja1Rhc2so
JndvcmtlckNvbnRleHREaWRGYWlsUmVkaXJlY3RDaGVjaywgbV93b3JrZXJDbGllbnRXcmFwcGVy
KSk7CisgICAgbV9tZXNzYWdpbmdQcm94eS5wb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQo
Y3JlYXRlQ2FsbGJhY2tUYXNrKCZ3b3JrZXJDb250ZXh0RGlkRmFpbFJlZGlyZWN0Q2hlY2ssIG1f
d29ya2VyQ2xpZW50V3JhcHBlciksIG1fdGFza01vZGUpOwogfQogCiBzdGF0aWMgdm9pZCB3b3Jr
ZXJDb250ZXh0RGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBl
cj4gd29ya2VyQ2xpZW50V3JhcHBlciwgYXV0b19wdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3Bv
bnNlRGF0YT4gcmVzcG9uc2VEYXRhKQpAQCAtMjE5LDcgKzIyMiw3IEBAIHN0YXRpYyB2b2lkIHdv
cmtlckNvbnRleHREaWRSZWNlaXZlQXV0aGVudGljYXRpb25DYW5jZWxsYXRpb24oU2NyaXB0RXhl
Y3V0aW9uQ29uCiAKIHZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRn
ZTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlKQogewotICAgIG1fbWVzc2FnaW5nUHJveHkucG9zdFRhc2tUb1dvcmtl
ckNvbnRleHQoY3JlYXRlQ2FsbGJhY2tUYXNrKCZ3b3JrZXJDb250ZXh0RGlkUmVjZWl2ZUF1dGhl
bnRpY2F0aW9uQ2FuY2VsbGF0aW9uLCBtX3dvcmtlckNsaWVudFdyYXBwZXIsIHJlc3BvbnNlKSk7
CisgICAgbV9tZXNzYWdpbmdQcm94eS5wb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoY3Jl
YXRlQ2FsbGJhY2tUYXNrKCZ3b3JrZXJDb250ZXh0RGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2Fu
Y2VsbGF0aW9uLCBtX3dvcmtlckNsaWVudFdyYXBwZXIsIHJlc3BvbnNlKSwgbV90YXNrTW9kZSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L1dvcmtlclRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFi
bGVMb2FkZXIuaAppbmRleCBhYjZiNjJjLi5mOTk3ZTEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvV29ya2Vy
VGhyZWFkYWJsZUxvYWRlci5oCkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUoV09SS0VS
UykKIAorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxv
YWRlci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJU
aHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oIgpAQCAtNTQsOSArNTUsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGlj
IFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9h
ZGVyIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVh
ZGFibGVMb2FkZXI+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXIsIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQqIGNsaWVudCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBMb2FkQ2Fs
bGJhY2tzIGNhbGxiYWNrc1NldHRpbmcsIENvbnRlbnRTbmlmZiBjb250ZW50U25pZmYpCisgICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShXb3Jr
ZXJDb250ZXh0KiB3b3JrZXIsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3Qg
U3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBMb2FkQ2Fs
bGJhY2tzIGNhbGxiYWNrc1NldHRpbmcsIENvbnRlbnRTbmlmZiBjb250ZW50U25pZmYpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV29ya2VyVGhyZWFkYWJsZUxv
YWRlcih3b3JrZXIsIGNsaWVudCwgcmVxdWVzdCwgY2FsbGJhY2tzU2V0dGluZywgY29udGVudFNu
aWZmKSk7CisgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdvcmtlclRocmVhZGFibGVM
b2FkZXIod29ya2VyLCBjbGllbnQsIHRhc2tNb2RlLCByZXF1ZXN0LCBjYWxsYmFja3NTZXR0aW5n
LCBjb250ZW50U25pZmYpKTsKICAgICAgICAgfQogCiAgICAgICAgIH5Xb3JrZXJUaHJlYWRhYmxl
TG9hZGVyKCk7CkBAIC05Myw3ICs5NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Y2xhc3MgTWFpblRocmVhZEJyaWRnZSA6IFRocmVhZGFibGVMb2FkZXJDbGllbnQgewogICAgICAg
ICBwdWJsaWM6CiAgICAgICAgICAgICAvLyBBbGwgZXhlY3V0ZWQgb24gdGhlIHdvcmtlciBjb250
ZXh0J3MgdGhyZWFkLgotICAgICAgICAgICAgTWFpblRocmVhZEJyaWRnZShUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50KiwgV29ya2VyTWVzc2FnaW5nUHJveHkmLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmYpOworICAgICAgICAgICAgTWFpblRocmVhZEJy
aWRnZShUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgV29ya2VyTWVzc2FnaW5nUHJveHkmLCBjb25z
dCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBMb2FkQ2FsbGJhY2tz
LCBDb250ZW50U25pZmYpOwogICAgICAgICAgICAgdm9pZCBjYW5jZWwoKTsKICAgICAgICAgICAg
IHZvaWQgZGVzdHJveSgpOwogCkBAIC0xMjQsOSArMTI1LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgICAgICAgICAgLy8gTWF5IGJlIHVzZWQgb24gZWl0aGVyIHRocmVhZC4KICAgICAg
ICAgICAgIFdvcmtlck1lc3NhZ2luZ1Byb3h5JiBtX21lc3NhZ2luZ1Byb3h5OworCisgICAgICAg
ICAgICAvLyBGb3IgdXNlIG9uIHRoZSBtYWluIHRocmVhZC4KKyAgICAgICAgICAgIFN0cmluZyBt
X3Rhc2tNb2RlOwogICAgICAgICB9OwogCi0gICAgICAgIFdvcmtlclRocmVhZGFibGVMb2FkZXIo
V29ya2VyQ29udGV4dCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmYpOworICAgICAgICBXb3JrZXJUaHJl
YWRhYmxlTG9hZGVyKFdvcmtlckNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29u
c3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgTG9hZENhbGxiYWNr
cywgQ29udGVudFNuaWZmKTsKIAogICAgICAgICBSZWZQdHI8V29ya2VyQ29udGV4dD4gbV93b3Jr
ZXJDb250ZXh0OwogICAgICAgICBNYWluVGhyZWFkQnJpZGdlJiBtX2JyaWRnZTsK
</data>
<flag name="review"
          id="13593"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>