<?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>127202</bug_id>
          
          <creation_ts>2014-01-17 16:00:45 -0800</creation_ts>
          <short_desc>Clean up PageCache classes</short_desc>
          <delta_ts>2014-01-17 17:43:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>969298</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-17 16:00:45 -0800</bug_when>
    <thetext>Clean up PageCache classes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969299</commentid>
    <comment_count>1</comment_count>
      <attachid>221503</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-17 16:01:53 -0800</bug_when>
    <thetext>Created attachment 221503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969305</commentid>
    <comment_count>2</comment_count>
      <attachid>221506</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-17 16:06:09 -0800</bug_when>
    <thetext>Created attachment 221506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969308</commentid>
    <comment_count>3</comment_count>
      <attachid>221506</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-17 16:16:46 -0800</bug_when>
    <thetext>Comment on attachment 221506
Patch

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

k

&gt; Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm:1414
&gt; -    OwnPtr&lt;WebCachedFramePlatformData&gt; webPlatformData = adoptPtr(new WebCachedFramePlatformData([m_webFrame-&gt;_private-&gt;webFrameView documentView]));
&gt; -    cachedFrame-&gt;setCachedFramePlatformData(webPlatformData.release());
&gt; +    auto webPlatformData = std::make_unique&lt;WebCachedFramePlatformData&gt;(m_webFrame-&gt;_private-&gt;webFrameView.documentView);
&gt; +    cachedFrame-&gt;setCachedFramePlatformData(std::move(webPlatformData));

I&apos;d get rid of the temporary here, since using it after this point would be an error anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969344</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-17 17:43:02 -0800</bug_when>
    <thetext>Committed r162234: &lt;http://trac.webkit.org/changeset/162234&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221503</attachid>
            <date>2014-01-17 16:01:53 -0800</date>
            <delta_ts>2014-01-17 16:06:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127202-20140117160152.patch</filename>
            <type>text/plain</type>
            <size>15906</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDU2MzUwN2M5ZWJkNGYz
