<?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>108680</bug_id>
          
          <creation_ts>2013-02-01 13:02:57 -0800</creation_ts>
          <short_desc>[Qt] [WK2] Fix build after r141619</short_desc>
          <delta_ts>2013-02-01 13:11:09 -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="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>abecsi</cc>
    
    <cc>menard</cc>
    
    <cc>noam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>823166</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2013-02-01 13:02:57 -0800</bug_when>
    <thetext>[Qt] [WK2] Fix build after r141619</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823168</commentid>
    <comment_count>1</comment_count>
      <attachid>186115</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2013-02-01 13:03:45 -0800</bug_when>
    <thetext>Created attachment 186115
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823172</commentid>
    <comment_count>2</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2013-02-01 13:11:09 -0800</bug_when>
    <thetext>Committed r141632: &lt;http://trac.webkit.org/changeset/141632&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186115</attachid>
            <date>2013-02-01 13:03:45 -0800</date>
            <delta_ts>2013-02-01 13:07:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108680-20130201180025.patch</filename>
            <type>text/plain</type>
            <size>38089</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjk3NTRkNzJlNGNjNjJi
MmY1ZDYyYmVmOTVjYjdiNDk4NTdkODAyMi4uYzU4MDg4YzU4MWQxYjQ4ZTVhMGYzODEwOWM2ZDUy
ODkwMWJlMjA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTAyLTAxICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgW1F0XSBbV0syXSBGaXggYnVpbGQgYWZ0ZXIgcjE0MTYxOQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4NjgwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGFrZSBhIHJlZmVyZW5jZSBp
bnN0ZWFkIG9mIGEgcG9pbnRlciBmb3IgZGVjb2RpbmcgZnVuY3Rpb25zLgorCisgICAgICAgICog
UGxhdGZvcm0vdW5peC9TaGFyZWRNZW1vcnlVbml4LmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hh
cmVkTWVtb3J5OjpIYW5kbGU6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAg
KENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAgICAgKENvcmVJUEM6OmRlY29kZVRpbWluZ0Z1bmN0
aW9uKToKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdy
YXBoaWNzQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29y
ZGluYXRlZFN1cmZhY2U6OkhhbmRsZTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuaDoKKyAgICAgICAgKEhhbmRsZSk6
CisgICAgICAgICogU2hhcmVkL3F0L0FyZ3VtZW50Q29kZXJzUXQuY3BwOgorICAgICAgICAoQ29y
ZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9xdC9Bcmd1bWVudENvZGVyc1F0Lmg6
CisgICAgICAgIChDb3JlSVBDKToKKyAgICAgICAgKiBTaGFyZWQvcXQvTGF5ZXJUcmVlQ29udGV4
dFF0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlQ29udGV4dDo6ZGVjb2RlKToKKyAg
ICAgICAgKiBTaGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdl
YktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZSk6CisgICAgICAgICogU2hhcmVk
L3F0L1F0TmV0d29ya1JlcGx5RGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlF0TmV0d29ya1Jl
cGx5RGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRh
Lmg6CisgICAgICAgIChRdE5ldHdvcmtSZXBseURhdGEpOgorICAgICAgICAqIFNoYXJlZC9xdC9R
dE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlF0TmV0d29ya1JlcXVl
c3REYXRhOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0
YS5oOgorICAgICAgICAoUXROZXR3b3JrUmVxdWVzdERhdGEpOgorICAgICAgICAqIFNoYXJlZC9x
dC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29k
ZVBsYXRmb3JtRGF0YSk6CisKIDIwMTMtMDItMDEgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2Nh
QGFwcGxlLmNvbT4KIAogICAgICAgICBNZXNzYWdlIGRlY29kaW5nIGZ1bmN0aW9ucyBzaG91bGQg
dGFrZSBhIE1lc3NhZ2VEZWNvZGVyIHJlZmVyZW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vdW5peC9TaGFyZWRNZW1vcnlVbml4LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL3VuaXgvU2hhcmVkTWVtb3J5VW5peC5jcHAKaW5kZXggZjU2NWI3NmVjZDE1YWZhMmI0
ZWI4ZGUzZjVmMDMzMzY1Y2JlZTJiOC4uZjc2MzgxOTU3YjhjZTBlYWEzM2RjNThlZmQyZTYyOTRm
MWIzM2EyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vdW5peC9TaGFyZWRN
ZW1vcnlVbml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS91bml4L1NoYXJlZE1l
bW9yeVVuaXguY3BwCkBAIC02OCwxMyArNjgsMTMgQEAgdm9pZCBTaGFyZWRNZW1vcnk6OkhhbmRs
ZTo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBl
bmNvZGVyLmVuY29kZShyZWxlYXNlVG9BdHRhY2htZW50KCkpOwogfQogCi1ib29sIFNoYXJlZE1l
bW9yeTo6SGFuZGxlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBI
YW5kbGUmIGhhbmRsZSkKK2Jvb2wgU2hhcmVkTWVtb3J5OjpIYW5kbGU6OmRlY29kZShDb3JlSVBD
OjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIEhhbmRsZSYgaGFuZGxlKQogewogICAgIEFTU0VS
VF9BUkcoaGFuZGxlLCAhaGFuZGxlLm1fc2l6ZSk7CiAgICAgQVNTRVJUX0FSRyhoYW5kbGUsIGhh
bmRsZS5pc051bGwoKSk7CiAKICAgICBDb3JlSVBDOjpBdHRhY2htZW50IGF0dGFjaG1lbnQ7Ci0g
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoYXR0YWNobWVudCkpCisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShhdHRhY2htZW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaGFuZGxlLmFk
b3B0RnJvbUF0dGFjaG1lbnQoYXR0YWNobWVudC5yZWxlYXNlRmlsZURlc2NyaXB0b3IoKSwgYXR0
YWNobWVudC5zaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NBcmd1bWVudENvZGVycy5jcHAKaW5kZXggYzMzNzFkMmMwODRlMDUyZGVkY2Y2NGVmZjRiZDE0
NzUwMGU5YjU0Yi4uNWEwNmQxMTY4YzIyNzYwMmNhMjBjMWJjMjgwZDE3Njk3MjZhMDU4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMu
Y3BwCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxGbG9hdFBvaW50M0Q+Ojpl
bmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGbG9hdFBvCiAgICAgU2ltcGxl
QXJndW1lbnRDb2RlcjxGbG9hdFBvaW50M0Q+OjplbmNvZGUoZW5jb2RlciwgZmxvYXRQb2ludDNE
KTsKIH0KIAotYm9vbCBBcmd1bWVudENvZGVyPEZsb2F0UG9pbnQzRD46OmRlY29kZShBcmd1bWVu
dERlY29kZXIqIGRlY29kZXIsIEZsb2F0UG9pbnQzRCYgZmxvYXRQb2ludDNEKQorYm9vbCBBcmd1
bWVudENvZGVyPEZsb2F0UG9pbnQzRD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIs
IEZsb2F0UG9pbnQzRCYgZmxvYXRQb2ludDNEKQogewogICAgIHJldHVybiBTaW1wbGVBcmd1bWVu
dENvZGVyPEZsb2F0UG9pbnQzRD46OmRlY29kZShkZWNvZGVyLCBmbG9hdFBvaW50M0QpOwogfQpA
QCAtOTQsNyArOTQsNyBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8TGVuZ3RoPjo6ZW5jb2RlKEFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgTGVuZ3RoJiBsZW5ndAogICAgIFNpbXBsZUFyZ3Vt
ZW50Q29kZXI8TGVuZ3RoPjo6ZW5jb2RlKGVuY29kZXIsIGxlbmd0aCk7CiB9CiAKLWJvb2wgQXJn
dW1lbnRDb2RlcjxMZW5ndGg+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBMZW5n
dGgmIGxlbmd0aCkKK2Jvb2wgQXJndW1lbnRDb2RlcjxMZW5ndGg+OjpkZWNvZGUoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBMZW5ndGgmIGxlbmd0aCkKIHsKICAgICByZXR1cm4gU2ltcGxlQXJn
dW1lbnRDb2RlcjxMZW5ndGg+OjpkZWNvZGUoZGVjb2RlciwgbGVuZ3RoKTsKIH0KQEAgLTEwNCw3
ICsxMDQsNyBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+OjplbmNv
ZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdAogICAgIFNpbXBsZUFyZ3VtZW50Q29k
ZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+OjplbmNvZGUoZW5jb2RlciwgdHJhbnNmb3JtYXRpb25N
YXRyaXgpOwogfQogCi1ib29sIEFyZ3VtZW50Q29kZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+Ojpk
ZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJh
bnNmb3JtYXRpb25NYXRyaXgpCitib29sIEFyZ3VtZW50Q29kZXI8VHJhbnNmb3JtYXRpb25NYXRy
aXg+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgdHJhbnNmb3JtYXRpb25NYXRyaXgpCiB7CiAgICAgcmV0dXJuIFNpbXBsZUFyZ3VtZW50Q29k
ZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+OjpkZWNvZGUoZGVjb2RlciwgdHJhbnNmb3JtYXRpb25N
YXRyaXgpOwogfQpAQCAtMTk5LDEwICsxOTksMTAgQEAgdm9pZCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OkZpbHRlck9wZXJhdGlvbnM+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLAog
ICAgIH0KIH0KIAotYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZpbHRlck9wZXJhdGlvbnM+
OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWJDb3JlOjpGaWx0ZXJPcGVyYXRp
b25zJiBmaWx0ZXJzKQorYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZpbHRlck9wZXJhdGlv
bnM+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBXZWJDb3JlOjpGaWx0ZXJPcGVy
YXRpb25zJiBmaWx0ZXJzKQogewogICAgIHVpbnQzMl90IHNpemU7Ci0gICAgaWYgKCFkZWNvZGVy
LT5kZWNvZGUoc2l6ZSkpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzaXplKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgVmVjdG9yPFJlZlB0cjxGaWx0ZXJPcGVyYXRpb24+ID4mIG9w
ZXJhdGlvbnMgPSBmaWx0ZXJzLm9wZXJhdGlvbnMoKTsKQEAgLTIxMCw3ICsyMTAsNyBAQCBib29s
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmRlY29kZShBcmd1bWVu
dERlY29kZXIqIGRlY29kZXIsCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kp
IHsKICAgICAgICAgRmlsdGVyT3BlcmF0aW9uOjpPcGVyYXRpb25UeXBlIHR5cGU7CiAgICAgICAg
IFJlZlB0cjxGaWx0ZXJPcGVyYXRpb24+IGZpbHRlcjsKLSAgICAgICAgaWYgKCFkZWNvZGVyLT5k
ZWNvZGVFbnVtKHR5cGUpKQorICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bSh0eXBlKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAg
LTIxOSw3ICsyMTksNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0
aW9ucz46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsCiAgICAgICAgIGNhc2UgRmls
dGVyT3BlcmF0aW9uOjpTQVRVUkFURToKICAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OkhV
RV9ST1RBVEU6IHsKICAgICAgICAgICAgIGRvdWJsZSB2YWx1ZTsKLSAgICAgICAgICAgIGlmICgh
ZGVjb2Rlci0+ZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
dmFsdWUpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGZpbHRl
ciA9IEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb246OmNyZWF0ZSh2YWx1ZSwgdHlwZSk7
CiAgICAgICAgICAgICBicmVhazsKQEAgLTIyOSw3ICsyMjksNyBAQCBib29sIEFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRl
Y29kZXIsCiAgICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpDT05UUkFTVDoKICAgICAgICAg
Y2FzZSBGaWx0ZXJPcGVyYXRpb246Ok9QQUNJVFk6IHsKICAgICAgICAgICAgIGRvdWJsZSB2YWx1
ZTsKLSAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgICAg
IGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgICAgIGZpbHRlciA9IEJhc2ljQ29tcG9uZW50VHJhbnNmZXJGaWx0ZXJPcGVy
YXRpb246OmNyZWF0ZSh2YWx1ZSwgdHlwZSk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI0Nyw3
ICsyNDcsNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46
OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsCiAgICAgICAgICAgICBDb2xvciBjb2xv
cjsKICAgICAgICAgICAgIGlmICghQXJndW1lbnRDb2RlcjxJbnRQb2ludD46OmRlY29kZShkZWNv
ZGVyLCBsb2NhdGlvbikpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAg
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoc3RkRGV2aWF0aW9uKSkKKyAgICAgICAgICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUoc3RkRGV2aWF0aW9uKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgICAgICBpZiAoIUFyZ3VtZW50Q29kZXI8Q29sb3I+OjpkZWNvZGUoZGVjb2Rl
ciwgY29sb3IpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTI2MywzNCArMjYz
LDM0IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb25zPjo6ZGVj
b2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwKICAgICAgICAgICAgIC8vIEZJWE1FOiBDdXN0
b21GaWx0ZXJPcGVyYXRpb24gc2hvdWxkIG5vdCBuZWVkIHRoZSBtZXNoVHlwZS4KICAgICAgICAg
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI1MjkKICAg
ICAgICAgICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlOwotICAgICAgICAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGVFbnVtKG1lc2hUeXBlKSkKKyAgICAgICAgICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVFbnVtKG1lc2hUeXBlKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgICAgICBpbnQgcHJvZ3JhbUlEID0gMDsKLSAgICAgICAgICAgIGlmICghZGVjb2Rlci0+
ZGVjb2RlKHByb2dyYW1JRCkpCisgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHByb2dy
YW1JRCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgICAgICB1aW50
MzJfdCBwYXJhbWV0ZXJzU2l6ZTsKLSAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBh
cmFtZXRlcnNTaXplKSkKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVy
c1NpemUpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgQ3Vz
dG9tRmlsdGVyUGFyYW1ldGVyTGlzdCBwYXJhbWV0ZXJzKHBhcmFtZXRlcnNTaXplKTsKICAgICAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGFyYW1ldGVyc1NpemU7ICsraSkgewogICAg
ICAgICAgICAgICAgIFN0cmluZyBuYW1lOwogICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlclBh
cmFtZXRlcjo6UGFyYW1ldGVyVHlwZSBwYXJhbWV0ZXJUeXBlOwotICAgICAgICAgICAgICAgIGlm
ICghZGVjb2Rlci0+ZGVjb2RlKG5hbWUpKQorICAgICAgICAgICAgICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUobmFtZSkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
ICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUVudW0ocGFyYW1ldGVyVHlwZSkpCisgICAgICAg
ICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocGFyYW1ldGVyVHlwZSkpCiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgICAgIHN3aXRjaCAocGFy
YW1ldGVyVHlwZSkgewogICAgICAgICAgICAgICAgIGNhc2UgQ3VzdG9tRmlsdGVyUGFyYW1ldGVy
OjpBUlJBWTogewogICAgICAgICAgICAgICAgICAgICBSZWZQdHI8Q3VzdG9tRmlsdGVyQXJyYXlQ
YXJhbWV0ZXI+IGFycmF5UGFyYW1ldGVyID0gQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI6OmNy
ZWF0ZShuYW1lKTsKICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYXJyYXlQYXJhbWV0ZXJT
aXplOwotICAgICAgICAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShhcnJheVBhcmFt
ZXRlclNpemUpKQorICAgICAgICAgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGFycmF5
UGFyYW1ldGVyU2l6ZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgICAgICAgICAgICAgIGRvdWJsZSBhcnJheVBhcmFtZXRlclZhbHVlOwogICAgICAgICAg
ICAgICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IGFycmF5UGFyYW1ldGVyU2l6ZTsgKytq
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShhcnJheVBh
cmFtZXRlclZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoYXJyYXlQYXJhbWV0ZXJWYWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlQYXJhbWV0ZXItPmFkZFZh
bHVlKGFycmF5UGFyYW1ldGVyVmFsdWUpOwogICAgICAgICAgICAgICAgICAgICB9CkBAIC0zMDAs
MTEgKzMwMCwxMSBAQCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9u
cz46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsCiAgICAgICAgICAgICAgICAgY2Fz
ZSBDdXN0b21GaWx0ZXJQYXJhbWV0ZXI6Ok5VTUJFUjogewogICAgICAgICAgICAgICAgICAgICBS
ZWZQdHI8Q3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyPiBudW1iZXJQYXJhbWV0ZXIgPSBDdXN0
b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXI6OmNyZWF0ZShuYW1lKTsKICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QgbnVtYmVyUGFyYW1ldGVyU2l6ZTsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGUobnVtYmVyUGFyYW1ldGVyU2l6ZSkpCisgICAgICAgICAgICAgICAg
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUobnVtYmVyUGFyYW1ldGVyU2l6ZSkpCiAgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBu
dW1iZXJQYXJhbWV0ZXJWYWx1ZTsKICAgICAgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaiA9
IDA7IGogPCBudW1iZXJQYXJhbWV0ZXJTaXplOyArK2opIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKG51bWJlclBhcmFtZXRlclZhbHVlKSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUobnVtYmVyUGFyYW1ldGVyVmFsdWUp
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIG51bWJlclBhcmFtZXRlci0+YWRkVmFsdWUobnVtYmVyUGFyYW1ldGVyVmFs
dWUpOwogICAgICAgICAgICAgICAgICAgICB9CkBAIC0zMjUsOSArMzI1LDkgQEAgYm9vbCBBcmd1
bWVudENvZGVyPFdlYkNvcmU6OkZpbHRlck9wZXJhdGlvbnM+OjpkZWNvZGUoQXJndW1lbnREZWNv
ZGVyKiBkZWNvZGVyLAogCiAgICAgICAgICAgICB1bnNpZ25lZCBtZXNoUm93czsKICAgICAgICAg
ICAgIHVuc2lnbmVkIG1lc2hDb2x1bW5zOwotICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGUobWVzaFJvd3MpKQorICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShtZXNoUm93cykp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgaWYgKCFkZWNvZGVy
LT5kZWNvZGUobWVzaENvbHVtbnMpKQorICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSht
ZXNoQ29sdW1ucykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgICAg
ICAvLyBBdCB0aGlzIHBvaW50IHRoZSBTaGFkZXJzIGFyZSBhbHJlYWR5IHZhbGlkYXRlZCwgc28g
d2UganVzdCB1c2UgV2ViQ3VzdG9tRmlsdGVyT3BlcmF0aW9uIGZvciB0cmFuc3BvcnRhdGlvbi4K
QEAgLTM1OSwyNCArMzU5LDI0IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuCiAgICAgZW5jb2Rl
ci5lbmNvZGVFbnVtKG1peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9yKTsKIH0KIAotYm9vbCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1JbmZvPjo6ZGVjb2RlKEFy
Z3VtZW50RGVjb2RlciogZGVjb2RlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8mIHByb2dyYW1J
bmZvKQorYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1JbmZv
Pjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbUlu
Zm8mIHByb2dyYW1JbmZvKQogewogICAgIFN0cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmc7CiAgICAg
U3RyaW5nIGZyYWdtZW50U2hhZGVyU3RyaW5nOwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBl
IHByb2dyYW1UeXBlOwogICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlOwogICAgIEN1
c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5nczsKLSAgICBpZiAoIWRlY29k
ZXItPmRlY29kZSh2ZXJ0ZXhTaGFkZXJTdHJpbmcpKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
dmVydGV4U2hhZGVyU3RyaW5nKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVj
b2Rlci0+ZGVjb2RlKGZyYWdtZW50U2hhZGVyU3RyaW5nKSkKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKGZyYWdtZW50U2hhZGVyU3RyaW5nKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlm
ICghZGVjb2Rlci0+ZGVjb2RlRW51bShwcm9ncmFtVHlwZSkpCisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZUVudW0ocHJvZ3JhbVR5cGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFk
ZWNvZGVyLT5kZWNvZGVFbnVtKG1lc2hUeXBlKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51
bShtZXNoVHlwZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXItPmRl
Y29kZUVudW0obWl4U2V0dGluZ3MuYmxlbmRNb2RlKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
RW51bShtaXhTZXR0aW5ncy5ibGVuZE1vZGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
aWYgKCFkZWNvZGVyLT5kZWNvZGVFbnVtKG1peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9yKSkK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bShtaXhTZXR0aW5ncy5jb21wb3NpdGVPcGVyYXRv
cikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBwcm9ncmFtSW5mbyA9IEN1c3RvbUZpbHRl
clByb2dyYW1JbmZvKHZlcnRleFNoYWRlclN0cmluZywgZnJhZ21lbnRTaGFkZXJTdHJpbmcsIHBy
b2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUpOwogICAgIHJldHVybiB0cnVlOwpAQCAt
NDQyLDE1ICs0NDIsMTUgQEAgdm9pZCBBcmd1bWVudENvZGVyPFRyYW5zZm9ybU9wZXJhdGlvbnM+
OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdAogICAgIH0KIH0KIAotYm9v
bCBBcmd1bWVudENvZGVyPFRyYW5zZm9ybU9wZXJhdGlvbnM+OjpkZWNvZGUoQXJndW1lbnREZWNv
ZGVyKiBkZWNvZGVyLCBUcmFuc2Zvcm1PcGVyYXRpb25zJiB0cmFuc2Zvcm1PcGVyYXRpb25zKQor
Ym9vbCBBcmd1bWVudENvZGVyPFRyYW5zZm9ybU9wZXJhdGlvbnM+OjpkZWNvZGUoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBUcmFuc2Zvcm1PcGVyYXRpb25zJiB0cmFuc2Zvcm1PcGVyYXRpb25z
KQogewogICAgIHVpbnQzMl90IG9wZXJhdGlvbnNTaXplOwotICAgIGlmICghZGVjb2Rlci0+ZGVj
b2RlKG9wZXJhdGlvbnNTaXplKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKG9wZXJhdGlvbnNT
aXplKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBvcGVyYXRpb25zU2l6ZTsgKytpKSB7CiAgICAgICAgIFRyYW5zZm9ybU9wZXJhdGlvbjo6T3Bl
cmF0aW9uVHlwZSBvcGVyYXRpb25UeXBlOwotICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUVu
dW0ob3BlcmF0aW9uVHlwZSkpCisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKG9wZXJh
dGlvblR5cGUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIHN3aXRjaCAo
b3BlcmF0aW9uVHlwZSkgewpAQCAtNDYwLDExICs0NjAsMTEgQEAgYm9vbCBBcmd1bWVudENvZGVy
PFRyYW5zZm9ybU9wZXJhdGlvbnM+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBU
cmFuc2YKICAgICAgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFX1o6CiAgICAgICAg
IGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV8zRDogewogICAgICAgICAgICAgZG91Ymxl
IHgsIHksIHo7Ci0gICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZSh4KSkKKyAgICAgICAg
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoeCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoeSkpCisgICAgICAgICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHkpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHopKQorICAgICAgICAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZSh6KSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB0
cmFuc2Zvcm1PcGVyYXRpb25zLm9wZXJhdGlvbnMoKS5hcHBlbmQoU2NhbGVUcmFuc2Zvcm1PcGVy
YXRpb246OmNyZWF0ZSh4LCB5LCB6LCBvcGVyYXRpb25UeXBlKSk7CiAgICAgICAgICAgICBicmVh
azsKQEAgLTQ4OSwxMyArNDg5LDEzIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxUcmFuc2Zvcm1PcGVy
YXRpb25zPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgVHJhbnNmCiAgICAgICAg
IGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfWToKICAgICAgICAgY2FzZSBUcmFuc2Zv
cm1PcGVyYXRpb246OlJPVEFURV8zRDogewogICAgICAgICAgICAgZG91YmxlIHgsIHksIHosIGFu
Z2xlOwotICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoeCkpCisgICAgICAgICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHkpKQorICAgICAgICAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZSh5KSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAg
ICBpZiAoIWRlY29kZXItPmRlY29kZSh6KSkKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoeikpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgaWYgKCFk
ZWNvZGVyLT5kZWNvZGUoYW5nbGUpKQorICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShh
bmdsZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgdHJhbnNm
b3JtT3BlcmF0aW9ucy5vcGVyYXRpb25zKCkuYXBwZW5kKFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlv
bjo6Y3JlYXRlKHgsIHksIHosIGFuZ2xlLCBvcGVyYXRpb25UeXBlKSk7CiAgICAgICAgICAgICBi
cmVhazsKQEAgLTUwNCw5ICs1MDQsOSBAQCBib29sIEFyZ3VtZW50Q29kZXI8VHJhbnNmb3JtT3Bl
cmF0aW9ucz46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFRyYW5zZgogICAgICAg
ICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6U0tFV19ZOgogICAgICAgICBjYXNlIFRyYW5zZm9y
bU9wZXJhdGlvbjo6U0tFVzogewogICAgICAgICAgICAgZG91YmxlIGFuZ2xlWCwgYW5nbGVZOwot
ICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoYW5nbGVYKSkKKyAgICAgICAgICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUoYW5nbGVYKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShhbmdsZVkpKQorICAgICAgICAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShhbmdsZVkpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMub3BlcmF0aW9ucygpLmFwcGVuZChT
a2V3VHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoYW5nbGVYLCBhbmdsZVksIG9wZXJhdGlvblR5
cGUpKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNTc2LDEwICs1NzYsMTAgQEAgc3RhdGljIHZv
aWQgZW5jb2RlVGltaW5nRnVuY3Rpb24oQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBU
aW1pbmdGdW5jdGlvbioKICAgICB9CiB9CiAKLWJvb2wgZGVjb2RlVGltaW5nRnVuY3Rpb24oQXJn
dW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZWZQdHI8VGltaW5nRnVuY3Rpb24+JiB0aW1pbmdGdW5j
dGlvbikKK2Jvb2wgZGVjb2RlVGltaW5nRnVuY3Rpb24oQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBSZWZQdHI8VGltaW5nRnVuY3Rpb24+JiB0aW1pbmdGdW5jdGlvbikKIHsKICAgICBUaW1pbmdG
dW5jdGlvbjo6VGltaW5nRnVuY3Rpb25UeXBlIHR5cGU7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGVFbnVtKHR5cGUpKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHR5cGUpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAodHlwZSA9PSBUaW1pbmdGdW5jdGlvbjo6VGltaW5n
RnVuY3Rpb25UeXBlKC0xKSkKQEAgLTU5MiwxOSArNTkyLDE5IEBAIGJvb2wgZGVjb2RlVGltaW5n
RnVuY3Rpb24oQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZWZQdHI8VGltaW5nRnVuY3Rpb24+
JiB0aW1pCiAgICAgY2FzZSBUaW1pbmdGdW5jdGlvbjo6Q3ViaWNCZXppZXJGdW5jdGlvbjogewog
ICAgICAgICBkb3VibGUgeDEsIHkxLCB4MiwgeTI7CiAgICAgICAgIEN1YmljQmV6aWVyVGltaW5n
RnVuY3Rpb246OlRpbWluZ0Z1bmN0aW9uUHJlc2V0IGJlemllclByZXNldDsKLSAgICAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGVFbnVtKGJlemllclByZXNldCkpCisgICAgICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVFbnVtKGJlemllclByZXNldCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgIGlmIChiZXppZXJQcmVzZXQgIT0gQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbjo6Q3Vz
dG9tKSB7CiAgICAgICAgICAgICB0aW1pbmdGdW5jdGlvbiA9IEN1YmljQmV6aWVyVGltaW5nRnVu
Y3Rpb246OmNyZWF0ZShiZXppZXJQcmVzZXQpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgIH0KLSAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoeDEpKQorICAgICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHgxKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
aWYgKCFkZWNvZGVyLT5kZWNvZGUoeTEpKQorICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHkx
KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGUoeDIpKQorICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHgyKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoeTIpKQorICAgICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHkyKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
ICAgICB0aW1pbmdGdW5jdGlvbiA9IEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OmNyZWF0ZSh4
MSwgeTEsIHgyLCB5Mik7CkBAIC02MTMsOSArNjEzLDkgQEAgYm9vbCBkZWNvZGVUaW1pbmdGdW5j
dGlvbihBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFJlZlB0cjxUaW1pbmdGdW5jdGlvbj4mIHRp
bWkKICAgICBjYXNlIFRpbWluZ0Z1bmN0aW9uOjpTdGVwc0Z1bmN0aW9uOiB7CiAgICAgICAgIHVp
bnQzMl90IG51bWJlck9mU3RlcHM7CiAgICAgICAgIGJvb2wgc3RlcEF0U3RhcnQ7Ci0gICAgICAg
IGlmICghZGVjb2Rlci0+ZGVjb2RlKG51bWJlck9mU3RlcHMpKQorICAgICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKG51bWJlck9mU3RlcHMpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICBpZiAoIWRlY29kZXItPmRlY29kZShzdGVwQXRTdGFydCkpCisgICAgICAgIGlmICghZGVj
b2Rlci5kZWNvZGUoc3RlcEF0U3RhcnQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgICAgIHRpbWluZ0Z1bmN0aW9uID0gU3RlcHNUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKG51bWJl
ck9mU3RlcHMsIHN0ZXBBdFN0YXJ0KTsKQEAgLTY2Nyw3ICs2NjcsNyBAQCB2b2lkIEFyZ3VtZW50
Q29kZXI8R3JhcGhpY3NMYXllckFuaW1hdGlvbj46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIsIGNvbgogICAgIH0KIH0KIAotYm9vbCBBcmd1bWVudENvZGVyPEdyYXBoaWNzTGF5ZXJB
bmltYXRpb24+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBHcmFwaGljc0xheWVy
QW5pbWF0aW9uJiBhbmltYXRpb24pCitib29sIEFyZ3VtZW50Q29kZXI8R3JhcGhpY3NMYXllckFu
aW1hdGlvbj46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIEdyYXBoaWNzTGF5ZXJB
bmltYXRpb24mIGFuaW1hdGlvbikKIHsKICAgICBTdHJpbmcgbmFtZTsKICAgICBJbnRTaXplIGJv
eFNpemU7CkBAIC02ODMsMjUgKzY4MywyNSBAQCBib29sIEFyZ3VtZW50Q29kZXI8R3JhcGhpY3NM
YXllckFuaW1hdGlvbj46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIEdyYQogICAg
IFJlZlB0cjxUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb247CiAgICAgUmVmUHRyPEFuaW1h
dGlvbj4gYW5pbWF0aW9uT2JqZWN0OwogCi0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUobmFtZSkp
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShuYW1lKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGJveFNpemUpKQorICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoYm94U2l6ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXItPmRl
Y29kZUVudW0oc3RhdGUpKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHN0YXRlKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHN0YXJ0VGltZSkp
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzdGFydFRpbWUpKQogICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocGF1c2VUaW1lKSkKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHBhdXNlVGltZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRl
Y29kZXItPmRlY29kZShsaXN0c01hdGNoKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGxpc3Rz
TWF0Y2gpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVF
bnVtKGRpcmVjdGlvbikpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0oZGlyZWN0aW9uKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGZpbGxNb2Rl
KSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZpbGxNb2RlKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGR1cmF0aW9uKSkKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGR1cmF0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVj
b2Rlci0+ZGVjb2RlKGl0ZXJhdGlvbkNvdW50KSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGl0
ZXJhdGlvbkNvdW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2RlVGlt
aW5nRnVuY3Rpb24oZGVjb2RlciwgdGltaW5nRnVuY3Rpb24pKQogICAgICAgICByZXR1cm4gZmFs
c2U7CkBAIC03MTUsMTYgKzcxNSwxNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8R3JhcGhpY3NMYXll
ckFuaW1hdGlvbj46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIEdyYQogICAgICAg
ICBhbmltYXRpb25PYmplY3QtPnNldFRpbWluZ0Z1bmN0aW9uKHRpbWluZ0Z1bmN0aW9uKTsKIAog
ICAgIEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eTsKLSAgICBpZiAoIWRlY29kZXItPmRlY29k
ZUVudW0ocHJvcGVydHkpKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHByb3BlcnR5KSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEtleWZyYW1lVmFsdWVMaXN0IGtleWZyYW1lcyhw
cm9wZXJ0eSk7CiAgICAgdW5zaWduZWQga2V5ZnJhbWVzU2l6ZTsKLSAgICBpZiAoIWRlY29kZXIt
PmRlY29kZShrZXlmcmFtZXNTaXplKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGtleWZyYW1l
c1NpemUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGtleWZyYW1lc1NpemU7ICsraSkgewogICAgICAgICBmbG9hdCBrZXlUaW1lOwogICAgICAg
ICBSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uOwotICAgICAgICBpZiAoIWRl
Y29kZXItPmRlY29kZShrZXlUaW1lKSkKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShrZXlU
aW1lKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgaWYgKCFkZWNvZGVUaW1p
bmdGdW5jdGlvbihkZWNvZGVyLCB0aW1pbmdGdW5jdGlvbikpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CkBAIC03MzIsMTQgKzczMiwxNCBAQCBib29sIEFyZ3VtZW50Q29kZXI8R3JhcGhpY3NM
YXllckFuaW1hdGlvbj46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIEdyYQogICAg
ICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7CiAgICAgICAgIGNhc2UgQW5pbWF0ZWRQcm9wZXJ0eU9w
YWNpdHk6IHsKICAgICAgICAgICAgIGZsb2F0IHZhbHVlOwotICAgICAgICAgICAgaWYgKCFkZWNv
ZGVyLT5kZWNvZGUodmFsdWUpKQorICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1
ZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAga2V5ZnJhbWVz
Lmluc2VydChuZXcgRmxvYXRBbmltYXRpb25WYWx1ZShrZXlUaW1lLCB2YWx1ZSwgdGltaW5nRnVu
Y3Rpb24pKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQW5p
bWF0ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybTogewogICAgICAgICAgICAgVHJhbnNmb3JtT3Bl
cmF0aW9ucyB0cmFuc2Zvcm07Ci0gICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZSh0cmFu
c2Zvcm0pKQorICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0cmFuc2Zvcm0pKQogICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGtleWZyYW1lcy5pbnNlcnQo
bmV3IFRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKGtleVRpbWUsICZ0cmFuc2Zvcm0sIHRpbWluZ0Z1
bmN0aW9uKSk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTc0Nyw3ICs3NDcsNyBAQCBib29sIEFy
Z3VtZW50Q29kZXI8R3JhcGhpY3NMYXllckFuaW1hdGlvbj46OmRlY29kZShBcmd1bWVudERlY29k
ZXIqIGRlY29kZXIsIEdyYQogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICAgICAgY2FzZSBB
bmltYXRlZFByb3BlcnR5V2Via2l0RmlsdGVyOiB7CiAgICAgICAgICAgICBGaWx0ZXJPcGVyYXRp
b25zIGZpbHRlcjsKLSAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGZpbHRlcikpCisg
ICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZpbHRlcikpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICAgICAga2V5ZnJhbWVzLmluc2VydChuZXcgRmlsdGVyQW5p
bWF0aW9uVmFsdWUoa2V5VGltZSwgJmZpbHRlciwgdGltaW5nRnVuY3Rpb24pKTsKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtNzY5LDkgKzc2OSw5IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxHcmFwaGlj
c0xheWVyQW5pbWF0aW9ucz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvCiAg
ICAgZW5jb2RlciA8PCBhbmltYXRpb25zLmFuaW1hdGlvbnMoKTsKIH0KIAotYm9vbCBBcmd1bWVu
dENvZGVyPEdyYXBoaWNzTGF5ZXJBbmltYXRpb25zPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2Rlciog
ZGVjb2RlciwgR3JhcGhpY3NMYXllckFuaW1hdGlvbnMmIGFuaW1hdGlvbnMpCitib29sIEFyZ3Vt
ZW50Q29kZXI8R3JhcGhpY3NMYXllckFuaW1hdGlvbnM+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBHcmFwaGljc0xheWVyQW5pbWF0aW9ucyYgYW5pbWF0aW9ucykKIHsKLSAgICBy
ZXR1cm4gZGVjb2Rlci0+ZGVjb2RlKGFuaW1hdGlvbnMuYW5pbWF0aW9ucygpKTsKKyAgICByZXR1
cm4gZGVjb2Rlci5kZWNvZGUoYW5pbWF0aW9ucy5hbmltYXRpb25zKCkpOwogfQogCiAjaWYgVVNF
KEdSQVBISUNTX1NVUkZBQ0UpCkBAIC03ODgsMjcgKzc4OCwyNyBAQCB2b2lkIEFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlVG9rZW4+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVy
JiBlbmNvZAogI2VuZGlmCiB9CiAKLWJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpHcmFwaGlj
c1N1cmZhY2VUb2tlbj46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYkNvcmU6
OkdyYXBoaWNzU3VyZmFjZVRva2VuJiB0b2tlbikKK2Jvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpHcmFwaGljc1N1cmZhY2VUb2tlbj46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIs
IFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZVRva2VuJiB0b2tlbikKIHsKICNpZiBPUyhXSU5ET1dT
KQogICAgIHVpbnQ2NF90IGZyb250QnVmZmVySGFuZGxlOwotICAgIGlmICghZGVjb2Rlci0+ZGVj
b2RlKGZyb250QnVmZmVySGFuZGxlKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZyb250QnVm
ZmVySGFuZGxlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHRva2VuLmZyb250QnVmZmVy
SGFuZGxlID0gcmVpbnRlcnByZXRfY2FzdDxHcmFwaGljc1N1cmZhY2VUb2tlbjo6QnVmZmVySGFu
ZGxlPihmcm9udEJ1ZmZlckhhbmRsZSk7CiAgICAgdWludDY0X3QgYmFja0J1ZmZlckhhbmRsZTsK
LSAgICBpZiAoIWRlY29kZXItPmRlY29kZShiYWNrQnVmZmVySGFuZGxlKSkKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKGJhY2tCdWZmZXJIYW5kbGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgdG9rZW4uYmFja0J1ZmZlckhhbmRsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8R3JhcGhpY3NTdXJm
YWNlVG9rZW46OkJ1ZmZlckhhbmRsZT4oYmFja0J1ZmZlckhhbmRsZSk7CiAjZWxpZiBPUyhEQVJX
SU4pCiAgICAgQXR0YWNobWVudCBmcm9udEF0dGFjaG1lbnQsIGJhY2tBdHRhY2htZW50OwotICAg
IGlmICghZGVjb2Rlci0+ZGVjb2RlKGZyb250QXR0YWNobWVudCkpCisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShmcm9udEF0dGFjaG1lbnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGUoYmFja0F0dGFjaG1lbnQpKQorICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoYmFja0F0dGFjaG1lbnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICB0b2tlbiA9
IEdyYXBoaWNzU3VyZmFjZVRva2VuKGZyb250QXR0YWNobWVudC5wb3J0KCksIGJhY2tBdHRhY2ht
ZW50LnBvcnQoKSk7CiAjZWxpZiBPUyhMSU5VWCkKLSAgICBpZiAoIWRlY29kZXItPmRlY29kZSh0
b2tlbi5mcm9udEJ1ZmZlckhhbmRsZSkpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0b2tlbi5m
cm9udEJ1ZmZlckhhbmRsZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogICAgIHJl
dHVybiB0cnVlOwpAQCAtODIwLDcgKzgyMCw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxDb29yZGlu
YXRlZExheWVySW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0CiAg
ICAgU2ltcGxlQXJndW1lbnRDb2RlcjxDb29yZGluYXRlZExheWVySW5mbz46OmVuY29kZShlbmNv
ZGVyLCBjb29yZGluYXRlZExheWVySW5mbyk7CiB9CiAKLWJvb2wgQXJndW1lbnRDb2RlcjxDb29y
ZGluYXRlZExheWVySW5mbz46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIENvb3Jk
aW5hdGVkTGF5ZXJJbmZvJiBjb29yZGluYXRlZExheWVySW5mbykKK2Jvb2wgQXJndW1lbnRDb2Rl
cjxDb29yZGluYXRlZExheWVySW5mbz46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIs
IENvb3JkaW5hdGVkTGF5ZXJJbmZvJiBjb29yZGluYXRlZExheWVySW5mbykKIHsKICAgICByZXR1
cm4gU2ltcGxlQXJndW1lbnRDb2RlcjxDb29yZGluYXRlZExheWVySW5mbz46OmRlY29kZShkZWNv
ZGVyLCBjb29yZGluYXRlZExheWVySW5mbyk7CiB9CkBAIC04MzAsNyArODMwLDcgQEAgdm9pZCBB
cmd1bWVudENvZGVyPFN1cmZhY2VVcGRhdGVJbmZvPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYg
ZW5jb2RlciwgY29uc3QgU3UKICAgICBTaW1wbGVBcmd1bWVudENvZGVyPFN1cmZhY2VVcGRhdGVJ
bmZvPjo6ZW5jb2RlKGVuY29kZXIsIHN1cmZhY2VVcGRhdGVJbmZvKTsKIH0KIAotYm9vbCBBcmd1
bWVudENvZGVyPFN1cmZhY2VVcGRhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVj
b2RlciwgU3VyZmFjZVVwZGF0ZUluZm8mIHN1cmZhY2VVcGRhdGVJbmZvKQorYm9vbCBBcmd1bWVu
dENvZGVyPFN1cmZhY2VVcGRhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgU3VyZmFjZVVwZGF0ZUluZm8mIHN1cmZhY2VVcGRhdGVJbmZvKQogewogICAgIHJldHVybiBT
aW1wbGVBcmd1bWVudENvZGVyPFN1cmZhY2VVcGRhdGVJbmZvPjo6ZGVjb2RlKGRlY29kZXIsIHN1
cmZhY2VVcGRhdGVJbmZvKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5oIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFw
aGljc0FyZ3VtZW50Q29kZXJzLmgKaW5kZXggZDZlZmZmNTVlZWFjNTUxMzJhMzZlNDlhN2RmNjRl
MzdmMzFjYzkwOS4uOGU3ZGVlZmIzZmVhMTdmOTg1ZTU4M2U3MzEwM2VmOGJhYzI5NTExZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmgK
QEAgLTU4LDYzICs1OCw2MyBAQCBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKIHRlbXBsYXRlPD4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRQb2ludDNEPiB7CiAgICAgc3RhdGljIHZv
aWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQzRCYp
OwotICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBXZWJDb3JlOjpGbG9h
dFBvaW50M0QmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2Vi
Q29yZTo6RmxvYXRQb2ludDNEJik7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6Okxlbmd0aD4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVu
Y29kZXImLCBjb25zdCBXZWJDb3JlOjpMZW5ndGgmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
QXJndW1lbnREZWNvZGVyKiwgV2ViQ29yZTo6TGVuZ3RoJik7CisgICAgc3RhdGljIGJvb2wgZGVj
b2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6Okxlbmd0aCYpOwogfTsKIAogdGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeD4gewog
ICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERl
Y29kZXIqLCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOworICAgIHN0YXRpYyBib29s
IGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYp
OwogfTsKIAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz4gewogICAgIHN0YXRpYyB2b2lkIGVu
Y29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb25zJik7
Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciosIFdlYkNvcmU6OkZpbHRl
ck9wZXJhdGlvbnMmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwg
V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucyYpOwogfTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKENT
U19TSEFERVJTKQogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpDdXN0
b21GaWx0ZXJQcm9ncmFtSW5mbz4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVu
Y29kZXImLCBjb25zdCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyYpOwotICAgIHN0
YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQ
cm9ncmFtSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBX
ZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyYpOwogfTsKICNlbmRpZgogCiB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbnM+IHsK
ICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6
VHJhbnNmb3JtT3BlcmF0aW9ucyYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERl
Y29kZXIqLCBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb25zJik7CisgICAgc3RhdGljIGJvb2wg
ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbnMmKTsK
IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6R3JhcGhpY3NM
YXllckFuaW1hdGlvbnM+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVy
JiwgY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbnMmKTsKLSAgICBzdGF0aWMg
Ym9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1h
dGlvbnMmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29y
ZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbnMmKTsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbj4gewogICAgIHN0YXRp
YyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xh
eWVyQW5pbWF0aW9uJik7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2Rlcios
IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJBbmltYXRpb24mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNv
ZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbiYpOwog
fTsKIAogI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2VUb2tlbj4gewogICAgIHN0YXRpYyB2b2lk
IGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2VU
b2tlbiYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBXZWJDb3Jl
OjpHcmFwaGljc1N1cmZhY2VUb2tlbiYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVu
dERlY29kZXImLCBXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2VUb2tlbiYpOwogfTsKICNlbmRpZgog
CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5
ZXJJbmZvPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0
IFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJbmZvJik7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2Rl
KEFyZ3VtZW50RGVjb2RlciosIFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJbmZvJik7CisgICAg
c3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNvb3JkaW5hdGVk
TGF5ZXJJbmZvJik7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OlN1cmZhY2VVcGRhdGVJbmZvPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50
RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlN1cmZhY2VVcGRhdGVJbmZvJik7Ci0gICAgc3RhdGlj
IGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciosIFdlYkNvcmU6OlN1cmZhY2VVcGRhdGVJbmZv
Jik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlN1
cmZhY2VVcGRhdGVJbmZvJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBDb3JlSVBDCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGlu
YXRlZFN1cmZhY2UuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV2ViQ29vcmRpbmF0ZWRTdXJmYWNlLmNwcAppbmRleCBiNWEzODQ1ODllZTkyMDA2NDA2Nzg2
YjEwYjQ5MjZlMTYxNjQwNjgxLi41MmI3ZjZkMmMxNDQzYTQ3OTc5MmU2ODA1OTNlYjY4YzBlMDRl
Njk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XZWJDb29yZGluYXRlZFN1cmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
b29yZGluYXRlZEdyYXBoaWNzL1dlYkNvb3JkaW5hdGVkU3VyZmFjZS5jcHAKQEAgLTUwLDE5ICs1
MCwxOSBAQCB2b2lkIFdlYkNvb3JkaW5hdGVkU3VyZmFjZTo6SGFuZGxlOjplbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjbwogICAgIGVuY29kZXIgPDwgbV9iaXRtYXBI
YW5kbGU7CiB9CiAKLWJvb2wgV2ViQ29vcmRpbmF0ZWRTdXJmYWNlOjpIYW5kbGU6OmRlY29kZShD
b3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIEhhbmRsZSYgaGFuZGxlKQorYm9vbCBX
ZWJDb29yZGluYXRlZFN1cmZhY2U6OkhhbmRsZTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVj
b2RlciYgZGVjb2RlciwgSGFuZGxlJiBoYW5kbGUpCiB7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGUoaGFuZGxlLm1fc2l6ZSkpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYW5kbGUubV9zaXpl
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGhhbmRs
ZS5tX2ZsYWdzKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhbmRsZS5tX2ZsYWdzKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQotICAgIGlmICgh
ZGVjb2Rlci0+ZGVjb2RlKGhhbmRsZS5tX2dyYXBoaWNzU3VyZmFjZVRva2VuKSkKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGhhbmRsZS5tX2dyYXBoaWNzU3VyZmFjZVRva2VuKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmIChoYW5kbGUubV9ncmFwaGljc1N1cmZhY2VUb2tlbi5pc1Zh
bGlkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCi0gICAgaWYgKCFkZWNvZGVyLT5k
ZWNvZGUoaGFuZGxlLm1fYml0bWFwSGFuZGxlKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhh
bmRsZS5tX2JpdG1hcEhhbmRsZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVy
biB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViQ29vcmRpbmF0ZWRTdXJmYWNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuaAppbmRleCAxNGE3YzAwNzg1
NDkwNzRkMDM1NzliZDQ5ZWZkZDI4YmU0YTVmZDk2Li41Mzg2YTkxN2U1MjZlYjRhM2Q1OGQ3ODIy
YjkxY2UwMDllYjI1MTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuaApAQCAt
NDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgICAgIEhhbmRsZSgpOwogCiAgICAgICAgIHZvaWQg
ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgICAgICBzdGF0aWMg
Ym9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgSGFuZGxlJik7CisgICAgICAg
IHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBIYW5kbGUmKTsK
IAogI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQogICAgICAgICBXZWJDb3JlOjpHcmFwaGljc1N1
cmZhY2VUb2tlbiBncmFwaGljc1N1cmZhY2VUb2tlbigpIGNvbnN0IHsgcmV0dXJuIG1fZ3JhcGhp
Y3NTdXJmYWNlVG9rZW47IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9B
cmd1bWVudENvZGVyc1F0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9Bcmd1bWVudENv
ZGVyc1F0LmNwcAppbmRleCAzMWM5MTEwNGM0Mjk2OGIyMmJiYzU0ZWE3NGY1MWY3OTI0Yjg5YTc2
Li40NGM4NTViNmJmZmM1NTI2ZmE5NDYxOGVhYWRjNzM5ZTY1ZWZlOWIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvQXJndW1lbnRDb2RlcnNRdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL3F0L0FyZ3VtZW50Q29kZXJzUXQuY3BwCkBAIC01NywyOSArNTcsMjkg
QEAgdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRyYWdEYXRhPjo6ZW5jb2RlKEFyZ3VtZW50
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgRHIKICAgICBlbmNvZGVyIDw8IG1hcDsKIH0KIAotYm9v
bCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRyYWdEYXRhPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2Rl
ciogZGVjb2RlciwgRHJhZ0RhdGEmIGRyYWdEYXRhKQorYm9vbCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OkRyYWdEYXRhPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgRHJhZ0RhdGEm
IGRyYWdEYXRhKQogewogICAgIEludFBvaW50IGNsaWVudFBvc2l0aW9uOwogICAgIEludFBvaW50
IGdsb2JhbFBvc2l0aW9uOwogICAgIHVpbnQ2NF90IHNvdXJjZU9wZXJhdGlvbk1hc2s7CiAgICAg
dWludDY0X3QgZmxhZ3M7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoY2xpZW50UG9zaXRpb24p
KQorICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY2xpZW50UG9zaXRpb24pKQogICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoZ2xvYmFsUG9zaXRpb24pKQorICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoZ2xvYmFsUG9zaXRpb24pKQogICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoc291cmNlT3BlcmF0aW9uTWFzaykpCisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShzb3VyY2VPcGVyYXRpb25NYXNrKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGZsYWdzKSkKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGZsYWdzKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYm9vbCBoYXNQ
bGF0Zm9ybURhdGE7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoaGFzUGxhdGZvcm1EYXRhKSkK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc1BsYXRmb3JtRGF0YSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIFFNaW1lRGF0YSogbWltZURhdGEgPSAwOwogICAgIGlmIChoYXNQbGF0
Zm9ybURhdGEpIHsKICAgICAgICAgTUlNRURhdGFIYXNoTWFwIG1hcDsKLSAgICAgICAgaWYgKCFk
ZWNvZGVyLT5kZWNvZGUobWFwKSkKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShtYXApKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIG1pbWVEYXRhID0gbmV3IFFNaW1l
RGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9Bcmd1bWVudENvZGVy
c1F0LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvQXJndW1lbnRDb2RlcnNRdC5oCmluZGV4
IGFkODU3OTlmYjM5OTkxZjVlY2RmMWRlNWQ3ZDBkY2M3ZmViYjM0MzguLjhkNjZlNTdmM2RiOWQ4
OTM0NzA0OWVjYjY1NGU1Yjc5YjUzMmJmNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9xdC9Bcmd1bWVudENvZGVyc1F0LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0
L0FyZ3VtZW50Q29kZXJzUXQuaApAQCAtMjcsMTEgKzI3LDExIEBACiBuYW1lc3BhY2UgQ29yZUlQ
QyB7CiAKIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkRyYWdE
YXRhJik7Ci1ib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBXZWJDb3JlOjpEcmFnRGF0YSYp
OworYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6RHJhZ0RhdGEmKTsKIAog
dGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpEcmFnRGF0YT4gewogICAg
IHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpEcmFn
RGF0YSYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBXZWJDb3Jl
OjpEcmFnRGF0YSYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBX
ZWJDb3JlOjpEcmFnRGF0YSYpOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3F0L0xheWVyVHJlZUNvbnRleHRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
cXQvTGF5ZXJUcmVlQ29udGV4dFF0LmNwcAppbmRleCA5ZmM0MTYzNTJjZjFhNTI2NzBmMTJkMjM3
MzNjZjYxY2MyOTAxM2UzLi44ODNjOWE5ODdjYTkxMTM0MmUyNTBjNWRjYWFkYjQxNTA1YjFkNzc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvTGF5ZXJUcmVlQ29udGV4dFF0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvTGF5ZXJUcmVlQ29udGV4dFF0LmNw
cApAQCAtNDUsOSArNDUsOSBAQCB2b2lkIExheWVyVHJlZUNvbnRleHQ6OmVuY29kZShDb3JlSVBD
OjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2Rlci5lbmNvZGUoY29v
cmRpbmF0ZWRMYXllcklEKTsKIH0KIAotYm9vbCBMYXllclRyZWVDb250ZXh0OjpkZWNvZGUoQ29y
ZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBMYXllclRyZWVDb250ZXh0JiBjb250ZXh0
KQorYm9vbCBMYXllclRyZWVDb250ZXh0OjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBMYXllclRyZWVDb250ZXh0JiBjb250ZXh0KQogewotICAgIHJldHVybiBkZWNv
ZGVyLT5kZWNvZGUoY29udGV4dC5jb29yZGluYXRlZExheWVySUQpOworICAgIHJldHVybiBkZWNv
ZGVyLmRlY29kZShjb250ZXh0LmNvb3JkaW5hdGVkTGF5ZXJJRCk7CiB9CiAKIGJvb2wgTGF5ZXJU
cmVlQ29udGV4dDo6aXNFbXB0eSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvcXQvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9xdC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCmluZGV4IDljNTQyYTExZGMwNmEyYmQyYTc4
YzcwNTM3NDQ4OWVmMzQ2NzY2MTUuLmMxYjlkZTY5ODBlMDFlNTY2ZTk2YTRmZmFhNzk1MDYxNTQ0
MWY4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0g
ICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvJikKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyJiwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKQogICAgIHsKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0
TmV0d29ya1JlcGx5RGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3Jr
UmVwbHlEYXRhLmNwcAppbmRleCBhZmNlYWRkNGRlMmYzMzhjYjBlMWZmNzc0ZDYyNTQ4NmZiNDUx
MGY5Li41ZGQ1NTMwZmExM2U3OTg3ZWM3NGYwMWJlNmQ1ZjBlZDY3NzJjMjVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmNwcApAQCAtNTAsMTcg
KzUwLDE3IEBAIHZvaWQgUXROZXR3b3JrUmVwbHlEYXRhOjplbmNvZGUoQ29yZUlQQzo6QXJndW1l
bnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIuZW5jb2RlKG1fZGF0YUhhbmRs
ZSk7CiB9CiAKLWJvb2wgUXROZXR3b3JrUmVwbHlEYXRhOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyKiBkZWNvZGVyLCBRdE5ldHdvcmtSZXBseURhdGEmIGRlc3RpbmF0aW9uKQorYm9v
bCBRdE5ldHdvcmtSZXBseURhdGE6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIFF0TmV0d29ya1JlcGx5RGF0YSYgZGVzdGluYXRpb24pCiB7Ci0gICAgaWYgKCFkZWNv
ZGVyLT5kZWNvZGUoZGVzdGluYXRpb24ubV91cmxTdHJpbmcpKQorICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoZGVzdGluYXRpb24ubV91cmxTdHJpbmcpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoZGVzdGluYXRpb24ubV9jb250ZW50VHlwZSkpCisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShkZXN0aW5hdGlvbi5tX2NvbnRlbnRUeXBlKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGRlc3RpbmF0aW9uLm1fY29u
dGVudExlbmd0aCkpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkZXN0aW5hdGlvbi5tX2NvbnRl
bnRMZW5ndGgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGUoZGVzdGluYXRpb24ubV9yZXBseVV1aWQpKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGVz
dGluYXRpb24ubV9yZXBseVV1aWQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFk
ZWNvZGVyLT5kZWNvZGUoZGVzdGluYXRpb24ubV9kYXRhSGFuZGxlKSkKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGRlc3RpbmF0aW9uLm1fZGF0YUhhbmRsZSkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9xdC9RdE5ldHdvcmtSZXBseURhdGEuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5l
dHdvcmtSZXBseURhdGEuaAppbmRleCAwMmU1YTE1NDUwMzc2MDg2MTQ2ZWZhYTRiMzA3NzM1MjFl
ZWQyYzEzLi42NDgwZmIyZjJhNWYwN2U4OTg1Yjg5MTA2Zjk1ZjdhNWU1YWJiMGUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVwbHlEYXRhLmgKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcGx5RGF0YS5oCkBAIC00Myw3ICs0
Myw3IEBAIHN0cnVjdCBRdE5ldHdvcmtSZXBseURhdGEgewogICAgIFF0TmV0d29ya1JlcGx5RGF0
YSgpOwogCiAgICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7
Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIFF0TmV0
d29ya1JlcGx5RGF0YSYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVu
dERlY29kZXImLCBRdE5ldHdvcmtSZXBseURhdGEmKTsKIAogICAgIFdURjo6U3RyaW5nIG1fdXJs
U3RyaW5nOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3Jr
UmVxdWVzdERhdGEuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVl
c3REYXRhLmNwcAppbmRleCBkZWU5MDNmMmFiNWY1NjY0ZmZlZDRlYWYxZDY3MDAwODI5MWQ0Mzc4
Li5mNjZlYjQyMWJkYTNlMTcxMmQ1MmVmN2IxMjk0MTA4YmUwYzZkNWRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9RdE5ldHdvcmtSZXF1ZXN0RGF0YS5jcHAKQEAgLTU2LDEz
ICs1NiwxMyBAQCB2b2lkIFF0TmV0d29ya1JlcXVlc3REYXRhOjplbmNvZGUoQ29yZUlQQzo6QXJn
dW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIuZW5jb2RlKG1fcmVwbHlV
dWlkKTsKIH0KIAotYm9vbCBRdE5ldHdvcmtSZXF1ZXN0RGF0YTo6ZGVjb2RlKENvcmVJUEM6OkFy
Z3VtZW50RGVjb2RlciogZGVjb2RlciwgUXROZXR3b3JrUmVxdWVzdERhdGEmIGRlc3RpbmF0aW9u
KQorYm9vbCBRdE5ldHdvcmtSZXF1ZXN0RGF0YTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVj
b2RlciYgZGVjb2RlciwgUXROZXR3b3JrUmVxdWVzdERhdGEmIGRlc3RpbmF0aW9uKQogewotICAg
IGlmICghZGVjb2Rlci0+ZGVjb2RlKGRlc3RpbmF0aW9uLm1fc2NoZW1lKSkKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKGRlc3RpbmF0aW9uLm1fc2NoZW1lKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGRlc3RpbmF0aW9uLm1fdXJsU3RyaW5nKSkKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGRlc3RpbmF0aW9uLm1fdXJsU3RyaW5nKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGRlc3RpbmF0aW9uLm1fcmVw
bHlVdWlkKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRlc3RpbmF0aW9uLm1fcmVwbHlVdWlk
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1F0TmV0d29ya1JlcXVlc3REYXRhLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXROZXR3b3JrUmVxdWVzdERhdGEuaAppbmRleCA2NTgzOTQ1
Y2FiYWMwN2U3ZTc0MzA1ODg5ZGU1NjkwNDQ3MmNiNzc2Li4yMmE0YThkNGE3ZGUyZjFiYWE2ZmE5
OGMwZGJlMzNjZDliYWI1YzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQv
UXROZXR3b3JrUmVxdWVzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvUXRO
ZXR3b3JrUmVxdWVzdERhdGEuaApAQCAtNDUsNyArNDUsNyBAQCBzdHJ1Y3QgUXROZXR3b3JrUmVx
dWVzdERhdGEgewogICAgIFF0TmV0d29ya1JlcXVlc3REYXRhKCk7CiAgICAgUXROZXR3b3JrUmVx
dWVzdERhdGEoY29uc3QgUU5ldHdvcmtSZXF1ZXN0JiwgUU5ldHdvcmtSZXBseSopOwogICAgIHZv
aWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRpYyBi
b29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBRdE5ldHdvcmtSZXF1ZXN0RGF0
YSYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBR
dE5ldHdvcmtSZXF1ZXN0RGF0YSYpOwogCiAgICAgU3RyaW5nIG1fc2NoZW1lOwogICAgIFN0cmlu
ZyBtX3VybFN0cmluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzUXQuY3BwCmluZGV4IGFkZjFmMjE0NTgwYWY1Y2E1Y2MyMGE5MjcwOTI1
MmUzMTFkYmFhMjIuLjM1YmYyMmYwYmE5ZTUxZDc0MTQyZDFmN2UwNmEyYmNlOTE0MzJjYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNR
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVy
c1F0LmNwcApAQCAtMzgsNyArMzgsNyBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1
ZXN0Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcgogewogfQog
Ci1ib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZGVjb2RlUGxhdGZvcm1EYXRh
KEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVl
c3QpCitib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZGVjb2RlUGxhdGZvcm1E
YXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJl
cXVlc3QpCiB7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC00OCw3ICs0OCw3IEBAIHZvaWQgQXJn
dW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RW5jb2RlciYgZW5jb2RlCiB7CiB9CiAKLWJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3Bv
bnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSkKK2Jvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJj
ZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rlciwg
UmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSkKIHsKICAgICByZXR1cm4gdHJ1ZTsK
IH0KQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+Ojpl
bmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLAogewogfQogCi1ib29s
IEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVu
dERlY29kZXIqIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCitib29sIEFy
Z3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERl
Y29kZXImIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CiAgICAgcmV0
dXJuIHRydWU7CiB9Cg==
</data>
<flag name="review"
          id="205434"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>