<?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>126788</bug_id>
          
          <creation_ts>2014-01-10 16:15:11 -0800</creation_ts>
          <short_desc>CTTE in NavigationScheduler</short_desc>
          <delta_ts>2014-01-10 16:34:11 -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>966662</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-10 16:15:11 -0800</bug_when>
    <thetext>CTTE in NavigationScheduler</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966665</commentid>
    <comment_count>1</comment_count>
      <attachid>220901</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-10 16:18:53 -0800</bug_when>
    <thetext>Created attachment 220901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966666</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-10 16:21:18 -0800</bug_when>
    <thetext>Attachment 220901 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/inspector/InspectorInstrumentation.cpp&apos;, u&apos;Source/WebCore/inspector/InspectorInstrumentation.h&apos;, u&apos;Source/WebCore/inspector/InspectorPageAgent.cpp&apos;, u&apos;Source/WebCore/inspector/InspectorPageAgent.h&apos;, u&apos;Source/WebCore/loader/NavigationScheduler.cpp&apos;, u&apos;Source/WebCore/loader/NavigationScheduler.h&apos;, u&apos;Source/WebCore/page/Frame.cpp&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebCore/page/Frame.cpp:167:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966683</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-10 16:34:11 -0800</bug_when>
    <thetext>Committed r161697: &lt;http://trac.webkit.org/changeset/161697&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220901</attachid>
            <date>2014-01-10 16:18:53 -0800</date>
            <delta_ts>2014-01-10 16:27:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126788-20140110161853.patch</filename>
            <type>text/plain</type>
            <size>29514</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE3ZGQwYjhjZjU0YTNm