ZTI4NTdhNmEwODBmOTg4NzFiYmRjYjYwNC4uODFiMGY2Y2U3ZjE2MjI3OTRlYWU4ZmVkZDRmZDc4
OWYyZjY3OThhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE0LTAxLTE3ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgQ2xlYW4gdXAgUGFn
ZUNhY2hlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNzIwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaGlzdG9yeS9DYWNoZWRGcmFtZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGcmFtZUJhc2U6On5DYWNoZWRGcmFtZUJhc2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRnJhbWU6OkNhY2hlZEZyYW1lKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZEZyYW1lOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRG
cmFtZTo6c2V0Q2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIGhpc3RvcnkvQ2Fj
aGVkRnJhbWUuaDoKKyAgICAgICAgKiBoaXN0b3J5L0NhY2hlZFBhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUGFnZTo6Q2FjaGVkUGFnZSk6CisgICAgICAgICogaGlzdG9yeS9DYWNo
ZWRQYWdlLmg6CisgICAgICAgICogaGlzdG9yeS9IaXN0b3J5SXRlbS5oOgorICAgICAgICAoV2Vi
Q29yZTo6SGlzdG9yeUl0ZW06OmlzSW5QYWdlQ2FjaGUpOgorICAgICAgICAqIGhpc3RvcnkvUGFn
ZUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6YWRkKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2VDYWNoZTo6dGFrZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6
OnJlbW92ZSk6CisgICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbW1p
dFByb3Zpc2lvbmFsTG9hZCk6CisgICAgICAgICogbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjppbnZhbGlkYXRlQ3VycmVu
dEl0ZW1DYWNoZWRQYWdlKToKKworMjAxNC0wMS0xNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBhbm90aGVyIHVudXNlZCBGcmFtZUxvYWRl
ckNsaWVudCBjYWxsYmFjawogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI3MTkyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAwYWVkZDFlYjI5MDE5OTkxMjM5
ZTY1NThhZWNiYmQwM2Q0MGY2OGZhLi41ZmM3ZWU3ZGFmYmE5YWE5MjFiMzJmZjA3YTliNTIyYjJj
ZjhkYmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTYgQEAKIDIwMTQtMDEtMTcgIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBDbGVhbiB1cCBQ
YWdlQ2FjaGUgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI3MjAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAg
ICAgKFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpzYXZlUGxhdGZvcm1EYXRhVG9DYWNoZWRGcmFtZSk6
CisgICAgICAgIChXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRnJv
bUNhY2hlZEZyYW1lKToKKworMjAxNC0wMS0xNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBhbm90aGVyIHVudXNlZCBGcmFtZUxvYWRlckNs
aWVudCBjYWxsYmFjawogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI3MTkyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYzM4ZjkxODAwM2RhMmZkNDFl
ZWQzMDljYzk4NjQyZWUwYzVhZGY0ZC4uYzUwY2FiNTJmYWRkMWQyMDhhMjNiOWI3YjFiN2JkZjFh
M2RlZWI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEyMSw3ICsxMjEsNyBAQCBfX1pON1dl
YkNvcmUxMUJpdG1hcEltYWdlMTNnZXRDR0ltYWdlUmVmRXYKIF9fWk43V2ViQ29yZTExQml0bWFw
SW1hZ2VDMUVQN0NHSW1hZ2VQTlNfMTNJbWFnZU9ic2VydmVyRQogX19aTjdXZWJDb3JlMTFCaXRt
YXBJbWFnZUMxRVBOU18xM0ltYWdlT2JzZXJ2ZXJFCiBfX1pON1dlYkNvcmUxMUNhY2hlZEZyYW1l
MjNjYWNoZWRGcmFtZVBsYXRmb3JtRGF0YUV2Ci1fX1pON1dlYkNvcmUxMUNhY2hlZEZyYW1lMjZz
ZXRDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YUVOM1dURjEwUGFzc093blB0cklOU18yM0NhY2hlZEZy
YW1lUGxhdGZvcm1EYXRhRUVFCitfX1pON1dlYkNvcmUxMUNhY2hlZEZyYW1lMjZzZXRDYWNoZWRG
cmFtZVBsYXRmb3JtRGF0YUVOU3QzX18xMTB1bmlxdWVfcHRySU5TXzIzQ2FjaGVkRnJhbWVQbGF0
Zm9ybURhdGFFTlMxXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVFRQogX19aTjdXZWJDb3JlMTFGaWxl
Q2hvb3NlcjEwY2hvb3NlRmlsZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTExRmlsZUNo
b29zZXIxMWNob29zZUZpbGVzRVJLTjNXVEY2VmVjdG9ySU5TMV82U3RyaW5nRUxtMEVOUzFfMTVD
cmFzaE9uT3ZlcmZsb3dFRUUKIF9fWk43V2ViQ29yZTExRmlsZUNob29zZXJEMUV2CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZEZyYW1lLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwCmluZGV4IGQ0YTQwMjNkMmYxNDcwNGNkNDQ3ZWUy
NDExYTIyZjUyNDdkNzY2ZmUuLjFmNjE2NzFkNzViMmM2YWNjNzlkMGJjZTIzODdlYTUzNzQ3MjU4
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwCkBAIC02NCwxMyArNjQs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZm5kZWYgTkRFQlVHCi1zdGF0aWMgV1RG
OjpSZWZDb3VudGVkTGVha0NvdW50ZXImIGNhY2hlZEZyYW1lQ291bnRlcigpCi17Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgY291bnRlciwgKCJD
YWNoZWRGcmFtZSIpKTsKLSAgICByZXR1cm4gY291bnRlcjsKLX0KLSNlbmRpZgorREVGSU5FX0RF
QlVHX09OTFlfR0xPQkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBjYWNoZWRGcmFtZUNv
dW50ZXIsICgiQ2FjaGVkRnJhbWUiKSk7CiAKIENhY2hlZEZyYW1lQmFzZTo6Q2FjaGVkRnJhbWVC
YXNlKEZyYW1lJiBmcmFtZSkKICAgICA6IG1fZG9jdW1lbnQoZnJhbWUuZG9jdW1lbnQoKSkKQEAg
LTg4LDcgKzgyLDcgQEAgQ2FjaGVkRnJhbWVCYXNlOjpDYWNoZWRGcmFtZUJhc2UoRnJhbWUmIGZy
YW1lKQogQ2FjaGVkRnJhbWVCYXNlOjp+Q2FjaGVkRnJhbWVCYXNlKCkKIHsKICNpZm5kZWYgTkRF
QlVHCi0gICAgY2FjaGVkRnJhbWVDb3VudGVyKCkuZGVjcmVtZW50KCk7CisgICAgY2FjaGVkRnJh
bWVDb3VudGVyLmRlY3JlbWVudCgpOwogI2VuZGlmCiAgICAgLy8gQ2FjaGVkRnJhbWVzIHNob3Vs
ZCBhbHdheXMgaGF2ZSBoYWQgZGVzdHJveSgpIGNhbGxlZCBieSB0aGVpciBwYXJlbnQgQ2FjaGVk
UGFnZQogICAgIEFTU0VSVCghbV9kb2N1bWVudCk7CkBAIC0xNjIsNyArMTU2LDcgQEAgQ2FjaGVk
RnJhbWU6OkNhY2hlZEZyYW1lKEZyYW1lJiBmcmFtZSkKICAgICA6IENhY2hlZEZyYW1lQmFzZShm
cmFtZSkKIHsKICNpZm5kZWYgTkRFQlVHCi0gICAgY2FjaGVkRnJhbWVDb3VudGVyKCkuaW5jcmVt
ZW50KCk7CisgICAgY2FjaGVkRnJhbWVDb3VudGVyLmluY3JlbWVudCgpOwogI2VuZGlmCiAgICAg
QVNTRVJUKG1fZG9jdW1lbnQpOwogICAgIEFTU0VSVChtX2RvY3VtZW50TG9hZGVyKTsKQEAgLTE3
OSw3ICsxNzMsNyBAQCBDYWNoZWRGcmFtZTo6Q2FjaGVkRnJhbWUoRnJhbWUmIGZyYW1lKQogCiAg
ICAgLy8gQ3JlYXRlIHRoZSBDYWNoZWRGcmFtZXMgZm9yIGFsbCBGcmFtZXMgaW4gdGhlIEZyYW1l
VHJlZS4KICAgICBmb3IgKEZyYW1lKiBjaGlsZCA9IGZyYW1lLnRyZWUoKS5maXJzdENoaWxkKCk7
IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCkubmV4dFNpYmxpbmcoKSkKLSAgICAgICAgbV9j
aGlsZEZyYW1lcy5hcHBlbmQoQ2FjaGVkRnJhbWU6OmNyZWF0ZSgqY2hpbGQpKTsKKyAgICAgICAg
bV9jaGlsZEZyYW1lcy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxDYWNoZWRGcmFtZT4oKmNoaWxk
KSk7CiAKICAgICAvLyBBY3RpdmUgRE9NIG9iamVjdHMgbXVzdCBiZSBzdXNwZW5kZWQgYmVmb3Jl
IHdlIGNhY2hlIHRoZSBmcmFtZSBzY3JpcHQgZGF0YSwKICAgICAvLyBidXQgYWZ0ZXIgd2UndmUg
ZmlyZWQgdGhlIHBhZ2VoaWRlIGV2ZW50LCBpbiBjYXNlIHRoYXQgY3JlYXRlcyBtb3JlIG9iamVj
dHMuCkBAIC0xODgsNyArMTgyLDcgQEAgQ2FjaGVkRnJhbWU6OkNhY2hlZEZyYW1lKEZyYW1lJiBm
cmFtZSkKICAgICBtX2RvY3VtZW50LT5kb2N1bWVudFdpbGxTdXNwZW5kRm9yUGFnZUNhY2hlKCk7
CiAgICAgbV9kb2N1bWVudC0+c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlckNhbGxi
YWNrcygpOwogICAgIG1fZG9jdW1lbnQtPnN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURP
TU9iamVjdDo6RG9jdW1lbnRXaWxsQmVjb21lSW5hY3RpdmUpOwotICAgIG1fY2FjaGVkRnJhbWVT
Y3JpcHREYXRhID0gYWRvcHRQdHIobmV3IFNjcmlwdENhY2hlZEZyYW1lRGF0YShmcmFtZSkpOwor
ICAgIG1fY2FjaGVkRnJhbWVTY3JpcHREYXRhID0gc3RkOjptYWtlX3VuaXF1ZTxTY3JpcHRDYWNo
ZWRGcmFtZURhdGE+KGZyYW1lKTsKIAogICAgIG1fZG9jdW1lbnQtPmRvbVdpbmRvdygpLT5zdXNw
ZW5kRm9yUGFnZUNhY2hlKCk7CiAKQEAgLTI1NiwxMyArMjUwLDEzIEBAIHZvaWQgQ2FjaGVkRnJh
bWU6OmNsZWFyKCkKICAgICBmb3IgKGludCBpID0gbV9jaGlsZEZyYW1lcy5zaXplKCkgLSAxOyBp
ID49IDA7IC0taSkKICAgICAgICAgbV9jaGlsZEZyYW1lc1tpXS0+Y2xlYXIoKTsKIAotICAgIG1f
ZG9jdW1lbnQgPSAwOwotICAgIG1fdmlldyA9IDA7Ci0gICAgbV9tb3VzZVByZXNzTm9kZSA9IDA7
CisgICAgbV9kb2N1bWVudCA9IG51bGxwdHI7CisgICAgbV92aWV3ID0gbnVsbHB0cjsKKyAgICBt
X21vdXNlUHJlc3NOb2RlID0gbnVsbHB0cjsKICAgICBtX3VybCA9IFVSTCgpOwogCi0gICAgbV9j
YWNoZWRGcmFtZVBsYXRmb3JtRGF0YS5jbGVhcigpOwotICAgIG1fY2FjaGVkRnJhbWVTY3JpcHRE
YXRhLmNsZWFyKCk7CisgICAgbV9jYWNoZWRGcmFtZVBsYXRmb3JtRGF0YSA9IG51bGxwdHI7Cisg
ICAgbV9jYWNoZWRGcmFtZVNjcmlwdERhdGEgPSBudWxscHRyOwogfQogCiB2b2lkIENhY2hlZEZy
YW1lOjpkZXN0cm95KCkKQEAgLTMwMCw5ICsyOTQsOSBAQCB2b2lkIENhY2hlZEZyYW1lOjpkZXN0
cm95KCkKICAgICBjbGVhcigpOwogfQogCi12b2lkIENhY2hlZEZyYW1lOjpzZXRDYWNoZWRGcmFt
ZVBsYXRmb3JtRGF0YShQYXNzT3duUHRyPENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhPiBkYXRhKQor
dm9pZCBDYWNoZWRGcmFtZTo6c2V0Q2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEoc3RkOjp1bmlxdWVf
cHRyPENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhPiBkYXRhKQogewotICAgIG1fY2FjaGVkRnJhbWVQ
bGF0Zm9ybURhdGEgPSBkYXRhOworICAgIG1fY2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEgPSBzdGQ6
Om1vdmUoZGF0YSk7CiB9CiAKIENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKiBDYWNoZWRGcmFtZTo6
Y2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9DYWNoZWRGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5o
CmluZGV4IDM4NjRjYTQ3MmJiYzc3ODAxYzRjYjhiMzgyMDQxOGRlZTA0NGYzNDMuLmU5ZjM2N2Ji
ZDQyZjUzODRjMDI4MjkzOGJiNzA1ODJlN2IyMGZkZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0Nh
Y2hlZEZyYW1lLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNp
bmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCIKLSNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNTksMjUgKzU4LDI1IEBAIHByb3RlY3RlZDoKICAgICBSZWZQdHI8
RnJhbWVWaWV3PiBtX3ZpZXc7CiAgICAgUmVmUHRyPE5vZGU+IG1fbW91c2VQcmVzc05vZGU7CiAg
ICAgVVJMIG1fdXJsOwotICAgIE93blB0cjxTY3JpcHRDYWNoZWRGcmFtZURhdGE+IG1fY2FjaGVk
RnJhbWVTY3JpcHREYXRhOwotICAgIE93blB0cjxDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YT4gbV9j
YWNoZWRGcmFtZVBsYXRmb3JtRGF0YTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U2NyaXB0Q2FjaGVk
RnJhbWVEYXRhPiBtX2NhY2hlZEZyYW1lU2NyaXB0RGF0YTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
Q2FjaGVkRnJhbWVQbGF0Zm9ybURhdGE+IG1fY2FjaGVkRnJhbWVQbGF0Zm9ybURhdGE7CiAgICAg
Ym9vbCBtX2lzTWFpbkZyYW1lOwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAg
ICBib29sIG1faXNDb21wb3NpdGVkOwogI2VuZGlmCiAgICAgCi0gICAgVmVjdG9yPE93blB0cjxD
YWNoZWRGcmFtZT4+IG1fY2hpbGRGcmFtZXM7CisgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxD
YWNoZWRGcmFtZT4+IG1fY2hpbGRGcmFtZXM7CiB9OwogCiBjbGFzcyBDYWNoZWRGcmFtZSA6IHBy
aXZhdGUgQ2FjaGVkRnJhbWVCYXNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxD
YWNoZWRGcmFtZT4gY3JlYXRlKEZyYW1lJiBmcmFtZSkgeyByZXR1cm4gYWRvcHRQdHIobmV3IENh
Y2hlZEZyYW1lKGZyYW1lKSk7IH0KKyAgICBleHBsaWNpdCBDYWNoZWRGcmFtZShGcmFtZSYpOwog
CiAgICAgdm9pZCBvcGVuKCk7CiAgICAgdm9pZCBjbGVhcigpOwogICAgIHZvaWQgZGVzdHJveSgp
OwogCi0gICAgdm9pZCBzZXRDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YShQYXNzT3duUHRyPENhY2hl
ZEZyYW1lUGxhdGZvcm1EYXRhPik7CisgICAgdm9pZCBzZXRDYWNoZWRGcmFtZVBsYXRmb3JtRGF0
YShzdGQ6OnVuaXF1ZV9wdHI8Q2FjaGVkRnJhbWVQbGF0Zm9ybURhdGE+KTsKICAgICBDYWNoZWRG
cmFtZVBsYXRmb3JtRGF0YSogY2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEoKTsKIAogICAgIHVzaW5n
IENhY2hlZEZyYW1lQmFzZTo6ZG9jdW1lbnQ7CkBAIC04Nyw5ICs4Niw2IEBAIHB1YmxpYzoKICAg
ICBOb2RlKiBtb3VzZVByZXNzTm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW91c2VQcmVzc05vZGUu
Z2V0KCk7IH0KIAogICAgIGludCBkZXNjZW5kYW50RnJhbWVDb3VudCgpIGNvbnN0OwotCi1wcml2
YXRlOgotICAgIGV4cGxpY2l0IENhY2hlZEZyYW1lKEZyYW1lJik7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBh
Z2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNwcAppbmRleCA0MTBi
OTFiZTQxZjZlNTFhODk5MjE2MmI2ZDY0OWI4ZDkxNTg2ZmZjLi5jYWQxODQ5N2ViMjI1YzdjMTMy
MzNmNmYxNWVhY2EzMTQyZTMzZjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5
L0NhY2hlZFBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5j
cHAKQEAgLTQ5LDE1ICs0OSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIERFRklORV9ERUJV
R19PTkxZX0dMT0JBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgY2FjaGVkUGFnZUNvdW50
ZXIsICgiQ2FjaGVkUGFnZSIpKTsKIAotUGFzc093blB0cjxDYWNoZWRQYWdlPiBDYWNoZWRQYWdl
OjpjcmVhdGUoUGFnZSYgcGFnZSkKLXsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IENhY2hlZFBh
Z2UocGFnZSkpOwotfQotCiBDYWNoZWRQYWdlOjpDYWNoZWRQYWdlKFBhZ2UmIHBhZ2UpCiAgICAg
OiBtX3RpbWVTdGFtcChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKICAgICAsIG1fZXhw
aXJhdGlvblRpbWUobV90aW1lU3RhbXAgKyBwYWdlLnNldHRpbmdzKCkuYmFja0ZvcndhcmRDYWNo
ZUV4cGlyYXRpb25JbnRlcnZhbCgpKQotICAgICwgbV9jYWNoZWRNYWluRnJhbWUoQ2FjaGVkRnJh
bWU6OmNyZWF0ZShwYWdlLm1haW5GcmFtZSgpKSkKKyAgICAsIG1fY2FjaGVkTWFpbkZyYW1lKHN0
ZDo6bWFrZV91bmlxdWU8Q2FjaGVkRnJhbWU+KHBhZ2UubWFpbkZyYW1lKCkpKQogICAgICwgbV9u
ZWVkU3R5bGVSZWNhbGNGb3JWaXNpdGVkTGlua3MoZmFsc2UpCiAgICAgLCBtX25lZWRzRnVsbFN0
eWxlUmVjYWxjKGZhbHNlKQogICAgICwgbV9uZWVkc0NhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWQo
ZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5oCmluZGV4IGQ4ZmIzZTBlYjA3YmNm
MDY1NGQ5NzIyZjFhZmEyZWU4MmYxNmUzMWMuLmJiODNlMGZmZjg4MTAwZmYyMDBhYTE2NjcxNDdm
NTRlN2U0NzU3ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5oCkBAIC0zNiw3ICsz
Niw3IEBAIGNsYXNzIFBhZ2U7CiAKIGNsYXNzIENhY2hlZFBhZ2UgewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzT3duUHRyPENhY2hlZFBhZ2U+IGNyZWF0ZShQYWdlJik7CisgICAgZXhwbGljaXQg
Q2FjaGVkUGFnZShQYWdlJik7CiAgICAgfkNhY2hlZFBhZ2UoKTsKIAogICAgIHZvaWQgcmVzdG9y
ZShQYWdlJik7CkBAIC02MSwxMiArNjEsMTEgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6
Ci0gICAgZXhwbGljaXQgQ2FjaGVkUGFnZShQYWdlJik7CiAgICAgdm9pZCBkZXN0cm95KCk7CiAK
ICAgICBkb3VibGUgbV90aW1lU3RhbXA7CiAgICAgZG91YmxlIG1fZXhwaXJhdGlvblRpbWU7Ci0g
ICAgT3duUHRyPENhY2hlZEZyYW1lPiBtX2NhY2hlZE1haW5GcmFtZTsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8Q2FjaGVkRnJhbWU+IG1fY2FjaGVkTWFpbkZyYW1lOwogICAgIGJvb2wgbV9uZWVkU3R5
bGVSZWNhbGNGb3JWaXNpdGVkTGlua3M7CiAgICAgYm9vbCBtX25lZWRzRnVsbFN0eWxlUmVjYWxj
OwogICAgIGJvb2wgbV9uZWVkc0NhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9o
aXN0b3J5L0hpc3RvcnlJdGVtLmgKaW5kZXggOGVkYjY3MTU1NjI0MmUyZDNhN2MxMzVjMjQ1MGFl
Y2UwYTI5MmEzYS4uNTFmYzBkMWQyMjZkZDg4OTQ2ZjY4MTE1NmExMjE2MDNjOTY2ZjQyMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uaApAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6
CiAgICAgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcoKSBjb25zdDsKICAgICBjb25zdCBTdHJpbmcm
IHRpdGxlKCkgY29uc3Q7CiAgICAgCi0gICAgYm9vbCBpc0luUGFnZUNhY2hlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jYWNoZWRQYWdlOyB9CisgICAgYm9vbCBpc0luUGFnZUNhY2hlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jYWNoZWRQYWdlLmdldCgpOyB9CiAgICAgYm9vbCBoYXNDYWNoZWRQYWdlRXhwaXJl
ZCgpIGNvbnN0OwogICAgIAogICAgIGRvdWJsZSBsYXN0VmlzaXRlZFRpbWUoKSBjb25zdDsKQEAg
LTI4Nyw3ICsyODcsNyBAQCBwcml2YXRlOgogICAgIC8vIFBhZ2VDYWNoZSBjb250cm9scyB0aGVz
ZSBmaWVsZHMuCiAgICAgSGlzdG9yeUl0ZW0qIG1fbmV4dDsKICAgICBIaXN0b3J5SXRlbSogbV9w
cmV2OwotICAgIE93blB0cjxDYWNoZWRQYWdlPiBtX2NhY2hlZFBhZ2U7CisgICAgc3RkOjp1bmlx
dWVfcHRyPENhY2hlZFBhZ2U+IG1fY2FjaGVkUGFnZTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAg
ICBmbG9hdCBtX3NjYWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdl
Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCmluZGV4IDdj
NjU1ODc0OWI5NGUyM2UwNWFmN2IyNzliOGU4MTg0ZjZlNTcyZWMuLjFlOGYyMDgyNjcyNTE4OWE5
M2I2Zjk0NWIyY2YwMDRhNDYyZWE4NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rv
cnkvUGFnZUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5j
cHAKQEAgLTQ3MiwxOSArNDcyLDE5IEBAIHZvaWQgUGFnZUNhY2hlOjphZGQoUGFzc1JlZlB0cjxI
aXN0b3J5SXRlbT4gcHJwSXRlbSwgUGFnZSYgcGFnZSkKICAgICBpZiAoaXRlbS0+bV9jYWNoZWRQ
YWdlKQogICAgICAgICByZW1vdmUoaXRlbSk7CiAKLSAgICBpdGVtLT5tX2NhY2hlZFBhZ2UgPSBD
YWNoZWRQYWdlOjpjcmVhdGUocGFnZSk7CisgICAgaXRlbS0+bV9jYWNoZWRQYWdlID0gc3RkOjpt
YWtlX3VuaXF1ZTxDYWNoZWRQYWdlPihwYWdlKTsKICAgICBhZGRUb0xSVUxpc3QoaXRlbSk7CiAg
ICAgKyttX3NpemU7CiAgICAgCiAgICAgcHJ1bmUoKTsKIH0KIAotUGFzc093blB0cjxDYWNoZWRQ
YWdlPiBQYWdlQ2FjaGU6OnRha2UoSGlzdG9yeUl0ZW0qIGl0ZW0pCitzdGQ6OnVuaXF1ZV9wdHI8
Q2FjaGVkUGFnZT4gUGFnZUNhY2hlOjp0YWtlKEhpc3RvcnlJdGVtKiBpdGVtKQogewogICAgIGlm
ICghaXRlbSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBPd25QdHI8Q2FjaGVkUGFn
ZT4gY2FjaGVkUGFnZSA9IGl0ZW0tPm1fY2FjaGVkUGFnZS5yZWxlYXNlKCk7CisgICAgc3RkOjp1
bmlxdWVfcHRyPENhY2hlZFBhZ2U+IGNhY2hlZFBhZ2UgPSBzdGQ6Om1vdmUoaXRlbS0+bV9jYWNo
ZWRQYWdlKTsKIAogICAgIHJlbW92ZUZyb21MUlVMaXN0KGl0ZW0pOwogICAgIC0tbV9zaXplOwpA
QCAtNDk5LDcgKzQ5OSw3IEBAIFBhc3NPd25QdHI8Q2FjaGVkUGFnZT4gUGFnZUNhY2hlOjp0YWtl
KEhpc3RvcnlJdGVtKiBpdGVtKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAg
ICByZXR1cm4gY2FjaGVkUGFnZS5yZWxlYXNlKCk7CisgICAgcmV0dXJuIGNhY2hlZFBhZ2U7CiB9
CiAKIENhY2hlZFBhZ2UqIFBhZ2VDYWNoZTo6Z2V0KEhpc3RvcnlJdGVtKiBpdGVtKQpAQCAtNTIz
LDcgKzUyMyw3IEBAIHZvaWQgUGFnZUNhY2hlOjpyZW1vdmUoSGlzdG9yeUl0ZW0qIGl0ZW0pCiAg
ICAgaWYgKCFpdGVtIHx8ICFpdGVtLT5tX2NhY2hlZFBhZ2UpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIGl0ZW0tPm1fY2FjaGVkUGFnZS5jbGVhcigpOworICAgIGl0ZW0tPm1fY2FjaGVkUGFnZSA9
IG51bGxwdHI7CiAgICAgcmVtb3ZlRnJvbUxSVUxpc3QoaXRlbSk7CiAgICAgLS1tX3NpemU7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCmluZGV4IDM0Nzc3MmRjZThhMTkzOWVmYWY1ZjM2
ZDA2ZmI4OTVmZDY3YjVjZjkuLmViYWIxMGMxZWNjYTBhM2MyMTVhODkzYTM4ZWFhYzNhMTI5MTMz
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaApAQCAtNTEsNyArNTEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgYWRkKFBhc3NSZWZQdHI8SGlzdG9yeUl0ZW0+
LCBQYWdlJik7IC8vIFBydW5lcyBpZiBjYXBhY2l0eSgpIGlzIGV4Y2VlZGVkLgogICAgICAgICB2
b2lkIHJlbW92ZShIaXN0b3J5SXRlbSopOwogICAgICAgICBDYWNoZWRQYWdlKiBnZXQoSGlzdG9y
eUl0ZW0qIGl0ZW0pOwotICAgICAgICBQYXNzT3duUHRyPENhY2hlZFBhZ2U+IHRha2UoSGlzdG9y
eUl0ZW0qKTsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPENhY2hlZFBhZ2U+IHRha2UoSGlzdG9y
eUl0ZW0qKTsKIAogICAgICAgICBpbnQgcGFnZUNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9zaXpl
OyB9CiAgICAgICAgIGludCBmcmFtZUNvdW50KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAppbmRleCBlYzI4ZDg3YTU4Y2Q4OTVmZTUzY2Y1NTYzNjdkYzViNzljYzM4
NjYxLi4yYmQyMGI5NzFlYTBiMmVhODJlYjM0ZWU4YWNmY2ZiZDdmNWQ1NzRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTE3NzIsNyArMTc3Miw3IEBAIHZvaWQgRnJh
bWVMb2FkZXI6OmNvbW1pdFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgUmVmUHRyPERvY3VtZW50TG9h
ZGVyPiBwZGwgPSBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXI7CiAgICAgUmVmPEZyYW1lPiBw
cm90ZWN0KG1fZnJhbWUpOwogCi0gICAgT3duUHRyPENhY2hlZFBhZ2U+IGNhY2hlZFBhZ2U7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPENhY2hlZFBhZ2U+IGNhY2hlZFBhZ2U7CiAgICAgaWYgKG1fbG9h
ZGluZ0Zyb21DYWNoZWRQYWdlKQogICAgICAgICBjYWNoZWRQYWdlID0gcGFnZUNhY2hlKCktPnRh
a2UoaGlzdG9yeSgpLnByb3Zpc2lvbmFsSXRlbSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9IaXN0b3J5Q29udHJvbGxlci5jcHAKaW5kZXggYWY4NjRmZWM1ODAyZDMyN2VlNDA4YjM1MDNi
NjlhNjNkODYzYThjZS4uMmQ2OWMwYzcyYTg0ZDFkOTI1YWMwYjM0ODEyZTMwNjhlZjI5YjcyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCkBAIC0yMzEs
NyArMjMxLDcgQEAgdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6aW52YWxpZGF0ZUN1cnJlbnRJdGVt
Q2FjaGVkUGFnZSgpCiAgICAgaWYgKCFwYWdlQ2FjaGUoKS0+Z2V0KGN1cnJlbnRJdGVtKCkpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBPd25QdHI8Q2FjaGVkUGFnZT4gY2FjaGVkUGFnZSA9IHBh
Z2VDYWNoZSgpLT50YWtlKGN1cnJlbnRJdGVtKCkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWNo
ZWRQYWdlPiBjYWNoZWRQYWdlID0gcGFnZUNhY2hlKCktPnRha2UoY3VycmVudEl0ZW0oKSk7CiAK
ICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIGdyb3Rlc3F1ZSBoYWNrIHRvIGZpeCA8cmRhcjovL3By
b2JsZW0vNDA1OTA1OT4gQ3Jhc2ggaW4gUmVuZGVyRmxvdzo6ZGV0YWNoCiAgICAgLy8gU29tZWhv
dyB0aGUgUGFnZVN0YXRlIG9iamVjdCBpcyBub3QgcHJvcGVybHkgdXBkYXRlZCwgYW5kIGlzIGhv
bGRpbmcgb250byBhIHN0YWxlIGRvY3VtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQppbmRleCAwODdmNmEz
N2JhNWFhYTI4Yzc1YTA5ODY0ZDRlNTA3ZTg5OWJlMzhiLi5lZjEyYjk2MGY0MDZlZjkwODQ0MWFi
NGQzMTc4ZDlmMmU1M2FhNmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMTQxMCw4ICsxNDEwLDgg
QEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6c2V0VGl0bGUoY29uc3QgU3RyaW5nV2l0aERp
cmVjdGlvbiYgdGl0bGUsIGNvbnN0IFVSTCYKIAogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6
c2F2ZVBsYXRmb3JtRGF0YVRvQ2FjaGVkRnJhbWUoQ2FjaGVkRnJhbWUqIGNhY2hlZEZyYW1lKQog
ewotICAgIE93blB0cjxXZWJDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YT4gd2ViUGxhdGZvcm1EYXRh
ID0gYWRvcHRQdHIobmV3IFdlYkNhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKFttX3dlYkZyYW1lLT5f
cHJpdmF0ZS0+d2ViRnJhbWVWaWV3IGRvY3VtZW50Vmlld10pKTsKLSAgICBjYWNoZWRGcmFtZS0+
c2V0Q2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEod2ViUGxhdGZvcm1EYXRhLnJlbGVhc2UoKSk7Cisg
ICAgYXV0byB3ZWJQbGF0Zm9ybURhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYkNhY2hlZEZyYW1l
UGxhdGZvcm1EYXRhPihtX3dlYkZyYW1lLT5fcHJpdmF0ZS0+d2ViRnJhbWVWaWV3LmRvY3VtZW50
Vmlldyk7CisgICAgY2FjaGVkRnJhbWUtPnNldENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKHN0ZDo6
bW92ZSh3ZWJQbGF0Zm9ybURhdGEpKTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICAvLyBBdCB0
aGlzIHBvaW50IHdlIGtub3cgdGhpcyBmcmFtZSBpcyBnb2luZyB0byBiZSBjYWNoZWQuIFN0b3Ag
YWxsIHBsdWdpbnMuCkBAIC0xNDIyLDcgKzE0MjIsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xp
ZW50OjpzYXZlUGxhdGZvcm1EYXRhVG9DYWNoZWRGcmFtZShDYWNoZWRGcmFtZSogY2FjaGVkRnJh
bQogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGcm9t
Q2FjaGVkRnJhbWUoQ2FjaGVkRnJhbWUqIGNhY2hlZEZyYW1lKQogewotICAgIFdlYkNhY2hlZEZy
YW1lUGxhdGZvcm1EYXRhKiBwbGF0Zm9ybURhdGEgPSByZWludGVycHJldF9jYXN0PFdlYkNhY2hl
ZEZyYW1lUGxhdGZvcm1EYXRhKj4oY2FjaGVkRnJhbWUtPmNhY2hlZEZyYW1lUGxhdGZvcm1EYXRh
KCkpOworICAgIFdlYkNhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKiBwbGF0Zm9ybURhdGEgPSBzdGF0
aWNfY2FzdDxXZWJDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YSo+KGNhY2hlZEZyYW1lLT5jYWNoZWRG
cmFtZVBsYXRmb3JtRGF0YSgpKTsKICAgICBOU1ZpZXcgPFdlYkRvY3VtZW50Vmlldz4gKmNhY2hl
ZFZpZXcgPSBwbGF0Zm9ybURhdGEtPndlYkRvY3VtZW50VmlldygpOwogICAgIEFTU0VSVChjYWNo
ZWRWaWV3ICE9IG5pbCk7CiAgICAgQVNTRVJUKGNhY2hlZEZyYW1lLT5kb2N1bWVudExvYWRlcigp
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221506</attachid>
            <date>2014-01-17 16:06:09 -0800</date>
            <delta_ts>2014-01-17 16:16:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127202-20140117160608.patch</filename>
            <type>text/plain</type>
            <size>17567</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDU2MzUwN2M5ZWJkNGYz
ZTI4NTdhNmEwODBmOTg4NzFiYmRjYjYwNC4uODFiMGY2Y2U3ZjE2MjI3OTRlYWU4ZmVkZDRmZDc4
OWYyZjY3OThhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE0LTAxLTE3ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgQ2xlYW4gdXAgUGFn
ZUNhY2hlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNzIwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaGlzdG9yeS9DYWNoZWRGcmFtZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGcmFtZUJhc2U6On5DYWNoZWRGcmFtZUJhc2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRnJhbWU6OkNhY2hlZEZyYW1lKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZEZyYW1lOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRG
cmFtZTo6c2V0Q2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIGhpc3RvcnkvQ2Fj
aGVkRnJhbWUuaDoKKyAgICAgICAgKiBoaXN0b3J5L0NhY2hlZFBhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUGFnZTo6Q2FjaGVkUGFnZSk6CisgICAgICAgICogaGlzdG9yeS9DYWNo
ZWRQYWdlLmg6CisgICAgICAgICogaGlzdG9yeS9IaXN0b3J5SXRlbS5oOgorICAgICAgICAoV2Vi
Q29yZTo6SGlzdG9yeUl0ZW06OmlzSW5QYWdlQ2FjaGUpOgorICAgICAgICAqIGhpc3RvcnkvUGFn
ZUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6YWRkKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2VDYWNoZTo6dGFrZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6
OnJlbW92ZSk6CisgICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbW1p
dFByb3Zpc2lvbmFsTG9hZCk6CisgICAgICAgICogbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjppbnZhbGlkYXRlQ3VycmVu
dEl0ZW1DYWNoZWRQYWdlKToKKworMjAxNC0wMS0xNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBhbm90aGVyIHVudXNlZCBGcmFtZUxvYWRl
ckNsaWVudCBjYWxsYmFjawogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI3MTkyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAwYWVkZDFlYjI5MDE5OTkxMjM5
ZTY1NThhZWNiYmQwM2Q0MGY2OGZhLi41ZmM3ZWU3ZGFmYmE5YWE5MjFiMzJmZjA3YTliNTIyYjJj
ZjhkYmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTYgQEAKIDIwMTQtMDEtMTcgIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBDbGVhbiB1cCBQ
YWdlQ2FjaGUgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI3MjAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAg
ICAgKFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpzYXZlUGxhdGZvcm1EYXRhVG9DYWNoZWRGcmFtZSk6
CisgICAgICAgIChXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRnJv
bUNhY2hlZEZyYW1lKToKKworMjAxNC0wMS0xNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBhbm90aGVyIHVudXNlZCBGcmFtZUxvYWRlckNs
aWVudCBjYWxsYmFjawogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI3MTkyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA3NDA4NmZlN2IzZTA4YjlkZDVlMDc4
YjE2N2Y4YTQ5YWU5ZTMwMTY3Li4xODg1YWFiMTg4M2M3MGNkZjI1M2NiMTU1NGVmY2Q1OWI1NTZh
OWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTQtMDEtMTcgIEFuZGVy
cyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBDbGVhbiB1cCBQYWdl
Q2FjaGUgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI3MjAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAg
IChXZWJGcmFtZUxvYWRlckNsaWVudDo6c2F2ZVBsYXRmb3JtRGF0YVRvQ2FjaGVkRnJhbWUpOgor
CisyMDE0LTAxLTE3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAg
ICAgICAgUmVtb3ZlIGFub3RoZXIgdW51c2VkIEZyYW1lTG9hZGVyQ2xpZW50IGNhbGxiYWNrCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjcxOTIKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgppbmRleCBjMzhmOTE4MDAzZGEyZmQ0MWVlZDMwOWNjOTg2NDJlZTBj
NWFkZjRkLi5jNTBjYWI1MmZhZGQxZDIwOGEyM2I5YjdiMWI3YmRmMWEzZGVlYjZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgpAQCAtMTIxLDcgKzEyMSw3IEBAIF9fWk43V2ViQ29yZTExQml0bWFwSW1h
Z2UxM2dldENHSW1hZ2VSZWZFdgogX19aTjdXZWJDb3JlMTFCaXRtYXBJbWFnZUMxRVA3Q0dJbWFn
ZVBOU18xM0ltYWdlT2JzZXJ2ZXJFCiBfX1pON1dlYkNvcmUxMUJpdG1hcEltYWdlQzFFUE5TXzEz
SW1hZ2VPYnNlcnZlckUKIF9fWk43V2ViQ29yZTExQ2FjaGVkRnJhbWUyM2NhY2hlZEZyYW1lUGxh
dGZvcm1EYXRhRXYKLV9fWk43V2ViQ29yZTExQ2FjaGVkRnJhbWUyNnNldENhY2hlZEZyYW1lUGxh
dGZvcm1EYXRhRU4zV1RGMTBQYXNzT3duUHRySU5TXzIzQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGFF
RUUKK19fWk43V2ViQ29yZTExQ2FjaGVkRnJhbWUyNnNldENhY2hlZEZyYW1lUGxhdGZvcm1EYXRh
RU5TdDNfXzExMHVuaXF1ZV9wdHJJTlNfMjNDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YUVOUzFfMTRk
ZWZhdWx0X2RlbGV0ZUlTM19FRUVFCiBfX1pON1dlYkNvcmUxMUZpbGVDaG9vc2VyMTBjaG9vc2VG
aWxlRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTFGaWxlQ2hvb3NlcjExY2hvb3NlRmls
ZXNFUktOM1dURjZWZWN0b3JJTlMxXzZTdHJpbmdFTG0wRU5TMV8xNUNyYXNoT25PdmVyZmxvd0VF
RQogX19aTjdXZWJDb3JlMTFGaWxlQ2hvb3NlckQxRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNo
ZWRGcmFtZS5jcHAKaW5kZXggZDRhNDAyM2QyZjE0NzA0Y2Q0NDdlZTI0MTFhMjJmNTI0N2Q3NjZm
ZS4uMWY2MTY3MWQ3NWIyYzZhY2M3OWQwYmNlMjM4N2VhNTM3NDcyNTgzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKQEAgLTY0LDEzICs2NCw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotI2lmbmRlZiBOREVCVUcKLXN0YXRpYyBXVEY6OlJlZkNvdW50ZWRMZWFr
Q291bnRlciYgY2FjaGVkRnJhbWVDb3VudGVyKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBjb3VudGVyLCAoIkNhY2hlZEZyYW1lIikpOwot
ICAgIHJldHVybiBjb3VudGVyOwotfQotI2VuZGlmCitERUZJTkVfREVCVUdfT05MWV9HTE9CQUwo
V1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIsIGNhY2hlZEZyYW1lQ291bnRlciwgKCJDYWNoZWRG
cmFtZSIpKTsKIAogQ2FjaGVkRnJhbWVCYXNlOjpDYWNoZWRGcmFtZUJhc2UoRnJhbWUmIGZyYW1l
KQogICAgIDogbV9kb2N1bWVudChmcmFtZS5kb2N1bWVudCgpKQpAQCAtODgsNyArODIsNyBAQCBD
YWNoZWRGcmFtZUJhc2U6OkNhY2hlZEZyYW1lQmFzZShGcmFtZSYgZnJhbWUpCiBDYWNoZWRGcmFt
ZUJhc2U6On5DYWNoZWRGcmFtZUJhc2UoKQogewogI2lmbmRlZiBOREVCVUcKLSAgICBjYWNoZWRG
cmFtZUNvdW50ZXIoKS5kZWNyZW1lbnQoKTsKKyAgICBjYWNoZWRGcmFtZUNvdW50ZXIuZGVjcmVt
ZW50KCk7CiAjZW5kaWYKICAgICAvLyBDYWNoZWRGcmFtZXMgc2hvdWxkIGFsd2F5cyBoYXZlIGhh
ZCBkZXN0cm95KCkgY2FsbGVkIGJ5IHRoZWlyIHBhcmVudCBDYWNoZWRQYWdlCiAgICAgQVNTRVJU
KCFtX2RvY3VtZW50KTsKQEAgLTE2Miw3ICsxNTYsNyBAQCBDYWNoZWRGcmFtZTo6Q2FjaGVkRnJh
bWUoRnJhbWUmIGZyYW1lKQogICAgIDogQ2FjaGVkRnJhbWVCYXNlKGZyYW1lKQogewogI2lmbmRl
ZiBOREVCVUcKLSAgICBjYWNoZWRGcmFtZUNvdW50ZXIoKS5pbmNyZW1lbnQoKTsKKyAgICBjYWNo
ZWRGcmFtZUNvdW50ZXIuaW5jcmVtZW50KCk7CiAjZW5kaWYKICAgICBBU1NFUlQobV9kb2N1bWVu
dCk7CiAgICAgQVNTRVJUKG1fZG9jdW1lbnRMb2FkZXIpOwpAQCAtMTc5LDcgKzE3Myw3IEBAIENh
Y2hlZEZyYW1lOjpDYWNoZWRGcmFtZShGcmFtZSYgZnJhbWUpCiAKICAgICAvLyBDcmVhdGUgdGhl
IENhY2hlZEZyYW1lcyBmb3IgYWxsIEZyYW1lcyBpbiB0aGUgRnJhbWVUcmVlLgogICAgIGZvciAo
RnJhbWUqIGNoaWxkID0gZnJhbWUudHJlZSgpLmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0g
Y2hpbGQtPnRyZWUoKS5uZXh0U2libGluZygpKQotICAgICAgICBtX2NoaWxkRnJhbWVzLmFwcGVu
ZChDYWNoZWRGcmFtZTo6Y3JlYXRlKCpjaGlsZCkpOworICAgICAgICBtX2NoaWxkRnJhbWVzLmFw
cGVuZChzdGQ6Om1ha2VfdW5pcXVlPENhY2hlZEZyYW1lPigqY2hpbGQpKTsKIAogICAgIC8vIEFj
dGl2ZSBET00gb2JqZWN0cyBtdXN0IGJlIHN1c3BlbmRlZCBiZWZvcmUgd2UgY2FjaGUgdGhlIGZy
YW1lIHNjcmlwdCBkYXRhLAogICAgIC8vIGJ1dCBhZnRlciB3ZSd2ZSBmaXJlZCB0aGUgcGFnZWhp
ZGUgZXZlbnQsIGluIGNhc2UgdGhhdCBjcmVhdGVzIG1vcmUgb2JqZWN0cy4KQEAgLTE4OCw3ICsx
ODIsNyBAQCBDYWNoZWRGcmFtZTo6Q2FjaGVkRnJhbWUoRnJhbWUmIGZyYW1lKQogICAgIG1fZG9j
dW1lbnQtPmRvY3VtZW50V2lsbFN1c3BlbmRGb3JQYWdlQ2FjaGUoKTsKICAgICBtX2RvY3VtZW50
LT5zdXNwZW5kU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CiAgICAgbV9k
b2N1bWVudC0+c3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoQWN0aXZlRE9NT2JqZWN0OjpEb2N1bWVu
dFdpbGxCZWNvbWVJbmFjdGl2ZSk7Ci0gICAgbV9jYWNoZWRGcmFtZVNjcmlwdERhdGEgPSBhZG9w
dFB0cihuZXcgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKGZyYW1lKSk7CisgICAgbV9jYWNoZWRGcmFt
ZVNjcmlwdERhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPFNjcmlwdENhY2hlZEZyYW1lRGF0YT4oZnJh
bWUpOwogCiAgICAgbV9kb2N1bWVudC0+ZG9tV2luZG93KCktPnN1c3BlbmRGb3JQYWdlQ2FjaGUo
KTsKIApAQCAtMjU2LDEzICsyNTAsMTMgQEAgdm9pZCBDYWNoZWRGcmFtZTo6Y2xlYXIoKQogICAg
IGZvciAoaW50IGkgPSBtX2NoaWxkRnJhbWVzLnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKQogICAg
ICAgICBtX2NoaWxkRnJhbWVzW2ldLT5jbGVhcigpOwogCi0gICAgbV9kb2N1bWVudCA9IDA7Ci0g
ICAgbV92aWV3ID0gMDsKLSAgICBtX21vdXNlUHJlc3NOb2RlID0gMDsKKyAgICBtX2RvY3VtZW50
ID0gbnVsbHB0cjsKKyAgICBtX3ZpZXcgPSBudWxscHRyOworICAgIG1fbW91c2VQcmVzc05vZGUg
PSBudWxscHRyOwogICAgIG1fdXJsID0gVVJMKCk7CiAKLSAgICBtX2NhY2hlZEZyYW1lUGxhdGZv
cm1EYXRhLmNsZWFyKCk7Ci0gICAgbV9jYWNoZWRGcmFtZVNjcmlwdERhdGEuY2xlYXIoKTsKKyAg
ICBtX2NhY2hlZEZyYW1lUGxhdGZvcm1EYXRhID0gbnVsbHB0cjsKKyAgICBtX2NhY2hlZEZyYW1l
U2NyaXB0RGF0YSA9IG51bGxwdHI7CiB9CiAKIHZvaWQgQ2FjaGVkRnJhbWU6OmRlc3Ryb3koKQpA
QCAtMzAwLDkgKzI5NCw5IEBAIHZvaWQgQ2FjaGVkRnJhbWU6OmRlc3Ryb3koKQogICAgIGNsZWFy
KCk7CiB9CiAKLXZvaWQgQ2FjaGVkRnJhbWU6OnNldENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKFBh
c3NPd25QdHI8Q2FjaGVkRnJhbWVQbGF0Zm9ybURhdGE+IGRhdGEpCit2b2lkIENhY2hlZEZyYW1l
OjpzZXRDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YShzdGQ6OnVuaXF1ZV9wdHI8Q2FjaGVkRnJhbWVQ
bGF0Zm9ybURhdGE+IGRhdGEpCiB7Ci0gICAgbV9jYWNoZWRGcmFtZVBsYXRmb3JtRGF0YSA9IGRh
dGE7CisgICAgbV9jYWNoZWRGcmFtZVBsYXRmb3JtRGF0YSA9IHN0ZDo6bW92ZShkYXRhKTsKIH0K
IAogQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEqIENhY2hlZEZyYW1lOjpjYWNoZWRGcmFtZVBsYXRm
b3JtRGF0YSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZEZyYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZEZyYW1lLmgKaW5kZXggMzg2NGNhNDcy
YmJjNzc4MDFjNGNiOGIzODIwNDE4ZGVlMDQ0ZjM0My4uZTlmMzY3YmJkNDJmNTM4NGMwMjgyOTM4
YmI3MDU4MmU3YjIwZmRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNo
ZWRGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuaApAQCAt
MjksNyArMjksNiBAQAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIlVSTC5oIgog
I2luY2x1ZGUgIlNjcmlwdENhY2hlZEZyYW1lRGF0YS5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01OSwyNSArNTgsMjUgQEAgcHJvdGVjdGVkOgogICAgIFJlZlB0cjxGcmFtZVZpZXc+IG1fdmll
dzsKICAgICBSZWZQdHI8Tm9kZT4gbV9tb3VzZVByZXNzTm9kZTsKICAgICBVUkwgbV91cmw7Ci0g
ICAgT3duUHRyPFNjcmlwdENhY2hlZEZyYW1lRGF0YT4gbV9jYWNoZWRGcmFtZVNjcmlwdERhdGE7
Ci0gICAgT3duUHRyPENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhPiBtX2NhY2hlZEZyYW1lUGxhdGZv
cm1EYXRhOworICAgIHN0ZDo6dW5pcXVlX3B0cjxTY3JpcHRDYWNoZWRGcmFtZURhdGE+IG1fY2Fj
aGVkRnJhbWVTY3JpcHREYXRhOworICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWNoZWRGcmFtZVBsYXRm
b3JtRGF0YT4gbV9jYWNoZWRGcmFtZVBsYXRmb3JtRGF0YTsKICAgICBib29sIG1faXNNYWluRnJh
bWU7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGJvb2wgbV9pc0NvbXBv
c2l0ZWQ7CiAjZW5kaWYKICAgICAKLSAgICBWZWN0b3I8T3duUHRyPENhY2hlZEZyYW1lPj4gbV9j
aGlsZEZyYW1lczsKKyAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPENhY2hlZEZyYW1lPj4gbV9j
aGlsZEZyYW1lczsKIH07CiAKIGNsYXNzIENhY2hlZEZyYW1lIDogcHJpdmF0ZSBDYWNoZWRGcmFt
ZUJhc2UgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPENhY2hlZEZyYW1lPiBjcmVh
dGUoRnJhbWUmIGZyYW1lKSB7IHJldHVybiBhZG9wdFB0cihuZXcgQ2FjaGVkRnJhbWUoZnJhbWUp
KTsgfQorICAgIGV4cGxpY2l0IENhY2hlZEZyYW1lKEZyYW1lJik7CiAKICAgICB2b2lkIG9wZW4o
KTsKICAgICB2b2lkIGNsZWFyKCk7CiAgICAgdm9pZCBkZXN0cm95KCk7CiAKLSAgICB2b2lkIHNl
dENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKFBhc3NPd25QdHI8Q2FjaGVkRnJhbWVQbGF0Zm9ybURh
dGE+KTsKKyAgICB2b2lkIHNldENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKHN0ZDo6dW5pcXVlX3B0
cjxDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YT4pOwogICAgIENhY2hlZEZyYW1lUGxhdGZvcm1EYXRh
KiBjYWNoZWRGcmFtZVBsYXRmb3JtRGF0YSgpOwogCiAgICAgdXNpbmcgQ2FjaGVkRnJhbWVCYXNl
Ojpkb2N1bWVudDsKQEAgLTg3LDkgKzg2LDYgQEAgcHVibGljOgogICAgIE5vZGUqIG1vdXNlUHJl
c3NOb2RlKCkgY29uc3QgeyByZXR1cm4gbV9tb3VzZVByZXNzTm9kZS5nZXQoKTsgfQogCiAgICAg
aW50IGRlc2NlbmRhbnRGcmFtZUNvdW50KCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGlj
aXQgQ2FjaGVkRnJhbWUoRnJhbWUmKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuY3BwCmluZGV4IDQxMGI5MWJlNDFmNmU1MWE4OTky
MTYyYjZkNjQ5YjhkOTE1ODZmZmMuLmNhZDE4NDk3ZWIyMjVjN2MxMzIzM2Y2ZjE1ZWFjYTMxNDJl
MzNmOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNwcApAQCAtNDksMTUgKzQ5
LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogREVGSU5FX0RFQlVHX09OTFlfR0xPQkFMKFdU
Rjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBjYWNoZWRQYWdlQ291bnRlciwgKCJDYWNoZWRQYWdl
IikpOwogCi1QYXNzT3duUHRyPENhY2hlZFBhZ2U+IENhY2hlZFBhZ2U6OmNyZWF0ZShQYWdlJiBw
YWdlKQotewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ2FjaGVkUGFnZShwYWdlKSk7Ci19Ci0K
IENhY2hlZFBhZ2U6OkNhY2hlZFBhZ2UoUGFnZSYgcGFnZSkKICAgICA6IG1fdGltZVN0YW1wKG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKQogICAgICwgbV9leHBpcmF0aW9uVGltZShtX3Rp
bWVTdGFtcCArIHBhZ2Uuc2V0dGluZ3MoKS5iYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVy
dmFsKCkpCi0gICAgLCBtX2NhY2hlZE1haW5GcmFtZShDYWNoZWRGcmFtZTo6Y3JlYXRlKHBhZ2Uu
bWFpbkZyYW1lKCkpKQorICAgICwgbV9jYWNoZWRNYWluRnJhbWUoc3RkOjptYWtlX3VuaXF1ZTxD
YWNoZWRGcmFtZT4ocGFnZS5tYWluRnJhbWUoKSkpCiAgICAgLCBtX25lZWRTdHlsZVJlY2FsY0Zv
clZpc2l0ZWRMaW5rcyhmYWxzZSkKICAgICAsIG1fbmVlZHNGdWxsU3R5bGVSZWNhbGMoZmFsc2Up
CiAgICAgLCBtX25lZWRzQ2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZChmYWxzZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5oIGIvU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9DYWNoZWRQYWdlLmgKaW5kZXggZDhmYjNlMGViMDdiY2YwNjU0ZDk3MjJmMWFmYTJl
ZTgyZjE2ZTMxYy4uYmI4M2UwZmZmODgxMDBmZjIwMGFhMTY2NzE0N2Y1NGU3ZTQ3NTc4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgUGFn
ZTsKIAogY2xhc3MgQ2FjaGVkUGFnZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8
Q2FjaGVkUGFnZT4gY3JlYXRlKFBhZ2UmKTsKKyAgICBleHBsaWNpdCBDYWNoZWRQYWdlKFBhZ2Um
KTsKICAgICB+Q2FjaGVkUGFnZSgpOwogCiAgICAgdm9pZCByZXN0b3JlKFBhZ2UmKTsKQEAgLTYx
LDEyICs2MSwxMSBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBD
YWNoZWRQYWdlKFBhZ2UmKTsKICAgICB2b2lkIGRlc3Ryb3koKTsKIAogICAgIGRvdWJsZSBtX3Rp
bWVTdGFtcDsKICAgICBkb3VibGUgbV9leHBpcmF0aW9uVGltZTsKLSAgICBPd25QdHI8Q2FjaGVk
RnJhbWU+IG1fY2FjaGVkTWFpbkZyYW1lOworICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWNoZWRGcmFt
ZT4gbV9jYWNoZWRNYWluRnJhbWU7CiAgICAgYm9vbCBtX25lZWRTdHlsZVJlY2FsY0ZvclZpc2l0
ZWRMaW5rczsKICAgICBib29sIG1fbmVlZHNGdWxsU3R5bGVSZWNhbGM7CiAgICAgYm9vbCBtX25l
ZWRzQ2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvSGlzdG9yeUl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0
ZW0uaAppbmRleCA4ZWRiNjcxNTU2MjQyZTJkM2E3YzEzNWMyNDUwYWVjZTBhMjkyYTNhLi41MWZj
MGQxZDIyNmRkODg5NDZmNjgxMTU2YTEyMTYwM2M5NjZmNDIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9IaXN0b3J5SXRlbS5oCkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJp
bmcmIHVybFN0cmluZygpIGNvbnN0OwogICAgIGNvbnN0IFN0cmluZyYgdGl0bGUoKSBjb25zdDsK
ICAgICAKLSAgICBib29sIGlzSW5QYWdlQ2FjaGUoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFBh
Z2U7IH0KKyAgICBib29sIGlzSW5QYWdlQ2FjaGUoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFBh
Z2UuZ2V0KCk7IH0KICAgICBib29sIGhhc0NhY2hlZFBhZ2VFeHBpcmVkKCkgY29uc3Q7CiAgICAg
CiAgICAgZG91YmxlIGxhc3RWaXNpdGVkVGltZSgpIGNvbnN0OwpAQCAtMjg3LDcgKzI4Nyw3IEBA
IHByaXZhdGU6CiAgICAgLy8gUGFnZUNhY2hlIGNvbnRyb2xzIHRoZXNlIGZpZWxkcy4KICAgICBI
aXN0b3J5SXRlbSogbV9uZXh0OwogICAgIEhpc3RvcnlJdGVtKiBtX3ByZXY7Ci0gICAgT3duUHRy
PENhY2hlZFBhZ2U+IG1fY2FjaGVkUGFnZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2FjaGVkUGFn
ZT4gbV9jYWNoZWRQYWdlOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGZsb2F0IG1fc2NhbGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKaW5kZXggN2M2NTU4NzQ5Yjk0ZTIzZTA1
YWY3YjI3OWI4ZTgxODRmNmU1NzJlYy4uMWU4ZjIwODI2NzI1MTg5YTkzYjZmOTQ1YjJjZjAwNGE0
NjJlYTg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcApAQCAtNDcyLDE5ICs0
NzIsMTkgQEAgdm9pZCBQYWdlQ2FjaGU6OmFkZChQYXNzUmVmUHRyPEhpc3RvcnlJdGVtPiBwcnBJ
dGVtLCBQYWdlJiBwYWdlKQogICAgIGlmIChpdGVtLT5tX2NhY2hlZFBhZ2UpCiAgICAgICAgIHJl
bW92ZShpdGVtKTsKIAotICAgIGl0ZW0tPm1fY2FjaGVkUGFnZSA9IENhY2hlZFBhZ2U6OmNyZWF0
ZShwYWdlKTsKKyAgICBpdGVtLT5tX2NhY2hlZFBhZ2UgPSBzdGQ6Om1ha2VfdW5pcXVlPENhY2hl
ZFBhZ2U+KHBhZ2UpOwogICAgIGFkZFRvTFJVTGlzdChpdGVtKTsKICAgICArK21fc2l6ZTsKICAg
ICAKICAgICBwcnVuZSgpOwogfQogCi1QYXNzT3duUHRyPENhY2hlZFBhZ2U+IFBhZ2VDYWNoZTo6
dGFrZShIaXN0b3J5SXRlbSogaXRlbSkKK3N0ZDo6dW5pcXVlX3B0cjxDYWNoZWRQYWdlPiBQYWdl
Q2FjaGU6OnRha2UoSGlzdG9yeUl0ZW0qIGl0ZW0pCiB7CiAgICAgaWYgKCFpdGVtKQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKIAotICAgIE93blB0cjxDYWNoZWRQYWdlPiBjYWNoZWRQYWdlID0g
aXRlbS0+bV9jYWNoZWRQYWdlLnJlbGVhc2UoKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2FjaGVk
UGFnZT4gY2FjaGVkUGFnZSA9IHN0ZDo6bW92ZShpdGVtLT5tX2NhY2hlZFBhZ2UpOwogCiAgICAg
cmVtb3ZlRnJvbUxSVUxpc3QoaXRlbSk7CiAgICAgLS1tX3NpemU7CkBAIC00OTksNyArNDk5LDcg
QEAgUGFzc093blB0cjxDYWNoZWRQYWdlPiBQYWdlQ2FjaGU6OnRha2UoSGlzdG9yeUl0ZW0qIGl0
ZW0pCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiBjYWNoZWRQ
YWdlLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gY2FjaGVkUGFnZTsKIH0KIAogQ2FjaGVkUGFnZSog
UGFnZUNhY2hlOjpnZXQoSGlzdG9yeUl0ZW0qIGl0ZW0pCkBAIC01MjMsNyArNTIzLDcgQEAgdm9p
ZCBQYWdlQ2FjaGU6OnJlbW92ZShIaXN0b3J5SXRlbSogaXRlbSkKICAgICBpZiAoIWl0ZW0gfHwg
IWl0ZW0tPm1fY2FjaGVkUGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaXRlbS0+bV9jYWNo
ZWRQYWdlLmNsZWFyKCk7CisgICAgaXRlbS0+bV9jYWNoZWRQYWdlID0gbnVsbHB0cjsKICAgICBy
ZW1vdmVGcm9tTFJVTGlzdChpdGVtKTsKICAgICAtLW1fc2l6ZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
UGFnZUNhY2hlLmgKaW5kZXggMzQ3NzcyZGNlOGExOTM5ZWZhZjVmMzZkMDZmYjg5NWZkNjdiNWNm
OS4uZWJhYjEwYzFlY2NhMGEzYzIxNWE4OTNhMzhlYWFjM2ExMjkxMzM4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
aXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC01MSw3ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCBhZGQoUGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4sIFBhZ2UmKTsgLy8gUHJ1
bmVzIGlmIGNhcGFjaXR5KCkgaXMgZXhjZWVkZWQuCiAgICAgICAgIHZvaWQgcmVtb3ZlKEhpc3Rv
cnlJdGVtKik7CiAgICAgICAgIENhY2hlZFBhZ2UqIGdldChIaXN0b3J5SXRlbSogaXRlbSk7Ci0g
ICAgICAgIFBhc3NPd25QdHI8Q2FjaGVkUGFnZT4gdGFrZShIaXN0b3J5SXRlbSopOworICAgICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8Q2FjaGVkUGFnZT4gdGFrZShIaXN0b3J5SXRlbSopOwogCiAgICAg
ICAgIGludCBwYWdlQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KICAgICAgICAgaW50
IGZyYW1lQ291bnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmlu
ZGV4IGVjMjhkODdhNThjZDg5NWZlNTNjZjU1NjM2N2RjNWI3OWNjMzg2NjEuLjJiZDIwYjk3MWVh
MGIyZWE4MmViMzRlZThhY2ZjZmJkN2Y1ZDU3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcApAQCAtMTc3Miw3ICsxNzcyLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tbWl0
UHJvdmlzaW9uYWxMb2FkKCkKICAgICBSZWZQdHI8RG9jdW1lbnRMb2FkZXI+IHBkbCA9IG1fcHJv
dmlzaW9uYWxEb2N1bWVudExvYWRlcjsKICAgICBSZWY8RnJhbWU+IHByb3RlY3QobV9mcmFtZSk7
CiAKLSAgICBPd25QdHI8Q2FjaGVkUGFnZT4gY2FjaGVkUGFnZTsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8Q2FjaGVkUGFnZT4gY2FjaGVkUGFnZTsKICAgICBpZiAobV9sb2FkaW5nRnJvbUNhY2hlZFBh
Z2UpCiAgICAgICAgIGNhY2hlZFBhZ2UgPSBwYWdlQ2FjaGUoKS0+dGFrZShoaXN0b3J5KCkucHJv
dmlzaW9uYWxJdGVtKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9s
bGVyLmNwcAppbmRleCBhZjg2NGZlYzU4MDJkMzI3ZWU0MDhiMzUwM2I2OWE2M2Q4NjNhOGNlLi4y
ZDY5YzBjNzJhODRkMWQ5MjVhYzBiMzQ4MTJlMzA2OGVmMjliNzI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKQEAgLTIzMSw3ICsyMzEsNyBAQCB2b2lk
IEhpc3RvcnlDb250cm9sbGVyOjppbnZhbGlkYXRlQ3VycmVudEl0ZW1DYWNoZWRQYWdlKCkKICAg
ICBpZiAoIXBhZ2VDYWNoZSgpLT5nZXQoY3VycmVudEl0ZW0oKSkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIE93blB0cjxDYWNoZWRQYWdlPiBjYWNoZWRQYWdlID0gcGFnZUNhY2hlKCktPnRha2Uo
Y3VycmVudEl0ZW0oKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPENhY2hlZFBhZ2U+IGNhY2hlZFBh
Z2UgPSBwYWdlQ2FjaGUoKS0+dGFrZShjdXJyZW50SXRlbSgpKTsKIAogICAgIC8vIEZJWE1FOiBU
aGlzIGlzIGEgZ3JvdGVzcXVlIGhhY2sgdG8gZml4IDxyZGFyOi8vcHJvYmxlbS80MDU5MDU5PiBD
cmFzaCBpbiBSZW5kZXJGbG93OjpkZXRhY2gKICAgICAvLyBTb21laG93IHRoZSBQYWdlU3RhdGUg
b2JqZWN0IGlzIG5vdCBwcm9wZXJseSB1cGRhdGVkLCBhbmQgaXMgaG9sZGluZyBvbnRvIGEgc3Rh
bGUgZG9jdW1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCmluZGV4IDA4N2Y2YTM3YmE1YWFhMjhjNzVhMDk4
NjRkNGU1MDdlODk5YmUzOGIuLmVmMTJiOTYwZjQwNmVmOTA4NDQxYWI0ZDMxNzhkOWYyZTUzYWE2
ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50Lm1tCkBAIC0xNDEwLDggKzE0MTAsOCBAQCB2b2lkIFdlYkZyYW1l
TG9hZGVyQ2xpZW50OjpzZXRUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJiB0aXRsZSwg
Y29uc3QgVVJMJgogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpzYXZlUGxhdGZvcm1EYXRh
VG9DYWNoZWRGcmFtZShDYWNoZWRGcmFtZSogY2FjaGVkRnJhbWUpCiB7Ci0gICAgT3duUHRyPFdl
YkNhY2hlZEZyYW1lUGxhdGZvcm1EYXRhPiB3ZWJQbGF0Zm9ybURhdGEgPSBhZG9wdFB0cihuZXcg
V2ViQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEoW21fd2ViRnJhbWUtPl9wcml2YXRlLT53ZWJGcmFt
ZVZpZXcgZG9jdW1lbnRWaWV3XSkpOwotICAgIGNhY2hlZEZyYW1lLT5zZXRDYWNoZWRGcmFtZVBs
YXRmb3JtRGF0YSh3ZWJQbGF0Zm9ybURhdGEucmVsZWFzZSgpKTsKKyAgICBhdXRvIHdlYlBsYXRm
b3JtRGF0YSA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGE+KG1f
d2ViRnJhbWUtPl9wcml2YXRlLT53ZWJGcmFtZVZpZXcuZG9jdW1lbnRWaWV3KTsKKyAgICBjYWNo
ZWRGcmFtZS0+c2V0Q2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEoc3RkOjptb3ZlKHdlYlBsYXRmb3Jt
RGF0YSkpOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIEF0IHRoaXMgcG9pbnQgd2Uga25v
dyB0aGlzIGZyYW1lIGlzIGdvaW5nIHRvIGJlIGNhY2hlZC4gU3RvcCBhbGwgcGx1Z2lucy4KQEAg
LTE0MjIsNyArMTQyMiw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnNhdmVQbGF0Zm9y
bURhdGFUb0NhY2hlZEZyYW1lKENhY2hlZEZyYW1lKiBjYWNoZWRGcmFtCiAKIHZvaWQgV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZyb21DYWNoZWRGcmFtZShDYWNo
ZWRGcmFtZSogY2FjaGVkRnJhbWUpCiB7Ci0gICAgV2ViQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEq
IHBsYXRmb3JtRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViQ2FjaGVkRnJhbWVQbGF0Zm9ybURh
dGEqPihjYWNoZWRGcmFtZS0+Y2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEoKSk7CisgICAgV2ViQ2Fj
aGVkRnJhbWVQbGF0Zm9ybURhdGEqIHBsYXRmb3JtRGF0YSA9IHN0YXRpY19jYXN0PFdlYkNhY2hl
ZEZyYW1lUGxhdGZvcm1EYXRhKj4oY2FjaGVkRnJhbWUtPmNhY2hlZEZyYW1lUGxhdGZvcm1EYXRh
KCkpOwogICAgIE5TVmlldyA8V2ViRG9jdW1lbnRWaWV3PiAqY2FjaGVkVmlldyA9IHBsYXRmb3Jt
RGF0YS0+d2ViRG9jdW1lbnRWaWV3KCk7CiAgICAgQVNTRVJUKGNhY2hlZFZpZXcgIT0gbmlsKTsK
ICAgICBBU1NFUlQoY2FjaGVkRnJhbWUtPmRvY3VtZW50TG9hZGVyKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCmluZGV4IDVlYmE4ZmIxNWE5ZWNlYTFiOWE0OWQ2MGNhN2Y5M2U2ODU2ODg4OWYuLjBlM2Vj
ZWZhODQ0NTA5MmE0ZWYwY2FmMjMwNGFiYTNhN2UxNzY2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAK
QEAgLTEwMjQsNyArMTAyNCw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnNhdmVQbGF0
Zm9ybURhdGFUb0NhY2hlZEZyYW1lKENhY2hlZEZyYW1lKiBjYWNoZWRGcmFtCiAKICAgICBBU1NF
UlQoY29yZUZyYW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpID09IGNhY2hlZEZyYW1lLT5k
b2N1bWVudExvYWRlcigpKTsKIAotICAgIGNhY2hlZEZyYW1lLT5zZXRDYWNoZWRGcmFtZVBsYXRm
b3JtRGF0YShhZG9wdFB0cihuZXcgV2ViQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEoc3RhdGljX2Nh
c3Q8SVdlYkRhdGFTb3VyY2UqPihnZXRXZWJEYXRhU291cmNlKGNvcmVGcmFtZS0+bG9hZGVyKCku
ZG9jdW1lbnRMb2FkZXIoKSkpKSkpOworICAgIGNhY2hlZEZyYW1lLT5zZXRDYWNoZWRGcmFtZVBs
YXRmb3JtRGF0YShzdGQ6Om1ha2VfdW5pcXVlPFdlYkNhY2hlZEZyYW1lUGxhdGZvcm1EYXRhPihz
dGF0aWNfY2FzdDxJV2ViRGF0YVNvdXJjZSo+KGdldFdlYkRhdGFTb3VyY2UoY29yZUZyYW1lLT5s
b2FkZXIoKS5kb2N1bWVudExvYWRlcigpKSkpKTsKICNlbHNlCiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKICNlbmRpZgo=
</data>
<flag name="review"
          id="245438"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>