ZDIyYjU1MjBkMDI0ODIzMmYwYWY4MGJkYS4uMDI3N2U5NzJlYjJiNmQ5ZThiM2Y4OGIwNGQyN2Jj
NGU5YWU1Njg5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDE0LTAxLTEwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgQ1RURSBpbiBOYXZp
Z2F0aW9uU2NoZWR1bGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjY3ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmln
YXRpb25JbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZnJhbWVDbGVhcmVkU2NoZWR1bGVkTmF2aWdhdGlvbkltcGwpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVDbGVhcmVkU2NoZWR1bGVkTmF2
aWdhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmZyYW1lU2NoZWR1bGVkTmF2aWdh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmZyYW1lQ2xlYXJl
ZFNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdl
QWdlbnQuaDoKKyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY2hlZHVsZWROYXZpZ2F0aW9uOjpzaG91bGRTdGFydFRpbWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjaGVkdWxlZE5hdmlnYXRpb246OmRpZFN0YXJ0VGltZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkTmF2aWdhdGlvbjo6ZGlkU3RvcFRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6Ok5hdmlnYXRpb25TY2hlZHVsZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVkdWxlcjo6Y2xlYXIpOgorICAgICAgICAo
V2ViQ29yZTo6TmF2aWdhdGlvblNjaGVkdWxlcjo6c2hvdWxkU2NoZWR1bGVOYXZpZ2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlUmVkaXJlY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVkdWxlcjo6bXVzdExvY2tCYWNrRm9y
d2FyZExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1
bGVMb2NhdGlvbkNoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2NoZWR1bGVy
OjpzY2hlZHVsZUZvcm1TdWJtaXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25T
Y2hlZHVsZXI6OnNjaGVkdWxlUmVmcmVzaCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9u
U2NoZWR1bGVyOjpzY2hlZHVsZUhpc3RvcnlOYXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TmF2
aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1bGUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlv
blNjaGVkdWxlcjo6c3RhcnRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpjYW5jZWwpOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmg6
CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6RnJh
bWUpOgorCisyMDE0LTAxLTEwICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+
CisKICAgICAgICAgUmVtb3ZlIGFuIHVudXNlZCBGcmFtZUxvYWRlciBmdW5jdGlvbgogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2Nzg1CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKaW5kZXggZTFlYTVkZDZiODczNGY0ZDYzYTY5MmQyYzc0MzkyMGZlMmQyOWU0Yi4uMGVmMDFl
NzU5NWU1ODdmMjY2MWVkMDJkNTdmMDk4NTBiNTFkYmNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTg2OCwx
NSArODY4LDE1IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0b3BwZWRM
b2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0CiAgICAgICAgIGluc3BlY3RvclBh
Z2VBZ2VudC0+ZnJhbWVTdG9wcGVkTG9hZGluZyhmcmFtZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lKiBmcmFtZSwgZG91YmxlIGRlbGF5
KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlv
bkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgRnJhbWUmIGZy
YW1lLCBkb3VibGUgZGVsYXkpCiB7Ci0gICAgaWYgKEluc3BlY3RvclBhZ2VBZ2VudCogaW5zcGVj
dG9yUGFnZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUGFnZUFnZW50KCkp
CisgICAgaWYgKEluc3BlY3RvclBhZ2VBZ2VudCogaW5zcGVjdG9yUGFnZUFnZW50ID0gaW5zdHJ1
bWVudGluZ0FnZW50cy5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKICAgICAgICAgaW5zcGVjdG9yUGFn
ZUFnZW50LT5mcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24oZnJhbWUsIGRlbGF5KTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRp
b25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lKiBm
cmFtZSkKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZUNsZWFyZWRTY2hlZHVs
ZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRz
LCBGcmFtZSYgZnJhbWUpCiB7Ci0gICAgaWYgKEluc3BlY3RvclBhZ2VBZ2VudCogaW5zcGVjdG9y
UGFnZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUGFnZUFnZW50KCkpCisg
ICAgaWYgKEluc3BlY3RvclBhZ2VBZ2VudCogaW5zcGVjdG9yUGFnZUFnZW50ID0gaW5zdHJ1bWVu
dGluZ0FnZW50cy5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKICAgICAgICAgaW5zcGVjdG9yUGFnZUFn
ZW50LT5mcmFtZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uKGZyYW1lKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmlu
ZGV4IDQ1OTk0NzBmNWRlZTBkMjY3NGM4OWZiZWNhMjAyMmZjNTg0OTFiZjMuLjcxMzFiY2Q1Mzhk
YTg0YmU5YTEwNWIxMmE3Zjk4NTdhM2Q3NzMxMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTE5Nyw4ICsxOTcsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRnJhbWUq
LCBEb2N1bWVudExvYWRlciopOwogICAgIHN0YXRpYyB2b2lkIGZyYW1lU3RhcnRlZExvYWRpbmco
RnJhbWUmKTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJik7Ci0g
ICAgc3RhdGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lKiwgZG91YmxlIGRl
bGF5KTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uKEZy
YW1lKik7CisgICAgc3RhdGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiwg
ZG91YmxlIGRlbGF5KTsKKyAgICBzdGF0aWMgdm9pZCBmcmFtZUNsZWFyZWRTY2hlZHVsZWROYXZp
Z2F0aW9uKEZyYW1lJik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSB3aWxsUnVuSmF2YVNjcmlwdERpYWxvZyhQYWdlKiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRSdW5KYXZhU2NyaXB0RGlhbG9nKGNvbnN0IEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAgIHN0YXRpYyB2b2lkIHdpbGxEZXN0cm95Q2FjaGVk
UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqKTsKQEAgLTM4OCw4ICszODgsOCBAQCBwcml2YXRlOgog
ICAgIHN0YXRpYyB2b2lkIGxvYWRlckRldGFjaGVkRnJvbUZyYW1lSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiwgRG9jdW1lbnRMb2FkZXIqKTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVN0YXJ0ZWRM
b2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsKICAgICBzdGF0aWMgdm9p
ZCBmcmFtZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsK
LSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqLCBGcmFtZSosIGRvdWJsZSBkZWxheSk7Ci0gICAgc3RhdGljIHZvaWQgZnJhbWVD
bGVhcmVkU2NoZWR1bGVkTmF2aWdhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1l
Kik7CisgICAgc3RhdGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiwgRnJhbWUmLCBkb3VibGUgZGVsYXkpOworICAgIHN0YXRpYyB2b2lkIGZy
YW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBG
cmFtZSYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFJ1
bkphdmFTY3JpcHREaWFsb2dJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UpOwogICAgIHN0YXRpYyB2b2lkIGRpZFJ1bkphdmFTY3JpcHREaWFsb2dJbXBsKGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAgIHN0YXRpYyB2b2lkIHdp
bGxEZXN0cm95Q2FjaGVkUmVzb3VyY2VJbXBsKENhY2hlZFJlc291cmNlKik7CkBAIC0xNjI2LDIy
ICsxNjI2LDIyIEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVT
dG9wcGVkTG9hZGluZyhGcmFtZSYgZnJhbWUpCiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUqIGZy
YW1lLCBkb3VibGUgZGVsYXkpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUsIGRvdWJsZSBkZWxheSkKIHsK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKLSAg
ICAgICAgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBm
cmFtZSwgZGVsYXkpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKCZmcmFtZSkpCisgICAgICAgIGZy
YW1lU2NoZWR1bGVkTmF2aWdhdGlvbkltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lLCBk
ZWxheSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CiAgICAgVU5VU0VEX1BBUkFN
KGRlbGF5KTsKICNlbmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUqIGZyYW1lKQoraW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZUNsZWFyZWRTY2hlZHVsZWROYXZp
Z2F0aW9uKEZyYW1lJiBmcmFtZSkKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgIGlmIChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0Fn
ZW50c0ZvckZyYW1lKGZyYW1lKSkKLSAgICAgICAgZnJhbWVDbGVhcmVkU2NoZWR1bGVkTmF2aWdh
dGlvbkltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOworICAgIGlmIChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZy
YW1lKCZmcmFtZSkpCisgICAgICAgIGZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb25JbXBs
KCppbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShm
cmFtZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBh
Z2VBZ2VudC5jcHAKaW5kZXggYjcwNDQ2NDU5ODhlMzAyODVkZGZmMGY4Y2ZmZWU5ZDUxMjk4YjFh
Zi4uNGRjOGMxZDRlY2EwYzVmYWI3MzA2MDc5ZmEzMTI2N2NlM2UyZWEyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTg4NywxNCAr
ODg3LDE0IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZy
YW1lJiBmcmFtZSkKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZnJhbWVTdG9wcGVkTG9hZGlu
ZyhmcmFtZUlkKCZmcmFtZSkpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZnJhbWVT
Y2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lKiBmcmFtZSwgZG91YmxlIGRlbGF5KQordm9pZCBJbnNw
ZWN0b3JQYWdlQWdlbnQ6OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUsIGRv
dWJsZSBkZWxheSkKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZnJhbWVTY2hlZHVsZWRO
YXZpZ2F0aW9uKGZyYW1lSWQoZnJhbWUpLCBkZWxheSk7CisgICAgbV9mcm9udGVuZERpc3BhdGNo
ZXItPmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihmcmFtZUlkKCZmcmFtZSksIGRlbGF5KTsKIH0K
IAotdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRp
b24oRnJhbWUqIGZyYW1lKQordm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmZyYW1lQ2xlYXJlZFNj
aGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmIGZyYW1lKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRj
aGVyLT5mcmFtZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uKGZyYW1lSWQoZnJhbWUpKTsKKyAg
ICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZnJhbWVDbGVhcmVkU2NoZWR1bGVkTmF2aWdhdGlvbihm
cmFtZUlkKCZmcmFtZSkpOwogfQogCiB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6d2lsbFJ1bkph
dmFTY3JpcHREaWFsb2coY29uc3QgU3RyaW5nJiBtZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4IDQ3OGQxM2FhNDJlM2MxNThjYzAz
YWY5YzcwYzJhMWIxYzA1OGJhMTcuLmFjYWVjMWE3ZjZmZTcxOTc1MDExMzExNDE3NzRkNThhMTA4
MTViODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdl
QWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
LmgKQEAgLTEzNSw4ICsxMzUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkZXJEZXRhY2hlZEZy
b21GcmFtZShEb2N1bWVudExvYWRlciopOwogICAgIHZvaWQgZnJhbWVTdGFydGVkTG9hZGluZyhG
cmFtZSYpOwogICAgIHZvaWQgZnJhbWVTdG9wcGVkTG9hZGluZyhGcmFtZSYpOwotICAgIHZvaWQg
ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lKiwgZG91YmxlIGRlbGF5KTsKLSAgICB2b2lk
IGZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUqKTsKKyAgICB2b2lkIGZyYW1l
U2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYsIGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBmcmFt
ZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lJik7CiAgICAgdm9pZCB3aWxsUnVuSmF2
YVNjcmlwdERpYWxvZyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOwogICAgIHZvaWQgZGlkUnVuSmF2
YVNjcmlwdERpYWxvZygpOwogICAgIHZvaWQgYXBwbHlFbXVsYXRlZE1lZGlhKFN0cmluZyopOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4IDEx
ODYwZTJhZWQ2YTg2MGVmNzI1ZmNlOWY5NjBkYjc2ZWZjYWNkNTguLmJkYmFkMjQ1ZDFiNTFlY2Zi
YmRhNDY1OWI1MzdiYjQ2ZTdkYmZkNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTcwLDExICs3MCwxMSBAQCBwdWJsaWM6CiAgICAgfQog
ICAgIHZpcnR1YWwgflNjaGVkdWxlZE5hdmlnYXRpb24oKSB7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBmaXJlKEZyYW1lKikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBmaXJlKEZyYW1lJikgPSAwOwog
Ci0gICAgdmlydHVhbCBib29sIHNob3VsZFN0YXJ0VGltZXIoRnJhbWUqKSB7IHJldHVybiB0cnVl
OyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpZFN0YXJ0VGltZXIoRnJhbWUqLCBUaW1lcjxOYXZpZ2F0
aW9uU2NoZWR1bGVyPiopIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRTdG9wVGltZXIoRnJhbWUq
LCBib29sIC8qIG5ld0xvYWRJblByb2dyZXNzICovKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgc2hv
dWxkU3RhcnRUaW1lcihGcmFtZSYpIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkU3RhcnRUaW1lcihGcmFtZSYsIFRpbWVyPE5hdmlnYXRpb25TY2hlZHVsZXI+JikgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIGRpZFN0b3BUaW1lcihGcmFtZSYsIGJvb2wgLyogbmV3TG9hZEluUHJv
Z3Jlc3MgKi8pIHsgfQogCiAgICAgZG91YmxlIGRlbGF5KCkgY29uc3QgeyByZXR1cm4gbV9kZWxh
eTsgfQogICAgIGJvb2wgbG9ja0hpc3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2xvY2tIaXN0b3J5
OyB9CkBAIC0xMDYsMjMgKzEwNiwyMyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgIH0KIAotICAg
IHZpcnR1YWwgdm9pZCBmaXJlKEZyYW1lKiBmcmFtZSkKKyAgICB2aXJ0dWFsIHZvaWQgZmlyZShG
cmFtZSYgZnJhbWUpIE9WRVJSSURFCiAgICAgewogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRv
ciBnZXN0dXJlSW5kaWNhdG9yKHdhc1VzZXJHZXN0dXJlKCkgPyBEZWZpbml0ZWx5UHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlIDogRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7Ci0gICAg
ICAgIGZyYW1lLT5sb2FkZXIoKS5jaGFuZ2VMb2NhdGlvbihtX3NlY3VyaXR5T3JpZ2luLmdldCgp
LCBVUkwoUGFyc2VkVVJMU3RyaW5nLCBtX3VybCksIG1fcmVmZXJyZXIsIGxvY2tIaXN0b3J5KCks
IGxvY2tCYWNrRm9yd2FyZExpc3QoKSwgZmFsc2UpOworICAgICAgICBmcmFtZS5sb2FkZXIoKS5j
aGFuZ2VMb2NhdGlvbihtX3NlY3VyaXR5T3JpZ2luLmdldCgpLCBVUkwoUGFyc2VkVVJMU3RyaW5n
LCBtX3VybCksIG1fcmVmZXJyZXIsIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3Qo
KSwgZmFsc2UpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydFRpbWVyKEZyYW1l
KiBmcmFtZSwgVGltZXI8TmF2aWdhdGlvblNjaGVkdWxlcj4qIHRpbWVyKQorICAgIHZpcnR1YWwg
dm9pZCBkaWRTdGFydFRpbWVyKEZyYW1lJiBmcmFtZSwgVGltZXI8TmF2aWdhdGlvblNjaGVkdWxl
cj4mIHRpbWVyKSBPVkVSUklERQogICAgIHsKICAgICAgICAgaWYgKG1faGF2ZVRvbGRDbGllbnQp
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0cnVlOwog
CiAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdl
c3R1cmUoKSA/IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5Tm90
UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKLSAgICAgICAgZnJhbWUtPmxvYWRlcigpLmNsaWVudFJl
ZGlyZWN0ZWQoVVJMKFBhcnNlZFVSTFN0cmluZywgbV91cmwpLCBkZWxheSgpLCBjdXJyZW50VGlt
ZSgpICsgdGltZXItPm5leHRGaXJlSW50ZXJ2YWwoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsK
KyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZChVUkwoUGFyc2VkVVJMU3Ry
aW5nLCBtX3VybCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVy
dmFsKCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lk
IGRpZFN0b3BUaW1lcihGcmFtZSogZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpCisgICAg
dmlydHVhbCB2b2lkIGRpZFN0b3BUaW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJv
Z3Jlc3MpIE9WRVJSSURFCiAgICAgewogICAgICAgICBpZiAoIW1faGF2ZVRvbGRDbGllbnQpCiAg
ICAgICAgICAgICByZXR1cm47CkBAIC0xMzMsNyArMTMzLDcgQEAgcHJvdGVjdGVkOgogICAgICAg
ICAvLyBmYWN0IHVuYXZhaWxhYmxlLiBXZSBuZWVkIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGVt
LCBvdGhlcndpc2UgdGhlCiAgICAgICAgIC8vIGdlc3R1cmUgc3RhdGUgd2lsbCBzb21ldGltZXMg
YmUgc2V0IGFuZCBzb21ldGltZXMgbm90IHdpdGhpbgogICAgICAgICAvLyBkaXNwYXRjaERpZENh
bmNlbENsaWVudFJlZGlyZWN0KCkuCi0gICAgICAgIGZyYW1lLT5sb2FkZXIoKS5jbGllbnRSZWRp
cmVjdENhbmNlbGxlZE9yRmluaXNoZWQobmV3TG9hZEluUHJvZ3Jlc3MpOworICAgICAgICBmcmFt
ZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdENhbmNlbGxlZE9yRmluaXNoZWQobmV3TG9hZEluUHJv
Z3Jlc3MpOwogICAgIH0KIAogICAgIFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbigpIGNv
bnN0IHsgcmV0dXJuIG1fc2VjdXJpdHlPcmlnaW4uZ2V0KCk7IH0KQEAgLTE1NSwxMyArMTU1LDE2
IEBAIHB1YmxpYzoKICAgICAgICAgY2xlYXJVc2VyR2VzdHVyZSgpOwogICAgIH0KIAotICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRTdGFydFRpbWVyKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gZnJhbWUt
PmxvYWRlcigpLmFsbEFuY2VzdG9yc0FyZUNvbXBsZXRlKCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkU3RhcnRUaW1lcihGcmFtZSYgZnJhbWUpIE9WRVJSSURFCisgICAgeworICAgICAgICBy
ZXR1cm4gZnJhbWUubG9hZGVyKCkuYWxsQW5jZXN0b3JzQXJlQ29tcGxldGUoKTsKKyAgICB9CiAK
LSAgICB2aXJ0dWFsIHZvaWQgZmlyZShGcmFtZSogZnJhbWUpCisgICAgdmlydHVhbCB2b2lkIGZp
cmUoRnJhbWUmIGZyYW1lKSBPVkVSUklERQogICAgIHsKICAgICAgICAgVXNlckdlc3R1cmVJbmRp
Y2F0b3IgZ2VzdHVyZUluZGljYXRvcih3YXNVc2VyR2VzdHVyZSgpID8gRGVmaW5pdGVseVByb2Nl
c3NpbmdVc2VyR2VzdHVyZSA6IERlZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwot
ICAgICAgICBib29sIHJlZnJlc2ggPSBlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKGZy
YW1lLT5kb2N1bWVudCgpLT51cmwoKSwgVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKCkpKTsKLSAg
ICAgICAgZnJhbWUtPmxvYWRlcigpLmNoYW5nZUxvY2F0aW9uKHNlY3VyaXR5T3JpZ2luKCksIFVS
TChQYXJzZWRVUkxTdHJpbmcsIHVybCgpKSwgcmVmZXJyZXIoKSwgbG9ja0hpc3RvcnkoKSwgbG9j
a0JhY2tGb3J3YXJkTGlzdCgpLCByZWZyZXNoKTsKKyAgICAgICAgYm9vbCByZWZyZXNoID0gZXF1
YWxJZ25vcmluZ0ZyYWdtZW50SWRlbnRpZmllcihmcmFtZS5kb2N1bWVudCgpLT51cmwoKSwgVVJM
KFBhcnNlZFVSTFN0cmluZywgdXJsKCkpKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2hhbmdl
TG9jYXRpb24oc2VjdXJpdHlPcmlnaW4oKSwgVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKCkpLCBy
ZWZlcnJlcigpLCBsb2NrSGlzdG9yeSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCksIHJlZnJlc2gp
OwogICAgIH0KIH07CiAKQEAgLTE3OCwxMCArMTgxLDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAg
fQogCi0gICAgdmlydHVhbCB2b2lkIGZpcmUoRnJhbWUqIGZyYW1lKQorICAgIHZpcnR1YWwgdm9p
ZCBmaXJlKEZyYW1lJiBmcmFtZSkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIFVzZXJHZXN0dXJl
SW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdlc3R1cmUoKSA/IERlZmluaXRlbHlQ
cm9jZXNzaW5nVXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KTsKLSAgICAgICAgZnJhbWUtPmxvYWRlcigpLmNoYW5nZUxvY2F0aW9uKHNlY3VyaXR5T3JpZ2lu
KCksIFVSTChQYXJzZWRVUkxTdHJpbmcsIHVybCgpKSwgcmVmZXJyZXIoKSwgbG9ja0hpc3Rvcnko
KSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpLCB0cnVlKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCku
Y2hhbmdlTG9jYXRpb24oc2VjdXJpdHlPcmlnaW4oKSwgVVJMKFBhcnNlZFVSTFN0cmluZywgdXJs
KCkpLCByZWZlcnJlcigpLCBsb2NrSGlzdG9yeSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCksIHRy
dWUpOwogICAgIH0KIH07CiAKQEAgLTE5MywxOSArMTk2LDIwIEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGZpcmUoRnJhbWUqIGZyYW1lKQorICAgIHZpcnR1YWwg
dm9pZCBmaXJlKEZyYW1lJiBmcmFtZSkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIFVzZXJHZXN0
dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdlc3R1cmUoKSA/IERlZmluaXRl
bHlQcm9jZXNzaW5nVXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKTsKIAogICAgICAgICBpZiAoIW1faGlzdG9yeVN0ZXBzKSB7CiAgICAgICAgICAgICAvLyBT
cGVjaWFsIGNhc2UgZm9yIGdvKDApIGZyb20gYSBmcmFtZSAtPiByZWxvYWQgb25seSB0aGUgZnJh
bWUKICAgICAgICAgICAgIC8vIFRvIGZvbGxvdyBGaXJlZm94IGFuZCBJRSdzIGJlaGF2aW9yLCBo
aXN0b3J5IHJlbG9hZCBjYW4gb25seSBuYXZpZ2F0ZSB0aGUgc2VsZiBmcmFtZS4KLSAgICAgICAg
ICAgIGZyYW1lLT5sb2FkZXIoKS51cmxTZWxlY3RlZChmcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCks
ICJfc2VsZiIsIDAsIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwgTWF5YmVT
ZW5kUmVmZXJyZXIpOworICAgICAgICAgICAgZnJhbWUubG9hZGVyKCkudXJsU2VsZWN0ZWQoZnJh
bWUuZG9jdW1lbnQoKS0+dXJsKCksICJfc2VsZiIsIDAsIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNr
Rm9yd2FyZExpc3QoKSwgTWF5YmVTZW5kUmVmZXJyZXIpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CisgICAgICAgIAogICAgICAgICAvLyBnbyhpIT0wKSBmcm9tIGEgZnJhbWUgbmF2
aWdhdGVzIGludG8gdGhlIGhpc3Rvcnkgb2YgdGhlIGZyYW1lIG9ubHksCiAgICAgICAgIC8vIGlu
IGJvdGggSUUgYW5kIE5TIChidXQgbm90IGluIE1vemlsbGEpLiBXZSBjYW4ndCBlYXNpbHkgZG8g
dGhhdC4KLSAgICAgICAgZnJhbWUtPnBhZ2UoKS0+YmFja0ZvcndhcmQoKS5nb0JhY2tPckZvcndh
cmQobV9oaXN0b3J5U3RlcHMpOworICAgICAgICBmcmFtZS5wYWdlKCktPmJhY2tGb3J3YXJkKCku
Z29CYWNrT3JGb3J3YXJkKG1faGlzdG9yeVN0ZXBzKTsKICAgICB9CiAKIHByaXZhdGU6CkBAIC0y
MjIsNyArMjI2LDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQobV9zdWJtaXNzaW9uLT5zdGF0
ZSgpKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZmlyZShGcmFtZSogZnJhbWUpCisgICAg
dmlydHVhbCB2b2lkIGZpcmUoRnJhbWUmIGZyYW1lKSBPVkVSUklERQogICAgIHsKICAgICAgICAg
VXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih3YXNVc2VyR2VzdHVyZSgpID8g
RGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSA6IERlZmluaXRlbHlOb3RQcm9jZXNzaW5n
VXNlckdlc3R1cmUpOwogCkBAIC0yMzEsMjQgKzIzNSwyNCBAQCBwdWJsaWM6CiAgICAgICAgIC8v
IHNlbGVjdGluZyBhIHRhcmdldCwgaW4gY2FzZSBjb25kaXRpb25zIGhhdmUgY2hhbmdlZC4gT3Ro
ZXIgY29kZSBwYXRocyBhdm9pZCB0aGlzIGJ5IHRhcmdldGluZwogICAgICAgICAvLyB3aXRob3V0
IGxlYXZpbmcgYSB0aW1lIHdpbmRvdy4gSWYgd2UgZmFpbCB0aGUgY2hlY2sganVzdCBzaWxlbnRs
eSBkcm9wIHRoZSBmb3JtIHN1Ym1pc3Npb24uCiAgICAgICAgIERvY3VtZW50KiByZXF1ZXN0aW5n
RG9jdW1lbnQgPSBtX3N1Ym1pc3Npb24tPnN0YXRlKCktPnNvdXJjZURvY3VtZW50KCk7Ci0gICAg
ICAgIGlmICghcmVxdWVzdGluZ0RvY3VtZW50LT5jYW5OYXZpZ2F0ZShmcmFtZSkpCisgICAgICAg
IGlmICghcmVxdWVzdGluZ0RvY3VtZW50LT5jYW5OYXZpZ2F0ZSgmZnJhbWUpKQogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lUmVxdWVzdChyZXF1ZXN0
aW5nRG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpOwogICAgICAgICBtX3N1Ym1pc3Npb24tPnBv
cHVsYXRlRnJhbWVMb2FkUmVxdWVzdChmcmFtZVJlcXVlc3QpOwotICAgICAgICBmcmFtZS0+bG9h
ZGVyKCkubG9hZEZyYW1lUmVxdWVzdChmcmFtZVJlcXVlc3QsIGxvY2tIaXN0b3J5KCksIGxvY2tC
YWNrRm9yd2FyZExpc3QoKSwgbV9zdWJtaXNzaW9uLT5ldmVudCgpLCBtX3N1Ym1pc3Npb24tPnN0
YXRlKCksIE1heWJlU2VuZFJlZmVycmVyKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkubG9hZEZy
YW1lUmVxdWVzdChmcmFtZVJlcXVlc3QsIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExp
c3QoKSwgbV9zdWJtaXNzaW9uLT5ldmVudCgpLCBtX3N1Ym1pc3Npb24tPnN0YXRlKCksIE1heWJl
U2VuZFJlZmVycmVyKTsKICAgICB9CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIGRpZFN0YXJ0VGlt
ZXIoRnJhbWUqIGZyYW1lLCBUaW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiogdGltZXIpCisgICAg
dmlydHVhbCB2b2lkIGRpZFN0YXJ0VGltZXIoRnJhbWUmIGZyYW1lLCBUaW1lcjxOYXZpZ2F0aW9u
U2NoZWR1bGVyPiYgdGltZXIpIE9WRVJSSURFCiAgICAgewogICAgICAgICBpZiAobV9oYXZlVG9s
ZENsaWVudCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9
IHRydWU7CiAKICAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih3
YXNVc2VyR2VzdHVyZSgpID8gRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSA6IERlZmlu
aXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwotICAgICAgICBmcmFtZS0+bG9hZGVyKCku
Y2xpZW50UmVkaXJlY3RlZChtX3N1Ym1pc3Npb24tPnJlcXVlc3RVUkwoKSwgZGVsYXkoKSwgY3Vy
cmVudFRpbWUoKSArIHRpbWVyLT5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9yd2FyZExp
c3QoKSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV9zdWJtaXNz
aW9uLT5yZXF1ZXN0VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0Rmly
ZUludGVydmFsKCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCi0gICAgdmlydHVh
bCB2b2lkIGRpZFN0b3BUaW1lcihGcmFtZSogZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3Mp
CisgICAgdmlydHVhbCB2b2lkIGRpZFN0b3BUaW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9h
ZEluUHJvZ3Jlc3MpIE9WRVJSSURFCiAgICAgewogICAgICAgICBpZiAoIW1faGF2ZVRvbGRDbGll
bnQpCiAgICAgICAgICAgICByZXR1cm47CkBAIC0yNTksNyArMjYzLDcgQEAgcHVibGljOgogICAg
ICAgICAvLyBmYWN0IHVuYXZhaWxhYmxlLiBXZSBuZWVkIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0
aGVtLCBvdGhlcndpc2UgdGhlCiAgICAgICAgIC8vIGdlc3R1cmUgc3RhdGUgd2lsbCBzb21ldGlt
ZXMgYmUgc2V0IGFuZCBzb21ldGltZXMgbm90IHdpdGhpbgogICAgICAgICAvLyBkaXNwYXRjaERp
ZENhbmNlbENsaWVudFJlZGlyZWN0KCkuCi0gICAgICAgIGZyYW1lLT5sb2FkZXIoKS5jbGllbnRS
ZWRpcmVjdENhbmNlbGxlZE9yRmluaXNoZWQobmV3TG9hZEluUHJvZ3Jlc3MpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdENhbmNlbGxlZE9yRmluaXNoZWQobmV3TG9hZElu
UHJvZ3Jlc3MpOwogICAgIH0KIAogcHJpdmF0ZToKQEAgLTI2Nyw3ICsyNzEsNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9oYXZlVG9sZENsaWVudDsKIH07CiAKLU5hdmlnYXRpb25TY2hlZHVsZXI6
Ok5hdmlnYXRpb25TY2hlZHVsZXIoRnJhbWUqIGZyYW1lKQorTmF2aWdhdGlvblNjaGVkdWxlcjo6
TmF2aWdhdGlvblNjaGVkdWxlcihGcmFtZSYgZnJhbWUpCiAgICAgOiBtX2ZyYW1lKGZyYW1lKQog
ICAgICwgbV90aW1lcih0aGlzLCAmTmF2aWdhdGlvblNjaGVkdWxlcjo6dGltZXJGaXJlZCkKIHsK
QEAgLTI5MiwxMiArMjk2LDEyIEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6Y2xlYXIoKQog
ICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZnJhbWVDbGVhcmVkU2NoZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lKTsKICAgICBtX3Rp
bWVyLnN0b3AoKTsKLSAgICBtX3JlZGlyZWN0LmNsZWFyKCk7CisgICAgbV9yZWRpcmVjdCA9IG51
bGxwdHI7CiB9CiAKIGlubGluZSBib29sIE5hdmlnYXRpb25TY2hlZHVsZXI6OnNob3VsZFNjaGVk
dWxlTmF2aWdhdGlvbigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZnJhbWUtPnBhZ2UoKTsKKyAg
ICByZXR1cm4gbV9mcmFtZS5wYWdlKCk7CiB9CiAKIGlubGluZSBib29sIE5hdmlnYXRpb25TY2hl
ZHVsZXI6OnNob3VsZFNjaGVkdWxlTmF2aWdhdGlvbihjb25zdCBTdHJpbmcmIHVybCkgY29uc3QK
QEAgLTMxNiwyMCArMzIwLDIwIEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1bGVS
ZWRpcmVjdChkb3VibGUgZGVsYXksIGNvbnN0IFN0cmluZyYgdXJsKQogCiAgICAgLy8gV2Ugd2Fu
dCBhIG5ldyBiYWNrL2ZvcndhcmQgbGlzdCBpdGVtIGlmIHRoZSByZWZyZXNoIHRpbWVvdXQgaXMg
PiAxIHNlY29uZC4KICAgICBpZiAoIW1fcmVkaXJlY3QgfHwgZGVsYXkgPD0gbV9yZWRpcmVjdC0+
ZGVsYXkoKSkKLSAgICAgICAgc2NoZWR1bGUoYWRvcHRQdHIobmV3IFNjaGVkdWxlZFJlZGlyZWN0
KGRlbGF5LCBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCB1cmwsIHRydWUs
IGRlbGF5IDw9IDEpKSk7CisgICAgICAgIHNjaGVkdWxlKHN0ZDo6bWFrZV91bmlxdWU8U2NoZWR1
bGVkUmVkaXJlY3Q+KGRlbGF5LCBtX2ZyYW1lLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCks
IHVybCwgdHJ1ZSwgZGVsYXkgPD0gMSkpOwogfQogCi1ib29sIE5hdmlnYXRpb25TY2hlZHVsZXI6
Om11c3RMb2NrQmFja0ZvcndhcmRMaXN0KEZyYW1lKiB0YXJnZXRGcmFtZSkKK2Jvb2wgTmF2aWdh
dGlvblNjaGVkdWxlcjo6bXVzdExvY2tCYWNrRm9yd2FyZExpc3QoRnJhbWUmIHRhcmdldEZyYW1l
KQogewogICAgIC8vIE5vbi11c2VyIG5hdmlnYXRpb24gYmVmb3JlIHRoZSBwYWdlIGhhcyBmaW5p
c2hlZCBmaXJpbmcgb25sb2FkIHNob3VsZCBub3QgY3JlYXRlIGEgbmV3IGJhY2svZm9yd2FyZCBp
dGVtLgogICAgIC8vIFNlZSBodHRwczovL3dlYmtpdC5vcmcvYi80Mjg2MSBmb3IgdGhlIG9yaWdp
bmFsIG1vdGl2YXRpb24gZm9yIHRoaXMuICAgIAotICAgIGlmICghU2NyaXB0Q29udHJvbGxlcjo6
cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgJiYgdGFyZ2V0RnJhbWUtPmxvYWRlcigpLmRvY3VtZW50
TG9hZGVyKCkgJiYgIXRhcmdldEZyYW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpLT53YXNP
bmxvYWRIYW5kbGVkKCkpCisgICAgaWYgKCFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNl
ckdlc3R1cmUoKSAmJiB0YXJnZXRGcmFtZS5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpICYmICF0
YXJnZXRGcmFtZS5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpLT53YXNPbmxvYWRIYW5kbGVkKCkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIAogICAgIC8vIE5hdmlnYXRpb24gb2YgYSBzdWJm
cmFtZSBkdXJpbmcgbG9hZGluZyBvZiBhbiBhbmNlc3RvciBmcmFtZSBkb2VzIG5vdCBjcmVhdGUg
YSBuZXcgYmFjay9mb3J3YXJkIGl0ZW0uCiAgICAgLy8gVGhlIGRlZmluaXRpb24gb2YgImR1cmlu
ZyBsb2FkIiBpcyBhbnkgdGltZSBiZWZvcmUgYWxsIGhhbmRsZXJzIGZvciB0aGUgbG9hZCBldmVu
dCBoYXZlIGJlZW4gcnVuLgogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ5NTcgZm9yIHRoZSBvcmlnaW5hbCBtb3RpdmF0aW9uIGZvciB0aGlzLgot
ICAgIGZvciAoRnJhbWUqIGFuY2VzdG9yID0gdGFyZ2V0RnJhbWUtPnRyZWUoKS5wYXJlbnQoKTsg
YW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnRyZWUoKS5wYXJlbnQoKSkgeworICAgIGZv
ciAoRnJhbWUqIGFuY2VzdG9yID0gdGFyZ2V0RnJhbWUudHJlZSgpLnBhcmVudCgpOyBhbmNlc3Rv
cjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+dHJlZSgpLnBhcmVudCgpKSB7CiAgICAgICAgIERvY3Vt
ZW50KiBkb2N1bWVudCA9IGFuY2VzdG9yLT5kb2N1bWVudCgpOwogICAgICAgICBpZiAoIWFuY2Vz
dG9yLT5sb2FkZXIoKS5pc0NvbXBsZXRlKCkgfHwgKGRvY3VtZW50ICYmIGRvY3VtZW50LT5wcm9j
ZXNzaW5nTG9hZEV2ZW50KCkpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0zNDYsMTMg
KzM1MCwxMyBAQCB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlTG9jYXRpb25DaGFu
Z2UoU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLAogCiAgICAgbG9ja0JhY2tGb3J3YXJk
TGlzdCA9IGxvY2tCYWNrRm9yd2FyZExpc3QgfHwgbXVzdExvY2tCYWNrRm9yd2FyZExpc3QobV9m
cmFtZSk7CiAKLSAgICBGcmFtZUxvYWRlciYgbG9hZGVyID0gbV9mcmFtZS0+bG9hZGVyKCk7Cisg
ICAgRnJhbWVMb2FkZXImIGxvYWRlciA9IG1fZnJhbWUubG9hZGVyKCk7CiAKICAgICAvLyBJZiB0
aGUgVVJMIHdlJ3JlIGdvaW5nIHRvIG5hdmlnYXRlIHRvIGlzIHRoZSBzYW1lIGFzIHRoZSBjdXJy
ZW50IG9uZSwgZXhjZXB0IGZvciB0aGUKICAgICAvLyBmcmFnbWVudCBwYXJ0LCB3ZSBkb24ndCBu
ZWVkIHRvIHNjaGVkdWxlIHRoZSBsb2NhdGlvbiBjaGFuZ2UuCiAgICAgVVJMIHBhcnNlZFVSTChQ
YXJzZWRVUkxTdHJpbmcsIHVybCk7Ci0gICAgaWYgKHBhcnNlZFVSTC5oYXNGcmFnbWVudElkZW50
aWZpZXIoKSAmJiBlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKG1fZnJhbWUtPmRvY3Vt
ZW50KCktPnVybCgpLCBwYXJzZWRVUkwpKSB7Ci0gICAgICAgIGxvYWRlci5jaGFuZ2VMb2NhdGlv
bihzZWN1cml0eU9yaWdpbiwgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKSwg
cmVmZXJyZXIsIGxvY2tIaXN0b3J5LCBsb2NrQmFja0ZvcndhcmRMaXN0KTsKKyAgICBpZiAocGFy
c2VkVVJMLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpICYmIGVxdWFsSWdub3JpbmdGcmFnbWVudElk
ZW50aWZpZXIobV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKSwgcGFyc2VkVVJMKSkgeworICAgICAg
ICBsb2FkZXIuY2hhbmdlTG9jYXRpb24oc2VjdXJpdHlPcmlnaW4sIG1fZnJhbWUuZG9jdW1lbnQo
KS0+Y29tcGxldGVVUkwodXJsKSwgcmVmZXJyZXIsIGxvY2tIaXN0b3J5LCBsb2NrQmFja0Zvcndh
cmRMaXN0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzYwLDM5ICszNjQsMzkgQEAg
dm9pZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzY2hlZHVsZUxvY2F0aW9uQ2hhbmdlKFNlY3VyaXR5
T3JpZ2luKiBzZWN1cml0eU9yaWdpbiwKICAgICAvLyBUaGlzIG1heSBoYXBwZW4gd2hlbiBhIGZy
YW1lIGNoYW5nZXMgdGhlIGxvY2F0aW9uIG9mIGFub3RoZXIgZnJhbWUuCiAgICAgYm9vbCBkdXJp
bmdMb2FkID0gIWxvYWRlci5zdGF0ZU1hY2hpbmUoKS0+Y29tbWl0dGVkRmlyc3RSZWFsRG9jdW1l
bnRMb2FkKCk7CiAKLSAgICBzY2hlZHVsZShhZG9wdFB0cihuZXcgU2NoZWR1bGVkTG9jYXRpb25D
aGFuZ2Uoc2VjdXJpdHlPcmlnaW4sIHVybCwgcmVmZXJyZXIsIGxvY2tIaXN0b3J5LCBsb2NrQmFj
a0ZvcndhcmRMaXN0LCBkdXJpbmdMb2FkKSkpOworICAgIHNjaGVkdWxlKHN0ZDo6bWFrZV91bmlx
dWU8U2NoZWR1bGVkTG9jYXRpb25DaGFuZ2U+KHNlY3VyaXR5T3JpZ2luLCB1cmwsIHJlZmVycmVy
LCBsb2NrSGlzdG9yeSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgZHVyaW5nTG9hZCkpOwogfQogCiB2
b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlRm9ybVN1Ym1pc3Npb24oUGFzc1JlZlB0
cjxGb3JtU3VibWlzc2lvbj4gc3VibWlzc2lvbikKIHsKLSAgICBBU1NFUlQobV9mcmFtZS0+cGFn
ZSgpKTsKKyAgICBBU1NFUlQobV9mcmFtZS5wYWdlKCkpOwogCiAgICAgLy8gRklYTUU6IERvIHdl
IG5lZWQgc3BlY2lhbCBoYW5kbGluZyBmb3IgZm9ybSBzdWJtaXNzaW9ucyB3aGVyZSB0aGUgVVJM
IGlzIHRoZSBzYW1lCiAgICAgLy8gYXMgdGhlIGN1cnJlbnQgb25lIGV4Y2VwdCBmb3IgdGhlIGZy
YWdtZW50IHBhcnQ/IFNlZSBzY2hlZHVsZUxvY2F0aW9uQ2hhbmdlIGFib3ZlLgogCiAgICAgLy8g
SGFuZGxlIGEgbG9jYXRpb24gY2hhbmdlIG9mIGEgcGFnZSB3aXRoIG5vIGRvY3VtZW50IGFzIGEg
c3BlY2lhbCBjYXNlLgogICAgIC8vIFRoaXMgbWF5IGhhcHBlbiB3aGVuIGEgZnJhbWUgY2hhbmdl
cyB0aGUgbG9jYXRpb24gb2YgYW5vdGhlciBmcmFtZS4KLSAgICBib29sIGR1cmluZ0xvYWQgPSAh
bV9mcmFtZS0+bG9hZGVyKCkuc3RhdGVNYWNoaW5lKCktPmNvbW1pdHRlZEZpcnN0UmVhbERvY3Vt
ZW50TG9hZCgpOworICAgIGJvb2wgZHVyaW5nTG9hZCA9ICFtX2ZyYW1lLmxvYWRlcigpLnN0YXRl
TWFjaGluZSgpLT5jb21taXR0ZWRGaXJzdFJlYWxEb2N1bWVudExvYWQoKTsKIAogICAgIC8vIElm
IHRoaXMgaXMgYSBjaGlsZCBmcmFtZSBhbmQgdGhlIGZvcm0gc3VibWlzc2lvbiB3YXMgdHJpZ2dl
cmVkIGJ5IGEgc2NyaXB0LCBsb2NrIHRoZSBiYWNrL2ZvcndhcmQgbGlzdAogICAgIC8vIHRvIG1h
dGNoIElFIGFuZCBPcGVyYS4KICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTMyMzgzIGZvciB0aGUgb3JpZ2luYWwgbW90aXZhdGlvbiBmb3IgdGhpcy4K
ICAgICBib29sIGxvY2tCYWNrRm9yd2FyZExpc3QgPSBtdXN0TG9ja0JhY2tGb3J3YXJkTGlzdCht
X2ZyYW1lKQogICAgICAgICB8fCAoc3VibWlzc2lvbi0+c3RhdGUoKS0+Zm9ybVN1Ym1pc3Npb25U
cmlnZ2VyKCkgPT0gU3VibWl0dGVkQnlKYXZhU2NyaXB0Ci0gICAgICAgICAgICAmJiBtX2ZyYW1l
LT50cmVlKCkucGFyZW50KCkgJiYgIVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2Vz
dHVyZSgpKTsKKyAgICAgICAgICAgICYmIG1fZnJhbWUudHJlZSgpLnBhcmVudCgpICYmICFTY3Jp
cHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSk7CiAKLSAgICBzY2hlZHVsZShh
ZG9wdFB0cihuZXcgU2NoZWR1bGVkRm9ybVN1Ym1pc3Npb24oc3VibWlzc2lvbiwgbG9ja0JhY2tG
b3J3YXJkTGlzdCwgZHVyaW5nTG9hZCkpKTsKKyAgICBzY2hlZHVsZShzdGQ6Om1ha2VfdW5pcXVl
PFNjaGVkdWxlZEZvcm1TdWJtaXNzaW9uPihzdWJtaXNzaW9uLCBsb2NrQmFja0ZvcndhcmRMaXN0
LCBkdXJpbmdMb2FkKSk7CiB9CiAKIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1bGVS
ZWZyZXNoKCkKIHsKICAgICBpZiAoIXNob3VsZFNjaGVkdWxlTmF2aWdhdGlvbigpKQogICAgICAg
ICByZXR1cm47Ci0gICAgY29uc3QgVVJMJiB1cmwgPSBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cmwo
KTsKKyAgICBjb25zdCBVUkwmIHVybCA9IG1fZnJhbWUuZG9jdW1lbnQoKS0+dXJsKCk7CiAgICAg
aWYgKHVybC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNjaGVkdWxlKGFkb3B0
UHRyKG5ldyBTY2hlZHVsZWRSZWZyZXNoKG1fZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3Jp
Z2luKCksIHVybC5zdHJpbmcoKSwgbV9mcmFtZS0+bG9hZGVyKCkub3V0Z29pbmdSZWZlcnJlcigp
KSkpOworICAgIHNjaGVkdWxlKHN0ZDo6bWFrZV91bmlxdWU8U2NoZWR1bGVkUmVmcmVzaD4obV9m
cmFtZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCB1cmwuc3RyaW5nKCksIG1fZnJhbWUu
bG9hZGVyKCkub3V0Z29pbmdSZWZlcnJlcigpKSk7CiB9CiAKIHZvaWQgTmF2aWdhdGlvblNjaGVk
dWxlcjo6c2NoZWR1bGVIaXN0b3J5TmF2aWdhdGlvbihpbnQgc3RlcHMpCkBAIC00MDIsNTQgKzQw
Niw1NCBAQCB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlSGlzdG9yeU5hdmlnYXRp
b24oaW50IHN0ZXBzKQogCiAgICAgLy8gSW52YWxpZCBoaXN0b3J5IG5hdmlnYXRpb25zIChzdWNo
IGFzIGhpc3RvcnkuZm9yd2FyZCgpIGR1cmluZyBhIG5ldyBsb2FkKSBoYXZlIHRoZSBzaWRlIGVm
ZmVjdCBvZiBjYW5jZWxsaW5nIGFueSBzY2hlZHVsZWQKICAgICAvLyByZWRpcmVjdHMuIFdlIGFs
c28gYXZvaWQgdGhlIHBvc3NpYmlsaXR5IG9mIGNhbmNlbGxpbmcgdGhlIGN1cnJlbnQgbG9hZCBi
eSBhdm9pZGluZyB0aGUgc2NoZWR1bGVkIHJlZGlyZWN0aW9uIGFsdG9nZXRoZXIuCi0gICAgQmFj
a0ZvcndhcmRDb250cm9sbGVyJiBiYWNrRm9yd2FyZCA9IG1fZnJhbWUtPnBhZ2UoKS0+YmFja0Zv
cndhcmQoKTsKKyAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXImIGJhY2tGb3J3YXJkID0gbV9mcmFt
ZS5wYWdlKCktPmJhY2tGb3J3YXJkKCk7CiAgICAgaWYgKHN0ZXBzID4gYmFja0ZvcndhcmQuZm9y
d2FyZENvdW50KCkgfHwgLXN0ZXBzID4gYmFja0ZvcndhcmQuYmFja0NvdW50KCkpIHsKICAgICAg
ICAgY2FuY2VsKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBJbiBhbGwgb3Ro
ZXIgY2FzZXMsIHNjaGVkdWxlIHRoZSBoaXN0b3J5IHRyYXZlcnNhbCB0byBvY2N1ciBhc3luY2hy
b25vdXNseS4KLSAgICBzY2hlZHVsZShhZG9wdFB0cihuZXcgU2NoZWR1bGVkSGlzdG9yeU5hdmln
YXRpb24oc3RlcHMpKSk7CisgICAgc2NoZWR1bGUoc3RkOjptYWtlX3VuaXF1ZTxTY2hlZHVsZWRI
aXN0b3J5TmF2aWdhdGlvbj4oc3RlcHMpKTsKIH0KIAogdm9pZCBOYXZpZ2F0aW9uU2NoZWR1bGVy
Ojp0aW1lckZpcmVkKFRpbWVyPE5hdmlnYXRpb25TY2hlZHVsZXI+KikKIHsKLSAgICBpZiAoIW1f
ZnJhbWUtPnBhZ2UoKSkKKyAgICBpZiAoIW1fZnJhbWUucGFnZSgpKQogICAgICAgICByZXR1cm47
Ci0gICAgaWYgKG1fZnJhbWUtPnBhZ2UoKS0+ZGVmZXJzTG9hZGluZygpKSB7CisgICAgaWYgKG1f
ZnJhbWUucGFnZSgpLT5kZWZlcnNMb2FkaW5nKCkpIHsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpmcmFtZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJhbWUpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmPEZyYW1lPiBwcm90ZWN0KCptX2ZyYW1lKTsK
KyAgICBSZWY8RnJhbWU+IHByb3RlY3QobV9mcmFtZSk7CiAKLSAgICBPd25QdHI8U2NoZWR1bGVk
TmF2aWdhdGlvbj4gcmVkaXJlY3QobV9yZWRpcmVjdC5yZWxlYXNlKCkpOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxTY2hlZHVsZWROYXZpZ2F0aW9uPiByZWRpcmVjdCA9IHN0ZDo6bW92ZShtX3JlZGly
ZWN0KTsKICAgICByZWRpcmVjdC0+ZmlyZShtX2ZyYW1lKTsKICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb24obV9mcmFtZSk7CiB9CiAK
LXZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1bGUoUGFzc093blB0cjxTY2hlZHVsZWRO
YXZpZ2F0aW9uPiByZWRpcmVjdCkKK3ZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1bGUo
c3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZE5hdmlnYXRpb24+IHJlZGlyZWN0KQogewotICAgIEFT
U0VSVChtX2ZyYW1lLT5wYWdlKCkpOworICAgIEFTU0VSVChtX2ZyYW1lLnBhZ2UoKSk7CiAKLSAg
ICBSZWY8RnJhbWU+IHByb3RlY3QoKm1fZnJhbWUpOworICAgIFJlZjxGcmFtZT4gcHJvdGVjdCht
X2ZyYW1lKTsKIAogICAgIC8vIElmIGEgcmVkaXJlY3Qgd2FzIHNjaGVkdWxlZCBkdXJpbmcgYSBs
b2FkLCB0aGVuIHN0b3AgdGhlIGN1cnJlbnQgbG9hZC4KICAgICAvLyBPdGhlcndpc2Ugd2hlbiB0
aGUgY3VycmVudCBsb2FkIHRyYW5zaXRpb25zIGZyb20gYSBwcm92aXNpb25hbCB0byBhIAogICAg
IC8vIGNvbW1pdHRlZCBzdGF0ZSwgcGVuZGluZyByZWRpcmVjdHMgbWF5IGJlIGNhbmNlbGxlZC4g
CiAgICAgaWYgKHJlZGlyZWN0LT53YXNEdXJpbmdMb2FkKCkpIHsKLSAgICAgICAgaWYgKERvY3Vt
ZW50TG9hZGVyKiBwcm92aXNpb25hbERvY3VtZW50TG9hZGVyID0gbV9mcmFtZS0+bG9hZGVyKCku
cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpKQorICAgICAgICBpZiAoRG9jdW1lbnRMb2FkZXIq
IHByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIgPSBtX2ZyYW1lLmxvYWRlcigpLnByb3Zpc2lvbmFs
RG9jdW1lbnRMb2FkZXIoKSkKICAgICAgICAgICAgIHByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIt
PnN0b3BMb2FkaW5nKCk7Ci0gICAgICAgIG1fZnJhbWUtPmxvYWRlcigpLnN0b3BMb2FkaW5nKFVu
bG9hZEV2ZW50UG9saWN5VW5sb2FkQW5kUGFnZUhpZGUpOyAgIAorICAgICAgICBtX2ZyYW1lLmxv
YWRlcigpLnN0b3BMb2FkaW5nKFVubG9hZEV2ZW50UG9saWN5VW5sb2FkQW5kUGFnZUhpZGUpOwog
ICAgIH0KIAogICAgIGNhbmNlbCgpOwotICAgIG1fcmVkaXJlY3QgPSByZWRpcmVjdDsKKyAgICBt
X3JlZGlyZWN0ID0gc3RkOjptb3ZlKHJlZGlyZWN0KTsKIAotICAgIGlmICghbV9mcmFtZS0+bG9h
ZGVyKCkuaXNDb21wbGV0ZSgpICYmIG1fcmVkaXJlY3QtPmlzTG9jYXRpb25DaGFuZ2UoKSkKLSAg
ICAgICAgbV9mcmFtZS0+bG9hZGVyKCkuY29tcGxldGVkKCk7CisgICAgaWYgKCFtX2ZyYW1lLmxv
YWRlcigpLmlzQ29tcGxldGUoKSAmJiBtX3JlZGlyZWN0LT5pc0xvY2F0aW9uQ2hhbmdlKCkpCisg
ICAgICAgIG1fZnJhbWUubG9hZGVyKCkuY29tcGxldGVkKCk7CiAKLSAgICBpZiAoIW1fZnJhbWUt
PnBhZ2UoKSkKKyAgICBpZiAoIW1fZnJhbWUucGFnZSgpKQogICAgICAgICByZXR1cm47CiAKICAg
ICBzdGFydFRpbWVyKCk7CkBAIC00NjAsNyArNDY0LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU2NoZWR1
bGVyOjpzdGFydFRpbWVyKCkKICAgICBpZiAoIW1fcmVkaXJlY3QpCiAgICAgICAgIHJldHVybjsK
IAotICAgIEFTU0VSVChtX2ZyYW1lLT5wYWdlKCkpOworICAgIEFTU0VSVChtX2ZyYW1lLnBhZ2Uo
KSk7CiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIGlm
ICghbV9yZWRpcmVjdC0+c2hvdWxkU3RhcnRUaW1lcihtX2ZyYW1lKSkKQEAgLTQ2OSw3ICs0NzMs
NyBAQCB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnN0YXJ0VGltZXIoKQogICAgIGRvdWJsZSBk
ZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7CiAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVs
YXkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0
aW9uKG1fZnJhbWUsIGRlbGF5KTsKLSAgICBtX3JlZGlyZWN0LT5kaWRTdGFydFRpbWVyKG1fZnJh
bWUsICZtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkgYmUgbnVsbCBvbiByZXR1cm4gKGUuZy4g
dGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKKyAgICBtX3JlZGlyZWN0LT5kaWRTdGFydFRp
bWVyKG1fZnJhbWUsIG1fdGltZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxsIG9uIHJldHVy
biAoZS5nLiB0aGUgY2xpZW50IGNhbmNlbGVkIHRoZSBsb2FkKQogfQogCiB2b2lkIE5hdmlnYXRp
b25TY2hlZHVsZXI6OmNhbmNlbChib29sIG5ld0xvYWRJblByb2dyZXNzKQpAQCAtNDc4LDggKzQ4
Miw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6Y2FuY2VsKGJvb2wgbmV3TG9hZEluUHJv
Z3Jlc3MpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVDbGVhcmVkU2No
ZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lKTsKICAgICBtX3RpbWVyLnN0b3AoKTsKIAotICAgIE93
blB0cjxTY2hlZHVsZWROYXZpZ2F0aW9uPiByZWRpcmVjdChtX3JlZGlyZWN0LnJlbGVhc2UoKSk7
Ci0gICAgaWYgKHJlZGlyZWN0KQorICAgIGlmIChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkTmF2
aWdhdGlvbj4gcmVkaXJlY3QgPSBzdGQ6Om1vdmUobV9yZWRpcmVjdCkpCiAgICAgICAgIHJlZGly
ZWN0LT5kaWRTdG9wVGltZXIobV9mcmFtZSwgbmV3TG9hZEluUHJvZ3Jlc3MpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaAppbmRleCA2MjBhNzI1ZWE3
YWZlYWM1YTEyMTg2OGFmYzIxZDVlY2Q1NmIyMTE2Li42NWFhZWRlNjQwZTQ1Mjk5NTQxZmIzMjQ4
ZTRkMWYwMTU2NmQ4Mjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmgKQEAgLTM0LDggKzM0LDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+Ci0jaW5jbHVkZSA8
d3RmL093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjgsNyArNjYsNyBAQCBj
bGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOYXZp
Z2F0aW9uU2NoZWR1bGVyKTsKIAogcHVibGljOgotICAgIGV4cGxpY2l0IE5hdmlnYXRpb25TY2hl
ZHVsZXIoRnJhbWUqKTsKKyAgICBleHBsaWNpdCBOYXZpZ2F0aW9uU2NoZWR1bGVyKEZyYW1lJik7
CiAgICAgfk5hdmlnYXRpb25TY2hlZHVsZXIoKTsKIAogICAgIGJvb2wgcmVkaXJlY3RTY2hlZHVs
ZWREdXJpbmdMb2FkKCk7CkBAIC05MCwxMyArODgsMTMgQEAgcHJpdmF0ZToKICAgICBib29sIHNo
b3VsZFNjaGVkdWxlTmF2aWdhdGlvbihjb25zdCBTdHJpbmcmIHVybCkgY29uc3Q7CiAKICAgICB2
b2lkIHRpbWVyRmlyZWQoVGltZXI8TmF2aWdhdGlvblNjaGVkdWxlcj4qKTsKLSAgICB2b2lkIHNj
aGVkdWxlKFBhc3NPd25QdHI8U2NoZWR1bGVkTmF2aWdhdGlvbj4pOworICAgIHZvaWQgc2NoZWR1
bGUoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZE5hdmlnYXRpb24+KTsKIAotICAgIHN0YXRpYyBi
b29sIG11c3RMb2NrQmFja0ZvcndhcmRMaXN0KEZyYW1lKiB0YXJnZXRGcmFtZSk7CisgICAgc3Rh
dGljIGJvb2wgbXVzdExvY2tCYWNrRm9yd2FyZExpc3QoRnJhbWUmIHRhcmdldEZyYW1lKTsKIAot
ICAgIEZyYW1lKiBtX2ZyYW1lOworICAgIEZyYW1lJiBtX2ZyYW1lOwogICAgIFRpbWVyPE5hdmln
YXRpb25TY2hlZHVsZXI+IG1fdGltZXI7Ci0gICAgT3duUHRyPFNjaGVkdWxlZE5hdmlnYXRpb24+
IG1fcmVkaXJlY3Q7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZE5hdmlnYXRpb24+IG1f
cmVkaXJlY3Q7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3Bw
CmluZGV4IDBiZGZiZDVlNThlZmVlMWMxOWMwMjFmNTM3ODQxOGIwZjU2ZTQwNzUuLjk5YjRmYmMz
MTdjMGE3ZjNkMmRiODBkMTExZmM0YzhiNTMwYzk0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBA
IC0xNjQsNyArMTY0LDcgQEAgRnJhbWU6OkZyYW1lKFBhZ2UmIHBhZ2UsIEhUTUxGcmFtZU93bmVy
RWxlbWVudCogb3duZXJFbGVtZW50LCBGcmFtZUxvYWRlckNsaWVudCYKICAgICAsIG1fc2V0dGlu
Z3MoJnBhZ2Uuc2V0dGluZ3MoKSkKICAgICAsIG1fdHJlZU5vZGUodGhpcywgcGFyZW50RnJvbU93
bmVyRWxlbWVudChvd25lckVsZW1lbnQpKQogICAgICwgbV9sb2FkZXIoKnRoaXMsIGZyYW1lTG9h
ZGVyQ2xpZW50KQotICAgICwgbV9uYXZpZ2F0aW9uU2NoZWR1bGVyKHRoaXMpCisgICAgLCBtX25h
dmlnYXRpb25TY2hlZHVsZXIoKnRoaXMpCiAgICAgLCBtX293bmVyRWxlbWVudChvd25lckVsZW1l
bnQpCiAgICAgLCBtX3NjcmlwdChzdGQ6Om1ha2VfdW5pcXVlPFNjcmlwdENvbnRyb2xsZXI+KCp0
aGlzKSkKICAgICAsIG1fZWRpdG9yKEVkaXRvcjo6Y3JlYXRlKCp0aGlzKSkK
</data>
<flag name="review"
          id="244703"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>