<?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>167834</bug_id>
          
          <creation_ts>2017-02-04 01:35:36 -0800</creation_ts>
          <short_desc>Playback stalls when a SourceBuffer append causes frame eviction</short_desc>
          <delta_ts>2017-02-06 13:50:59 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jeremyj-wk</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1273213</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-04 01:35:36 -0800</bug_when>
    <thetext>Playback stalls when a SourceBuffer append causes frame eviction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273216</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-04 01:49:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/30107622&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273217</commentid>
    <comment_count>2</comment_count>
      <attachid>300611</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-04 01:59:25 -0800</bug_when>
    <thetext>Created attachment 300611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273218</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-04 02:02:01 -0800</bug_when>
    <thetext>Attachment 300611 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebCore/SampleMap.cpp:51:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebCore/SampleMap.cpp:64:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebCore/SampleMap.cpp:69:  Missing space inside { }.  [whitespace/braces] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebCore/SampleMap.cpp:98:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: PerformanceTests/MediaTime/main.cpp:26:  Streams are highly discouraged.  [readability/streams] [3]
ERROR: PerformanceTests/MediaTime/main.cpp:27:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: PerformanceTests/MediaTime/main.cpp:28:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: PerformanceTests/MediaTime/main.cpp:51:  sq_sum is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: PerformanceTests/MediaTime/main.cpp:77:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
ERROR: PerformanceTests/MediaTime/main.cpp:76:  Missing space before ( in switch(  [whitespace/parens] [5]
ERROR: Source/WTF/wtf/MediaTime.cpp:389:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 11 in 21 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>1273219</commentid>
    <comment_count>4</comment_count>
      <attachid>300612</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-04 02:04:27 -0800</bug_when>
    <thetext>Created attachment 300612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273220</commentid>
    <comment_count>5</comment_count>
      <attachid>300613</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-04 02:06:00 -0800</bug_when>
    <thetext>Created attachment 300613
MediaTime-pre.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273221</commentid>
    <comment_count>6</comment_count>
      <attachid>300614</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-04 02:06:47 -0800</bug_when>
    <thetext>Created attachment 300614
MediaTime-post.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273222</commentid>
    <comment_count>7</comment_count>
      <attachid>300615</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-04 02:07:28 -0800</bug_when>
    <thetext>Created attachment 300615
MSERemoveCodedFrames-pre.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273223</commentid>
    <comment_count>8</comment_count>
      <attachid>300616</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-04 02:07:42 -0800</bug_when>
    <thetext>Created attachment 300616
MSERemoveCodedFrames-post.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273224</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-04 02:09:51 -0800</bug_when>
    <thetext>Performance testing shows a 250% speed increase in comparing uniform MediaTime values (see MediaTime-pre/post.txt) and and 150% speed increase in appending and removing media data from SourceBuffers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273703</commentid>
    <comment_count>10</comment_count>
      <attachid>300612</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-06 13:50:55 -0800</bug_when>
    <thetext>Comment on attachment 300612
Patch

Clearing flags on attachment: 300612

Committed r211746: &lt;http://trac.webkit.org/changeset/211746&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273704</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-06 13:50:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300611</attachid>
            <date>2017-02-04 01:59:25 -0800</date>
            <delta_ts>2017-02-04 02:04:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167834-20170204015708.patch</filename>
            <type>text/plain</type>
            <size>84588</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhODI1MTY3ZjM3NWI3NzQ5YTZjMGE5
ZDhmZWYyMGVkMTk1YmZmZDcuLjRlMjYyZTBjMGIyMDhjYzIwYmU0NWQxNGYyZmU5YzVkZjM5Mzg3
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTctMDItMDQgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgUGxheWJhY2sgc3RhbGxzIHdoZW4gYSBTb3VyY2VCdWZm
ZXIgYXBwZW5kIGNhdXNlcyBmcmFtZSBldmljdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3ODM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgT3B0aW1pemUgdGhlIE1lZGlhVGltZSBjbGFzczsgc3Bl
Y2lmaWNhbGx5IHRoZSBjb21wYXJlKCkgbWV0aG9kLiBUaGUgY2xhc3Mgb25seQorICAgICAgICBu
ZWVkcyA2IGJpdHMgdG8gc3RvcmUgdGhlIFRpbWVGbGFncywgc28gbWFrZSB0aGF0IGEgdWludDhf
dCByYXRoZXIgdGhhbiB1aW50MzJfdC4KKyAgICAgICAgVGhlIGltcGxlbWVudGF0aW9uIGlzIHNs
aWdodGx5IHNpbXBsZXIgaWYgdGhlIFRpbWVTY2FsZSBpcyB1bnNpZ25lZCwgc28gbWFrZSB0aGF0
CisgICAgICAgIGEgdWludDMyX3QgcmF0aGVyIHRoYW4gaW50MzJfdC4gSW5saW5lIHRoZSBjb21w
YXJpc29uIG9wZXJhdG9ycy4gT3B0aW1pemUgdGhlIGVxdWFsaXR5CisgICAgICAgIGNvbXBhcmlz
b24gYnkgYml0d2lzZS1hbmQnaW5nIHRoZSBmbGFncyB0b2dldGhlciBhbmQgbWFza2luZyB0aGUg
cmVzdWx0LiBPcHRpbWl6ZSBmb3IKKyAgICAgICAgY29tbW9uIGNvbXBhcmlzb24gc2NlbmFyaW9z
IChlcXVhbCB0aW1lU2NhbGVzLCBlcXVhbCB0aW1lVmFsdWVzKCksIGV0Yy4pLiBBdHRlbXB0IHRo
ZQorICAgICAgICBtYXRoZW1hdGljYWxseSBzaW1wbGVyIHNpbXBsZXIgbWV0aG9kIGZvciBjb21w
YXJpbmcgcmF0aW9zLCBhbmQgb25seSBmYWxsIGJhY2sgdG8gdGhlCisgICAgICAgIGNvbXBsZXgg
bWV0aG9kIGlmIHRoZSByZXN1bHRzIG9mIG11bHRpcGx5aW5nIHRoZSB0aW1lU2NhbGUgYnkgdGhl
IHRpbWVWYWx1ZSBvdmVyZmxvd3MuCisKKyAgICAgICAgKiB3dGYvTWVkaWFUaW1lLmNwcDoKKyAg
ICAgICAgKFdURjo6Z3JlYXRlc3RDb21tb25EaXZpc29yKToKKyAgICAgICAgKFdURjo6bGVhc3RD
b21tb25NdWx0aXBsZSk6CisgICAgICAgIChXVEY6OnNpZ251bSk6CisgICAgICAgIChXVEY6Ok1l
ZGlhVGltZTo6TWVkaWFUaW1lKToKKyAgICAgICAgKFdURjo6TWVkaWFUaW1lOjpjcmVhdGVXaXRo
RmxvYXQpOgorICAgICAgICAoV1RGOjpNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUpOgorICAg
ICAgICAoV1RGOjpNZWRpYVRpbWU6Om9wZXJhdG9yKyk6CisgICAgICAgIChXVEY6Ok1lZGlhVGlt
ZTo6b3BlcmF0b3ItKToKKyAgICAgICAgKFdURjo6TWVkaWFUaW1lOjpvcGVyYXRvciEpOgorICAg
ICAgICAoV1RGOjpNZWRpYVRpbWU6Om9wZXJhdG9yIGJvb2wpOgorICAgICAgICAoV1RGOjpNZWRp
YVRpbWU6OmNvbXBhcmUpOgorICAgICAgICAoV1RGOjpNZWRpYVRpbWU6OnNldFRpbWVTY2FsZSk6
CisgICAgICAgIChXVEY6OmFicyk6CisgICAgICAgIChXVEY6Ok1lZGlhVGltZTo6b3BlcmF0b3I8
KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6TWVkaWFUaW1lOjpvcGVyYXRvcj4pOiBEZWxldGVk
LgorICAgICAgICAoV1RGOjpNZWRpYVRpbWU6Om9wZXJhdG9yIT0pOiBEZWxldGVkLgorICAgICAg
ICAoV1RGOjpNZWRpYVRpbWU6Om9wZXJhdG9yPT0pOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpN
ZWRpYVRpbWU6Om9wZXJhdG9yPj0pOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpNZWRpYVRpbWU6
Om9wZXJhdG9yPD0pOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9NZWRpYVRpbWUuaDoKKwogMjAx
Ny0wMi0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxMTU3MSBhbmQgcjIxMTU4Mi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBjNTc2MjIwNWFkN2ZhNWQyYWE2NGU3NGQ3ZDNlNDhjMDhjNDY4YmU1Li5mNjRmOWJkNTUx
ZWU4ZDA1NzZlNmJkNTI2Y2M4OTdjYjliMDMzMjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEg
QEAKKzIwMTctMDItMDQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGxheWJhY2sgc3RhbGxzIHdoZW4gYSBTb3VyY2VCdWZmZXIgYXBwZW5kIGNhdXNlcyBmcmFt
ZSBldmljdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY3ODM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGVzdDogUGVyZm9ybWFuY2VUZXN0cy9NZWRpYS9NU0VSZW1vdmVDb2RlZEZyYW1lcy5odG1s
CisKKyAgICAgICAgT3B0aW1pemUgc2VhcmNoaW5nIHRocm91Z2ggU2FtcGxlTWFwIGJ5IHByZXNl
bnRhdGlvblRpbWUuCisKKyAgICAgICAgTWFueSBvZiB0aGUgbWV0aG9kcyBleHBvc2VkIGJ5IFBy
ZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwIHVzZWQgdGhlIGJhcmUgIHN0ZDo6ZXF1YWxfcmFuZ2Us
CisgICAgICAgIGxvd2VyX2JvdW5kLCBvciB1cHBlcl9ib3VuZCBtZXRob2RzLiBVbmxpa2UgdGhv
c2UgbWV0aG9kcyBleHBvc2VkIG9uIHN0ZDo6bWFwLCB0aGUgYmFyZQorICAgICAgICBzZWFyY2gg
bWV0aG9kcyBwZXJmb3JtIGEgbGluZWFyIE8obikgc2VhcmNoLCByYXRoZXIgdGhhbiBhIHRoZSBi
aW5hcnkgTyhsb2cobikpIHNlYXJjaCB1c2VkCisgICAgICAgIGJ5IHN0ZDo6bWFwLiBSZXdyaXRl
IHRob3NlIG1ldGhvZHMgdXNpbmcgdGhlIGJhcmUgbWV0aG9kcyBpbiB0ZXJtcyBvZiB0aGUgc3Rk
OjptYXAgc2VhcmNoCisgICAgICAgIG1ldGhvZHMuCisKKyAgICAgICAgRHJpdmUtYnkgZml4OiBy
ZW5hbWUgZmluZFNhbXBsZU9uT3JBZnRlclByZXNlbnRhdGlvblRpbWUgdG8KKyAgICAgICAgZmlu
ZFNhbXBsZVN0YXJ0aW5nT25PckFmdGVyUHJlc2VudGF0aW9uVGltZSB0byBtYWtlIHRoZSBiZWhh
dmlvciBvZiB0aGUgbWV0aG9kIG1vcmUKKyAgICAgICAgZXhwbGljaXQuCisKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcmVz
ZW50YXRpb25PcmRlclNhbXBsZU1hcDo6ZmluZFNhbXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25U
aW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpmaW5k
U2FtcGxlU3RhcnRpbmdPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OlByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpyZXZlcnNlRmluZFNhbXBsZUJlZm9yZVBy
ZXNlbnRhdGlvblRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6RGVjb2RlT3JkZXJTYW1wbGVNYXA6
OmZpbmRTeW5jU2FtcGxlQWZ0ZXJQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OlByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpmaW5kU2FtcGxlc0JldHdlZW5QcmVzZW50YXRp
b25UaW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6
ZmluZFNhbXBsZXNXaXRoaW5QcmVzZW50YXRpb25SYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpQ
cmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6ZmluZFNhbXBsZU9uT3JBZnRlclByZXNlbnRhdGlv
blRpbWUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU2FtcGxlTWFw
Lmg6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6YmVnaW4p
OgorICAgICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6OmVuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6cmJlZ2luKToKKyAg
ICAgICAgKFdlYkNvcmU6OlByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpyZW5kKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRlY29kZU9yZGVyU2FtcGxlTWFwOjpiZWdpbik6CisgICAgICAgIChXZWJD
b3JlOjpEZWNvZGVPcmRlclNhbXBsZU1hcDo6ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkRlY29k
ZU9yZGVyU2FtcGxlTWFwOjpyYmVnaW4pOgorICAgICAgICAoV2ViQ29yZTo6RGVjb2RlT3JkZXJT
YW1wbGVNYXA6OnJlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U2FtcGxlTWFwOjpTYW1wbGVNYXAp
OgorICAgICAgICAoV2ViQ29yZTo6U2FtcGxlTWFwOjpzaXplSW5CeXRlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTYW1wbGVNYXA6OmRlY29kZU9yZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNhbXBs
ZU1hcDo6cHJlc2VudGF0aW9uT3JkZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlbW92ZVNhbXBsZXNGcm9tVHJh
Y2tCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpyZW1vdmVDb2RlZEZy
YW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnJlZW5xdWV1ZU1lZGlhRm9y
VGltZSk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAy
MDE3LTAyLTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEFT
U0VSVCBpbiBIVE1MTWVkaWFFbGVtZW50Ojp+SFRNTE1lZGlhRWxlbWVudApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvTWVkaWFUaW1lLmNwcCBiL1NvdXJjZS9XVEYvd3RmL01lZGlhVGltZS5j
cHAKaW5kZXggNjdjYmRmNzU1YjhmOWVhM2E0NjMxZmJlZThmN2I1MzdmYjViZjM0MC4uNzc5MDE3
MGVhMTRkMGM1Y2RiMTQxYjhjMmEyMDE0MDZlZTllMzA2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvTWVkaWFUaW1lLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NZWRpYVRpbWUuY3BwCkBA
IC0zMCwxNiArMzAsMTcgQEAKICNpbmNsdWRlICJNZWRpYVRpbWUuaCIKIAogI2luY2x1ZGUgPGFs
Z29yaXRobT4KKyNpbmNsdWRlIDxjc3RkbGliPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGht
ZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ByaW50
U3RyZWFtLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1zdGF0aWMgaW50MzJfdCBncmVhdGVzdENv
bW1vbkRpdmlzb3IoaW50MzJfdCBhLCBpbnQzMl90IGIpCitzdGF0aWMgdWludDMyX3QgZ3JlYXRl
c3RDb21tb25EaXZpc29yKHVpbnQzMl90IGEsIHVpbnQzMl90IGIpCiB7CiAgICAgLy8gRXVjbGlk
J3MgQWxnb3JpdGhtCi0gICAgaW50MzJfdCB0ZW1wID0gMDsKKyAgICB1aW50MzJfdCB0ZW1wID0g
MDsKICAgICB3aGlsZSAoYikgewogICAgICAgICB0ZW1wID0gYjsKICAgICAgICAgYiA9IGEgJSBi
OwpAQCAtNDgsMTcgKzQ5LDE3IEBAIHN0YXRpYyBpbnQzMl90IGdyZWF0ZXN0Q29tbW9uRGl2aXNv
cihpbnQzMl90IGEsIGludDMyX3QgYikKICAgICByZXR1cm4gYTsKIH0KIAotc3RhdGljIGludDMy
X3QgbGVhc3RDb21tb25NdWx0aXBsZShpbnQzMl90IGEsIGludDMyX3QgYiwgaW50MzJfdCAmcmVz
dWx0KQorc3RhdGljIHVpbnQzMl90IGxlYXN0Q29tbW9uTXVsdGlwbGUodWludDMyX3QgYSwgdWlu
dDMyX3QgYiwgdWludDMyX3QgJnJlc3VsdCkKIHsKICAgICByZXR1cm4gc2FmZU11bHRpcGx5KGEs
IGIgLyBncmVhdGVzdENvbW1vbkRpdmlzb3IoYSwgYiksIHJlc3VsdCk7CiB9CiAKLXN0YXRpYyBp
bnQzMl90IHNpZ251bShpbnQ2NF90IHZhbCkKK3N0YXRpYyBpbnQ2NF90IHNpZ251bShpbnQ2NF90
IHZhbCkKIHsKICAgICByZXR1cm4gKDAgPCB2YWwpIC0gKHZhbCA8IDApOwogfQogCi1jb25zdCBp
bnQzMl90IE1lZGlhVGltZTo6TWF4aW11bVRpbWVTY2FsZSA9IDB4N2ZmZmZmZmZMOworY29uc3Qg
dWludDMyX3QgTWVkaWFUaW1lOjpNYXhpbXVtVGltZVNjYWxlID0gMHg3ZmZmZmZmZkw7CiAKIE1l
ZGlhVGltZTo6TWVkaWFUaW1lKCkKICAgICA6IG1fdGltZVZhbHVlKDApCkBAIC02Nyw3ICs2OCw3
IEBAIE1lZGlhVGltZTo6TWVkaWFUaW1lKCkKIHsKIH0KIAotTWVkaWFUaW1lOjpNZWRpYVRpbWUo
aW50NjRfdCB2YWx1ZSwgaW50MzJfdCBzY2FsZSwgdWludDMyX3QgZmxhZ3MpCitNZWRpYVRpbWU6
Ok1lZGlhVGltZShpbnQ2NF90IHZhbHVlLCB1aW50MzJfdCBzY2FsZSwgdWludDhfdCBmbGFncykK
ICAgICA6IG1fdGltZVZhbHVlKHZhbHVlKQogICAgICwgbV90aW1lU2NhbGUoc2NhbGUpCiAgICAg
LCBtX3RpbWVGbGFncyhmbGFncykKQEAgLTk5LDcgKzEwMCw3IEBAIE1lZGlhVGltZSBNZWRpYVRp
bWU6OmNyZWF0ZVdpdGhGbG9hdChmbG9hdCBmbG9hdFRpbWUpCiAgICAgcmV0dXJuIHZhbHVlOwog
fQogCi1NZWRpYVRpbWUgTWVkaWFUaW1lOjpjcmVhdGVXaXRoRmxvYXQoZmxvYXQgZmxvYXRUaW1l
LCBpbnQzMl90IHRpbWVTY2FsZSkKK01lZGlhVGltZSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhGbG9h
dChmbG9hdCBmbG9hdFRpbWUsIHVpbnQzMl90IHRpbWVTY2FsZSkKIHsKICAgICBpZiAoZmxvYXRU
aW1lICE9IGZsb2F0VGltZSkKICAgICAgICAgcmV0dXJuIGludmFsaWRUaW1lKCk7CkBAIC0xMzEs
NyArMTMyLDcgQEAgTWVkaWFUaW1lIE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShkb3VibGUg
ZG91YmxlVGltZSkKICAgICByZXR1cm4gdmFsdWU7CiB9CiAKLU1lZGlhVGltZSBNZWRpYVRpbWU6
OmNyZWF0ZVdpdGhEb3VibGUoZG91YmxlIGRvdWJsZVRpbWUsIGludDMyX3QgdGltZVNjYWxlKQor
TWVkaWFUaW1lIE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShkb3VibGUgZG91YmxlVGltZSwg
dWludDMyX3QgdGltZVNjYWxlKQogewogICAgIGlmIChkb3VibGVUaW1lICE9IGRvdWJsZVRpbWUp
CiAgICAgICAgIHJldHVybiBpbnZhbGlkVGltZSgpOwpAQCAtMjEyLDcgKzIxMyw3IEBAIE1lZGlh
VGltZSBNZWRpYVRpbWU6Om9wZXJhdG9yKyhjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QKICAg
ICBlbHNlIGlmIChiLmhhc0RvdWJsZVZhbHVlKCkpCiAgICAgICAgIGIuc2V0VGltZVNjYWxlKERl
ZmF1bHRUaW1lU2NhbGUpOwogCi0gICAgaW50MzJfdCBjb21tb25UaW1lU2NhbGU7CisgICAgdWlu
dDMyX3QgY29tbW9uVGltZVNjYWxlOwogICAgIGlmICghbGVhc3RDb21tb25NdWx0aXBsZShhLm1f
dGltZVNjYWxlLCBiLm1fdGltZVNjYWxlLCBjb21tb25UaW1lU2NhbGUpIHx8IGNvbW1vblRpbWVT
Y2FsZSA+IE1heGltdW1UaW1lU2NhbGUpCiAgICAgICAgIGNvbW1vblRpbWVTY2FsZSA9IE1heGlt
dW1UaW1lU2NhbGU7CiAgICAgYS5zZXRUaW1lU2NhbGUoY29tbW9uVGltZVNjYWxlKTsKQEAgLTI1
OCw3ICsyNTksNyBAQCBNZWRpYVRpbWUgTWVkaWFUaW1lOjpvcGVyYXRvci0oY29uc3QgTWVkaWFU
aW1lJiByaHMpIGNvbnN0CiAgICAgZWxzZSBpZiAoYi5oYXNEb3VibGVWYWx1ZSgpKQogICAgICAg
ICBiLnNldFRpbWVTY2FsZShEZWZhdWx0VGltZVNjYWxlKTsKIAotICAgIGludDMyX3QgY29tbW9u
VGltZVNjYWxlOworICAgIHVpbnQzMl90IGNvbW1vblRpbWVTY2FsZTsKICAgICBpZiAoIWxlYXN0
Q29tbW9uTXVsdGlwbGUodGhpcy0+bV90aW1lU2NhbGUsIHJocy5tX3RpbWVTY2FsZSwgY29tbW9u
VGltZVNjYWxlKSB8fCBjb21tb25UaW1lU2NhbGUgPiBNYXhpbXVtVGltZVNjYWxlKQogICAgICAg
ICBjb21tb25UaW1lU2NhbGUgPSBNYXhpbXVtVGltZVNjYWxlOwogICAgIGEuc2V0VGltZVNjYWxl
KGNvbW1vblRpbWVTY2FsZSk7CkBAIC0zMzQsODAgKzMzNSw0OCBAQCBNZWRpYVRpbWUgTWVkaWFU
aW1lOjpvcGVyYXRvciooaW50MzJfdCByaHMpIGNvbnN0CiAgICAgcmV0dXJuIGE7CiB9CiAKLWJv
b2wgTWVkaWFUaW1lOjpvcGVyYXRvcjwoY29uc3QgTWVkaWFUaW1lJiByaHMpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIGNvbXBhcmUocmhzKSA9PSBMZXNzVGhhbjsKLX0KLQotYm9vbCBNZWRpYVRpbWU6
Om9wZXJhdG9yPihjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QKLXsKLSAgICByZXR1cm4gY29t
cGFyZShyaHMpID09IEdyZWF0ZXJUaGFuOwotfQotCi1ib29sIE1lZGlhVGltZTo6b3BlcmF0b3Ih
PShjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QKLXsKLSAgICByZXR1cm4gY29tcGFyZShyaHMp
ICE9IEVxdWFsVG87Ci19Ci0KLWJvb2wgTWVkaWFUaW1lOjpvcGVyYXRvcj09KGNvbnN0IE1lZGlh
VGltZSYgcmhzKSBjb25zdAotewotICAgIHJldHVybiBjb21wYXJlKHJocykgPT0gRXF1YWxUbzsK
LX0KLQotYm9vbCBNZWRpYVRpbWU6Om9wZXJhdG9yPj0oY29uc3QgTWVkaWFUaW1lJiByaHMpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGNvbXBhcmUocmhzKSA+PSBFcXVhbFRvOwotfQotCi1ib29sIE1l
ZGlhVGltZTo6b3BlcmF0b3I8PShjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QKLXsKLSAgICBy
ZXR1cm4gY29tcGFyZShyaHMpIDw9IEVxdWFsVG87Ci19Ci0KIGJvb2wgTWVkaWFUaW1lOjpvcGVy
YXRvciEoKSBjb25zdAogewotICAgIHJldHVybiBjb21wYXJlKHplcm9UaW1lKCkpID09IEVxdWFs
VG87CisgICAgcmV0dXJuIChtX3RpbWVGbGFncyA9PSBWYWxpZCAmJiAhbV90aW1lVmFsdWUpCisg
ICAgICAgIHx8IChtX3RpbWVGbGFncyA9PSAoVmFsaWQgfCBEb3VibGVWYWx1ZSkgJiYgIW1fdGlt
ZVZhbHVlQXNEb3VibGUpOwogfQogCiBNZWRpYVRpbWU6Om9wZXJhdG9yIGJvb2woKSBjb25zdAog
ewotICAgIHJldHVybiBjb21wYXJlKHplcm9UaW1lKCkpICE9IEVxdWFsVG87CisgICAgcmV0dXJu
ICEobV90aW1lRmxhZ3MgPT0gVmFsaWQgJiYgIW1fdGltZVZhbHVlKQorICAgICAgICAmJiAhKG1f
dGltZUZsYWdzID09IChWYWxpZCB8IERvdWJsZVZhbHVlKSAmJiAhbV90aW1lVmFsdWVBc0RvdWJs
ZSk7CiB9CiAKIE1lZGlhVGltZTo6Q29tcGFyaXNvbkZsYWdzIE1lZGlhVGltZTo6Y29tcGFyZShj
b25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QKIHsKLSAgICBpZiAoKGlzUG9zaXRpdmVJbmZpbml0
ZSgpICYmIHJocy5pc1Bvc2l0aXZlSW5maW5pdGUoKSkKLSAgICAgICAgfHwgKGlzTmVnYXRpdmVJ
bmZpbml0ZSgpICYmIHJocy5pc05lZ2F0aXZlSW5maW5pdGUoKSkKLSAgICAgICAgfHwgKGlzSW52
YWxpZCgpICYmIHJocy5pc0ludmFsaWQoKSkKLSAgICAgICAgfHwgKGlzSW5kZWZpbml0ZSgpICYm
IHJocy5pc0luZGVmaW5pdGUoKSkpCisgICAgYXV0byBhbmRGbGFncyA9IG1fdGltZUZsYWdzICYg
cmhzLm1fdGltZUZsYWdzOworICAgIGlmIChhbmRGbGFncyAmIChQb3NpdGl2ZUluZmluaXRlIHwg
TmVnYXRpdmVJbmZpbml0ZSB8IEluZGVmaW5pdGUpKQogICAgICAgICByZXR1cm4gRXF1YWxUbzsK
IAotICAgIGlmIChpc0ludmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIEdyZWF0ZXJUaGFuOwotCi0g
ICAgaWYgKHJocy5pc0ludmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIExlc3NUaGFuOworICAgIGF1
dG8gb3JGbGFncyA9IG1fdGltZUZsYWdzIHwgcmhzLm1fdGltZUZsYWdzOworICAgIGlmICghKG9y
RmxhZ3MgJiBWYWxpZCkpCisgICAgICAgIHJldHVybiBFcXVhbFRvOwogCi0gICAgaWYgKHJocy5p
c05lZ2F0aXZlSW5maW5pdGUoKSB8fCBpc1Bvc2l0aXZlSW5maW5pdGUoKSkKLSAgICAgICAgcmV0
dXJuIEdyZWF0ZXJUaGFuOworICAgIGlmICghKGFuZEZsYWdzICYgVmFsaWQpKQorICAgICAgICBy
ZXR1cm4gaXNJbnZhbGlkKCkgPyBHcmVhdGVyVGhhbiA6IExlc3NUaGFuOwogCi0gICAgaWYgKHJo
cy5pc1Bvc2l0aXZlSW5maW5pdGUoKSB8fCBpc05lZ2F0aXZlSW5maW5pdGUoKSkKLSAgICAgICAg
cmV0dXJuIExlc3NUaGFuOworICAgIGlmIChvckZsYWdzICYgTmVnYXRpdmVJbmZpbml0ZSkKKyAg
ICAgICAgcmV0dXJuIGlzTmVnYXRpdmVJbmZpbml0ZSgpID8gTGVzc1RoYW4gOiBHcmVhdGVyVGhh
bjsKIAotICAgIGlmIChpc0luZGVmaW5pdGUoKSkKLSAgICAgICAgcmV0dXJuIEdyZWF0ZXJUaGFu
OworICAgIGlmIChvckZsYWdzICYgUG9zaXRpdmVJbmZpbml0ZSkKKyAgICAgICAgcmV0dXJuIGlz
UG9zaXRpdmVJbmZpbml0ZSgpID8gR3JlYXRlclRoYW4gOiBMZXNzVGhhbjsKIAotICAgIGlmIChy
aHMuaXNJbmRlZmluaXRlKCkpCi0gICAgICAgIHJldHVybiBMZXNzVGhhbjsKKyAgICBpZiAob3JG
bGFncyAmIEluZGVmaW5pdGUpCisgICAgICAgIHJldHVybiBpc0luZGVmaW5pdGUoKSA/IEdyZWF0
ZXJUaGFuIDogTGVzc1RoYW47CiAKLSAgICBpZiAoaGFzRG91YmxlVmFsdWUoKSAmJiByaHMuaGFz
RG91YmxlVmFsdWUoKSkgeworICAgIGlmIChhbmRGbGFncyAmIERvdWJsZVZhbHVlKSB7CiAgICAg
ICAgIGlmIChtX3RpbWVWYWx1ZUFzRG91YmxlID09IHJocy5tX3RpbWVWYWx1ZUFzRG91YmxlKQog
ICAgICAgICAgICAgcmV0dXJuIEVxdWFsVG87CiAKICAgICAgICAgcmV0dXJuIG1fdGltZVZhbHVl
QXNEb3VibGUgPCByaHMubV90aW1lVmFsdWVBc0RvdWJsZSA/IExlc3NUaGFuIDogR3JlYXRlclRo
YW47CiAgICAgfQogCi0gICAgaWYgKGhhc0RvdWJsZVZhbHVlKCkgfHwgcmhzLmhhc0RvdWJsZVZh
bHVlKCkpIHsKKyAgICBpZiAob3JGbGFncyAmIERvdWJsZVZhbHVlKSB7CiAgICAgICAgIGRvdWJs
ZSBhID0gdG9Eb3VibGUoKTsKICAgICAgICAgZG91YmxlIGIgPSByaHMudG9Eb3VibGUoKTsKICAg
ICAgICAgaWYgKGEgPiBiKQpAQCAtNDE3LDIwICszODYsNDcgQEAgTWVkaWFUaW1lOjpDb21wYXJp
c29uRmxhZ3MgTWVkaWFUaW1lOjpjb21wYXJlKGNvbnN0IE1lZGlhVGltZSYgcmhzKSBjb25zdAog
ICAgICAgICByZXR1cm4gRXF1YWxUbzsKICAgICB9CiAKLSAgICBNZWRpYVRpbWUgYSA9ICp0aGlz
OwotICAgIE1lZGlhVGltZSBiID0gcmhzOworICAgIGlmIChtX3RpbWVWYWx1ZSA8IDAgIT0gcmhz
Lm1fdGltZVZhbHVlIDwgMCkKKyAgICAgICAgcmV0dXJuIG1fdGltZVZhbHVlIDwgMCA/IExlc3NU
aGFuIDogR3JlYXRlclRoYW47CisKKyAgICBpZiAoIW1fdGltZVZhbHVlICYmICFyaHMubV90aW1l
VmFsdWUpCisgICAgICAgIHJldHVybiBFcXVhbFRvOworCisgICAgaWYgKG1fdGltZVNjYWxlID09
IHJocy5tX3RpbWVTY2FsZSkgeworICAgICAgICBpZiAobV90aW1lVmFsdWUgPT0gcmhzLm1fdGlt
ZVZhbHVlKQorICAgICAgICAgICAgcmV0dXJuIEVxdWFsVG87CisgICAgICAgIHJldHVybiBtX3Rp
bWVWYWx1ZSA8IHJocy5tX3RpbWVWYWx1ZSA/IExlc3NUaGFuIDogR3JlYXRlclRoYW47CisgICAg
fQorCisgICAgaWYgKG1fdGltZVZhbHVlID09IHJocy5tX3RpbWVWYWx1ZSkKKyAgICAgICAgcmV0
dXJuIG1fdGltZVNjYWxlIDwgcmhzLm1fdGltZVNjYWxlID8gR3JlYXRlclRoYW4gOiBMZXNzVGhh
bjsKKworICAgIGlmIChtX3RpbWVWYWx1ZSA8IHJocy5tX3RpbWVWYWx1ZSAmJiBtX3RpbWVTY2Fs
ZSA+IHJocy5tX3RpbWVTY2FsZSkKKyAgICAgICAgcmV0dXJuIExlc3NUaGFuOworCisgICAgaWYg
KG1fdGltZVZhbHVlID4gcmhzLm1fdGltZVZhbHVlICYmIG1fdGltZVNjYWxlIDwgcmhzLm1fdGlt
ZVNjYWxlKQorICAgICAgICByZXR1cm4gR3JlYXRlclRoYW47CisKKyAgICBpbnQ2NF90IGxoc0Zh
Y3RvcjsKKyAgICBpbnQ2NF90IHJoc0ZhY3RvcjsKKyAgICBpZiAoc2FmZU11bHRpcGx5KG1fdGlt
ZVZhbHVlLCBzdGF0aWNfY2FzdDxpbnQ2NF90PihyaHMubV90aW1lU2NhbGUpLCBsaHNGYWN0b3Ip
CisgICAgICAgICYmIHNhZmVNdWx0aXBseShyaHMubV90aW1lVmFsdWUsIHN0YXRpY19jYXN0PGlu
dDY0X3Q+KG1fdGltZVNjYWxlKSwgcmhzRmFjdG9yKSkgeworICAgICAgICBpZiAobGhzRmFjdG9y
ID09IHJoc0ZhY3RvcikKKyAgICAgICAgICAgIHJldHVybiBFcXVhbFRvOworICAgICAgICByZXR1
cm4gbGhzRmFjdG9yIDwgcmhzRmFjdG9yID8gTGVzc1RoYW4gOiBHcmVhdGVyVGhhbjsKKyAgICB9
CiAKLSAgICBpbnQ2NF90IHJoc1dob2xlID0gYi5tX3RpbWVWYWx1ZSAvIGIubV90aW1lU2NhbGU7
Ci0gICAgaW50NjRfdCBsaHNXaG9sZSA9IGEubV90aW1lVmFsdWUgLyBhLm1fdGltZVNjYWxlOwor
ICAgIGludDY0X3QgcmhzV2hvbGUgPSByaHMubV90aW1lVmFsdWUgLyByaHMubV90aW1lU2NhbGU7
CisgICAgaW50NjRfdCBsaHNXaG9sZSA9IG1fdGltZVZhbHVlIC8gbV90aW1lU2NhbGU7CiAgICAg
aWYgKGxoc1dob2xlID4gcmhzV2hvbGUpCiAgICAgICAgIHJldHVybiBHcmVhdGVyVGhhbjsKICAg
ICBpZiAobGhzV2hvbGUgPCByaHNXaG9sZSkKICAgICAgICAgcmV0dXJuIExlc3NUaGFuOwogCi0g
ICAgaW50NjRfdCByaHNSZW1haW4gPSBiLm1fdGltZVZhbHVlICUgYi5tX3RpbWVTY2FsZTsKLSAg
ICBpbnQ2NF90IGxoc1JlbWFpbiA9IGEubV90aW1lVmFsdWUgJSBhLm1fdGltZVNjYWxlOwotICAg
IGludDY0X3QgbGhzRmFjdG9yID0gbGhzUmVtYWluICogYi5tX3RpbWVTY2FsZTsKLSAgICBpbnQ2
NF90IHJoc0ZhY3RvciA9IHJoc1JlbWFpbiAqIGEubV90aW1lU2NhbGU7CisgICAgaW50NjRfdCBy
aHNSZW1haW4gPSByaHMubV90aW1lVmFsdWUgJSByaHMubV90aW1lU2NhbGU7CisgICAgaW50NjRf
dCBsaHNSZW1haW4gPSBtX3RpbWVWYWx1ZSAlIG1fdGltZVNjYWxlOworICAgIGxoc0ZhY3RvciA9
IGxoc1JlbWFpbiAqIHJocy5tX3RpbWVTY2FsZTsKKyAgICByaHNGYWN0b3IgPSByaHNSZW1haW4g
KiBtX3RpbWVTY2FsZTsKIAogICAgIGlmIChsaHNGYWN0b3IgPT0gcmhzRmFjdG9yKQogICAgICAg
ICByZXR1cm4gRXF1YWxUbzsKQEAgLTQ3NCw3ICs0NzAsNyBAQCBjb25zdCBNZWRpYVRpbWUmIE1l
ZGlhVGltZTo6aW5kZWZpbml0ZVRpbWUoKQogICAgIHJldHVybiAqdGltZTsKIH0KIAotdm9pZCBN
ZWRpYVRpbWU6OnNldFRpbWVTY2FsZShpbnQzMl90IHRpbWVTY2FsZSkKK3ZvaWQgTWVkaWFUaW1l
OjpzZXRUaW1lU2NhbGUodWludDMyX3QgdGltZVNjYWxlKQogewogICAgIGlmIChoYXNEb3VibGVW
YWx1ZSgpKSB7CiAgICAgICAgICp0aGlzID0gTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKG1f
dGltZVZhbHVlQXNEb3VibGUsIHRpbWVTY2FsZSk7CkBAIC00OTAsNyArNDg2LDcgQEAgdm9pZCBN
ZWRpYVRpbWU6OnNldFRpbWVTY2FsZShpbnQzMl90IHRpbWVTY2FsZSkKICAgICAvLyB0aW1lc2Nh
bGUgYnkgdHdvIHVudGlsIHRoZSBudW1iZXIgd2lsbCBmaXQsIGFuZCByb3VuZCB0aGUKICAgICAv
LyByZXN1bHQuCiAgICAgaW50NjRfdCBuZXdXaG9sZVBhcnQ7Ci0gICAgd2hpbGUgKCFzYWZlTXVs
dGlwbHkod2hvbGVQYXJ0LCB0aW1lU2NhbGUsIG5ld1dob2xlUGFydCkpCisgICAgd2hpbGUgKCFz
YWZlTXVsdGlwbHkod2hvbGVQYXJ0LCBzdGF0aWNfY2FzdDxpbnQ2NF90Pih0aW1lU2NhbGUpLCBu
ZXdXaG9sZVBhcnQpKQogICAgICAgICB0aW1lU2NhbGUgLz0gMjsKIAogICAgIGludDY0X3QgcmVt
YWluZGVyID0gbV90aW1lVmFsdWUgJSBtX3RpbWVTY2FsZTsKQEAgLTUxMyw3ICs1MDksNyBAQCBN
ZWRpYVRpbWUgYWJzKGNvbnN0IE1lZGlhVGltZSYgcmhzKQogICAgICAgICByZXR1cm4gTWVkaWFU
aW1lOjpjcmVhdGVXaXRoRG91YmxlKGZhYnMocmhzLm1fdGltZVZhbHVlQXNEb3VibGUpKTsKIAog
ICAgIE1lZGlhVGltZSB2YWwgPSByaHM7Ci0gICAgdmFsLm1fdGltZVZhbHVlICo9IHNpZ251bShy
aHMubV90aW1lU2NhbGUpICogc2lnbnVtKHJocy5tX3RpbWVWYWx1ZSk7CisgICAgdmFsLm1fdGlt
ZVZhbHVlID0gc3RkOjphYnMocmhzLm1fdGltZVZhbHVlKTsKICAgICByZXR1cm4gdmFsOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NZWRpYVRpbWUuaCBiL1NvdXJjZS9XVEYvd3Rm
L01lZGlhVGltZS5oCmluZGV4IDRjZjc5M2ExODA0MTBhNmQxM2NhMzcxZjFjZTNkZjFmYTU2ODI1
NzYuLjUwYTAxODA2NWIwYzk5NTAzMGQ5ZGE3MGRiNmM5NzE4ODczZGNhMzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL01lZGlhVGltZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL01lZGlhVGlt
ZS5oCkBAIC01MywxNCArNTMsMTQgQEAgcHVibGljOgogICAgIH07CiAKICAgICBNZWRpYVRpbWUo
KTsKLSAgICBNZWRpYVRpbWUoaW50NjRfdCB2YWx1ZSwgaW50MzJfdCBzY2FsZSwgdWludDMyX3Qg
ZmxhZ3MgPSBWYWxpZCk7CisgICAgTWVkaWFUaW1lKGludDY0X3QgdmFsdWUsIHVpbnQzMl90IHNj
YWxlLCB1aW50OF90IGZsYWdzID0gVmFsaWQpOwogICAgIE1lZGlhVGltZShjb25zdCBNZWRpYVRp
bWUmIHJocyk7CiAgICAgfk1lZGlhVGltZSgpOwogCiAgICAgc3RhdGljIE1lZGlhVGltZSBjcmVh
dGVXaXRoRmxvYXQoZmxvYXQgZmxvYXRUaW1lKTsKLSAgICBzdGF0aWMgTWVkaWFUaW1lIGNyZWF0
ZVdpdGhGbG9hdChmbG9hdCBmbG9hdFRpbWUsIGludDMyX3QgdGltZVNjYWxlKTsKKyAgICBzdGF0
aWMgTWVkaWFUaW1lIGNyZWF0ZVdpdGhGbG9hdChmbG9hdCBmbG9hdFRpbWUsIHVpbnQzMl90IHRp
bWVTY2FsZSk7CiAgICAgc3RhdGljIE1lZGlhVGltZSBjcmVhdGVXaXRoRG91YmxlKGRvdWJsZSBk
b3VibGVUaW1lKTsKLSAgICBzdGF0aWMgTWVkaWFUaW1lIGNyZWF0ZVdpdGhEb3VibGUoZG91Ymxl
IGRvdWJsZVRpbWUsIGludDMyX3QgdGltZVNjYWxlKTsKKyAgICBzdGF0aWMgTWVkaWFUaW1lIGNy
ZWF0ZVdpdGhEb3VibGUoZG91YmxlIGRvdWJsZVRpbWUsIHVpbnQzMl90IHRpbWVTY2FsZSk7CiAK
ICAgICBmbG9hdCB0b0Zsb2F0KCkgY29uc3Q7CiAgICAgZG91YmxlIHRvRG91YmxlKCkgY29uc3Q7
CkBAIC03MiwxMiArNzIsMTIgQEAgcHVibGljOgogICAgIE1lZGlhVGltZSBvcGVyYXRvci0oY29u
c3QgTWVkaWFUaW1lJiByaHMpIGNvbnN0OwogICAgIE1lZGlhVGltZSBvcGVyYXRvci0oKSBjb25z
dDsKICAgICBNZWRpYVRpbWUgb3BlcmF0b3IqKGludDMyX3QpIGNvbnN0OwotICAgIGJvb2wgb3Bl
cmF0b3I8KGNvbnN0IE1lZGlhVGltZSYgcmhzKSBjb25zdDsKLSAgICBib29sIG9wZXJhdG9yPihj
b25zdCBNZWRpYVRpbWUmIHJocykgY29uc3Q7Ci0gICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IE1l
ZGlhVGltZSYgcmhzKSBjb25zdDsKLSAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTWVkaWFUaW1l
JiByaHMpIGNvbnN0OwotICAgIGJvb2wgb3BlcmF0b3I+PShjb25zdCBNZWRpYVRpbWUmIHJocykg
Y29uc3Q7Ci0gICAgYm9vbCBvcGVyYXRvcjw9KGNvbnN0IE1lZGlhVGltZSYgcmhzKSBjb25zdDsK
KyAgICBib29sIG9wZXJhdG9yPChjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QgeyByZXR1cm4g
Y29tcGFyZShyaHMpID09IExlc3NUaGFuOyB9CisgICAgYm9vbCBvcGVyYXRvcj4oY29uc3QgTWVk
aWFUaW1lJiByaHMpIGNvbnN0IHsgcmV0dXJuIGNvbXBhcmUocmhzKSA9PSBHcmVhdGVyVGhhbjsg
fQorICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QgeyByZXR1
cm4gY29tcGFyZShyaHMpICE9IEVxdWFsVG87IH0KKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3Qg
TWVkaWFUaW1lJiByaHMpIGNvbnN0IHsgcmV0dXJuIGNvbXBhcmUocmhzKSA9PSBFcXVhbFRvOyB9
CisgICAgYm9vbCBvcGVyYXRvcj49KGNvbnN0IE1lZGlhVGltZSYgcmhzKSBjb25zdCB7IHJldHVy
biBjb21wYXJlKHJocykgPj0gRXF1YWxUbzsgfQorICAgIGJvb2wgb3BlcmF0b3I8PShjb25zdCBN
ZWRpYVRpbWUmIHJocykgY29uc3QgeyByZXR1cm4gY29tcGFyZShyaHMpIDw9IEVxdWFsVG87IH0K
ICAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0OwogICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2wo
KSBjb25zdDsKIApAQCAtMTA1LDcgKzEwNSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3Qg
TWVkaWFUaW1lJiBpbmRlZmluaXRlVGltZSgpOwogCiAgICAgY29uc3QgaW50NjRfdCYgdGltZVZh
bHVlKCkgY29uc3QgeyByZXR1cm4gbV90aW1lVmFsdWU7IH0KLSAgICBjb25zdCBpbnQzMl90JiB0
aW1lU2NhbGUoKSBjb25zdCB7IHJldHVybiBtX3RpbWVTY2FsZTsgfQorICAgIGNvbnN0IHVpbnQz
Ml90JiB0aW1lU2NhbGUoKSBjb25zdCB7IHJldHVybiBtX3RpbWVTY2FsZTsgfQogCiAgICAgdm9p
ZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCkBAIC0xMTcsMTggKzExNywxOCBAQCBw
dWJsaWM6CiAKICAgICBmcmllbmQgV1RGX0VYUE9SVF9QUklWQVRFIE1lZGlhVGltZSBhYnMoY29u
c3QgTWVkaWFUaW1lJiByaHMpOwogCi0gICAgc3RhdGljIGNvbnN0IGludDMyX3QgRGVmYXVsdFRp
bWVTY2FsZSA9IDEwMDAwMDAwOwotICAgIHN0YXRpYyBjb25zdCBpbnQzMl90IE1heGltdW1UaW1l
U2NhbGU7CisgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IERlZmF1bHRUaW1lU2NhbGUgPSAxMDAw
MDAwMDsKKyAgICBzdGF0aWMgY29uc3QgdWludDMyX3QgTWF4aW11bVRpbWVTY2FsZTsKIAogcHJp
dmF0ZToKLSAgICB2b2lkIHNldFRpbWVTY2FsZShpbnQzMl90KTsKKyAgICB2b2lkIHNldFRpbWVT
Y2FsZSh1aW50MzJfdCk7CiAKICAgICB1bmlvbiB7CiAgICAgICAgIGludDY0X3QgbV90aW1lVmFs
dWU7CiAgICAgICAgIGRvdWJsZSBtX3RpbWVWYWx1ZUFzRG91YmxlOwogICAgIH07Ci0gICAgaW50
MzJfdCBtX3RpbWVTY2FsZTsKLSAgICB1aW50MzJfdCBtX3RpbWVGbGFnczsKKyAgICB1aW50MzJf
dCBtX3RpbWVTY2FsZTsKKyAgICB1aW50OF90IG1fdGltZUZsYWdzOwogfTsKIAogaW5saW5lIE1l
ZGlhVGltZSBvcGVyYXRvciooaW50MzJfdCBsaHMsIGNvbnN0IE1lZGlhVGltZSYgcmhzKSB7IHJl
dHVybiByaHMub3BlcmF0b3IqKGxocyk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU2FtcGxlTWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU2FtcGxlTWFwLmNwcAppbmRleCAyMWE2ZmYyMmM0ZDIxNDA4NzI0NGYzZDQ1
N2EyYTY0NjFlN2Q5NjdiLi40MjE1N2M1ZmNmNzliYmI0ZDE3ZjQ2ZDMwZGZlNjA1Y2IwMTQzMTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1h
cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9TYW1wbGVNYXAu
Y3BwCkBAIC0xNDIsMTMgKzE0MiwyMSBAQCBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6aXRl
cmF0b3IgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6OmZpbmRTYW1wbGVXaXRoUAogCiBQcmVz
ZW50YXRpb25PcmRlclNhbXBsZU1hcDo6aXRlcmF0b3IgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVN
YXA6OmZpbmRTYW1wbGVDb250YWluaW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBNZWRpYVRpbWUm
IHRpbWUpCiB7Ci0gICAgYXV0byByYW5nZSA9IHN0ZDo6ZXF1YWxfcmFuZ2UoYmVnaW4oKSwgZW5k
KCksIHRpbWUsIFNhbXBsZUlzTGVzc1RoYW5NZWRpYVRpbWVDb21wYXJhdG9yPE1hcFR5cGU+KCkp
OwotICAgIGlmIChyYW5nZS5maXJzdCA9PSByYW5nZS5zZWNvbmQpCisgICAgLy8gdXBwZXJfYm91
bmQgd2lsbCByZXR1cm4gdGhlIGZpcnN0IHNhbXBsZSB3aG9zZSBwcmVzZW50YXRpb24gc3RhcnQg
dGltZSBpcyBncmVhdGVyIHRoYW4gdGhlIHNlYXJjaCB0aW1lLgorICAgIC8vIElmIHRoaXMgaXMg
dGhlIGZpcnN0IHNhbXBsZSwgdGhhdCBtZWFucyBubyBzYW1wbGUgaW4gdGhlIG1hcCBjb250YWlu
cyB0aGUgcmVxdWVzdGVkIHRpbWUuCisgICAgYXV0byBpdGVyID0gbV9zYW1wbGVzLnVwcGVyX2Jv
dW5kKHRpbWUpOworICAgIGlmIChpdGVyID09IGJlZ2luKCkpCiAgICAgICAgIHJldHVybiBlbmQo
KTsKLSAgICByZXR1cm4gcmFuZ2UuZmlyc3Q7CisKKyAgICAvLyBMb29rIGF0IHRoZSBwcmV2aW91
cyBzYW1wbGU7IGRvZXMgaXQgY29udGFpbiB0aGUgcmVxdWVzdGVkIHRpbWU/CisgICAgLS1pdGVy
OworICAgIE1lZGlhU2FtcGxlJiBzYW1wbGUgPSAqaXRlci0+c2Vjb25kOworICAgIGlmIChzYW1w
bGUucHJlc2VudGF0aW9uVGltZSgpICsgc2FtcGxlLmR1cmF0aW9uKCkgPiB0aW1lKQorICAgICAg
ICByZXR1cm4gaXRlcjsKKyAgICByZXR1cm4gZW5kKCk7CiB9CiAKLVByZXNlbnRhdGlvbk9yZGVy
U2FtcGxlTWFwOjppdGVyYXRvciBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6ZmluZFNhbXBs
ZU9uT3JBZnRlclByZXNlbnRhdGlvblRpbWUoY29uc3QgTWVkaWFUaW1lJiB0aW1lKQorUHJlc2Vu
dGF0aW9uT3JkZXJTYW1wbGVNYXA6Oml0ZXJhdG9yIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFw
OjpmaW5kU2FtcGxlU3RhcnRpbmdPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKGNvbnN0IE1lZGlh
VGltZSYgdGltZSkKIHsKICAgICByZXR1cm4gbV9zYW1wbGVzLmxvd2VyX2JvdW5kKHRpbWUpOwog
fQpAQCAtMTY4LDcgKzE3NiwyMiBAQCBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6cmV2ZXJz
ZV9pdGVyYXRvciBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6cmV2ZXJzZQogCiBQcmVzZW50
YXRpb25PcmRlclNhbXBsZU1hcDo6cmV2ZXJzZV9pdGVyYXRvciBQcmVzZW50YXRpb25PcmRlclNh
bXBsZU1hcDo6cmV2ZXJzZUZpbmRTYW1wbGVCZWZvcmVQcmVzZW50YXRpb25UaW1lKGNvbnN0IE1l
ZGlhVGltZSYgdGltZSkKIHsKLSAgICByZXR1cm4gc3RkOjpsb3dlcl9ib3VuZChyYmVnaW4oKSwg
cmVuZCgpLCB0aW1lLCBTYW1wbGVJc0dyZWF0ZXJUaGFuTWVkaWFUaW1lQ29tcGFyYXRvcjxNYXBU
eXBlPigpKTsKKyAgICBpZiAobV9zYW1wbGVzLmVtcHR5KCkpCisgICAgICAgIHJldHVybiByZW5k
KCk7CisKKyAgICAvLyB1cHBlcl9ib3VuZCB3aWxsIHJldHVybiB0aGUgZmlyc3Qgc2FtcGxlIHdo
b3NlIHByZXNlbnRhdGlvbiBzdGFydCB0aW1lIGlzIGdyZWF0ZXIgdGhhbiB0aGUgc2VhcmNoIHRp
bWUuCisgICAgYXV0byBmb3VuZCA9IG1fc2FtcGxlcy51cHBlcl9ib3VuZCh0aW1lKTsKKworICAg
IC8vIElmIG5vIHNhbXBsZSB3YXMgZm91bmQgd2l0aCBhIHRpbWUgZ3JlYXRlciB0aGFuIHRoZSBz
ZWFyY2ggdGltZSwgcmV0dXJuIHRoZSBsYXN0IHNhbXBsZS4KKyAgICBpZiAoZm91bmQgPT0gZW5k
KCkpCisgICAgICAgIHJldHVybiByYmVnaW4oKTsKKworICAgIC8vIElmIHRoZSBmaXJzdCBzYW1w
bGUgaGFzIGEgdGltZSBncmF0ZXIgdGhhbiB0aGUgc2VhcmNoIHRpbWUsIG5vIHNhbXBsZXMgd2ls
bCBoYXZlIGEgcHJlc2VudGF0aW9uIHRpbWUgYmVmb3JlIHRoZSBzZWFyY2ggdGltZS4KKyAgICBp
ZiAoZm91bmQgPT0gYmVnaW4oKSkKKyAgICAgICAgcmV0dXJuIHJlbmQoKTsKKworICAgIC8vIE90
aGVyd2lzZSwgcmV0dXJuIHRoZSBzYW1wbGUgaW1tZWRpYXRlbHkgcHJldmlvdXMgdG8gdGhlIG9u
ZSBmb3VuZC4KKyAgICByZXR1cm4gLS1yZXZlcnNlX2l0ZXJhdG9yKC0tZm91bmQpOwogfQogCiBE
ZWNvZGVPcmRlclNhbXBsZU1hcDo6cmV2ZXJzZV9pdGVyYXRvciBEZWNvZGVPcmRlclNhbXBsZU1h
cDo6cmV2ZXJzZUZpbmRTYW1wbGVXaXRoRGVjb2RlS2V5KGNvbnN0IEtleVR5cGUmIGtleSkKQEAg
LTIwMyw3ICsyMjYsNyBAQCBEZWNvZGVPcmRlclNhbXBsZU1hcDo6cmV2ZXJzZV9pdGVyYXRvciBE
ZWNvZGVPcmRlclNhbXBsZU1hcDo6ZmluZFN5bmNTYW1wbGVQcmlvcgogCiBEZWNvZGVPcmRlclNh
bXBsZU1hcDo6aXRlcmF0b3IgRGVjb2RlT3JkZXJTYW1wbGVNYXA6OmZpbmRTeW5jU2FtcGxlQWZ0
ZXJQcmVzZW50YXRpb25UaW1lKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgTWVkaWFUaW1l
JiB0aHJlc2hvbGQpCiB7Ci0gICAgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6Oml0ZXJhdG9y
IGN1cnJlbnRTYW1wbGVQVFMgPSBtX3ByZXNlbnRhdGlvbk9yZGVyLmZpbmRTYW1wbGVPbk9yQWZ0
ZXJQcmVzZW50YXRpb25UaW1lKHRpbWUpOworICAgIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFw
OjppdGVyYXRvciBjdXJyZW50U2FtcGxlUFRTID0gbV9wcmVzZW50YXRpb25PcmRlci5maW5kU2Ft
cGxlU3RhcnRpbmdPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKHRpbWUpOwogICAgIGlmIChjdXJy
ZW50U2FtcGxlUFRTID09IG1fcHJlc2VudGF0aW9uT3JkZXIuZW5kKCkpCiAgICAgICAgIHJldHVy
biBlbmQoKTsKIApAQCAtMjI4LDE0ICsyNTEsMjQgQEAgRGVjb2RlT3JkZXJTYW1wbGVNYXA6Oml0
ZXJhdG9yIERlY29kZU9yZGVyU2FtcGxlTWFwOjpmaW5kU3luY1NhbXBsZUFmdGVyRGVjb2RlSXQK
IAogUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6Oml0ZXJhdG9yX3JhbmdlIFByZXNlbnRhdGlv
bk9yZGVyU2FtcGxlTWFwOjpmaW5kU2FtcGxlc0JldHdlZW5QcmVzZW50YXRpb25UaW1lcyhjb25z
dCBNZWRpYVRpbWUmIGJlZ2luVGltZSwgY29uc3QgTWVkaWFUaW1lJiBlbmRUaW1lKQogewotICAg
IHN0ZDo6cGFpcjxNZWRpYVRpbWUsIE1lZGlhVGltZT4gcmFuZ2UoYmVnaW5UaW1lLCBlbmRUaW1l
KTsKLSAgICByZXR1cm4gc3RkOjplcXVhbF9yYW5nZShiZWdpbigpLCBlbmQoKSwgcmFuZ2UsIFNh
bXBsZVByZXNlbnRhdGlvblRpbWVJc0luc2lkZVJhbmdlQ29tcGFyYXRvcigpKTsKKyAgICAvLyBz
dGFydFRpbWUgaXMgaW5jbHVzaXZlLCBzbyB1c2UgbG93ZXJfYm91bmQgdG8gaW5jbHVkZSBzYW1w
bGVzIHdpY2ggc3RhcnQgZXhhY3RseSBhdCBzdGFydFRpbWUuCisgICAgLy8gZW5kVGltZSBpcyBu
b3QgaW5jbHVzaXZlLCBzbyB1c2UgbG93ZXJfYm91bmQgdG8gZXhjbHVkZSBzYW1wbGVzIHdoaWNo
IHN0YXJ0IGV4YWN0bHkgYXQgZW5kVGltZS4KKyAgICBhdXRvIGxvd2VyX2JvdW5kID0gbV9zYW1w
bGVzLmxvd2VyX2JvdW5kKGJlZ2luVGltZSk7CisgICAgYXV0byB1cHBlcl9ib3VuZCA9IG1fc2Ft
cGxlcy5sb3dlcl9ib3VuZChlbmRUaW1lKTsKKyAgICBpZiAobG93ZXJfYm91bmQgPT0gdXBwZXJf
Ym91bmQpCisgICAgICAgIHJldHVybiB7IGVuZCgpLCBlbmQoKSB9OworICAgIHJldHVybiB7IGxv
d2VyX2JvdW5kLCB1cHBlcl9ib3VuZCB9OwogfQogCiBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1h
cDo6aXRlcmF0b3JfcmFuZ2UgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6OmZpbmRTYW1wbGVz
V2l0aGluUHJlc2VudGF0aW9uUmFuZ2UoY29uc3QgTWVkaWFUaW1lJiBiZWdpblRpbWUsIGNvbnN0
IE1lZGlhVGltZSYgZW5kVGltZSkKIHsKLSAgICBzdGQ6OnBhaXI8TWVkaWFUaW1lLCBNZWRpYVRp
bWU+IHJhbmdlKGJlZ2luVGltZSwgZW5kVGltZSk7Ci0gICAgcmV0dXJuIHN0ZDo6ZXF1YWxfcmFu
Z2UoYmVnaW4oKSwgZW5kKCksIHJhbmdlLCBTYW1wbGVQcmVzZW50YXRpb25UaW1lSXNXaXRoaW5S
YW5nZUNvbXBhcmF0b3IoKSk7CisgICAgLy8gc3RhcnRUaW1lIGlzIG5vdCBpbmNsdXNpdmUsIHNv
IHVzZSB1cHBlcl9ib3VuZCB0byBleGNsdWRlIHNhbXBsZXMgd2hpY2ggc3RhcnQgZXhhY3RseSBh
dCBzdGFydFRpbWUuCisgICAgLy8gZW5kVGltZSBpcyBpbmNsdXNpdmUsIHNvIHVzZSB1cHBlcl9i
b3VuZCB0byBpbmNsdWRlIHNhbXBsZXMgd2hpY2ggc3RhcnQgZXhhY3RseSBhdCBlbmRUaW1lLgor
ICAgIGF1dG8gbG93ZXJfYm91bmQgPSBtX3NhbXBsZXMudXBwZXJfYm91bmQoYmVnaW5UaW1lKTsK
KyAgICBhdXRvIHVwcGVyX2JvdW5kID0gbV9zYW1wbGVzLnVwcGVyX2JvdW5kKGVuZFRpbWUpOwor
ICAgIGlmIChsb3dlcl9ib3VuZCA9PSB1cHBlcl9ib3VuZCkKKyAgICAgICAgcmV0dXJuIHsgZW5k
KCksIGVuZCgpIH07CisgICAgcmV0dXJuIHsgbG93ZXJfYm91bmQsIHVwcGVyX2JvdW5kIH07CiB9
CiAKIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjppdGVyYXRvcl9yYW5nZSBQcmVzZW50YXRp
b25PcmRlclNhbXBsZU1hcDo6ZmluZFNhbXBsZXNXaXRoaW5QcmVzZW50YXRpb25SYW5nZUZyb21F
bmQoY29uc3QgTWVkaWFUaW1lJiBiZWdpblRpbWUsIGNvbnN0IE1lZGlhVGltZSYgZW5kVGltZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU2FtcGxlTWFw
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5oCmluZGV4
IGRhNTZmOTVjNzQyZjYxZTZhZTA4Y2IxZmQ0OWJlYTBjZmJmMjMwZDIuLjliYTg4NmRmYzU0MDQ0
OTExZjBmNjZhN2U3YmUzOGIyNzM0NzBlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU2FtcGxlTWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9TYW1wbGVNYXAuaApAQCAtNDYsMjMgKzQ2LDIzIEBAIHB1YmxpYzoKICAg
ICB0eXBlZGVmIE1hcFR5cGU6OmNvbnN0X3JldmVyc2VfaXRlcmF0b3IgY29uc3RfcmV2ZXJzZV9p
dGVyYXRvcjsKICAgICB0eXBlZGVmIHN0ZDo6cGFpcjxpdGVyYXRvciwgaXRlcmF0b3I+IGl0ZXJh
dG9yX3JhbmdlOwogCi0gICAgaXRlcmF0b3IgYmVnaW4oKSB7IHJldHVybiBtX3NhbXBsZXMuYmVn
aW4oKTsgfQotICAgIGNvbnN0X2l0ZXJhdG9yIGJlZ2luKCkgY29uc3QgeyByZXR1cm4gbV9zYW1w
bGVzLmJlZ2luKCk7IH0KLSAgICBpdGVyYXRvciBlbmQoKSB7IHJldHVybiBtX3NhbXBsZXMuZW5k
KCk7IH0KLSAgICBjb25zdF9pdGVyYXRvciBlbmQoKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZXMu
ZW5kKCk7IH0KLSAgICByZXZlcnNlX2l0ZXJhdG9yIHJiZWdpbigpIHsgcmV0dXJuIG1fc2FtcGxl
cy5yYmVnaW4oKTsgfQotICAgIGNvbnN0X3JldmVyc2VfaXRlcmF0b3IgcmJlZ2luKCkgY29uc3Qg
eyByZXR1cm4gbV9zYW1wbGVzLnJiZWdpbigpOyB9Ci0gICAgcmV2ZXJzZV9pdGVyYXRvciByZW5k
KCkgeyByZXR1cm4gbV9zYW1wbGVzLnJlbmQoKTsgfQotICAgIGNvbnN0X3JldmVyc2VfaXRlcmF0
b3IgcmVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlcy5yZW5kKCk7IH0KLQotICAgIGl0ZXJh
dG9yIGZpbmRTYW1wbGVXaXRoUHJlc2VudGF0aW9uVGltZShjb25zdCBNZWRpYVRpbWUmKTsKLSAg
ICBpdGVyYXRvciBmaW5kU2FtcGxlQ29udGFpbmluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgTWVk
aWFUaW1lJik7Ci0gICAgaXRlcmF0b3IgZmluZFNhbXBsZU9uT3JBZnRlclByZXNlbnRhdGlvblRp
bWUoY29uc3QgTWVkaWFUaW1lJik7Ci0gICAgcmV2ZXJzZV9pdGVyYXRvciByZXZlcnNlRmluZFNh
bXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IE1lZGlhVGltZSYpOwotICAgIHJl
dmVyc2VfaXRlcmF0b3IgcmV2ZXJzZUZpbmRTYW1wbGVCZWZvcmVQcmVzZW50YXRpb25UaW1lKGNv
bnN0IE1lZGlhVGltZSYpOwotICAgIGl0ZXJhdG9yX3JhbmdlIGZpbmRTYW1wbGVzQmV0d2VlblBy
ZXNlbnRhdGlvblRpbWVzKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpOwotICAg
IGl0ZXJhdG9yX3JhbmdlIGZpbmRTYW1wbGVzV2l0aGluUHJlc2VudGF0aW9uUmFuZ2UoY29uc3Qg
TWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJik7Ci0gICAgaXRlcmF0b3JfcmFuZ2UgZmluZFNh
bXBsZXNXaXRoaW5QcmVzZW50YXRpb25SYW5nZUZyb21FbmQoY29uc3QgTWVkaWFUaW1lJiwgY29u
c3QgTWVkaWFUaW1lJik7CisgICAgV0VCQ09SRV9FWFBPUlQgaXRlcmF0b3IgYmVnaW4oKSB7IHJl
dHVybiBtX3NhbXBsZXMuYmVnaW4oKTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0X2l0ZXJh
dG9yIGJlZ2luKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVzLmJlZ2luKCk7IH0KKyAgICBXRUJD
T1JFX0VYUE9SVCBpdGVyYXRvciBlbmQoKSB7IHJldHVybiBtX3NhbXBsZXMuZW5kKCk7IH0KKyAg
ICBXRUJDT1JFX0VYUE9SVCBjb25zdF9pdGVyYXRvciBlbmQoKSBjb25zdCB7IHJldHVybiBtX3Nh
bXBsZXMuZW5kKCk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCByZXZlcnNlX2l0ZXJhdG9yIHJiZWdp
bigpIHsgcmV0dXJuIG1fc2FtcGxlcy5yYmVnaW4oKTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIGNv
bnN0X3JldmVyc2VfaXRlcmF0b3IgcmJlZ2luKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVzLnJi
ZWdpbigpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgcmV2ZXJzZV9pdGVyYXRvciByZW5kKCkgeyBy
ZXR1cm4gbV9zYW1wbGVzLnJlbmQoKTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0X3JldmVy
c2VfaXRlcmF0b3IgcmVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlcy5yZW5kKCk7IH0KKwor
ICAgIFdFQkNPUkVfRVhQT1JUIGl0ZXJhdG9yIGZpbmRTYW1wbGVXaXRoUHJlc2VudGF0aW9uVGlt
ZShjb25zdCBNZWRpYVRpbWUmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBpdGVyYXRvciBmaW5kU2Ft
cGxlQ29udGFpbmluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgTWVkaWFUaW1lJik7CisgICAgV0VC
Q09SRV9FWFBPUlQgaXRlcmF0b3IgZmluZFNhbXBsZVN0YXJ0aW5nT25PckFmdGVyUHJlc2VudGF0
aW9uVGltZShjb25zdCBNZWRpYVRpbWUmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCByZXZlcnNlX2l0
ZXJhdG9yIHJldmVyc2VGaW5kU2FtcGxlQ29udGFpbmluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3Qg
TWVkaWFUaW1lJik7CisgICAgV0VCQ09SRV9FWFBPUlQgcmV2ZXJzZV9pdGVyYXRvciByZXZlcnNl
RmluZFNhbXBsZUJlZm9yZVByZXNlbnRhdGlvblRpbWUoY29uc3QgTWVkaWFUaW1lJik7CisgICAg
V0VCQ09SRV9FWFBPUlQgaXRlcmF0b3JfcmFuZ2UgZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0
aW9uVGltZXMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJik7CisgICAgV0VCQ09S
RV9FWFBPUlQgaXRlcmF0b3JfcmFuZ2UgZmluZFNhbXBsZXNXaXRoaW5QcmVzZW50YXRpb25SYW5n
ZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBpdGVyYXRvcl9yYW5nZSBmaW5kU2FtcGxlc1dpdGhpblByZXNlbnRhdGlvblJhbmdlRnJvbUVu
ZChjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKTsKIAogcHJpdmF0ZToKICAgICBN
YXBUeXBlIG1fc2FtcGxlczsKQEAgLTc5LDIyICs3OSwyMiBAQCBwdWJsaWM6CiAgICAgdHlwZWRl
ZiBNYXBUeXBlOjpjb25zdF9yZXZlcnNlX2l0ZXJhdG9yIGNvbnN0X3JldmVyc2VfaXRlcmF0b3I7
CiAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8cmV2ZXJzZV9pdGVyYXRvciwgcmV2ZXJzZV9pdGVyYXRv
cj4gcmV2ZXJzZV9pdGVyYXRvcl9yYW5nZTsKIAotICAgIGl0ZXJhdG9yIGJlZ2luKCkgeyByZXR1
cm4gbV9zYW1wbGVzLmJlZ2luKCk7IH0KLSAgICBjb25zdF9pdGVyYXRvciBiZWdpbigpIGNvbnN0
IHsgcmV0dXJuIG1fc2FtcGxlcy5iZWdpbigpOyB9Ci0gICAgaXRlcmF0b3IgZW5kKCkgeyByZXR1
cm4gbV9zYW1wbGVzLmVuZCgpOyB9Ci0gICAgY29uc3RfaXRlcmF0b3IgZW5kKCkgY29uc3QgeyBy
ZXR1cm4gbV9zYW1wbGVzLmVuZCgpOyB9Ci0gICAgcmV2ZXJzZV9pdGVyYXRvciByYmVnaW4oKSB7
IHJldHVybiBtX3NhbXBsZXMucmJlZ2luKCk7IH0KLSAgICBjb25zdF9yZXZlcnNlX2l0ZXJhdG9y
IHJiZWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlcy5yYmVnaW4oKTsgfQotICAgIHJldmVy
c2VfaXRlcmF0b3IgcmVuZCgpIHsgcmV0dXJuIG1fc2FtcGxlcy5yZW5kKCk7IH0KLSAgICBjb25z
dF9yZXZlcnNlX2l0ZXJhdG9yIHJlbmQoKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZXMucmVuZCgp
OyB9Ci0KLSAgICBpdGVyYXRvciBmaW5kU2FtcGxlV2l0aERlY29kZUtleShjb25zdCBLZXlUeXBl
Jik7Ci0gICAgcmV2ZXJzZV9pdGVyYXRvciByZXZlcnNlRmluZFNhbXBsZVdpdGhEZWNvZGVLZXko
Y29uc3QgS2V5VHlwZSYpOwotICAgIHJldmVyc2VfaXRlcmF0b3IgZmluZFN5bmNTYW1wbGVQcmlv
clRvUHJlc2VudGF0aW9uVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmIHRo
cmVzaG9sZCA9IE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0ZVRpbWUoKSk7Ci0gICAgcmV2ZXJz
ZV9pdGVyYXRvciBmaW5kU3luY1NhbXBsZVByaW9yVG9EZWNvZGVJdGVyYXRvcihyZXZlcnNlX2l0
ZXJhdG9yKTsKLSAgICBpdGVyYXRvciBmaW5kU3luY1NhbXBsZUFmdGVyUHJlc2VudGF0aW9uVGlt
ZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmIHRocmVzaG9sZCA9IE1lZGlhVGlt
ZTo6cG9zaXRpdmVJbmZpbml0ZVRpbWUoKSk7Ci0gICAgaXRlcmF0b3IgZmluZFN5bmNTYW1wbGVB
ZnRlckRlY29kZUl0ZXJhdG9yKGl0ZXJhdG9yKTsKLSAgICByZXZlcnNlX2l0ZXJhdG9yX3Jhbmdl
IGZpbmREZXBlbmRlbnRTYW1wbGVzKE1lZGlhU2FtcGxlKik7CisgICAgV0VCQ09SRV9FWFBPUlQg
aXRlcmF0b3IgYmVnaW4oKSB7IHJldHVybiBtX3NhbXBsZXMuYmVnaW4oKTsgfQorICAgIFdFQkNP
UkVfRVhQT1JUIGNvbnN0X2l0ZXJhdG9yIGJlZ2luKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVz
LmJlZ2luKCk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCBpdGVyYXRvciBlbmQoKSB7IHJldHVybiBt
X3NhbXBsZXMuZW5kKCk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCBjb25zdF9pdGVyYXRvciBlbmQo
KSBjb25zdCB7IHJldHVybiBtX3NhbXBsZXMuZW5kKCk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCBy
ZXZlcnNlX2l0ZXJhdG9yIHJiZWdpbigpIHsgcmV0dXJuIG1fc2FtcGxlcy5yYmVnaW4oKTsgfQor
ICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0X3JldmVyc2VfaXRlcmF0b3IgcmJlZ2luKCkgY29uc3Qg
eyByZXR1cm4gbV9zYW1wbGVzLnJiZWdpbigpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgcmV2ZXJz
ZV9pdGVyYXRvciByZW5kKCkgeyByZXR1cm4gbV9zYW1wbGVzLnJlbmQoKTsgfQorICAgIFdFQkNP
UkVfRVhQT1JUIGNvbnN0X3JldmVyc2VfaXRlcmF0b3IgcmVuZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2FtcGxlcy5yZW5kKCk7IH0KKworICAgIFdFQkNPUkVfRVhQT1JUIGl0ZXJhdG9yIGZpbmRTYW1w
bGVXaXRoRGVjb2RlS2V5KGNvbnN0IEtleVR5cGUmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCByZXZl
cnNlX2l0ZXJhdG9yIHJldmVyc2VGaW5kU2FtcGxlV2l0aERlY29kZUtleShjb25zdCBLZXlUeXBl
Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgcmV2ZXJzZV9pdGVyYXRvciBmaW5kU3luY1NhbXBsZVBy
aW9yVG9QcmVzZW50YXRpb25UaW1lKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYg
dGhyZXNob2xkID0gTWVkaWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGltZSgpKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCByZXZlcnNlX2l0ZXJhdG9yIGZpbmRTeW5jU2FtcGxlUHJpb3JUb0RlY29kZUl0
ZXJhdG9yKHJldmVyc2VfaXRlcmF0b3IpOworICAgIFdFQkNPUkVfRVhQT1JUIGl0ZXJhdG9yIGZp
bmRTeW5jU2FtcGxlQWZ0ZXJQcmVzZW50YXRpb25UaW1lKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0
IE1lZGlhVGltZSYgdGhyZXNob2xkID0gTWVkaWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGltZSgp
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBpdGVyYXRvciBmaW5kU3luY1NhbXBsZUFmdGVyRGVjb2Rl
SXRlcmF0b3IoaXRlcmF0b3IpOworICAgIFdFQkNPUkVfRVhQT1JUIHJldmVyc2VfaXRlcmF0b3Jf
cmFuZ2UgZmluZERlcGVuZGVudFNhbXBsZXMoTWVkaWFTYW1wbGUqKTsKIAogcHJpdmF0ZToKICAg
ICBNYXBUeXBlIG1fc2FtcGxlczsKQEAgLTEwMywyNCArMTAzLDI0IEBAIHByaXZhdGU6CiAKIGNs
YXNzIFNhbXBsZU1hcCB7CiBwdWJsaWM6Ci0gICAgU2FtcGxlTWFwKCkKKyAgICBXRUJDT1JFX0VY
UE9SVCBTYW1wbGVNYXAoKQogICAgICAgICA6IG1fdG90YWxTaXplKDApCiAgICAgewogICAgIH0K
IAotICAgIGJvb2wgZW1wdHkoKSBjb25zdDsKLSAgICB2b2lkIGNsZWFyKCk7Ci0gICAgdm9pZCBh
ZGRTYW1wbGUoTWVkaWFTYW1wbGUmKTsKLSAgICB2b2lkIHJlbW92ZVNhbXBsZShNZWRpYVNhbXBs
ZSopOwotICAgIHNpemVfdCBzaXplSW5CeXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fdG90YWxTaXpl
OyB9CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBlbXB0eSgpIGNvbnN0OworICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgY2xlYXIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZFNhbXBsZShN
ZWRpYVNhbXBsZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVtb3ZlU2FtcGxlKE1lZGlh
U2FtcGxlKik7CisgICAgV0VCQ09SRV9FWFBPUlQgc2l6ZV90IHNpemVJbkJ5dGVzKCkgY29uc3Qg
eyByZXR1cm4gbV90b3RhbFNpemU7IH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEk+CiAgICAg
dm9pZCBhZGRSYW5nZShJIGJlZ2luLCBJIGVuZCk7CiAKLSAgICBEZWNvZGVPcmRlclNhbXBsZU1h
cCYgZGVjb2RlT3JkZXIoKSB7IHJldHVybiBtX2RlY29kZU9yZGVyOyB9Ci0gICAgY29uc3QgRGVj
b2RlT3JkZXJTYW1wbGVNYXAmIGRlY29kZU9yZGVyKCkgY29uc3QgeyByZXR1cm4gbV9kZWNvZGVP
cmRlcjsgfQotICAgIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwJiBwcmVzZW50YXRpb25PcmRl
cigpIHsgcmV0dXJuIG1fZGVjb2RlT3JkZXIubV9wcmVzZW50YXRpb25PcmRlcjsgfQotICAgIGNv
bnN0IFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwJiBwcmVzZW50YXRpb25PcmRlcigpIGNvbnN0
IHsgcmV0dXJuIG1fZGVjb2RlT3JkZXIubV9wcmVzZW50YXRpb25PcmRlcjsgfQorICAgIFdFQkNP
UkVfRVhQT1JUIERlY29kZU9yZGVyU2FtcGxlTWFwJiBkZWNvZGVPcmRlcigpIHsgcmV0dXJuIG1f
ZGVjb2RlT3JkZXI7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCBjb25zdCBEZWNvZGVPcmRlclNhbXBs
ZU1hcCYgZGVjb2RlT3JkZXIoKSBjb25zdCB7IHJldHVybiBtX2RlY29kZU9yZGVyOyB9CisgICAg
V0VCQ09SRV9FWFBPUlQgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXAmIHByZXNlbnRhdGlvbk9y
ZGVyKCkgeyByZXR1cm4gbV9kZWNvZGVPcmRlci5tX3ByZXNlbnRhdGlvbk9yZGVyOyB9CisgICAg
V0VCQ09SRV9FWFBPUlQgY29uc3QgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXAmIHByZXNlbnRh
dGlvbk9yZGVyKCkgY29uc3QgeyByZXR1cm4gbV9kZWNvZGVPcmRlci5tX3ByZXNlbnRhdGlvbk9y
ZGVyOyB9CiAKIHByaXZhdGU6CiAgICAgRGVjb2RlT3JkZXJTYW1wbGVNYXAgbV9kZWNvZGVPcmRl
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcAppbmRleCBkOWFlNTI3ODYzNWVjOGZhYjhiYTdkZjUyZDczNDE0YTU4ODNlZTAxLi4y
YjRhYzU4NTRhMTdiYWU0MDhiY2U4N2NiYzQxNzcyNTA3NTY2YWVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC03MDUs
NyArNzA1LDcgQEAgc3RhdGljIFBsYXRmb3JtVGltZVJhbmdlcyByZW1vdmVTYW1wbGVzRnJvbVRy
YWNrQnVmZmVyKGNvbnN0IERlY29kZU9yZGVyU2FtcGxlTWEKICAgICAgICAgICAgICAgICBhZGRp
dGlvbmFsRXJhc2VkUmFuZ2VzLmFkZChwcmV2aW91c1NhbXBsZS5wcmVzZW50YXRpb25UaW1lKCkg
KyBwcmV2aW91c1NhbXBsZS5kdXJhdGlvbigpLCBlcmFzZWRTdGFydCk7CiAgICAgICAgIH0KIAot
ICAgICAgICBhdXRvIGVuZEl0ZXJhdG9yID0gdHJhY2tCdWZmZXIuc2FtcGxlcy5wcmVzZW50YXRp
b25PcmRlcigpLmZpbmRTYW1wbGVPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKGVyYXNlZEVuZCk7
CisgICAgICAgIGF1dG8gZW5kSXRlcmF0b3IgPSB0cmFja0J1ZmZlci5zYW1wbGVzLnByZXNlbnRh
dGlvbk9yZGVyKCkuZmluZFNhbXBsZVN0YXJ0aW5nT25PckFmdGVyUHJlc2VudGF0aW9uVGltZShl
cmFzZWRFbmQpOwogICAgICAgICBpZiAoZW5kSXRlcmF0b3IgPT0gdHJhY2tCdWZmZXIuc2FtcGxl
cy5wcmVzZW50YXRpb25PcmRlcigpLmVuZCgpKQogICAgICAgICAgICAgYWRkaXRpb25hbEVyYXNl
ZFJhbmdlcy5hZGQoZXJhc2VkRW5kLCBNZWRpYVRpbWU6OnBvc2l0aXZlSW5maW5pdGVUaW1lKCkp
OwogICAgICAgICBlbHNlIHsKQEAgLTc3NSw3ICs3NzUsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6
cmVtb3ZlQ29kZWRGcmFtZXMoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1l
JiBlbgogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZW1vdmVQcmVzZW50YXRpb25FbmQgPSB0
cmFja0J1ZmZlci5zYW1wbGVzLnByZXNlbnRhdGlvbk9yZGVyKCkuZmluZFNhbXBsZVdpdGhQcmVz
ZW50YXRpb25UaW1lKHJlbW92ZURlY29kZUVuZC0+c2Vjb25kLT5wcmVzZW50YXRpb25UaW1lKCkp
OwogCi0gICAgICAgIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjppdGVyYXRvciByZW1vdmVQ
cmVzZW50YXRpb25TdGFydCA9IHRyYWNrQnVmZmVyLnNhbXBsZXMucHJlc2VudGF0aW9uT3JkZXIo
KS5maW5kU2FtcGxlT25PckFmdGVyUHJlc2VudGF0aW9uVGltZShzdGFydCk7CisgICAgICAgIFBy
ZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjppdGVyYXRvciByZW1vdmVQcmVzZW50YXRpb25TdGFy
dCA9IHRyYWNrQnVmZmVyLnNhbXBsZXMucHJlc2VudGF0aW9uT3JkZXIoKS5maW5kU2FtcGxlU3Rh
cnRpbmdPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKHN0YXJ0KTsKICAgICAgICAgaWYgKHJlbW92
ZVByZXNlbnRhdGlvblN0YXJ0ID09IHJlbW92ZVByZXNlbnRhdGlvbkVuZCkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogCkBAIC0xODQyLDcgKzE4NDIsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmVl
bnF1ZXVlTWVkaWFGb3JUaW1lKFRyYWNrQnVmZmVyJiB0cmFja0J1ZmZlciwgY29uc3QgQXRvbWlj
UwogICAgIGF1dG8gY3VycmVudFNhbXBsZVBUU0l0ZXJhdG9yID0gdHJhY2tCdWZmZXIuc2FtcGxl
cy5wcmVzZW50YXRpb25PcmRlcigpLmZpbmRTYW1wbGVDb250YWluaW5nUHJlc2VudGF0aW9uVGlt
ZSh0aW1lKTsKIAogICAgIGlmIChjdXJyZW50U2FtcGxlUFRTSXRlcmF0b3IgPT0gdHJhY2tCdWZm
ZXIuc2FtcGxlcy5wcmVzZW50YXRpb25PcmRlcigpLmVuZCgpKQotICAgICAgICBjdXJyZW50U2Ft
cGxlUFRTSXRlcmF0b3IgPSB0cmFja0J1ZmZlci5zYW1wbGVzLnByZXNlbnRhdGlvbk9yZGVyKCku
ZmluZFNhbXBsZU9uT3JBZnRlclByZXNlbnRhdGlvblRpbWUodGltZSk7CisgICAgICAgIGN1cnJl
bnRTYW1wbGVQVFNJdGVyYXRvciA9IHRyYWNrQnVmZmVyLnNhbXBsZXMucHJlc2VudGF0aW9uT3Jk
ZXIoKS5maW5kU2FtcGxlU3RhcnRpbmdPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKHRpbWUpOwog
CiAgICAgaWYgKGN1cnJlbnRTYW1wbGVQVFNJdGVyYXRvciA9PSB0cmFja0J1ZmZlci5zYW1wbGVz
LnByZXNlbnRhdGlvbk9yZGVyKCkuZW5kKCkKICAgICAgICAgfHwgKGN1cnJlbnRTYW1wbGVQVFNJ
dGVyYXRvci0+Zmlyc3QgLSB0aW1lKSA+IE1lZGlhU291cmNlOjpjdXJyZW50VGltZUZ1ZGdlRmFj
dG9yKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggMzM3YTRlYTE5Njc2NjA4YjIzMDJkMzMyMGQwZjljM2ZjMTNmN2YzOS4uNWQx
ODQ4YWM3M2ViZDY0M2M4YjM0M2I4YmU4NmI0YjAxMWU2MjhhMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTkyMiw3ICs1OTIy
LDcgQEAKIAkJQ0RDRkFCQkQxOEMwQUY3ODAwNkY4NDUwIC8qIFNlbGVjdGlvblN1YnRyZWVSb290
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENGQUJC
QjE4QzBBRTMxMDA2Rjg0NTAgLyogU2VsZWN0aW9uU3VidHJlZVJvb3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRENGQUJCRTE4QzBBRjg0MDA2
Rjg0NTAgLyogU2VsZWN0aW9uU3VidHJlZVJvb3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRkFCQkMxOEMwQUYxOTAwNkY4NDUwIC8qIFNlbGVj
dGlvblN1YnRyZWVSb290LmNwcCAqLzsgfTsKIAkJQ0RENzA4OTYxODM1OUY2RjAwMkIzREM2IC8q
IFNhbXBsZU1hcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREQ3MDg5NDE4MzU5RjZFMDAyQjNEQzYgLyogU2FtcGxlTWFwLmNwcCAqLzsgfTsKLQkJ
Q0RENzA4OTcxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RENzA4OTUxODM1OUY2RjAwMkIzREM2IC8q
IFNhbXBsZU1hcC5oICovOyB9OworCQlDREQ3MDg5NzE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxl
TWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREQ3
MDg5NTE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8q
IE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudC5oICovOyB9OwogCQlDRERFMDJFRDE4QjNFRDZEMDBDRjdGRjEgLyogQ0RN
U2Vzc2lvbkFWRm91bmRhdGlvbk9iakMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRERFMDJFQjE4QjNFRDZEMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFW
Rm91bmRhdGlvbk9iakMubW0gKi87IH07CiAJCUNEREUwMkYwMThCNTY1MTMwMENGN0ZGMSAvKiBD
RE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RERTAyRUYxOEI1NjUxMjAwQ0Y3RkYxIC8qIENETVNlc3Npb25B
VlN0cmVhbVNlc3Npb24ubW0gKi87IH07CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggYzE4OGVhNWE1NjJhNGViZDI4MGQwNmZmNWY1Y2YyNzk1Y2I0
NTVlNi4uOWZjN2JmMTcwN2JkNzM1MmVhMTRkODg2MTRhODdjMzQyZmMzNTVmYyAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTAyLTA0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAg
IFBsYXliYWNrIHN0YWxscyB3aGVuIGEgU291cmNlQnVmZmVyIGFwcGVuZCBjYXVzZXMgZnJhbWUg
ZXZpY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NzgzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBuZXcgY29ycmVjdG5lc3MgdGVzdHMgZm9yIHRoZSBXZWJjb3JlOjpTYW1wbGVNYXAgY2xh
c3MuIEFkZCBhZGRpdGlvbmFsIHN1YnRlc3RzCisgICAgICAgIGZvciB0aGUgV1RGOjpNZWRpYVRp
bWUgY2xhc3MuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9N
ZWRpYVRpbWUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1NhbXBsZU1hcC5jcHA6IEFkZGVkLgorICAgICAg
ICAoV1RGOjpvcGVyYXRvcjw8KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRlc3RTYW1wbGU6
OmNyZWF0ZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpUZXN0U2FtcGxlOjpUZXN0U2FtcGxl
KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1RfRik6CisKIDIwMTctMDEtMjYgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQXV0b3BsYXkgbXV0ZWQgdmlk
ZW9zIHN0b3AgcGxheWJhY2sgb2YgYW55IHN0cmVhbWluZyBhcHAgaW4gdGhlIGJhY2tncm91bmQK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTc0YmMzZWNkNTczZjU2OGViODk1Y2E5ZTBkNjE3
ZTQ1MzU4NTk2Yi4uOTMyNzczNzdhM2VmOTE1NGIyNDEzZmI2OTE2NzZiZTZkMjQ3MTBlMCAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUzMSw2ICs1MzEsNyBAQAogCQlDREM4RTQ5NTFCQzZG
MTA4MDA1OTRGRUMgLyogdmlkZW8td2l0aC1hdWRpby5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDOEU0OEExQkM1Qzk2MjAwNTk0RkVD
IC8qIHZpZGVvLXdpdGgtYXVkaW8ubXA0ICovOyB9OwogCQlDREM4RTQ5NjFCQzZGMTA4MDA1OTRG
RUMgLyogdmlkZW8td2l0aG91dC1hdWRpby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzhFNDhCMUJDNUM5NjIwMDU5NEZFQyAvKiB2
aWRlby13aXRob3V0LWF1ZGlvLmh0bWwgKi87IH07CiAJCUNEQzhFNDk3MUJDNkYxMDgwMDU5NEZF
QyAvKiB2aWRlby13aXRob3V0LWF1ZGlvLm1wNCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREM4RTQ4QzFCQzVDOTYyMDA1OTRGRUMgLyogdmlk
ZW8td2l0aG91dC1hdWRpby5tcDQgKi87IH07CisJCUNEQ0ZBN0FBMUU0NTE4MzIwMEMyNDMzRCAv
KiBTYW1wbGVNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0RDRkE3QTkxRTQ1MTIyRjAwQzI0MzNEIC8qIFNhbXBsZU1hcC5jcHAgKi87IH07CiAJ
CUNERTE5NUI1MUNGRTBCODgwMDUzRDI1NiAvKiBGdWxsc2NyZWVuVG9wQ29udGVudEluc2V0Lmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0RFMTk1QjIxQ0ZFMEFERTAwNTNEMjU2IC8qIEZ1bGxzY3JlZW5Ub3BDb250ZW50SW5zZXQuaHRt
bCAqLzsgfTsKIAkJQ0UwNkRGOUIxRTE4NTFGMjAwRTU3MEM5IC8qIFNlY3VyaXR5T3JpZ2luLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMDZERjlB
MUUxODUxRjIwMEU1NzBDOSAvKiBTZWN1cml0eU9yaWdpbi5jcHAgKi87IH07CiAJCUNFMTRGMUE0
MTgxODczQjAwMDFDMjcwNSAvKiBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENFMTRGMUEyMTgxODczQjAwMDFDMjcwNSAvKiBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9V
UkxDcmFzaC5odG1sICovOyB9OwpAQCAtMTMxOSw2ICsxMzIwLDcgQEAKIAkJQ0RDOEU0OEExQkM1
Qzk2MjAwNTk0RkVDIC8qIHZpZGVvLXdpdGgtYXVkaW8ubXA0ICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9ICJ2aWRlby13aXRoLWF1
ZGlvLm1wNCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQzhFNDhCMUJDNUM5NjIw
MDU5NEZFQyAvKiB2aWRlby13aXRob3V0LWF1ZGlvLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7
IHBhdGggPSAidmlkZW8td2l0aG91dC1hdWRpby5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0RDOEU0OEMxQkM1Qzk2MjAwNTk0RkVDIC8qIHZpZGVvLXdpdGhvdXQtYXVkaW8u
bXA0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmls
ZTsgcGF0aCA9ICJ2aWRlby13aXRob3V0LWF1ZGlvLm1wNCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNEQ0ZBN0E5MUU0NTEyMkYwMEMyNDMzRCAvKiBTYW1wbGVNYXAuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2FtcGxlTWFwLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFMTk1QjIxQ0ZFMEFERTAwNTNEMjU2IC8qIEZ1bGxzY3Jl
ZW5Ub3BDb250ZW50SW5zZXQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IEZ1bGxz
Y3JlZW5Ub3BDb250ZW50SW5zZXQuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Q0RFMTk1QjMxQ0ZFMEFERTAwNTNEMjU2IC8qIEZ1bGxzY3JlZW5Ub3BDb250ZW50SW5zZXQubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGdWxsc2NyZWVuVG9wQ29u
dGVudEluc2V0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTA2REY5QTFFMTg1
MUYyMDBFNTcwQzkgLyogU2VjdXJpdHlPcmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2VjdXJpdHlPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTYxMSw2ICsxNjEzLDcgQEAKIAkJCQk4M0I4OEEzMzFDODAwNTZEMDBCQjI0MTgg
LyogSFRNTFBhcnNlcklkaW9tcy5jcHAgKi8sCiAJCQkJMTQ0NjQwMTIxNjdBODMwNTAwMEJEMjE4
IC8qIExheW91dFVuaXQuY3BwICovLAogCQkJCUNEMjI1QzA3MUM0NUE2OTIwMDE0MDc2MSAvKiBQ
YXJzZWRDb250ZW50UmFuZ2UuY3BwICovLAorCQkJCUNEQ0ZBN0E5MUU0NTEyMkYwMEMyNDMzRCAv
KiBTYW1wbGVNYXAuY3BwICovLAogCQkJCUNFMDZERjlBMUUxODUxRjIwMEU1NzBDOSAvKiBTZWN1
cml0eU9yaWdpbi5jcHAgKi8sCiAJCQkJNDE5NzNCNUMxQUYyMjg3NTAwNkM3QjM2IC8qIFNoYXJl
ZEJ1ZmZlci5jcHAgKi8sCiAJCQkJQTE3OTkxODkxRTFDQTI0MTAwQTUwNUVEIC8qIFNoYXJlZEJ1
ZmZlclRlc3QuY3BwICovLApAQCAtMjczNCw2ICsyNzM3LDcgQEAKIAkJCQk3Q0NFN0YxOTFBNDEx
QUU2MDA0NDdDNEMgLyogV2ViQXJjaGl2ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDRDRjhC
RDFEODM2MENDMDAwMUNFOEQgLyogV0tUaHVtYm5haWxWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0M4M0UwNEMxRDBBNjQxODAwRkVCQ0YzIC8qIFdlYkNvcmVOU1VSTFNlc3Npb24ubW0gaW4g
U291cmNlcyAqLywKKwkJCQlDRENGQTdBQTFFNDUxODMyMDBDMjQzM0QgLyogU2FtcGxlTWFwLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjFBMUE0MTFBRTYwMDQ0N0M0QyAvKiBXZWJDb3Jl
U3RhdGlzdGljc1dpdGhOb1dlYlByb2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdF
QUIxQTQxMUEyNDAwNDQ3QzRDIC8qIFdlYktpdEFnbm9zdGljVGVzdC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTUxNzE0RUI4MUNGOENBMTcwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFu
dXAubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL01lZGlhVGltZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZWRp
YVRpbWUuY3BwCmluZGV4IGI3ZDFjNmU2ZGQzNDk0MWRkZmFkZTg4MjE0ZGI4ZWI3NGE1NDA3NTgu
LmFjOGJiMWMzYTBkM2ZhMDQxOWIzYWU0ZTU0MGU5ZWE5NWJlMmNhMzkgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01lZGlhVGltZS5jcHAKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvTWVkaWFUaW1lLmNwcApAQCAtODUsNiArODUsOCBAQCBURVNU
KFdURiwgTWVkaWFUaW1lKQogICAgIEVYUEVDVF9FUShNZWRpYVRpbWUoMSwgMSkgIT0gTWVkaWFU
aW1lKDIsIDEpLCB0cnVlKTsKICAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDIsIDEpID09IE1lZGlh
VGltZSgyLCAxKSwgdHJ1ZSk7CiAgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgyLCAxKSA9PSBNZWRp
YVRpbWUoNCwgMiksIHRydWUpOworICAgIEVYUEVDVF9UUlVFKChib29sKU1lZGlhVGltZSgxLCAx
KSk7CisgICAgRVhQRUNUX1RSVUUoIU1lZGlhVGltZSgwLCAxKSk7CiAKICAgICAvLyBBZGRpdGlv
biBPcGVyYXRvcnMKICAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGlt
ZSgpICsgTWVkaWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGltZSgpLCBNZWRpYVRpbWU6OnBvc2l0
aXZlSW5maW5pdGVUaW1lKCkpOwpAQCAtMTU4LDggKzE2MCw2IEBAIFRFU1QoV1RGLCBNZWRpYVRp
bWUpCiAgICAgRVhQRUNUX0VRKGFicyhNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpLCBNZWRpYVRp
bWU6OmludmFsaWRUaW1lKCkpOwogICAgIEVYUEVDVF9FUShhYnMoTWVkaWFUaW1lKDEsIDEpKSwg
TWVkaWFUaW1lKDEsIDEpKTsKICAgICBFWFBFQ1RfRVEoYWJzKE1lZGlhVGltZSgtMSwgMSkpLCBN
ZWRpYVRpbWUoMSwgMSkpOwotICAgIEVYUEVDVF9FUShhYnMoTWVkaWFUaW1lKC0xLCAtMSkpLCBN
ZWRpYVRpbWUoLTEsIC0xKSk7Ci0gICAgRVhQRUNUX0VRKGFicyhNZWRpYVRpbWUoMSwgLTEpKSwg
TWVkaWFUaW1lKC0xLCAtMSkpOwogCiAgICAgLy8gRmxvYXRpbmcgUG9pbnQgRnVuY3Rpb25zCiAg
ICAgRVhQRUNUX0VRKE1lZGlhVGltZTo6Y3JlYXRlV2l0aEZsb2F0KDEuMGYpLCBNZWRpYVRpbWUo
MSwgMSkpOwpAQCAtMjAwLDE0ICsyMDAsMTQgQEAgVEVTVChXVEYsIE1lZGlhVGltZSkKICAgICAv
LyBPdmVyZmxvdyBCZWhhdmlvcgogICAgIEVYUEVDVF9FUShNZWRpYVRpbWU6OmNyZWF0ZVdpdGhG
bG9hdChwb3coMi4wZiwgNjQuMGYpKSwgTWVkaWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGltZSgp
KTsKICAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lOjpjcmVhdGVXaXRoRmxvYXQoLXBvdygyLjBmLCA2
NC4wZikpLCBNZWRpYVRpbWU6Om5lZ2F0aXZlSW5maW5pdGVUaW1lKCkpOwotICAgIEVYUEVDVF9F
UShNZWRpYVRpbWU6OmNyZWF0ZVdpdGhGbG9hdChwb3coMi4wZiwgNjMuMGYpLCAyKS50aW1lU2Nh
bGUoKSwgMSk7Ci0gICAgRVhQRUNUX0VRKE1lZGlhVGltZTo6Y3JlYXRlV2l0aEZsb2F0KHBvdygy
LjBmLCA2My4wZiksIDMpLnRpbWVTY2FsZSgpLCAxKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1l
OjpjcmVhdGVXaXRoRmxvYXQocG93KDIuMGYsIDYzLjBmKSwgMikudGltZVNjYWxlKCksIDFVKTsK
KyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lOjpjcmVhdGVXaXRoRmxvYXQocG93KDIuMGYsIDYzLjBm
KSwgMykudGltZVNjYWxlKCksIDFVKTsKICAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lOjpjcmVhdGVX
aXRoRG91YmxlKHBvdygyLjAsIDY0LjApKSwgTWVkaWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGlt
ZSgpKTsKICAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKC1wb3coMi4w
LCA2NC4wKSksIE1lZGlhVGltZTo6bmVnYXRpdmVJbmZpbml0ZVRpbWUoKSk7Ci0gICAgRVhQRUNU
X0VRKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3coMi4wLCA2My4wKSwgMikudGltZVNj
YWxlKCksIDEpOwotICAgIEVYUEVDVF9FUShNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG93
KDIuMCwgNjMuMCksIDMpLnRpbWVTY2FsZSgpLCAxKTsKLSAgICBFWFBFQ1RfRVEoKE1lZGlhVGlt
ZShudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWF4KCksIDIpICsgTWVkaWFUaW1lKG51bWVyaWNf
bGltaXRzPGludDY0X3Q+OjptYXgoKSwgMikpLnRpbWVTY2FsZSgpLCAxKTsKLSAgICBFWFBFQ1Rf
RVEoKE1lZGlhVGltZShudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWluKCksIDIpIC0gTWVkaWFU
aW1lKG51bWVyaWNfbGltaXRzPGludDY0X3Q+OjptYXgoKSwgMikpLnRpbWVTY2FsZSgpLCAxKTsK
KyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKHBvdygyLjAsIDYzLjAp
LCAyKS50aW1lU2NhbGUoKSwgMVUpOworICAgIEVYUEVDVF9FUShNZWRpYVRpbWU6OmNyZWF0ZVdp
dGhEb3VibGUocG93KDIuMCwgNjMuMCksIDMpLnRpbWVTY2FsZSgpLCAxVSk7CisgICAgRVhQRUNU
X0VRKChNZWRpYVRpbWUobnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgpLCAyKSArIE1lZGlh
VGltZShudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWF4KCksIDIpKS50aW1lU2NhbGUoKSwgMVUp
OworICAgIEVYUEVDVF9FUSgoTWVkaWFUaW1lKG51bWVyaWNfbGltaXRzPGludDY0X3Q+OjptaW4o
KSwgMikgLSBNZWRpYVRpbWUobnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgpLCAyKSkudGlt
ZVNjYWxlKCksIDFVKTsKICAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKG51bWVyaWNfbGltaXRzPGlu
dDY0X3Q+OjptYXgoKSwgMSkgKyBNZWRpYVRpbWUobnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1h
eCgpLCAxKSwgTWVkaWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGltZSgpKTsKICAgICBFWFBFQ1Rf
RVEoTWVkaWFUaW1lKG51bWVyaWNfbGltaXRzPGludDY0X3Q+OjptaW4oKSwgMSkgKyBNZWRpYVRp
bWUobnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1pbigpLCAxKSwgTWVkaWFUaW1lOjpuZWdhdGl2
ZUluZmluaXRlVGltZSgpKTsKICAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKG51bWVyaWNfbGltaXRz
PGludDY0X3Q+OjptaW4oKSwgMSkgLSBNZWRpYVRpbWUobnVtZXJpY19saW1pdHM8aW50NjRfdD46
Om1heCgpLCAxKSwgTWVkaWFUaW1lOjpuZWdhdGl2ZUluZmluaXRlVGltZSgpKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9TYW1wbGVNYXAuY3BwIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1NhbXBsZU1hcC5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjMzN2UyOTgzNzFkNDRkZDk0N2EwNDI2MjgxZWU4OWJhZTg1ZDhlMwotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9TYW1wbGVNYXAuY3BwCkBAIC0w
LDAgKzEsMjI1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIlRlc3QuaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L01lZGlhU2FtcGxlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TYW1wbGVNYXAuaD4KKworbmFtZXNw
YWNlIFdURiB7CitpbmxpbmUgc3RkOjpvc3RyZWFtJiBvcGVyYXRvcjw8KHN0ZDo6b3N0cmVhbSYg
b3MsIGNvbnN0IE1lZGlhVGltZSYgdGltZSkKK3sKKyAgICBpZiAodGltZS5oYXNEb3VibGVWYWx1
ZSgpKQorICAgICAgICBvcyA8PCAieyAiIDw8IHRpbWUudG9Eb3VibGUoKSA8PCAiIH0iOworICAg
IGVsc2UKKyAgICAgICAgb3MgPDwgInsgIiA8PCB0aW1lLnRpbWVWYWx1ZSgpIDw8ICIgLyAiIDw8
IHRpbWUudGltZVNjYWxlKCkgPDwgIiwgIiA8PCB0aW1lLnRvRG91YmxlKCkgPDwgIiB9IjsKKyAg
ICByZXR1cm4gb3M7Cit9Cit9CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSSB7CisKK2NsYXNzIFRlc3RTYW1wbGUgOiBwdWJsaWMgTWVkaWFTYW1w
bGUgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8VGVzdFNhbXBsZT4gY3JlYXRlKGNvbnN0IE1l
ZGlhVGltZSYgcHJlc2VudGF0aW9uVGltZSwgY29uc3QgTWVkaWFUaW1lJiBkZWNvZGVUaW1lLCBj
b25zdCBNZWRpYVRpbWUmIGR1cmF0aW9uLCBTYW1wbGVGbGFncyBmbGFncykgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBUZXN0U2FtcGxlKHByZXNlbnRhdGlvblRpbWUsIGRlY29kZVRp
bWUsIGR1cmF0aW9uLCBmbGFncykpOworICAgIH0KKyAgICAKKyAgICBNZWRpYVRpbWUgcHJlc2Vu
dGF0aW9uVGltZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJlc2VudGF0aW9uVGltZTsgfQor
ICAgIE1lZGlhVGltZSBkZWNvZGVUaW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9kZWNvZGVU
aW1lOyB9CisgICAgTWVkaWFUaW1lIGR1cmF0aW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9k
dXJhdGlvbjsgfQorICAgIEF0b21pY1N0cmluZyB0cmFja0lEKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gbV90cmFja0lEOyB9CisgICAgdm9pZCBzZXRUcmFja0lEKGNvbnN0IFN0cmluZyYgdHJhY2tJ
RCkgZmluYWwgeyBtX3RyYWNrSUQgPSB0cmFja0lEOyB9CisgICAgc2l6ZV90IHNpemVJbkJ5dGVz
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zaXplSW5CeXRlczsgfQorICAgIEZsb2F0U2l6ZSBw
cmVzZW50YXRpb25TaXplKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcmVzZW50YXRpb25TaXpl
OyB9CisgICAgdm9pZCBvZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1lJiBvZmZzZXQp
IGZpbmFsIHsgbV9wcmVzZW50YXRpb25UaW1lICs9IG9mZnNldDsgbV9kZWNvZGVUaW1lICs9IG9m
ZnNldDsgfQorICAgIHZvaWQgc2V0VGltZXN0YW1wcyhjb25zdCBNZWRpYVRpbWUmIHByZXNlbnRh
dGlvblRpbWUsIGNvbnN0IE1lZGlhVGltZSYgZGVjb2RlVGltZSkgZmluYWwKKyAgICB7CisgICAg
ICAgIG1fcHJlc2VudGF0aW9uVGltZSA9IHByZXNlbnRhdGlvblRpbWU7CisgICAgICAgIG1fZGVj
b2RlVGltZSA9IGRlY29kZVRpbWU7CisgICAgfTsKKyAgICBib29sIGlzRGl2aXNhYmxlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2Ft
cGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4gZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYgcHJlc2Vu
dGF0aW9uVGltZSkgZmluYWwgeyByZXR1cm4ge307IH0KKyAgICBSZWY8TWVkaWFTYW1wbGU+IGNy
ZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3QgZmluYWwgeworICAgICAgICByZXR1cm4gY3Jl
YXRlKG1fcHJlc2VudGF0aW9uVGltZSwgbV9kZWNvZGVUaW1lLCBtX2R1cmF0aW9uLCBzdGF0aWNf
Y2FzdDxTYW1wbGVGbGFncz4obV9mbGFncyB8IElzTm9uRGlzcGxheWluZykpOworICAgIH0KKyAg
ICBTYW1wbGVGbGFncyBmbGFncygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZmxhZ3M7IH0KKyAg
ICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSgpIGZpbmFsIHsgcmV0dXJuIHsgUGxhdGZv
cm1TYW1wbGU6Ok5vbmUsIHtudWxscHRyfX07IH0KKyAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0m
KSBjb25zdCBmaW5hbCB7IH0KKworcHJpdmF0ZToKKyAgICBUZXN0U2FtcGxlKGNvbnN0IE1lZGlh
VGltZSYgcHJlc2VudGF0aW9uVGltZSwgY29uc3QgTWVkaWFUaW1lJiBkZWNvZGVUaW1lLCBjb25z
dCBNZWRpYVRpbWUmIGR1cmF0aW9uLCBTYW1wbGVGbGFncyBmbGFncykKKyAgICAgICAgOiBtX3By
ZXNlbnRhdGlvblRpbWUocHJlc2VudGF0aW9uVGltZSkKKyAgICAgICAgLCBtX2RlY29kZVRpbWUo
ZGVjb2RlVGltZSkKKyAgICAgICAgLCBtX2R1cmF0aW9uKGR1cmF0aW9uKQorICAgICAgICAsIG1f
ZmxhZ3MoZmxhZ3MpCisgICAgeworICAgIH0KKworICAgIE1lZGlhVGltZSBtX3ByZXNlbnRhdGlv
blRpbWU7CisgICAgTWVkaWFUaW1lIG1fZGVjb2RlVGltZTsKKyAgICBNZWRpYVRpbWUgbV9kdXJh
dGlvbjsKKyAgICBGbG9hdFNpemUgbV9wcmVzZW50YXRpb25TaXplOworICAgIEF0b21pY1N0cmlu
ZyBtX3RyYWNrSUQ7CisgICAgc2l6ZV90IG1fc2l6ZUluQnl0ZXMgeyAwIH07CisgICAgU2FtcGxl
RmxhZ3MgbV9mbGFncyB7IE5vbmUgfTsKK307CisKK2NsYXNzIFNhbXBsZU1hcFRlc3QgOiBwdWJs
aWMgdGVzdGluZzo6VGVzdCB7CitwdWJsaWM6CisgICAgdm9pZCBTZXRVcCgpIGZpbmFsCisgICAg
eworICAgICAgICBtYXAuYWRkU2FtcGxlKFRlc3RTYW1wbGU6OmNyZWF0ZShNZWRpYVRpbWUoMCwg
MSksIE1lZGlhVGltZSgwLCAxKSwgTWVkaWFUaW1lKDEsIDEpLCBNZWRpYVNhbXBsZTo6SXNTeW5j
KSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlhVGltZSgx
LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpOb25l
KSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlhVGltZSgy
LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpOb25l
KSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlhVGltZSgz
LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpOb25l
KSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlhVGltZSg0
LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpOb25l
KSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlhVGltZSg1
LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpJc1N5
bmMpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFUaW1l
KDYsIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVkaWFTYW1wbGU6Ok5v
bmUpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFUaW1l
KDcsIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVkaWFTYW1wbGU6Ok5v
bmUpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFUaW1l
KDgsIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVkaWFTYW1wbGU6Ok5v
bmUpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFUaW1l
KDksIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVkaWFTYW1wbGU6Ok5v
bmUpKTsKKyAgICAgICAgLy8gR2FwIGF0IE1lZGlhVGltZSgxMCwgMSkgLT4gTWVkaWFUaW1lKDEx
LCAxKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFUaW1l
KDExLCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpJ
c1N5bmMpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFU
aW1lKDEyLCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxl
OjpOb25lKSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlh
VGltZSgxMywgMSksIE1lZGlhVGltZSgwLCAxKSwgTWVkaWFUaW1lKDEsIDEpLCBNZWRpYVNhbXBs
ZTo6Tm9uZSkpOworICAgICAgICBtYXAuYWRkU2FtcGxlKFRlc3RTYW1wbGU6OmNyZWF0ZShNZWRp
YVRpbWUoMTQsIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVkaWFTYW1w
bGU6Ok5vbmUpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVk
aWFUaW1lKDE1LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2Ft
cGxlOjpJc1N5bmMpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUo
TWVkaWFUaW1lKDE2LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlh
U2FtcGxlOjpOb25lKSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRl
KE1lZGlhVGltZSgxNywgMSksIE1lZGlhVGltZSgwLCAxKSwgTWVkaWFUaW1lKDEsIDEpLCBNZWRp
YVNhbXBsZTo6Tm9uZSkpOworICAgICAgICBtYXAuYWRkU2FtcGxlKFRlc3RTYW1wbGU6OmNyZWF0
ZShNZWRpYVRpbWUoMTgsIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVk
aWFTYW1wbGU6Ok5vbmUpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVh
dGUoTWVkaWFUaW1lKDE5LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1l
ZGlhU2FtcGxlOjpOb25lKSk7CisgICAgfQorCisgICAgU2FtcGxlTWFwIG1hcDsKK307CisKK1RF
U1RfRihTYW1wbGVNYXBUZXN0LCBmaW5kU2FtcGxlV2l0aFByZXNlbnRhdGlvblRpbWUpCit7Cisg
ICAgYXV0byYgcHJlc2VudGF0aW9uTWFwID0gbWFwLnByZXNlbnRhdGlvbk9yZGVyKCk7CisgICAg
RVhQRUNUX0VRKE1lZGlhVGltZSgwLCAxKSwgcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVXaXRo
UHJlc2VudGF0aW9uVGltZShNZWRpYVRpbWUoMCwgMSkpLT5zZWNvbmQtPnByZXNlbnRhdGlvblRp
bWUoKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxOSwgMSksIHByZXNlbnRhdGlvbk1hcC5m
aW5kU2FtcGxlV2l0aFByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1lKDE5LCAxKSktPnNlY29uZC0+
cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfVFJVRShwcmVzZW50YXRpb25NYXAuZW5k
KCkgPT0gcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVXaXRoUHJlc2VudGF0aW9uVGltZShNZWRp
YVRpbWUoLTEsIDEpKSk7CisgICAgRVhQRUNUX1RSVUUocHJlc2VudGF0aW9uTWFwLmVuZCgpID09
IHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlV2l0aFByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1l
KDEwLCAxKSkpOworICAgIEVYUEVDVF9UUlVFKHByZXNlbnRhdGlvbk1hcC5lbmQoKSA9PSBwcmVz
ZW50YXRpb25NYXAuZmluZFNhbXBsZVdpdGhQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgyMCwg
MSkpKTsKKyAgICBFWFBFQ1RfVFJVRShwcmVzZW50YXRpb25NYXAuZW5kKCkgPT0gcHJlc2VudGF0
aW9uTWFwLmZpbmRTYW1wbGVXaXRoUHJlc2VudGF0aW9uVGltZShNZWRpYVRpbWUoMSwgMikpKTsK
K30KKworVEVTVF9GKFNhbXBsZU1hcFRlc3QsIGZpbmRTYW1wbGVDb250YWluaW5nUHJlc2VudGF0
aW9uVGltZSkKK3sKKyAgICBhdXRvJiBwcmVzZW50YXRpb25NYXAgPSBtYXAucHJlc2VudGF0aW9u
T3JkZXIoKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDAsIDEpLCBwcmVzZW50YXRpb25NYXAu
ZmluZFNhbXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgwLCAxKSktPnNl
Y29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDE5LCAx
KSwgcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVDb250YWluaW5nUHJlc2VudGF0aW9uVGltZShN
ZWRpYVRpbWUoMTksIDEpKS0+c2Vjb25kLT5wcmVzZW50YXRpb25UaW1lKCkpOworICAgIEVYUEVD
VF9FUShNZWRpYVRpbWUoMCwgMSksIHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlQ29udGFpbmlu
Z1ByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1lKDEsIDIpKS0+c2Vjb25kLT5wcmVzZW50YXRpb25U
aW1lKCkpOworICAgIEVYUEVDVF9UUlVFKHByZXNlbnRhdGlvbk1hcC5lbmQoKSA9PSBwcmVzZW50
YXRpb25NYXAuZmluZFNhbXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgt
MSwgMSkpKTsKKyAgICBFWFBFQ1RfVFJVRShwcmVzZW50YXRpb25NYXAuZW5kKCkgPT0gcHJlc2Vu
dGF0aW9uTWFwLmZpbmRTYW1wbGVDb250YWluaW5nUHJlc2VudGF0aW9uVGltZShNZWRpYVRpbWUo
MTAsIDEpKSk7CisgICAgRVhQRUNUX1RSVUUocHJlc2VudGF0aW9uTWFwLmVuZCgpID09IHByZXNl
bnRhdGlvbk1hcC5maW5kU2FtcGxlQ29udGFpbmluZ1ByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1l
KDIwLCAxKSkpOworfQorCitURVNUX0YoU2FtcGxlTWFwVGVzdCwgZmluZFNhbXBsZVN0YXJ0aW5n
T25PckFmdGVyUHJlc2VudGF0aW9uVGltZSkKK3sKKyAgICBhdXRvJiBwcmVzZW50YXRpb25NYXAg
PSBtYXAucHJlc2VudGF0aW9uT3JkZXIoKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDAsIDEp
LCBwcmVzZW50YXRpb25NYXAuZmluZFNhbXBsZVN0YXJ0aW5nT25PckFmdGVyUHJlc2VudGF0aW9u
VGltZShNZWRpYVRpbWUoMCwgMSkpLT5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKSk7CisgICAg
RVhQRUNUX0VRKE1lZGlhVGltZSgxOSwgMSksIHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlU3Rh
cnRpbmdPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgxOSwgMSkpLT5zZWNvbmQt
PnByZXNlbnRhdGlvblRpbWUoKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxLCAxKSwgcHJl
c2VudGF0aW9uTWFwLmZpbmRTYW1wbGVTdGFydGluZ09uT3JBZnRlclByZXNlbnRhdGlvblRpbWUo
TWVkaWFUaW1lKDEsIDIpKS0+c2Vjb25kLT5wcmVzZW50YXRpb25UaW1lKCkpOworICAgIEVYUEVD
VF9FUShNZWRpYVRpbWUoMCwgMSksIHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlU3RhcnRpbmdP
bk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgtMSwgMSkpLT5zZWNvbmQtPnByZXNl
bnRhdGlvblRpbWUoKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxMSwgMSksIHByZXNlbnRh
dGlvbk1hcC5maW5kU2FtcGxlU3RhcnRpbmdPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKE1lZGlh
VGltZSgxMCwgMSkpLT5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKSk7CisgICAgRVhQRUNUX1RS
VUUocHJlc2VudGF0aW9uTWFwLmVuZCgpID09IHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlQ29u
dGFpbmluZ1ByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1lKDIwLCAxKSkpOworfQorCitURVNUX0Yo
U2FtcGxlTWFwVGVzdCwgZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0aW9uVGltZXMpCit7Cisg
ICAgYXV0byYgcHJlc2VudGF0aW9uTWFwID0gbWFwLnByZXNlbnRhdGlvbk9yZGVyKCk7CisgICAg
YXV0byBpdGVyYXRvcl9yYW5nZSA9IHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlc0JldHdlZW5Q
cmVzZW50YXRpb25UaW1lcyhNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSk7CisgICAg
RVhQRUNUX0VRKE1lZGlhVGltZSgwLCAxKSwgaXRlcmF0b3JfcmFuZ2UuZmlyc3QtPnNlY29uZC0+
cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDEsIDEpLCBpdGVy
YXRvcl9yYW5nZS5zZWNvbmQtPnNlY29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsKKworICAgIGl0
ZXJhdG9yX3JhbmdlID0gcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVzQmV0d2VlblByZXNlbnRh
dGlvblRpbWVzKE1lZGlhVGltZSgxLCAyKSwgTWVkaWFUaW1lKDMsIDIpKTsKKyAgICBFWFBFQ1Rf
RVEoTWVkaWFUaW1lKDEsIDEpLCBpdGVyYXRvcl9yYW5nZS5maXJzdC0+c2Vjb25kLT5wcmVzZW50
YXRpb25UaW1lKCkpOworICAgIEVYUEVDVF9FUShNZWRpYVRpbWUoMiwgMSksIGl0ZXJhdG9yX3Jh
bmdlLnNlY29uZC0+c2Vjb25kLT5wcmVzZW50YXRpb25UaW1lKCkpOworCisgICAgaXRlcmF0b3Jf
cmFuZ2UgPSBwcmVzZW50YXRpb25NYXAuZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0aW9uVGlt
ZXMoTWVkaWFUaW1lKDksIDEpLCBNZWRpYVRpbWUoMjEsIDEpKTsKKyAgICBFWFBFQ1RfRVEoTWVk
aWFUaW1lKDksIDEpLCBpdGVyYXRvcl9yYW5nZS5maXJzdC0+c2Vjb25kLT5wcmVzZW50YXRpb25U
aW1lKCkpOworICAgIEVYUEVDVF9UUlVFKHByZXNlbnRhdGlvbk1hcC5lbmQoKSA9PSBpdGVyYXRv
cl9yYW5nZS5zZWNvbmQpOworCisgICAgaXRlcmF0b3JfcmFuZ2UgPSBwcmVzZW50YXRpb25NYXAu
ZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0aW9uVGltZXMoTWVkaWFUaW1lKC0xLCAxKSwgTWVk
aWFUaW1lKDAsIDEpKTsKKyAgICBFWFBFQ1RfVFJVRShwcmVzZW50YXRpb25NYXAuZW5kKCkgPT0g
aXRlcmF0b3JfcmFuZ2UuZmlyc3QpOworICAgIEVYUEVDVF9UUlVFKHByZXNlbnRhdGlvbk1hcC5l
bmQoKSA9PSBpdGVyYXRvcl9yYW5nZS5zZWNvbmQpOworCisgICAgaXRlcmF0b3JfcmFuZ2UgPSBw
cmVzZW50YXRpb25NYXAuZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0aW9uVGltZXMoTWVkaWFU
aW1lKDE5LCAyKSwgTWVkaWFUaW1lKDEwLCAxKSk7CisgICAgRVhQRUNUX1RSVUUocHJlc2VudGF0
aW9uTWFwLmVuZCgpID09IGl0ZXJhdG9yX3JhbmdlLmZpcnN0KTsKKyAgICBFWFBFQ1RfVFJVRShw
cmVzZW50YXRpb25NYXAuZW5kKCkgPT0gaXRlcmF0b3JfcmFuZ2Uuc2Vjb25kKTsKKworICAgIGl0
ZXJhdG9yX3JhbmdlID0gcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVzQmV0d2VlblByZXNlbnRh
dGlvblRpbWVzKE1lZGlhVGltZSgyMCwgMSksIE1lZGlhVGltZSgyMSwgMSkpOworICAgIEVYUEVD
VF9UUlVFKHByZXNlbnRhdGlvbk1hcC5lbmQoKSA9PSBpdGVyYXRvcl9yYW5nZS5maXJzdCk7Cisg
ICAgRVhQRUNUX1RSVUUocHJlc2VudGF0aW9uTWFwLmVuZCgpID09IGl0ZXJhdG9yX3JhbmdlLnNl
Y29uZCk7Cit9CisKK1RFU1RfRihTYW1wbGVNYXBUZXN0LCBmaW5kU2FtcGxlc1dpdGhpblByZXNl
bnRhdGlvblJhbmdlKQoreworICAgIGF1dG8mIHByZXNlbnRhdGlvbk1hcCA9IG1hcC5wcmVzZW50
YXRpb25PcmRlcigpOworICAgIGF1dG8gaXRlcmF0b3JfcmFuZ2UgPSBwcmVzZW50YXRpb25NYXAu
ZmluZFNhbXBsZXNXaXRoaW5QcmVzZW50YXRpb25SYW5nZShNZWRpYVRpbWUoMCwgMSksIE1lZGlh
VGltZSgxLCAxKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxLCAxKSwgaXRlcmF0b3JfcmFu
Z2UuZmlyc3QtPnNlY29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfRVEoTWVk
aWFUaW1lKDIsIDEpLCBpdGVyYXRvcl9yYW5nZS5zZWNvbmQtPnNlY29uZC0+cHJlc2VudGF0aW9u
VGltZSgpKTsKKworICAgIGl0ZXJhdG9yX3JhbmdlID0gcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1w
bGVzV2l0aGluUHJlc2VudGF0aW9uUmFuZ2UoTWVkaWFUaW1lKDEsIDIpLCBNZWRpYVRpbWUoMywg
MikpOworICAgIEVYUEVDVF9FUShNZWRpYVRpbWUoMSwgMSksIGl0ZXJhdG9yX3JhbmdlLmZpcnN0
LT5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgy
LCAxKSwgaXRlcmF0b3JfcmFuZ2Uuc2Vjb25kLT5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKSk7
CisKKyAgICBpdGVyYXRvcl9yYW5nZSA9IHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlc1dpdGhp
blByZXNlbnRhdGlvblJhbmdlKE1lZGlhVGltZSg5LCAxKSwgTWVkaWFUaW1lKDIxLCAxKSk7Cisg
ICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxMSwgMSksIGl0ZXJhdG9yX3JhbmdlLmZpcnN0LT5zZWNv
bmQtPnByZXNlbnRhdGlvblRpbWUoKSk7CisgICAgRVhQRUNUX1RSVUUocHJlc2VudGF0aW9uTWFw
LmVuZCgpID09IGl0ZXJhdG9yX3JhbmdlLnNlY29uZCk7CisKKyAgICBpdGVyYXRvcl9yYW5nZSA9
IHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlc1dpdGhpblByZXNlbnRhdGlvblJhbmdlKE1lZGlh
VGltZSgtMSwgMSksIE1lZGlhVGltZSgwLCAxKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgw
LCAxKSwgaXRlcmF0b3JfcmFuZ2UuZmlyc3QtPnNlY29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsK
KyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDEsIDEpLCBpdGVyYXRvcl9yYW5nZS5zZWNvbmQtPnNl
Y29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsKKworICAgIGl0ZXJhdG9yX3JhbmdlID0gcHJlc2Vu
dGF0aW9uTWFwLmZpbmRTYW1wbGVzV2l0aGluUHJlc2VudGF0aW9uUmFuZ2UoTWVkaWFUaW1lKDEw
LCAxKSwgTWVkaWFUaW1lKDIxLCAyKSk7CisgICAgRVhQRUNUX1RSVUUocHJlc2VudGF0aW9uTWFw
LmVuZCgpID09IGl0ZXJhdG9yX3JhbmdlLmZpcnN0KTsKKyAgICBFWFBFQ1RfVFJVRShwcmVzZW50
YXRpb25NYXAuZW5kKCkgPT0gaXRlcmF0b3JfcmFuZ2Uuc2Vjb25kKTsKKworICAgIGl0ZXJhdG9y
X3JhbmdlID0gcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVzV2l0aGluUHJlc2VudGF0aW9uUmFu
Z2UoTWVkaWFUaW1lKDIwLCAxKSwgTWVkaWFUaW1lKDIxLCAxKSk7CisgICAgRVhQRUNUX1RSVUUo
cHJlc2VudGF0aW9uTWFwLmVuZCgpID09IGl0ZXJhdG9yX3JhbmdlLmZpcnN0KTsKKyAgICBFWFBF
Q1RfVFJVRShwcmVzZW50YXRpb25NYXAuZW5kKCkgPT0gaXRlcmF0b3JfcmFuZ2Uuc2Vjb25kKTsK
K30KKworVEVTVF9GKFNhbXBsZU1hcFRlc3QsIHJldmVyc2VGaW5kU2FtcGxlQmVmb3JlUHJlc2Vu
dGF0aW9uVGltZSkKK3sKKyAgICBhdXRvJiBwcmVzZW50YXRpb25NYXAgPSBtYXAucHJlc2VudGF0
aW9uT3JkZXIoKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDAsIDEpLCBwcmVzZW50YXRpb25N
YXAucmV2ZXJzZUZpbmRTYW1wbGVCZWZvcmVQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgwLCAx
KSktPnNlY29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1l
KDksIDEpLCBwcmVzZW50YXRpb25NYXAucmV2ZXJzZUZpbmRTYW1wbGVCZWZvcmVQcmVzZW50YXRp
b25UaW1lKE1lZGlhVGltZSgxMCwgMSkpLT5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKSk7Cisg
ICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxOSwgMSksIHByZXNlbnRhdGlvbk1hcC5yZXZlcnNlRmlu
ZFNhbXBsZUJlZm9yZVByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1lKDE5LCAxKSktPnNlY29uZC0+
cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDE5LCAxKSwgcHJl
c2VudGF0aW9uTWFwLnJldmVyc2VGaW5kU2FtcGxlQmVmb3JlUHJlc2VudGF0aW9uVGltZShNZWRp
YVRpbWUoMjEsIDEpKS0+c2Vjb25kLT5wcmVzZW50YXRpb25UaW1lKCkpOworICAgIEVYUEVDVF9U
UlVFKHByZXNlbnRhdGlvbk1hcC5yZW5kKCkgPT0gcHJlc2VudGF0aW9uTWFwLnJldmVyc2VGaW5k
U2FtcGxlQmVmb3JlUHJlc2VudGF0aW9uVGltZShNZWRpYVRpbWUoLTEsIDEpKSk7Cit9CisKK30K
KworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5j
ZVRlc3RzL0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJmZTMz
OGQ5OWVlZTdmZjFlZmI4NTg5NGJhODhiZTRiMjljMWY0MjcuLjdmMTUxOGFkYmE4YjgxNTNhYjcy
YTcwY2JiZjA0ZjYyZTMyM2Y2NjkgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdl
TG9nCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIw
MTctMDItMDQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUGxh
eWJhY2sgc3RhbGxzIHdoZW4gYSBTb3VyY2VCdWZmZXIgYXBwZW5kIGNhdXNlcyBmcmFtZSBldmlj
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3
ODM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGFuIGluLXBhZ2UgcGVyZm9ybWFuY2UgdGVzdCBtZWFzdXJpbmcgdGhlIGFtb3VudCBvZiB0aW1l
IHJlcXVpcmVkCisgICAgICAgIHRvIGFwcGVuZCBhIGxhcmdlIGFtb3VudCBvZiBtZWRpYSBkYXRh
IHRvIGEgU291cmNlQnVmZmVyLCBhbmQgdGhlbiB0bworICAgICAgICBjb21wbGV0ZWx5IHJlbW92
ZSB0aGF0IGRhdGEgMzBzIGF0IGEgdGltZS4KKworICAgICAgICBBZGQgYSBtaWNyb2JlbmNobWFy
ayBmb3IgTWVkaWFUaW1lIHdoaWNoIG1lYXN1cmVzIHRoZSBhbW91bnQgb2YgdGltZQorICAgICAg
ICByZXF1aXJlZCB0byBjcmVhdGUgYSAxTSBlbnRyeSBzdGQ6Om1hcCBhbmQgdHJhdmVyc2UgdGhl
IG1hcCAxTSB0aW1lcy4KKworICAgICAgICAqIE1lZGlhL01TRVJlbW92ZUNvZGVkRnJhbWVzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIE1lZGlhL21lZGlhLXNvdXJjZS1sb2FkZXIuanM6CisgICAg
ICAgIChNZWRpYVNvdXJjZUxvYWRlci5wcm90b3R5cGUuZ2V0IGR1cmF0aW9uKToKKyAgICAgICAg
KiBNZWRpYVRpbWUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzogQWRkZWQuCisgICAgICAg
ICogTWVkaWFUaW1lL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZzogQWRkZWQu
CisgICAgICAgICogTWVkaWFUaW1lL01ha2VmaWxlOiBBZGRlZC4KKyAgICAgICAgKiBNZWRpYVRp
bWUvTWVkaWFUaW1lLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkLgorICAgICAgICAq
IE1lZGlhVGltZS9tYWluLmNwcDogQWRkZWQuCisgICAgICAgIChwZXJmb3JtVGVzdCk6CisgICAg
ICAgICh0ZXN0KToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFNraXBwZWQ6CisKIDIwMTct
MDEtMTYgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgZnJh
bWVyYXRlIGJhc2VsaW5lcyB0byB0aGUgc3BsYXktZGV0YWlsIHRlc3QKZGlmZiAtLWdpdCBhL1Bl
cmZvcm1hbmNlVGVzdHMvTWVkaWEvTVNFUmVtb3ZlQ29kZWRGcmFtZXMuaHRtbCBiL1BlcmZvcm1h
bmNlVGVzdHMvTWVkaWEvTVNFUmVtb3ZlQ29kZWRGcmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Njdk
NGVlZTVjMWM3ODQ5MTA5ZGI3ODAwYTNmZjRhMTBiNDQ1YTFjCi0tLSAvZGV2L251bGwKKysrIGIv
UGVyZm9ybWFuY2VUZXN0cy9NZWRpYS9NU0VSZW1vdmVDb2RlZEZyYW1lcy5odG1sCkBAIC0wLDAg
KzEsMTIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
bWVkaWEtc291cmNlLWxvYWRlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIGxvYWRlcjsKK3ZhciB2aWRl
bzsKK3ZhciBsb25nTWVkaWFTZWdtZW50OworCitmdW5jdGlvbiBjb25jYXRBcnJheUJ1ZmZlcnMo
KSB7CisgICAgdmFyIGJ5dGVMZW5ndGggPSAwOworICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNo
LmNhbGwoYXJndW1lbnRzLCBhcnJheUJ1ZmZlciA9PiB7CisgICAgICAgIGlmICghYXJyYXlCdWZm
ZXIuYnl0ZUxlbmd0aCkKKyAgICAgICAgICAgIHRocm93ICJOb3QgYW4gQXJyYXlCdWZmZXIhIjsK
KyAgICAgICAgYnl0ZUxlbmd0aCArPSBhcnJheUJ1ZmZlci5ieXRlTGVuZ3RoOworICAgIH0pOwor
CisKKyAgICB2YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KGJ5dGVMZW5ndGgpOworICAgIHZhciBv
ZmZzZXQgPSAwOworICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLCBh
cnJheUJ1ZmZlciA9PiB7CisgICAgICAgIHZpZXcuc2V0KG5ldyBVaW50OEFycmF5KGFycmF5QnVm
ZmVyKSwgb2Zmc2V0KTsKKyAgICAgICAgb2Zmc2V0ICs9IGFycmF5QnVmZmVyLmJ5dGVMZW5ndGg7
CisgICAgfSk7CisgICAgcmV0dXJuIHZpZXcuYnVmZmVyOworfQorCitmdW5jdGlvbiBjb25jYXRN
ZWRpYURhdGEoKSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+
IHsKKyAgICAgICAgdmFyIHNlZ21lbnRzID0gbmV3IEFycmF5KDEwMCk7CisgICAgICAgIHNlZ21l
bnRzLmZpbGwobG9hZGVyLmV2ZXJ5TWVkaWFTZWdtZW50KTsKKyAgICAgICAgbG9uZ01lZGlhU2Vn
bWVudCA9IGNvbmNhdEFycmF5QnVmZmVycy5hcHBseSh0aGlzLCBzZWdtZW50cyk7CisgICAgICAg
IHJlc29sdmUobG9uZ01lZGlhU2VnbWVudCk7CisgICAgfSk7Cit9CisKK3dpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgKCkgPT4geworICAgIFBlcmZUZXN0UnVubmVyLnByZXBhcmVUb01l
YXN1cmVWYWx1ZXNBc3luYyh7CisgICAgICAgIHVuaXQ6ICdtcycsCisgICAgICAgIGRvbmU6IGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGlmICh2aWRlbykgeworICAgICAgICAgICAgICAgIHZp
ZGVvLnNyYyA9IG51bGw7CisgICAgICAgICAgICAgICAgdmlkZW8ubG9hZCgpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfSk7CisKKyAgICBsb2FkZXIgPSBuZXcgTWVkaWFTb3VyY2VM
b2FkZXIoJ3Rlc3QtZnJhZ21lbnRlZC12aWRlby5qc29uJyk7CisgICAgbG9hZGVyLmxvYWRNZWRp
YURhdGEoKS50aGVuKGNvbmNhdE1lZGlhRGF0YSkudGhlbihydW5UZXN0KTsKK30pOworCitmdW5j
dGlvbiByZW1vdmUzMFNlY29uZHNBdEFUaW1lVGlsbEVtcHR5KHNvdXJjZUJ1ZmZlcikgeworICAg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgdmFyIHJlbW92ZU5leHQz
MFNlY29uZHMgPSAoKSA9PiB7CisgICAgICAgICAgICB2YXIgc3RhcnQgPSBzb3VyY2VCdWZmZXIu
YnVmZmVyZWQuc3RhcnQoMCk7CisgICAgICAgICAgICBzb3VyY2VCdWZmZXIucmVtb3ZlKHN0YXJ0
LCBzdGFydCArIDMwKQorICAgICAgICB9CisgICAgICAgIHNvdXJjZUJ1ZmZlci5vbnVwZGF0ZSA9
ICgpID0+IHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VCdWZmZXIuYnVmZmVyZWQubGVuZ3RoID09
IDAgfHwgc291cmNlQnVmZmVyLmJ1ZmZlcmVkLnN0YXJ0KDApIC0gc291cmNlQnVmZmVyLmJ1ZmZl
cmVkLmVuZCgwKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgc291cmNlQnVmZmVyLm9udXBkYXRl
ID0gbnVsbDsKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICByZW1vdmVOZXh0
MzBTZWNvbmRzKCk7CisgICAgICAgIH07CisgICAgICAgIHJlbW92ZU5leHQzMFNlY29uZHMoKTsK
KyAgICB9KTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsgICAKKyAgICB2aWRlbyA9ICBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOworCisgICAgbG9hZE1lZGlhRGF0YUludG9WaWRl
byh2aWRlbykudGhlbihzb3VyY2VCdWZmZXIgPT4geworICAgICAgICBzdGFydFRpbWUgPSBQZXJm
VGVzdFJ1bm5lci5ub3coKTsKKyAgICAgICAgcmV0dXJuIHJlbW92ZTMwU2Vjb25kc0F0QVRpbWVU
aWxsRW1wdHkoc291cmNlQnVmZmVyKTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgaWYg
KFBlcmZUZXN0UnVubmVyLm1lYXN1cmVWYWx1ZUFzeW5jKFBlcmZUZXN0UnVubmVyLm5vdygpIC0g
c3RhcnRUaW1lKSkKKyAgICAgICAgICAgIHNldFRpbWVvdXQocnVuVGVzdCwgMCk7CisgICAgfSk7
Cit9CisKK2Z1bmN0aW9uIGxvYWRNZWRpYURhdGFJbnRvVmlkZW8odmlkZW8sIHNlZ21lbnRDb3Vu
dCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAg
ICAgIHZhciBzb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKKyAgICAgICAgc291cmNlLm9uc291
cmNlb3BlbiA9ICgpID0+IHsKKyAgICAgICAgICAgIHNvdXJjZS5vbnNvdXJjZW9wZW4gPSBudWxs
OworICAgICAgICAgICAgc291cmNlLmR1cmF0aW9uID0gbG9hZGVyLmR1cmF0aW9uICogMTAwOyAK
KyAgICAgICAgICAgIHZhciBjdXJyZW50TWVkaWFTZWdtZW50ID0gMDsKKyAgICAgICAgICAgIHZh
ciBzb3VyY2VCdWZmZXIgPSBzb3VyY2UuYWRkU291cmNlQnVmZmVyKGxvYWRlci50eXBlKTsKKyAg
ICAgICAgICAgIHNvdXJjZUJ1ZmZlci5tb2RlID0gJ3NlcXVlbmNlJzsKKyAgICAgICAgICAgIHNv
dXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIobG9hZGVyLmluaXRTZWdtZW50KTsKKworICAgICAgICAg
ICAgdmFyIGFwcGVuZGVkTWVkaWFTZWdtZW50ID0gZmFsc2U7CisgICAgICAgICAgICBzb3VyY2VC
dWZmZXIub251cGRhdGUgPSAoKSA9PiB7CisKKyAgICAgICAgICAgICAgICBpZiAoYXBwZW5kZWRN
ZWRpYVNlZ21lbnQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNvdXJjZS5yZWFkeVN0YXRl
ICE9PSAnZW5kZWQnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UuZW5kT2ZTdHJl
YW0oKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUJ1ZmZlci5vbnVwZGF0ZSA9IG51
bGw7CisgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VCdWZmZXIub25lcnJvciA9IG51bGw7
CisgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHNvdXJjZUJ1ZmZlcik7CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIobG9uZ01l
ZGlhU2VnbWVudCk7CisgICAgICAgICAgICAgICAgYXBwZW5kZWRNZWRpYVNlZ21lbnQgPSB0cnVl
OworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHNvdXJjZUJ1ZmZlci5vbmVycm9yID0gZXJy
b3IgPT4geworICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7CisgICAgICAgICAgICB9Owor
ICAgICAgICB9OworICAgICAgICB2aWRlby5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHNvdXJj
ZSk7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNl
VGVzdHMvTWVkaWEvbWVkaWEtc291cmNlLWxvYWRlci5qcyBiL1BlcmZvcm1hbmNlVGVzdHMvTWVk
aWEvbWVkaWEtc291cmNlLWxvYWRlci5qcwppbmRleCA4YWY0MDE1NTg0ZTAzMzMzMmQ0YWQ5YjE5
YTk1YTRhYzc2NmUxNmRhLi4yNDE0NGY3NWE4OGZmMmJiOTlkMDRmMmE0YTgwNDlkNTZmNjYzNWJl
IDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL01lZGlhL21lZGlhLXNvdXJjZS1sb2FkZXIu
anMKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9NZWRpYS9tZWRpYS1zb3VyY2UtbG9hZGVyLmpzCkBA
IC04Nyw3ICs4Nyw5IEBAIGNsYXNzIE1lZGlhU291cmNlTG9hZGVyIHsKIAogICAgIGdldCBkdXJh
dGlvbigpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbWFuaWZlc3QgPyB0aGlzLl9tYW5p
ZmVzdC5kdXJhdGlvbiA6IDAKKyAgICAgICAgaWYgKCF0aGlzLl9tYW5pZmVzdCkKKyAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gdGhpcy5fbWFuaWZlc3QubWVkaWEucmVkdWNl
KChkdXJhdGlvbiwgbWVkaWEpID0+IHsgcmV0dXJuIGR1cmF0aW9uICsgbWVkaWEuZHVyYXRpb24g
fSwgMCk7CiAgICAgfQogCiAgICAgZ2V0IGluaXRTZWdtZW50KCkKZGlmZiAtLWdpdCBhL1BlcmZv
cm1hbmNlVGVzdHMvTWVkaWFUaW1lL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9QZXJm
b3JtYW5jZVRlc3RzL01lZGlhVGltZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBkYmU4YmYwMTg0ODAxODgzNDc1YzlkYmQ4MzhjMjU2OGQ4OTkyNzIKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01lZGlhVGltZS9Db25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnCkBAIC0wLDAgKzEsMTE5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAs
IDIwMTEsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
Ky8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8K
Ky8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorLy8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKy8vIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorLy8g
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorLy8gUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisvLyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisvLyBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy8vIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKyNpbmNsdWRlICIuLi8uLi8uLi8uLi9JbnRlcm5h
bC9Db25maWd1cmF0aW9ucy9IYXZlSW50ZXJuYWxTREsueGNjb25maWciCisKK1VTRV9JTlRFUk5B
TF9TREsgPSAkKFVTRV9JTlRFUk5BTF9TREtfJChDT05GSUdVUkFUSU9OKSk7CitVU0VfSU5URVJO
QUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7CitVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZF
X0lOVEVSTkFMX1NESyk7CitVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJO
QUxfU0RLKTsKKworQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKK0NMQU5H
X0NYWF9MSUJSQVJZID0gbGliYysrOworQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7
CitDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CitDTEFOR19XQVJOX0NYWDBY
X0VYVEVOU0lPTlMgPSBOTzsKK0NMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKK0NMQU5HX1dB
Uk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04g
PSBZRVM7CitDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdfV0FSTl9TVVNQ
SUNJT1VTX01PVkUgPSBZRVM7CitDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CitD
TEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOworQ09NQklORV9ISURQSV9J
TUFHRVMgPSBOTzsKK0RFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmLXdpdGgtZHN5bTsK
K0VOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOworR0NDX0NfTEFOR1VBR0VfU1RBTkRB
UkQgPSBnbnU5OTsKK0dDQ19ERUJVR0dJTkdfU1lNQk9MUyA9IGRlZmF1bHQ7CitHQ0NfRFlOQU1J
Q19OT19QSUMgPSBOTzsKK0dDQ19FTkFCTEVfQ1BQX0VYQ0VQVElPTlMgPSBOTzsKK0dDQ19FTkFC
TEVfQ1BQX1JUVEkgPSBOTzsKK0dDQ19FTkFCTEVfT0JKQ19FWENFUFRJT05TID0gWUVTOworR0ND
X0VOQUJMRV9TWU1CT0xfU0VQQVJBVElPTiA9IE5POworR0NDX0ZBU1RfT0JKQ19ESVNQQVRDSCA9
IFlFUzsKK0dDQ19HRU5FUkFURV9ERUJVR0dJTkdfU1lNQk9MUyA9IFlFUzsKK0dDQ19JTkxJTkVT
X0FSRV9QUklWQVRFX0VYVEVSTiA9IFlFUzsKK0dDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwor
R0NDX09CSkNfQ0FMTF9DWFhfQ0RUT1JTID0gWUVTOworR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hF
QURFUiA9IFlFUzsKK0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklO
RVMpICQoaW5oZXJpdGVkKTsKK0dDQ19TVFJJQ1RfQUxJQVNJTkcgPSBZRVM7CitHQ0NfVEhSRUFE
U0FGRV9TVEFUSUNTID0gTk87CitHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVTOwor
R0NDX1ZFUlNJT04gPSBjb20uYXBwbGUuY29tcGlsZXJzLmxsdm0uY2xhbmcuMV8wOworLy8gRklY
TUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzEwNzA5Mz4gV1RGIHNob3VsZCBidWlsZCB3aXRoIC1X
c2hvcnRlbi02NC10by0zMgorR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSAkKEdD
Q19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OXyQoQ1VSUkVOVF9BUkNIKSk7CitHQ0NfV0FS
Tl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTl8gPSBZRVM7CitHQ0NfV0FSTl82NF9UT18zMl9CSVRf
Q09OVkVSU0lPTl9hcm12NyA9IFlFUzsKK0dDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9O
X2FybXY3ayA9IFlFUzsKK0dDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OX2FybXY3cyA9
IFlFUzsKK0dDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OX2FybTY0ID0gTk87CitHQ0Nf
V0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTl9pMzg2ID0gWUVTOworR0NDX1dBUk5fNjRfVE9f
MzJfQklUX0NPTlZFUlNJT05feDg2XzY0ID0gTk87CitHQ0NfV0FSTl9BQk9VVF9ERVBSRUNBVEVE
X0ZVTkNUSU9OUyA9IE5POworR0NDX1dBUk5fQUJPVVRfTUlTU0lOR19ORVdMSU5FID0gWUVTOwor
R0NDX1dBUk5fQUJPVVRfTUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOworR0NDX1dBUk5fQUJPVVRf
UkVUVVJOX1RZUEUgPSBZRVM7CitHQ0NfV0FSTl9OT05fVklSVFVBTF9ERVNUUlVDVE9SID0gWUVT
OworR0NDX1dBUk5fU0lHTl9DT01QQVJFID0gWUVTOworR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxF
Q1RPUiA9IFlFUzsKK0dDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVM7CitHQ0NfV0FS
Tl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CitHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7
CitQUkVCSU5ESU5HID0gTk87CitXQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XZXh0cmEgLVdjYXN0
LXF1YWwgLVdjaGFyLXN1YnNjcmlwdHMgLVdleHRyYS10b2tlbnMgLVdmb3JtYXQ9MiAtV2luaXQt
c2VsZiAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV21pc3Npbmctbm9yZXR1cm4gLVdwYWNr
ZWQgLVdwb2ludGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xzIC1XdW5kZWYgLVd3cml0ZS1zdHJp
bmdzIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFsLWNvbnN0cnVjdG9ycyAtV3RhdXRv
bG9naWNhbC1jb21wYXJlIC1XaW1wbGljaXQtZmFsbHRocm91Z2g7CitIRUFERVJfU0VBUkNIX1BB
VEhTID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlICQoRFNUUk9PVCkv
dXNyL2xvY2FsL2luY2x1ZGUgaWN1ICQoSEVBREVSX1NFQVJDSF9QQVRIUyk7CisKK1RBUkdFVF9N
QUNfT1NfWF9WRVJTSU9OX01BSk9SID0gJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUiQo
TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUOnN1ZmZpeDppZGVudGlmaWVyKSk7CitUQVJHRVRfTUFD
X09TX1hfVkVSU0lPTl9NQUpPUl8xMCA9IDEwMTAwMDsKK1RBUkdFVF9NQUNfT1NfWF9WRVJTSU9O
X01BSk9SXzExID0gMTAxMTAwOworVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1JfMTIgPSAx
MDEyMDA7CitUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUl8xMyA9IDEwMTMwMDsKKworU1VQ
UE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zIGlwaG9uZXNpbXVsYXRvciBtYWNvc3ggYXBwbGV0
dm9zIGFwcGxldHZzaW11bGF0b3Igd2F0Y2hvcyB3YXRjaHNpbXVsYXRvcjsKKworSkFWQVNDUklQ
VENPUkVfRlJBTUVXT1JLU19ESVIgPSAkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3JrczsK
KworLy8gREVCVUdfREVGSU5FUywgR0NDX09QVElNSVpBVElPTl9MRVZFTCwgU1RSSVBfSU5TVEFM
TEVEX1BST0RVQ1QgYW5kIERFQURfQ09ERV9TVFJJUFBJTkcgdmFyeSBiZXR3ZWVuIHRoZSBkZWJ1
ZyBhbmQgbm9ybWFsIHZhcmlhbnRzLgorLy8gV2Ugc2V0IHVwIHRoZSB2YWx1ZXMgZm9yIGVhY2gg
dmFyaWFudCBoZXJlLCBhbmQgaGF2ZSB0aGUgRGVidWcgY29uZmlndXJhdGlvbiBpbiB0aGUgWGNv
ZGUgcHJvamVjdCB1c2UgdGhlIF9kZWJ1ZyB2YXJpYW50LgorREVCVUdfREVGSU5FU19kZWJ1ZyA9
IDsKK0RFQlVHX0RFRklORVNfbm9ybWFsID0gTkRFQlVHOworREVCVUdfREVGSU5FUyA9ICQoREVC
VUdfREVGSU5FU18kKENVUlJFTlRfVkFSSUFOVCkpOworCitHQ0NfT1BUSU1JWkFUSU9OX0xFVkVM
ID0gJChHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMXyQoQ1VSUkVOVF9WQVJJQU5UKSk7CitHQ0NfT1BU
SU1JWkFUSU9OX0xFVkVMX25vcm1hbCA9IDM7CitHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMX2RlYnVn
ID0gMDsKKworU1RSSVBfSU5TVEFMTEVEX1BST0RVQ1QgPSAkKFNUUklQX0lOU1RBTExFRF9QUk9E
VUNUXyQoQ1VSUkVOVF9WQVJJQU5UKSk7CitTVFJJUF9JTlNUQUxMRURfUFJPRFVDVF9ub3JtYWwg
PSBZRVM7CitTVFJJUF9JTlNUQUxMRURfUFJPRFVDVF9kZWJ1ZyA9IE5POworCitERUFEX0NPREVf
U1RSSVBQSU5HX2RlYnVnID0gTk87CitERUFEX0NPREVfU1RSSVBQSU5HX25vcm1hbCA9IFlFUzsK
K0RFQURfQ09ERV9TVFJJUFBJTkcgPSAkKERFQURfQ09ERV9TVFJJUFBJTkdfJChDVVJSRU5UX1ZB
UklBTlQpKTsKKworU0RLUk9PVCA9IG1hY29zeC5pbnRlcm5hbDsKKworT1RIRVJfQ0ZMQUdTID0g
JChBU0FOX09USEVSX0NGTEFHUyk7CitPVEhFUl9DUExVU1BMVVNGTEFHUyA9ICQoQVNBTl9PVEhF
Ul9DUExVU1BMVVNGTEFHUyk7CitPVEhFUl9MREZMQUdTID0gJChBU0FOX09USEVSX0xERkxBR1Mp
OwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvQ29uZmlndXJhdGlvbnMv
RGVidWdSZWxlYXNlLnhjY29uZmlnIGIvUGVyZm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvQ29uZmln
dXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzZmEzNTEwY2M4NjY2
ODI0NWJjMzU0Yzc3ZTY0NWVjMjU2NzMxZDYKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5j
ZVRlc3RzL01lZGlhVGltZS9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25maWcKQEAg
LTAsMCArMSw0MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
Ly8gYXJlIG1ldDoKKy8vIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLy8g
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorLy8gICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKy8vIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisv
LyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKy8vIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisvLyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKy8vIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKy8vIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorLy8gUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorLy8gT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKy8vIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisjaW5jbHVkZSAiQmFzZS54Y2NvbmZpZyIKKworQVJDSFMgPSAkKEFSQ0hTX1NUQU5E
QVJEXzMyXzY0X0JJVCk7CitPTkxZX0FDVElWRV9BUkNIID0gWUVTOworCitUQVJHRVRfTUFDX09T
X1hfVkVSU0lPTl9NQUpPUiA9ICQoTUFDX09TX1hfVkVSU0lPTl9NQUpPUik7CisKK01BQ09TWF9E
RVBMT1lNRU5UX1RBUkdFVCA9ICQoTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUXyQoUExBVEZPUk1f
TkFNRSlfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworTUFDT1NYX0RFUExPWU1F
TlRfVEFSR0VUX21hY29zeF8xMDEwMDAgPSAxMC4xMDsKK01BQ09TWF9ERVBMT1lNRU5UX1RBUkdF
VF9tYWNvc3hfMTAxMTAwID0gMTAuMTE7CitNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4
XzEwMTIwMCA9IDEwLjEyOworTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21hY29zeF8xMDEzMDAg
PSAxMC4xMzsKKworR0NDX1dBUk5fQUJPVVRfREVQUkVDQVRFRF9GVU5DVElPTlMgPSBZRVM7CitE
RUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZjsKKworU0RLUk9PVCA9ICQoU0RLUk9PVF8k
KFVTRV9JTlRFUk5BTF9TREspKTsKK1NES1JPT1RfID0gbWFjb3N4OworU0RLUk9PVF9ZRVMgPSBt
YWNvc3guaW50ZXJuYWw7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL01lZGlhVGltZS9N
YWtlZmlsZSBiL1BlcmZvcm1hbmNlVGVzdHMvTWVkaWFUaW1lL01ha2VmaWxlCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk1ZTQ4ZDYwYTA4MmM5YzNmOWY2YTNjYjkwYWFmMzA3MzgyZTBlYWMKLS0tIC9kZXYvbnVsbAor
KysgYi9QZXJmb3JtYW5jZVRlc3RzL01lZGlhVGltZS9NYWtlZmlsZQpAQCAtMCwwICsxLDIgQEAK
K1NDUklQVFNfUEFUSCA/PSAuLi8uLi9Ub29scy9TY3JpcHRzCitpbmNsdWRlIC4uLy4uL01ha2Vm
aWxlLnNoYXJlZApkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvTWVkaWFU
aW1lLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9QZXJmb3JtYW5jZVRlc3RzL01lZGlhVGlt
ZS9NZWRpYVRpbWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2YwOGE0
OTU5NTU2MjU2MzQ3YmU5N2UyY2I3OWI4M2E0NjU0ZjcxCi0tLSAvZGV2L251bGwKKysrIGIvUGVy
Zm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvTWVkaWFUaW1lLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTAsMCArMSwyNTYgQEAKKy8vICEkKlVURjgqJCEKK3sKKwlhcmNoaXZlVmVyc2lvbiA9
IDE7CisJY2xhc3NlcyA9IHsKKwl9OworCW9iamVjdFZlcnNpb24gPSA0NjsKKwlvYmplY3RzID0g
eworCisvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLworCQlDREIwOTlFMTFFNDMwODQ3
MDAzOUUxOTggLyogbWFpbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDREIwOTlFMDFFNDMwODQ3MDAzOUUxOTggLyogbWFpbi5jcHAgKi87IH07CisJ
CUNEQjA5OUU5MUU0MzA4NzAwMDM5RTE5OCAvKiBsaWJXVEYuYSBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQjA5OUU4MUU0MzA4NzAwMDM5RTE5OCAv
KiBsaWJXVEYuYSAqLzsgfTsKKwkJQ0RCMDk5RUIxRTQzMEIyNTAwMzlFMTk4IC8qIENvcmVGb3Vu
ZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENEQjA5OUVBMUU0MzBCMjUwMDM5RTE5OCAvKiBDb3JlRm91bmRhdGlvbi5mcmFt
ZXdvcmsgKi87IH07CisJCUNEQjA5OUVEMUU0MzBCNDQwMDM5RTE5OCAvKiBGb3VuZGF0aW9uLmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEQjA5OUVDMUU0MzBCNDQwMDM5RTE5OCAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsK
KwkJQ0RCMDk5RUYxRTQzMEI1NTAwMzlFMTk4IC8qIGxpYmljdWNvcmUuZHlsaWIgaW4gRnJhbWV3
b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREIwOTlFRTFFNDMwQjU1
MDAzOUUxOTggLyogbGliaWN1Y29yZS5keWxpYiAqLzsgfTsKKy8qIEVuZCBQQlhCdWlsZEZpbGUg
c2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8K
KwkJQ0RCMDk5REIxRTQzMDg0NzAwMzlFMTk4IC8qIENvcHlGaWxlcyAqLyA9IHsKKwkJCWlzYSA9
IFBCWENvcHlGaWxlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OworCQkJZHN0UGF0aCA9IC91c3Ivc2hhcmUvbWFuL21hbjEvOworCQkJZHN0U3ViZm9sZGVyU3Bl
YyA9IDA7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMTsKKwkJfTsKKy8qIEVuZCBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rp
b24gKi8KKworLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCisJCUNEODM2Q0ZF
MUU0M0JEQjQwMDlGODA5MSAvKiBCYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEJhc2UueGNj
b25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODM2RDAwMUU0M0JEQjQwMDlG
ODA5MSAvKiBEZWJ1Z1JlbGVhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gRGVidWdSZWxlYXNl
LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREIwOTlERDFFNDMwODQ3
MDAzOUUxOTggLyogTWVkaWFUaW1lICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxp
Y2l0RmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmV4ZWN1dGFibGUiOyBpbmNsdWRlSW5JbmRl
eCA9IDA7IHBhdGggPSBNZWRpYVRpbWU7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07CisJCUNEQjA5OUUwMUU0MzA4NDcwMDM5RTE5OCAvKiBtYWluLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IG1haW4uY3BwOyBwYXRoID0gLi4vLi4vLi4vLi4vVGVzdGNhc2VzL01lZGlhVGltZVRl
c3RjYXNlL01lZGlhVGltZS9tYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0RCMDk5RTgxRTQzMDg3MDAwMzlFMTk4IC8qIGxpYldURi5hICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgbmFtZSA9IGxpYldURi5h
OyBwYXRoID0gLi4vLi4vV2ViS2l0LmdpdC9PcGVuU291cmNlL1dlYktpdEJ1aWxkL0RlYnVnL2xp
YldURi5hOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREIwOTlFQTFFNDMwQjI1MDAz
OUUxOTggLyogQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb3Jl
Rm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Nv
cmVGb3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CisJCUNEQjA5
OUVDMUU0MzBCNDQwMDM5RTE5OCAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBu
YW1lID0gRm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKKwkJQ0RC
MDk5RUUxRTQzMEI1NTAwMzlFMTk4IC8qIGxpYmljdWNvcmUuZHlsaWIgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGli
IjsgbmFtZSA9IGxpYmljdWNvcmUuZHlsaWI7IHBhdGggPSB1c3IvbGliL2xpYmljdWNvcmUuZHls
aWI7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OworLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2Vj
dGlvbiAqLworCisvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJ
CUNEQjA5OURBMUU0MzA4NDcwMDM5RTE5OCAvKiBGcmFtZXdvcmtzICovID0geworCQkJaXNhID0g
UEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OworCQkJZmlsZXMgPSAoCisJCQkJQ0RCMDk5RUYxRTQzMEI1NTAwMzlFMTk4IC8qIGxpYmljdWNv
cmUuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQlDREIwOTlFRDFFNDMwQjQ0MDAzOUUxOTgg
LyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQlDREIwOTlFQjFF
NDMwQjI1MDAzOUUxOTggLyogQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8sCisJCQkJQ0RCMDk5RTkxRTQzMDg3MDAwMzlFMTk4IC8qIGxpYldURi5hIGluIEZyYW1ld29y
a3MgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CisJCX07CisvKiBFbmQgUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBC
ZWdpbiBQQlhHcm91cCBzZWN0aW9uICovCisJCUNEODM2Q0ZEMUU0M0JEQjQwMDlGODA5MSAvKiBD
b25maWd1cmF0aW9ucyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJQ0Q4MzZDRkUxRTQzQkRCNDAwOUY4MDkxIC8qIEJhc2UueGNjb25maWcgKi8sCisJCQkJ
Q0Q4MzZEMDAxRTQzQkRCNDAwOUY4MDkxIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLywKKwkJ
CSk7CisJCQlwYXRoID0gQ29uZmlndXJhdGlvbnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OworCQl9OworCQlDREIwOTlENDFFNDMwODQ3MDAzOUUxOTggPSB7CisJCQlpc2EgPSBQQlhHcm91
cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNEQjA5OUUwMUU0MzA4NDcwMDM5RTE5OCAvKiBtYWlu
LmNwcCAqLywKKwkJCQlDRDgzNkNGRDFFNDNCREI0MDA5RjgwOTEgLyogQ29uZmlndXJhdGlvbnMg
Ki8sCisJCQkJQ0RCMDk5REUxRTQzMDg0NzAwMzlFMTk4IC8qIFByb2R1Y3RzICovLAorCQkJCUNE
QjA5OUU3MUU0MzA4NkYwMDM5RTE5OCAvKiBGcmFtZXdvcmtzICovLAorCQkJKTsKKwkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNEQjA5OURFMUU0MzA4NDcwMDM5RTE5OCAvKiBQ
cm9kdWN0cyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
Q0RCMDk5REQxRTQzMDg0NzAwMzlFMTk4IC8qIE1lZGlhVGltZSAqLywKKwkJCSk7CisJCQluYW1l
ID0gUHJvZHVjdHM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDREIwOTlF
NzFFNDMwODZGMDAzOUUxOTggLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3Vw
OworCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0RCMDk5RUUxRTQzMEI1NTAwMzlFMTk4IC8qIGxpYmlj
dWNvcmUuZHlsaWIgKi8sCisJCQkJQ0RCMDk5RUMxRTQzMEI0NDAwMzlFMTk4IC8qIEZvdW5kYXRp
b24uZnJhbWV3b3JrICovLAorCQkJCUNEQjA5OUVBMUU0MzBCMjUwMDM5RTE5OCAvKiBDb3JlRm91
bmRhdGlvbi5mcmFtZXdvcmsgKi8sCisJCQkJQ0RCMDk5RTgxRTQzMDg3MDAwMzlFMTk4IC8qIGxp
YldURi5hICovLAorCQkJKTsKKwkJCW5hbWUgPSBGcmFtZXdvcmtzOworCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKKwkJfTsKKy8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCisKKy8qIEJlZ2lu
IFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCisJCUNEQjA5OURDMUU0MzA4NDcwMDM5RTE5OCAv
KiBNZWRpYVRpbWUgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENv
bmZpZ3VyYXRpb25MaXN0ID0gQ0RCMDk5RTQxRTQzMDg0NzAwMzlFMTk4IC8qIEJ1aWxkIGNvbmZp
Z3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJNZWRpYVRpbWUiICovOworCQkJYnVp
bGRQaGFzZXMgPSAoCisJCQkJQ0RCMDk5RDkxRTQzMDg0NzAwMzlFMTk4IC8qIFNvdXJjZXMgKi8s
CisJCQkJQ0RCMDk5REExRTQzMDg0NzAwMzlFMTk4IC8qIEZyYW1ld29ya3MgKi8sCisJCQkJQ0RC
MDk5REIxRTQzMDg0NzAwMzlFMTk4IC8qIENvcHlGaWxlcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1
bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gTWVk
aWFUaW1lOworCQkJcHJvZHVjdE5hbWUgPSBNZWRpYVRpbWVUZXN0Y2FzZTsKKwkJCXByb2R1Y3RS
ZWZlcmVuY2UgPSBDREIwOTlERDFFNDMwODQ3MDAzOUUxOTggLyogTWVkaWFUaW1lICovOworCQkJ
cHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS50b29sIjsKKwkJfTsKKy8qIEVu
ZCBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rp
b24gKi8KKwkJQ0RCMDk5RDUxRTQzMDg0NzAwMzlFMTk4IC8qIFByb2plY3Qgb2JqZWN0ICovID0g
eworCQkJaXNhID0gUEJYUHJvamVjdDsKKwkJCWF0dHJpYnV0ZXMgPSB7CisJCQkJTGFzdFVwZ3Jh
ZGVDaGVjayA9IDA4MzA7CisJCQkJT1JHQU5JWkFUSU9OTkFNRSA9ICJKZXJlbXkgTm9ibGUiOwor
CQkJCVRhcmdldEF0dHJpYnV0ZXMgPSB7CisJCQkJCUNEQjA5OURDMUU0MzA4NDcwMDM5RTE5OCA9
IHsKKwkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDguMzsKKwkJCQkJCURldmVsb3BtZW50
VGVhbSA9IEc1VVlQNUNTN0s7CisJCQkJCQlQcm92aXNpb25pbmdTdHlsZSA9IEF1dG9tYXRpYzsK
KwkJCQkJfTsKKwkJCQl9OworCQkJfTsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBDREIw
OTlEODFFNDMwODQ3MDAzOUUxOTggLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQ
cm9qZWN0ICJNZWRpYVRpbWUiICovOworCQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUg
My4yIjsKKwkJCWRldmVsb3BtZW50UmVnaW9uID0gRW5nbGlzaDsKKwkJCWhhc1NjYW5uZWRGb3JF
bmNvZGluZ3MgPSAwOworCQkJa25vd25SZWdpb25zID0gKAorCQkJCWVuLAorCQkJKTsKKwkJCW1h
aW5Hcm91cCA9IENEQjA5OUQ0MUU0MzA4NDcwMDM5RTE5ODsKKwkJCXByb2R1Y3RSZWZHcm91cCA9
IENEQjA5OURFMUU0MzA4NDcwMDM5RTE5OCAvKiBQcm9kdWN0cyAqLzsKKwkJCXByb2plY3REaXJQ
YXRoID0gIiI7CisJCQlwcm9qZWN0Um9vdCA9ICIiOworCQkJdGFyZ2V0cyA9ICgKKwkJCQlDREIw
OTlEQzFFNDMwODQ3MDAzOUUxOTggLyogTWVkaWFUaW1lICovLAorCQkJKTsKKwkJfTsKKy8qIEVu
ZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ug
c2VjdGlvbiAqLworCQlDREIwOTlEOTFFNDMwODQ3MDAzOUUxOTggLyogU291cmNlcyAqLyA9IHsK
KwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCUNEQjA5OUUxMUU0MzA4NDcwMDM5RTE5OCAvKiBt
YWluLmNwcCBpbiBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rp
b24gKi8KKworLyogQmVnaW4gWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCQlDREIw
OTlFMjFFNDMwODQ3MDAzOUUxOTggLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQ0Q4MzZEMDAxRTQz
QkRCNDAwOUY4MDkxIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGlu
Z3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gWUVTOworCQkJCUNMQU5HX0NY
WF9MQU5HVUFHRV9TVEFOREFSRCA9ICJjKysweCI7CisJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAi
bGliYysrIjsKKwkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZjsKKwkJCQlFTkFC
TEVfVEVTVEFCSUxJVFkgPSBZRVM7CisJCQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CisJCQkJ
R0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CisJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9
IDA7CisJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKKwkJCQkJIkRFQlVHPTEi
LAorCQkJCQkiJChpbmhlcml0ZWQpIiwKKwkJCQkpOworCQkJCU9OTFlfQUNUSVZFX0FSQ0ggPSBZ
RVM7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQlDREIwOTlFMzFFNDMwODQ3MDAz
OUUxOTggLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwor
CQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBDRDgzNkQwMDFFNDNCREI0MDA5RjgwOTEg
LyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlB
TFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBZRVM7CisJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NU
QU5EQVJEID0gImMrKzB4IjsKKwkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOworCQkJ
CURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOworCQkJCUdDQ19O
T19DT01NT05fQkxPQ0tTID0gWUVTOworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9Owor
CQlDREIwOTlFNTFFNDMwODQ3MDAzOUUxOTggLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQ0xBTkdfQ1hYX0xB
TkdVQUdFX1NUQU5EQVJEID0gImMrKzE0IjsKKwkJCQlERVZFTE9QTUVOVF9URUFNID0gRzVVWVA1
Q1M3SzsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOworCQkJfTsKKwkJCW5h
bWUgPSBEZWJ1ZzsKKwkJfTsKKwkJQ0RCMDk5RTYxRTQzMDg0NzAwMzlFMTk4IC8qIFJlbGVhc2Ug
Ki8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3Mg
PSB7CisJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImMrKzE0IjsKKwkJCQlERVZF
TE9QTUVOVF9URUFNID0gRzVVWVA1Q1M3SzsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRf
TkFNRSkiOworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQlDREIwOTlGMDFFNDM5
NDU0MDAzOUUxOTggLyogQ29udHJvbCAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0
aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMg
PSBZRVM7CisJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImMrKzB4IjsKKwkJCQlD
TEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOworCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1B
VCA9ICJkd2FyZi13aXRoLWRzeW0iOworCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwor
CQkJCUhFQURFUl9TRUFSQ0hfUEFUSFMgPSAvdXNyL2xvY2FsL2luY2x1ZGU7CisJCQkJTElCUkFS
WV9TRUFSQ0hfUEFUSFMgPSAvdXNyL2xvY2FsL2xpYjsKKwkJCX07CisJCQluYW1lID0gQ29udHJv
bDsKKwkJfTsKKwkJQ0RCMDk5RjExRTQzOTQ1NDAwMzlFMTk4IC8qIENvbnRyb2wgKi8gPSB7CisJ
CQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJ
Q0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImMrKzE0IjsKKwkJCQlERVZFTE9QTUVOVF9U
RUFNID0gRzVVWVA1Q1M3SzsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwor
CQkJfTsKKwkJCW5hbWUgPSBDb250cm9sOworCQl9OworLyogRW5kIFhDQnVpbGRDb25maWd1cmF0
aW9uIHNlY3Rpb24gKi8KKworLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICov
CisJCUNEQjA5OUQ4MUU0MzA4NDcwMDM5RTE5OCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3Qg
Zm9yIFBCWFByb2plY3QgIk1lZGlhVGltZSIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRp
b25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQlDREIwOTlFMjFFNDMwODQ3
MDAzOUUxOTggLyogRGVidWcgKi8sCisJCQkJQ0RCMDk5RTMxRTQzMDg0NzAwMzlFMTk4IC8qIFJl
bGVhc2UgKi8sCisJCQkJQ0RCMDk5RjAxRTQzOTQ1NDAwMzlFMTk4IC8qIENvbnRyb2wgKi8sCisJ
CQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENv
bmZpZ3VyYXRpb25OYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJQ0RCMDk5RTQxRTQzMDg0NzAwMzlF
MTk4IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJNZWRp
YVRpbWUiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29u
ZmlndXJhdGlvbnMgPSAoCisJCQkJQ0RCMDk5RTUxRTQzMDg0NzAwMzlFMTk4IC8qIERlYnVnICov
LAorCQkJCUNEQjA5OUU2MUU0MzA4NDcwMDM5RTE5OCAvKiBSZWxlYXNlICovLAorCQkJCUNEQjA5
OUYxMUU0Mzk0NTQwMDM5RTE5OCAvKiBDb250cm9sICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25m
aWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFJl
bGVhc2U7CisJCX07CisvKiBFbmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJfTsK
Kwlyb290T2JqZWN0ID0gQ0RCMDk5RDUxRTQzMDg0NzAwMzlFMTk4IC8qIFByb2plY3Qgb2JqZWN0
ICovOworfQpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvbWFpbi5jcHAg
Yi9QZXJmb3JtYW5jZVRlc3RzL01lZGlhVGltZS9tYWluLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OGFjNWQy
MTE5OTc2ZDU5OGU0ZTQxMTkwOWI0NzZiNmY2ZTc3NmYyCi0tLSAvZGV2L251bGwKKysrIGIvUGVy
Zm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvbWFpbi5jcHAKQEAgLTAsMCArMSw5NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlIDxpb3N0cmVhbT4KKyNpbmNsdWRlIDxzZXQ+CisjaW5jbHVkZSA8cmFu
ZG9tPgorI2luY2x1ZGUgPGNocm9ubz4KKyNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CisKK3Vz
aW5nIG5hbWVzcGFjZSBzdGQ7Cit1c2luZyBuYW1lc3BhY2Ugc3RkOjpjaHJvbm87CisKK3N0YXRp
YyBjb25zdCBzaXplX3Qgc2V0U2l6ZSA9IDEwMDAwMDsKKwordm9pZCBwZXJmb3JtVGVzdChjb25z
dCBjaGFyKiBuYW1lLCBmdW5jdGlvbjx2b2lkKCk+IHRlc3QpCit7CisgICAgdmVjdG9yPGRvdWJs
ZT4gcnVudGltZXMoMjEpOworICAgIGZvciAoYXV0byYgcnVudGltZSA6IHJ1bnRpbWVzKSB7Cisg
ICAgICAgIGF1dG8gc3RhcnQgPSBzdGVhZHlfY2xvY2s6Om5vdygpOworICAgICAgICB0ZXN0KCk7
CisgICAgICAgIHJ1bnRpbWUgPSBkdXJhdGlvbl9jYXN0PG1pbGxpc2Vjb25kcz4oc3RlYWR5X2Ns
b2NrOjpub3coKSAtIHN0YXJ0KS5jb3VudCgpOworICAgIH0KKyAgICBzb3J0KHJ1bnRpbWVzLmJl
Z2luKCksIHJ1bnRpbWVzLmVuZCgpKTsKKyAgICBkb3VibGUgc3VtID0gc3RkOjphY2N1bXVsYXRl
KHJ1bnRpbWVzLmJlZ2luKCksIHJ1bnRpbWVzLmVuZCgpLCAwKTsKKyAgICBkb3VibGUgbWVhbiA9
IHN1bSAvIHJ1bnRpbWVzLnNpemUoKTsKKyAgICBkb3VibGUgbWVkaWFuID0gcnVudGltZXNbKHJ1
bnRpbWVzLnNpemUoKSArIDEpIC8gMl07CisgICAgZG91YmxlIG1pbiA9IHJ1bnRpbWVzLmZyb250
KCk7CisgICAgZG91YmxlIG1heCA9IHJ1bnRpbWVzLmJhY2soKTsKKyAgICBkb3VibGUgc3Ffc3Vt
ID0gc3RkOjppbm5lcl9wcm9kdWN0KHJ1bnRpbWVzLmJlZ2luKCksIHJ1bnRpbWVzLmVuZCgpLCBy
dW50aW1lcy5iZWdpbigpLCAwKTsKKyAgICBkb3VibGUgc3RkZXYgPSBzdGQ6OnNxcnQoc3Ffc3Vt
IC8gcnVudGltZXMuc2l6ZSgpIC0gbWVhbiAqIG1lYW4pOworCisgICAgY291dCA8PCAiUkVTVUxU
ICIgPDwgbmFtZSA8PCAiOiBUaW1lPSAiIDw8IHN1bSA8PCAiIG1zIiA8PCBlbmRsOworICAgIGNv
dXQgPDwgIm1lZGlhbj0gIiA8PCBtZWRpYW4gPDwgIiBtcywgc3RkZXY9ICIgPDwgc3RkZXYgPDwg
IiBtcywgbWluPSAiIDw8IG1pbiA8PCAiIG1zLCBtYXggPSAiIDw8IG1heCA8PCAiIG1zIiA8PCBl
bmRsOworfQorCit2b2lkIHRlc3QoaW50MzJfdCBjb3VudCwgZnVuY3Rpb248TWVkaWFUaW1lKGlu
dDMyX3QpPiBnZW5lcmF0b3IpCit7CisgICAgc2V0PE1lZGlhVGltZT4gdGltZXM7CisKKyAgICBm
b3IgKGludDMyX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKQorICAgICAgICB0aW1lcy5pbnNlcnQo
Z2VuZXJhdG9yKGkpKTsKKworICAgIGZvciAoaW50MzJfdCBpID0gMDsgaSA8IGNvdW50OyArK2kp
CisgICAgICAgIHRpbWVzLnVwcGVyX2JvdW5kKGdlbmVyYXRvcihpKSk7Cit9CisKK2ludCBtYWlu
KGludCBhcmdjLCBjb25zdCBjaGFyICogYXJndltdKQoreworICAgIHBlcmZvcm1UZXN0KCJFcXVh
bCBUaW1lU2NhbGVzIiwgW10geyB0ZXN0KHNldFNpemUsIFtdIChpbnQzMl90IGkpIHsgcmV0dXJu
IE1lZGlhVGltZShpLCAxKTsgfSk7IH0pOworICAgIHBlcmZvcm1UZXN0KCJFcXVhbCBUaW1lVmFs
dWVzIiwgW10geyB0ZXN0KHNldFNpemUsIFtdIChpbnQzMl90IGkpIHsgcmV0dXJuIE1lZGlhVGlt
ZSgxLCBpICsgMSk7IH0pOyB9KTsKKyAgICBwZXJmb3JtVGVzdCgiRGlzcGFyYXRlIFRpbWVWYWx1
ZXMgJiBUaW1lU2NhbGVzIiwgW10geyB0ZXN0KHNldFNpemUsIFtdIChpbnQzMl90IGkpIHsgcmV0
dXJuIE1lZGlhVGltZShpLCBpICsgMSk7IH0pOyB9KTsKKyAgICBwZXJmb3JtVGVzdCgiTm9uLXVu
aWZvcm0iLCBbXSB7CisgICAgICAgIHRlc3Qoc2V0U2l6ZSwgW10gKGludDMyX3QgaSkgeworICAg
ICAgICAgICAgc3dpdGNoKGkgJSA2KSB7CisgICAgICAgICAgICAgICAgY2FzZSAwOgorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpOworICAgICAgICAg
ICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE1lZGlhVGltZTo6cG9z
aXRpdmVJbmZpbml0ZVRpbWUoKTsKKyAgICAgICAgICAgICAgICBjYXNlIDI6CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBNZWRpYVRpbWU6Om5lZ2F0aXZlSW5maW5pdGVUaW1lKCk7CisgICAg
ICAgICAgICAgICAgY2FzZSAzOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWVkaWFUaW1l
OjppbmRlZmluaXRlVGltZSgpOworICAgICAgICAgICAgICAgIGNhc2UgNDoKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIE1lZGlhVGltZShpLCAxKTsKKyAgICAgICAgICAgICAgICBjYXNlIDU6
CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE1l
ZGlhVGltZShpLCBpICsgMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgIH0pOwor
CisgICAgcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NraXBwZWQg
Yi9QZXJmb3JtYW5jZVRlc3RzL1NraXBwZWQKaW5kZXggYmU0NjE4Y2U3OGFhOGY4ZjNjZWQ1MjIy
OGYwMjJkNjhlOTFlYTRiMS4uM2EzODlkZjlmMDE4OTdlN2M0OTFkMjA3NjEwMjcyMTI4Y2NlZmE5
NyAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9Ta2lwcGVkCisrKyBiL1BlcmZvcm1hbmNl
VGVzdHMvU2tpcHBlZApAQCAtMTA3LDYgKzEwNyw3IEBAIEFuaW1hdGlvbi9zdmctYW5pbWF0aW9u
Lmh0bWwKICMgTWVkaWEgdGVzdHMgdGFrZSB0b28gbG9uZyB0byBydW47IHJlcXVpcmUgTVNFLCBI
TFMgd2hpY2ggYXJlIG5vdCBzdXBwb3J0ZWQgb24gYWxsIHBvcnRzOwogIyBhbmQgcmVxdWlyZSBh
IHdlYnNlcnZlciAocnVuLXdlYmtpdC1odHRwZCkgd2hpY2ggaXMgbm90IHBhcnQgb2Ygbm9ybWFs
IHBlcmZvcm1hbmNlIHRlc3RpbmcuCiBNZWRpYS8KK01lZGlhVGltZS8KIAogIyBCdWdzIDE2NzYy
MiwgMTY3NjM3LCAxNjc2MzggYW5kIDE2NzY0MCAtIFNvbWUgSW5kZXhlZERCIHRlc3QgZGVhZGxv
Y2sgb24gdGhlIEdUSysgcGVyZiBib3QuCiBbR1RLXSBJbmRleGVkREIvaW5kZXgtZ2V0Lmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300612</attachid>
            <date>2017-02-04 02:04:27 -0800</date>
            <delta_ts>2017-02-06 13:50:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167834-20170204020210.patch</filename>
            <type>text/plain</type>
            <size>84462</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhODI1MTY3ZjM3NWI3NzQ5YTZjMGE5
ZDhmZWYyMGVkMTk1YmZmZDcuLjRlMjYyZTBjMGIyMDhjYzIwYmU0NWQxNGYyZmU5YzVkZjM5Mzg3
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTctMDItMDQgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgUGxheWJhY2sgc3RhbGxzIHdoZW4gYSBTb3VyY2VCdWZm
ZXIgYXBwZW5kIGNhdXNlcyBmcmFtZSBldmljdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3ODM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgT3B0aW1pemUgdGhlIE1lZGlhVGltZSBjbGFzczsgc3Bl
Y2lmaWNhbGx5IHRoZSBjb21wYXJlKCkgbWV0aG9kLiBUaGUgY2xhc3Mgb25seQorICAgICAgICBu
ZWVkcyA2IGJpdHMgdG8gc3RvcmUgdGhlIFRpbWVGbGFncywgc28gbWFrZSB0aGF0IGEgdWludDhf
dCByYXRoZXIgdGhhbiB1aW50MzJfdC4KKyAgICAgICAgVGhlIGltcGxlbWVudGF0aW9uIGlzIHNs
aWdodGx5IHNpbXBsZXIgaWYgdGhlIFRpbWVTY2FsZSBpcyB1bnNpZ25lZCwgc28gbWFrZSB0aGF0
CisgICAgICAgIGEgdWludDMyX3QgcmF0aGVyIHRoYW4gaW50MzJfdC4gSW5saW5lIHRoZSBjb21w
YXJpc29uIG9wZXJhdG9ycy4gT3B0aW1pemUgdGhlIGVxdWFsaXR5CisgICAgICAgIGNvbXBhcmlz
b24gYnkgYml0d2lzZS1hbmQnaW5nIHRoZSBmbGFncyB0b2dldGhlciBhbmQgbWFza2luZyB0aGUg
cmVzdWx0LiBPcHRpbWl6ZSBmb3IKKyAgICAgICAgY29tbW9uIGNvbXBhcmlzb24gc2NlbmFyaW9z
IChlcXVhbCB0aW1lU2NhbGVzLCBlcXVhbCB0aW1lVmFsdWVzKCksIGV0Yy4pLiBBdHRlbXB0IHRo
ZQorICAgICAgICBtYXRoZW1hdGljYWxseSBzaW1wbGVyIHNpbXBsZXIgbWV0aG9kIGZvciBjb21w
YXJpbmcgcmF0aW9zLCBhbmQgb25seSBmYWxsIGJhY2sgdG8gdGhlCisgICAgICAgIGNvbXBsZXgg
bWV0aG9kIGlmIHRoZSByZXN1bHRzIG9mIG11bHRpcGx5aW5nIHRoZSB0aW1lU2NhbGUgYnkgdGhl
IHRpbWVWYWx1ZSBvdmVyZmxvd3MuCisKKyAgICAgICAgKiB3dGYvTWVkaWFUaW1lLmNwcDoKKyAg
ICAgICAgKFdURjo6Z3JlYXRlc3RDb21tb25EaXZpc29yKToKKyAgICAgICAgKFdURjo6bGVhc3RD
b21tb25NdWx0aXBsZSk6CisgICAgICAgIChXVEY6OnNpZ251bSk6CisgICAgICAgIChXVEY6Ok1l
ZGlhVGltZTo6TWVkaWFUaW1lKToKKyAgICAgICAgKFdURjo6TWVkaWFUaW1lOjpjcmVhdGVXaXRo
RmxvYXQpOgorICAgICAgICAoV1RGOjpNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUpOgorICAg
ICAgICAoV1RGOjpNZWRpYVRpbWU6Om9wZXJhdG9yKyk6CisgICAgICAgIChXVEY6Ok1lZGlhVGlt
ZTo6b3BlcmF0b3ItKToKKyAgICAgICAgKFdURjo6TWVkaWFUaW1lOjpvcGVyYXRvciEpOgorICAg
ICAgICAoV1RGOjpNZWRpYVRpbWU6Om9wZXJhdG9yIGJvb2wpOgorICAgICAgICAoV1RGOjpNZWRp
YVRpbWU6OmNvbXBhcmUpOgorICAgICAgICAoV1RGOjpNZWRpYVRpbWU6OnNldFRpbWVTY2FsZSk6
CisgICAgICAgIChXVEY6OmFicyk6CisgICAgICAgIChXVEY6Ok1lZGlhVGltZTo6b3BlcmF0b3I8
KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6TWVkaWFUaW1lOjpvcGVyYXRvcj4pOiBEZWxldGVk
LgorICAgICAgICAoV1RGOjpNZWRpYVRpbWU6Om9wZXJhdG9yIT0pOiBEZWxldGVkLgorICAgICAg
ICAoV1RGOjpNZWRpYVRpbWU6Om9wZXJhdG9yPT0pOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpN
ZWRpYVRpbWU6Om9wZXJhdG9yPj0pOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpNZWRpYVRpbWU6
Om9wZXJhdG9yPD0pOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9NZWRpYVRpbWUuaDoKKwogMjAx
Ny0wMi0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxMTU3MSBhbmQgcjIxMTU4Mi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBjNTc2MjIwNWFkN2ZhNWQyYWE2NGU3NGQ3ZDNlNDhjMDhjNDY4YmU1Li5mNjRmOWJkNTUx
ZWU4ZDA1NzZlNmJkNTI2Y2M4OTdjYjliMDMzMjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEg
QEAKKzIwMTctMDItMDQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGxheWJhY2sgc3RhbGxzIHdoZW4gYSBTb3VyY2VCdWZmZXIgYXBwZW5kIGNhdXNlcyBmcmFt
ZSBldmljdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY3ODM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGVzdDogUGVyZm9ybWFuY2VUZXN0cy9NZWRpYS9NU0VSZW1vdmVDb2RlZEZyYW1lcy5odG1s
CisKKyAgICAgICAgT3B0aW1pemUgc2VhcmNoaW5nIHRocm91Z2ggU2FtcGxlTWFwIGJ5IHByZXNl
bnRhdGlvblRpbWUuCisKKyAgICAgICAgTWFueSBvZiB0aGUgbWV0aG9kcyBleHBvc2VkIGJ5IFBy
ZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwIHVzZWQgdGhlIGJhcmUgIHN0ZDo6ZXF1YWxfcmFuZ2Us
CisgICAgICAgIGxvd2VyX2JvdW5kLCBvciB1cHBlcl9ib3VuZCBtZXRob2RzLiBVbmxpa2UgdGhv
c2UgbWV0aG9kcyBleHBvc2VkIG9uIHN0ZDo6bWFwLCB0aGUgYmFyZQorICAgICAgICBzZWFyY2gg
bWV0aG9kcyBwZXJmb3JtIGEgbGluZWFyIE8obikgc2VhcmNoLCByYXRoZXIgdGhhbiBhIHRoZSBi
aW5hcnkgTyhsb2cobikpIHNlYXJjaCB1c2VkCisgICAgICAgIGJ5IHN0ZDo6bWFwLiBSZXdyaXRl
IHRob3NlIG1ldGhvZHMgdXNpbmcgdGhlIGJhcmUgbWV0aG9kcyBpbiB0ZXJtcyBvZiB0aGUgc3Rk
OjptYXAgc2VhcmNoCisgICAgICAgIG1ldGhvZHMuCisKKyAgICAgICAgRHJpdmUtYnkgZml4OiBy
ZW5hbWUgZmluZFNhbXBsZU9uT3JBZnRlclByZXNlbnRhdGlvblRpbWUgdG8KKyAgICAgICAgZmlu
ZFNhbXBsZVN0YXJ0aW5nT25PckFmdGVyUHJlc2VudGF0aW9uVGltZSB0byBtYWtlIHRoZSBiZWhh
dmlvciBvZiB0aGUgbWV0aG9kIG1vcmUKKyAgICAgICAgZXhwbGljaXQuCisKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcmVz
ZW50YXRpb25PcmRlclNhbXBsZU1hcDo6ZmluZFNhbXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25U
aW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpmaW5k
U2FtcGxlU3RhcnRpbmdPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OlByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpyZXZlcnNlRmluZFNhbXBsZUJlZm9yZVBy
ZXNlbnRhdGlvblRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6RGVjb2RlT3JkZXJTYW1wbGVNYXA6
OmZpbmRTeW5jU2FtcGxlQWZ0ZXJQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OlByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpmaW5kU2FtcGxlc0JldHdlZW5QcmVzZW50YXRp
b25UaW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6
ZmluZFNhbXBsZXNXaXRoaW5QcmVzZW50YXRpb25SYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpQ
cmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6ZmluZFNhbXBsZU9uT3JBZnRlclByZXNlbnRhdGlv
blRpbWUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU2FtcGxlTWFw
Lmg6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6YmVnaW4p
OgorICAgICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6OmVuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6cmJlZ2luKToKKyAg
ICAgICAgKFdlYkNvcmU6OlByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpyZW5kKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRlY29kZU9yZGVyU2FtcGxlTWFwOjpiZWdpbik6CisgICAgICAgIChXZWJD
b3JlOjpEZWNvZGVPcmRlclNhbXBsZU1hcDo6ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkRlY29k
ZU9yZGVyU2FtcGxlTWFwOjpyYmVnaW4pOgorICAgICAgICAoV2ViQ29yZTo6RGVjb2RlT3JkZXJT
YW1wbGVNYXA6OnJlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U2FtcGxlTWFwOjpTYW1wbGVNYXAp
OgorICAgICAgICAoV2ViQ29yZTo6U2FtcGxlTWFwOjpzaXplSW5CeXRlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTYW1wbGVNYXA6OmRlY29kZU9yZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNhbXBs
ZU1hcDo6cHJlc2VudGF0aW9uT3JkZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlbW92ZVNhbXBsZXNGcm9tVHJh
Y2tCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpyZW1vdmVDb2RlZEZy
YW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnJlZW5xdWV1ZU1lZGlhRm9y
VGltZSk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAy
MDE3LTAyLTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEFT
U0VSVCBpbiBIVE1MTWVkaWFFbGVtZW50Ojp+SFRNTE1lZGlhRWxlbWVudApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvTWVkaWFUaW1lLmNwcCBiL1NvdXJjZS9XVEYvd3RmL01lZGlhVGltZS5j
cHAKaW5kZXggNjdjYmRmNzU1YjhmOWVhM2E0NjMxZmJlZThmN2I1MzdmYjViZjM0MC4uOWRiNGM3
MDYwMWI4MTRhZWYwZmJiMzMyM2E1YjViYmE2YmY3NmI5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvTWVkaWFUaW1lLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NZWRpYVRpbWUuY3BwCkBA
IC0zMCwxNiArMzAsMTcgQEAKICNpbmNsdWRlICJNZWRpYVRpbWUuaCIKIAogI2luY2x1ZGUgPGFs
Z29yaXRobT4KKyNpbmNsdWRlIDxjc3RkbGliPgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGht
ZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ByaW50
U3RyZWFtLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1zdGF0aWMgaW50MzJfdCBncmVhdGVzdENv
bW1vbkRpdmlzb3IoaW50MzJfdCBhLCBpbnQzMl90IGIpCitzdGF0aWMgdWludDMyX3QgZ3JlYXRl
c3RDb21tb25EaXZpc29yKHVpbnQzMl90IGEsIHVpbnQzMl90IGIpCiB7CiAgICAgLy8gRXVjbGlk
J3MgQWxnb3JpdGhtCi0gICAgaW50MzJfdCB0ZW1wID0gMDsKKyAgICB1aW50MzJfdCB0ZW1wID0g
MDsKICAgICB3aGlsZSAoYikgewogICAgICAgICB0ZW1wID0gYjsKICAgICAgICAgYiA9IGEgJSBi
OwpAQCAtNDgsMTcgKzQ5LDE3IEBAIHN0YXRpYyBpbnQzMl90IGdyZWF0ZXN0Q29tbW9uRGl2aXNv
cihpbnQzMl90IGEsIGludDMyX3QgYikKICAgICByZXR1cm4gYTsKIH0KIAotc3RhdGljIGludDMy
X3QgbGVhc3RDb21tb25NdWx0aXBsZShpbnQzMl90IGEsIGludDMyX3QgYiwgaW50MzJfdCAmcmVz
dWx0KQorc3RhdGljIHVpbnQzMl90IGxlYXN0Q29tbW9uTXVsdGlwbGUodWludDMyX3QgYSwgdWlu
dDMyX3QgYiwgdWludDMyX3QgJnJlc3VsdCkKIHsKICAgICByZXR1cm4gc2FmZU11bHRpcGx5KGEs
IGIgLyBncmVhdGVzdENvbW1vbkRpdmlzb3IoYSwgYiksIHJlc3VsdCk7CiB9CiAKLXN0YXRpYyBp
bnQzMl90IHNpZ251bShpbnQ2NF90IHZhbCkKK3N0YXRpYyBpbnQ2NF90IHNpZ251bShpbnQ2NF90
IHZhbCkKIHsKICAgICByZXR1cm4gKDAgPCB2YWwpIC0gKHZhbCA8IDApOwogfQogCi1jb25zdCBp
bnQzMl90IE1lZGlhVGltZTo6TWF4aW11bVRpbWVTY2FsZSA9IDB4N2ZmZmZmZmZMOworY29uc3Qg
dWludDMyX3QgTWVkaWFUaW1lOjpNYXhpbXVtVGltZVNjYWxlID0gMHg3ZmZmZmZmZkw7CiAKIE1l
ZGlhVGltZTo6TWVkaWFUaW1lKCkKICAgICA6IG1fdGltZVZhbHVlKDApCkBAIC02Nyw3ICs2OCw3
IEBAIE1lZGlhVGltZTo6TWVkaWFUaW1lKCkKIHsKIH0KIAotTWVkaWFUaW1lOjpNZWRpYVRpbWUo
aW50NjRfdCB2YWx1ZSwgaW50MzJfdCBzY2FsZSwgdWludDMyX3QgZmxhZ3MpCitNZWRpYVRpbWU6
Ok1lZGlhVGltZShpbnQ2NF90IHZhbHVlLCB1aW50MzJfdCBzY2FsZSwgdWludDhfdCBmbGFncykK
ICAgICA6IG1fdGltZVZhbHVlKHZhbHVlKQogICAgICwgbV90aW1lU2NhbGUoc2NhbGUpCiAgICAg
LCBtX3RpbWVGbGFncyhmbGFncykKQEAgLTk5LDcgKzEwMCw3IEBAIE1lZGlhVGltZSBNZWRpYVRp
bWU6OmNyZWF0ZVdpdGhGbG9hdChmbG9hdCBmbG9hdFRpbWUpCiAgICAgcmV0dXJuIHZhbHVlOwog
fQogCi1NZWRpYVRpbWUgTWVkaWFUaW1lOjpjcmVhdGVXaXRoRmxvYXQoZmxvYXQgZmxvYXRUaW1l
LCBpbnQzMl90IHRpbWVTY2FsZSkKK01lZGlhVGltZSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhGbG9h
dChmbG9hdCBmbG9hdFRpbWUsIHVpbnQzMl90IHRpbWVTY2FsZSkKIHsKICAgICBpZiAoZmxvYXRU
aW1lICE9IGZsb2F0VGltZSkKICAgICAgICAgcmV0dXJuIGludmFsaWRUaW1lKCk7CkBAIC0xMzEs
NyArMTMyLDcgQEAgTWVkaWFUaW1lIE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShkb3VibGUg
ZG91YmxlVGltZSkKICAgICByZXR1cm4gdmFsdWU7CiB9CiAKLU1lZGlhVGltZSBNZWRpYVRpbWU6
OmNyZWF0ZVdpdGhEb3VibGUoZG91YmxlIGRvdWJsZVRpbWUsIGludDMyX3QgdGltZVNjYWxlKQor
TWVkaWFUaW1lIE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShkb3VibGUgZG91YmxlVGltZSwg
dWludDMyX3QgdGltZVNjYWxlKQogewogICAgIGlmIChkb3VibGVUaW1lICE9IGRvdWJsZVRpbWUp
CiAgICAgICAgIHJldHVybiBpbnZhbGlkVGltZSgpOwpAQCAtMjEyLDcgKzIxMyw3IEBAIE1lZGlh
VGltZSBNZWRpYVRpbWU6Om9wZXJhdG9yKyhjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QKICAg
ICBlbHNlIGlmIChiLmhhc0RvdWJsZVZhbHVlKCkpCiAgICAgICAgIGIuc2V0VGltZVNjYWxlKERl
ZmF1bHRUaW1lU2NhbGUpOwogCi0gICAgaW50MzJfdCBjb21tb25UaW1lU2NhbGU7CisgICAgdWlu
dDMyX3QgY29tbW9uVGltZVNjYWxlOwogICAgIGlmICghbGVhc3RDb21tb25NdWx0aXBsZShhLm1f
dGltZVNjYWxlLCBiLm1fdGltZVNjYWxlLCBjb21tb25UaW1lU2NhbGUpIHx8IGNvbW1vblRpbWVT
Y2FsZSA+IE1heGltdW1UaW1lU2NhbGUpCiAgICAgICAgIGNvbW1vblRpbWVTY2FsZSA9IE1heGlt
dW1UaW1lU2NhbGU7CiAgICAgYS5zZXRUaW1lU2NhbGUoY29tbW9uVGltZVNjYWxlKTsKQEAgLTI1
OCw3ICsyNTksNyBAQCBNZWRpYVRpbWUgTWVkaWFUaW1lOjpvcGVyYXRvci0oY29uc3QgTWVkaWFU
aW1lJiByaHMpIGNvbnN0CiAgICAgZWxzZSBpZiAoYi5oYXNEb3VibGVWYWx1ZSgpKQogICAgICAg
ICBiLnNldFRpbWVTY2FsZShEZWZhdWx0VGltZVNjYWxlKTsKIAotICAgIGludDMyX3QgY29tbW9u
VGltZVNjYWxlOworICAgIHVpbnQzMl90IGNvbW1vblRpbWVTY2FsZTsKICAgICBpZiAoIWxlYXN0
Q29tbW9uTXVsdGlwbGUodGhpcy0+bV90aW1lU2NhbGUsIHJocy5tX3RpbWVTY2FsZSwgY29tbW9u
VGltZVNjYWxlKSB8fCBjb21tb25UaW1lU2NhbGUgPiBNYXhpbXVtVGltZVNjYWxlKQogICAgICAg
ICBjb21tb25UaW1lU2NhbGUgPSBNYXhpbXVtVGltZVNjYWxlOwogICAgIGEuc2V0VGltZVNjYWxl
KGNvbW1vblRpbWVTY2FsZSk7CkBAIC0zMzQsODAgKzMzNSw0OCBAQCBNZWRpYVRpbWUgTWVkaWFU
aW1lOjpvcGVyYXRvciooaW50MzJfdCByaHMpIGNvbnN0CiAgICAgcmV0dXJuIGE7CiB9CiAKLWJv
b2wgTWVkaWFUaW1lOjpvcGVyYXRvcjwoY29uc3QgTWVkaWFUaW1lJiByaHMpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIGNvbXBhcmUocmhzKSA9PSBMZXNzVGhhbjsKLX0KLQotYm9vbCBNZWRpYVRpbWU6
Om9wZXJhdG9yPihjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QKLXsKLSAgICByZXR1cm4gY29t
cGFyZShyaHMpID09IEdyZWF0ZXJUaGFuOwotfQotCi1ib29sIE1lZGlhVGltZTo6b3BlcmF0b3Ih
PShjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QKLXsKLSAgICByZXR1cm4gY29tcGFyZShyaHMp
ICE9IEVxdWFsVG87Ci19Ci0KLWJvb2wgTWVkaWFUaW1lOjpvcGVyYXRvcj09KGNvbnN0IE1lZGlh
VGltZSYgcmhzKSBjb25zdAotewotICAgIHJldHVybiBjb21wYXJlKHJocykgPT0gRXF1YWxUbzsK
LX0KLQotYm9vbCBNZWRpYVRpbWU6Om9wZXJhdG9yPj0oY29uc3QgTWVkaWFUaW1lJiByaHMpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGNvbXBhcmUocmhzKSA+PSBFcXVhbFRvOwotfQotCi1ib29sIE1l
ZGlhVGltZTo6b3BlcmF0b3I8PShjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QKLXsKLSAgICBy
ZXR1cm4gY29tcGFyZShyaHMpIDw9IEVxdWFsVG87Ci19Ci0KIGJvb2wgTWVkaWFUaW1lOjpvcGVy
YXRvciEoKSBjb25zdAogewotICAgIHJldHVybiBjb21wYXJlKHplcm9UaW1lKCkpID09IEVxdWFs
VG87CisgICAgcmV0dXJuIChtX3RpbWVGbGFncyA9PSBWYWxpZCAmJiAhbV90aW1lVmFsdWUpCisg
ICAgICAgIHx8IChtX3RpbWVGbGFncyA9PSAoVmFsaWQgfCBEb3VibGVWYWx1ZSkgJiYgIW1fdGlt
ZVZhbHVlQXNEb3VibGUpOwogfQogCiBNZWRpYVRpbWU6Om9wZXJhdG9yIGJvb2woKSBjb25zdAog
ewotICAgIHJldHVybiBjb21wYXJlKHplcm9UaW1lKCkpICE9IEVxdWFsVG87CisgICAgcmV0dXJu
ICEobV90aW1lRmxhZ3MgPT0gVmFsaWQgJiYgIW1fdGltZVZhbHVlKQorICAgICAgICAmJiAhKG1f
dGltZUZsYWdzID09IChWYWxpZCB8IERvdWJsZVZhbHVlKSAmJiAhbV90aW1lVmFsdWVBc0RvdWJs
ZSk7CiB9CiAKIE1lZGlhVGltZTo6Q29tcGFyaXNvbkZsYWdzIE1lZGlhVGltZTo6Y29tcGFyZShj
b25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QKIHsKLSAgICBpZiAoKGlzUG9zaXRpdmVJbmZpbml0
ZSgpICYmIHJocy5pc1Bvc2l0aXZlSW5maW5pdGUoKSkKLSAgICAgICAgfHwgKGlzTmVnYXRpdmVJ
bmZpbml0ZSgpICYmIHJocy5pc05lZ2F0aXZlSW5maW5pdGUoKSkKLSAgICAgICAgfHwgKGlzSW52
YWxpZCgpICYmIHJocy5pc0ludmFsaWQoKSkKLSAgICAgICAgfHwgKGlzSW5kZWZpbml0ZSgpICYm
IHJocy5pc0luZGVmaW5pdGUoKSkpCisgICAgYXV0byBhbmRGbGFncyA9IG1fdGltZUZsYWdzICYg
cmhzLm1fdGltZUZsYWdzOworICAgIGlmIChhbmRGbGFncyAmIChQb3NpdGl2ZUluZmluaXRlIHwg
TmVnYXRpdmVJbmZpbml0ZSB8IEluZGVmaW5pdGUpKQogICAgICAgICByZXR1cm4gRXF1YWxUbzsK
IAotICAgIGlmIChpc0ludmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIEdyZWF0ZXJUaGFuOwotCi0g
ICAgaWYgKHJocy5pc0ludmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIExlc3NUaGFuOworICAgIGF1
dG8gb3JGbGFncyA9IG1fdGltZUZsYWdzIHwgcmhzLm1fdGltZUZsYWdzOworICAgIGlmICghKG9y
RmxhZ3MgJiBWYWxpZCkpCisgICAgICAgIHJldHVybiBFcXVhbFRvOwogCi0gICAgaWYgKHJocy5p
c05lZ2F0aXZlSW5maW5pdGUoKSB8fCBpc1Bvc2l0aXZlSW5maW5pdGUoKSkKLSAgICAgICAgcmV0
dXJuIEdyZWF0ZXJUaGFuOworICAgIGlmICghKGFuZEZsYWdzICYgVmFsaWQpKQorICAgICAgICBy
ZXR1cm4gaXNJbnZhbGlkKCkgPyBHcmVhdGVyVGhhbiA6IExlc3NUaGFuOwogCi0gICAgaWYgKHJo
cy5pc1Bvc2l0aXZlSW5maW5pdGUoKSB8fCBpc05lZ2F0aXZlSW5maW5pdGUoKSkKLSAgICAgICAg
cmV0dXJuIExlc3NUaGFuOworICAgIGlmIChvckZsYWdzICYgTmVnYXRpdmVJbmZpbml0ZSkKKyAg
ICAgICAgcmV0dXJuIGlzTmVnYXRpdmVJbmZpbml0ZSgpID8gTGVzc1RoYW4gOiBHcmVhdGVyVGhh
bjsKIAotICAgIGlmIChpc0luZGVmaW5pdGUoKSkKLSAgICAgICAgcmV0dXJuIEdyZWF0ZXJUaGFu
OworICAgIGlmIChvckZsYWdzICYgUG9zaXRpdmVJbmZpbml0ZSkKKyAgICAgICAgcmV0dXJuIGlz
UG9zaXRpdmVJbmZpbml0ZSgpID8gR3JlYXRlclRoYW4gOiBMZXNzVGhhbjsKIAotICAgIGlmIChy
aHMuaXNJbmRlZmluaXRlKCkpCi0gICAgICAgIHJldHVybiBMZXNzVGhhbjsKKyAgICBpZiAob3JG
bGFncyAmIEluZGVmaW5pdGUpCisgICAgICAgIHJldHVybiBpc0luZGVmaW5pdGUoKSA/IEdyZWF0
ZXJUaGFuIDogTGVzc1RoYW47CiAKLSAgICBpZiAoaGFzRG91YmxlVmFsdWUoKSAmJiByaHMuaGFz
RG91YmxlVmFsdWUoKSkgeworICAgIGlmIChhbmRGbGFncyAmIERvdWJsZVZhbHVlKSB7CiAgICAg
ICAgIGlmIChtX3RpbWVWYWx1ZUFzRG91YmxlID09IHJocy5tX3RpbWVWYWx1ZUFzRG91YmxlKQog
ICAgICAgICAgICAgcmV0dXJuIEVxdWFsVG87CiAKICAgICAgICAgcmV0dXJuIG1fdGltZVZhbHVl
QXNEb3VibGUgPCByaHMubV90aW1lVmFsdWVBc0RvdWJsZSA/IExlc3NUaGFuIDogR3JlYXRlclRo
YW47CiAgICAgfQogCi0gICAgaWYgKGhhc0RvdWJsZVZhbHVlKCkgfHwgcmhzLmhhc0RvdWJsZVZh
bHVlKCkpIHsKKyAgICBpZiAob3JGbGFncyAmIERvdWJsZVZhbHVlKSB7CiAgICAgICAgIGRvdWJs
ZSBhID0gdG9Eb3VibGUoKTsKICAgICAgICAgZG91YmxlIGIgPSByaHMudG9Eb3VibGUoKTsKICAg
ICAgICAgaWYgKGEgPiBiKQpAQCAtNDE3LDIwICszODYsNDcgQEAgTWVkaWFUaW1lOjpDb21wYXJp
c29uRmxhZ3MgTWVkaWFUaW1lOjpjb21wYXJlKGNvbnN0IE1lZGlhVGltZSYgcmhzKSBjb25zdAog
ICAgICAgICByZXR1cm4gRXF1YWxUbzsKICAgICB9CiAKLSAgICBNZWRpYVRpbWUgYSA9ICp0aGlz
OwotICAgIE1lZGlhVGltZSBiID0gcmhzOworICAgIGlmICgobV90aW1lVmFsdWUgPCAwKSAhPSAo
cmhzLm1fdGltZVZhbHVlIDwgMCkpCisgICAgICAgIHJldHVybiBtX3RpbWVWYWx1ZSA8IDAgPyBM
ZXNzVGhhbiA6IEdyZWF0ZXJUaGFuOworCisgICAgaWYgKCFtX3RpbWVWYWx1ZSAmJiAhcmhzLm1f
dGltZVZhbHVlKQorICAgICAgICByZXR1cm4gRXF1YWxUbzsKKworICAgIGlmIChtX3RpbWVTY2Fs
ZSA9PSByaHMubV90aW1lU2NhbGUpIHsKKyAgICAgICAgaWYgKG1fdGltZVZhbHVlID09IHJocy5t
X3RpbWVWYWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBFcXVhbFRvOworICAgICAgICByZXR1cm4g
bV90aW1lVmFsdWUgPCByaHMubV90aW1lVmFsdWUgPyBMZXNzVGhhbiA6IEdyZWF0ZXJUaGFuOwor
ICAgIH0KKworICAgIGlmIChtX3RpbWVWYWx1ZSA9PSByaHMubV90aW1lVmFsdWUpCisgICAgICAg
IHJldHVybiBtX3RpbWVTY2FsZSA8IHJocy5tX3RpbWVTY2FsZSA/IEdyZWF0ZXJUaGFuIDogTGVz
c1RoYW47CisKKyAgICBpZiAobV90aW1lVmFsdWUgPCByaHMubV90aW1lVmFsdWUgJiYgbV90aW1l
U2NhbGUgPiByaHMubV90aW1lU2NhbGUpCisgICAgICAgIHJldHVybiBMZXNzVGhhbjsKKworICAg
IGlmIChtX3RpbWVWYWx1ZSA+IHJocy5tX3RpbWVWYWx1ZSAmJiBtX3RpbWVTY2FsZSA8IHJocy5t
X3RpbWVTY2FsZSkKKyAgICAgICAgcmV0dXJuIEdyZWF0ZXJUaGFuOworCisgICAgaW50NjRfdCBs
aHNGYWN0b3I7CisgICAgaW50NjRfdCByaHNGYWN0b3I7CisgICAgaWYgKHNhZmVNdWx0aXBseSht
X3RpbWVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50NjRfdD4ocmhzLm1fdGltZVNjYWxlKSwgbGhzRmFj
dG9yKQorICAgICAgICAmJiBzYWZlTXVsdGlwbHkocmhzLm1fdGltZVZhbHVlLCBzdGF0aWNfY2Fz
dDxpbnQ2NF90PihtX3RpbWVTY2FsZSksIHJoc0ZhY3RvcikpIHsKKyAgICAgICAgaWYgKGxoc0Zh
Y3RvciA9PSByaHNGYWN0b3IpCisgICAgICAgICAgICByZXR1cm4gRXF1YWxUbzsKKyAgICAgICAg
cmV0dXJuIGxoc0ZhY3RvciA8IHJoc0ZhY3RvciA/IExlc3NUaGFuIDogR3JlYXRlclRoYW47Cisg
ICAgfQogCi0gICAgaW50NjRfdCByaHNXaG9sZSA9IGIubV90aW1lVmFsdWUgLyBiLm1fdGltZVNj
YWxlOwotICAgIGludDY0X3QgbGhzV2hvbGUgPSBhLm1fdGltZVZhbHVlIC8gYS5tX3RpbWVTY2Fs
ZTsKKyAgICBpbnQ2NF90IHJoc1dob2xlID0gcmhzLm1fdGltZVZhbHVlIC8gcmhzLm1fdGltZVNj
YWxlOworICAgIGludDY0X3QgbGhzV2hvbGUgPSBtX3RpbWVWYWx1ZSAvIG1fdGltZVNjYWxlOwog
ICAgIGlmIChsaHNXaG9sZSA+IHJoc1dob2xlKQogICAgICAgICByZXR1cm4gR3JlYXRlclRoYW47
CiAgICAgaWYgKGxoc1dob2xlIDwgcmhzV2hvbGUpCiAgICAgICAgIHJldHVybiBMZXNzVGhhbjsK
IAotICAgIGludDY0X3QgcmhzUmVtYWluID0gYi5tX3RpbWVWYWx1ZSAlIGIubV90aW1lU2NhbGU7
Ci0gICAgaW50NjRfdCBsaHNSZW1haW4gPSBhLm1fdGltZVZhbHVlICUgYS5tX3RpbWVTY2FsZTsK
LSAgICBpbnQ2NF90IGxoc0ZhY3RvciA9IGxoc1JlbWFpbiAqIGIubV90aW1lU2NhbGU7Ci0gICAg
aW50NjRfdCByaHNGYWN0b3IgPSByaHNSZW1haW4gKiBhLm1fdGltZVNjYWxlOworICAgIGludDY0
X3QgcmhzUmVtYWluID0gcmhzLm1fdGltZVZhbHVlICUgcmhzLm1fdGltZVNjYWxlOworICAgIGlu
dDY0X3QgbGhzUmVtYWluID0gbV90aW1lVmFsdWUgJSBtX3RpbWVTY2FsZTsKKyAgICBsaHNGYWN0
b3IgPSBsaHNSZW1haW4gKiByaHMubV90aW1lU2NhbGU7CisgICAgcmhzRmFjdG9yID0gcmhzUmVt
YWluICogbV90aW1lU2NhbGU7CiAKICAgICBpZiAobGhzRmFjdG9yID09IHJoc0ZhY3RvcikKICAg
ICAgICAgcmV0dXJuIEVxdWFsVG87CkBAIC00NzQsNyArNDcwLDcgQEAgY29uc3QgTWVkaWFUaW1l
JiBNZWRpYVRpbWU6OmluZGVmaW5pdGVUaW1lKCkKICAgICByZXR1cm4gKnRpbWU7CiB9CiAKLXZv
aWQgTWVkaWFUaW1lOjpzZXRUaW1lU2NhbGUoaW50MzJfdCB0aW1lU2NhbGUpCit2b2lkIE1lZGlh
VGltZTo6c2V0VGltZVNjYWxlKHVpbnQzMl90IHRpbWVTY2FsZSkKIHsKICAgICBpZiAoaGFzRG91
YmxlVmFsdWUoKSkgewogICAgICAgICAqdGhpcyA9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJs
ZShtX3RpbWVWYWx1ZUFzRG91YmxlLCB0aW1lU2NhbGUpOwpAQCAtNDkwLDcgKzQ4Niw3IEBAIHZv
aWQgTWVkaWFUaW1lOjpzZXRUaW1lU2NhbGUoaW50MzJfdCB0aW1lU2NhbGUpCiAgICAgLy8gdGlt
ZXNjYWxlIGJ5IHR3byB1bnRpbCB0aGUgbnVtYmVyIHdpbGwgZml0LCBhbmQgcm91bmQgdGhlCiAg
ICAgLy8gcmVzdWx0LgogICAgIGludDY0X3QgbmV3V2hvbGVQYXJ0OwotICAgIHdoaWxlICghc2Fm
ZU11bHRpcGx5KHdob2xlUGFydCwgdGltZVNjYWxlLCBuZXdXaG9sZVBhcnQpKQorICAgIHdoaWxl
ICghc2FmZU11bHRpcGx5KHdob2xlUGFydCwgc3RhdGljX2Nhc3Q8aW50NjRfdD4odGltZVNjYWxl
KSwgbmV3V2hvbGVQYXJ0KSkKICAgICAgICAgdGltZVNjYWxlIC89IDI7CiAKICAgICBpbnQ2NF90
IHJlbWFpbmRlciA9IG1fdGltZVZhbHVlICUgbV90aW1lU2NhbGU7CkBAIC01MTMsNyArNTA5LDcg
QEAgTWVkaWFUaW1lIGFicyhjb25zdCBNZWRpYVRpbWUmIHJocykKICAgICAgICAgcmV0dXJuIE1l
ZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShmYWJzKHJocy5tX3RpbWVWYWx1ZUFzRG91YmxlKSk7
CiAKICAgICBNZWRpYVRpbWUgdmFsID0gcmhzOwotICAgIHZhbC5tX3RpbWVWYWx1ZSAqPSBzaWdu
dW0ocmhzLm1fdGltZVNjYWxlKSAqIHNpZ251bShyaHMubV90aW1lVmFsdWUpOworICAgIHZhbC5t
X3RpbWVWYWx1ZSA9IHN0ZDo6YWJzKHJocy5tX3RpbWVWYWx1ZSk7CiAgICAgcmV0dXJuIHZhbDsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWVkaWFUaW1lLmggYi9Tb3VyY2UvV1RG
L3d0Zi9NZWRpYVRpbWUuaAppbmRleCA0Y2Y3OTNhMTgwNDEwYTZkMTNjYTM3MWYxY2UzZGYxZmE1
NjgyNTc2Li41MGEwMTgwNjViMGM5OTUwMzBkOWRhNzBkYjZjOTcxODg3M2RjYTMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9NZWRpYVRpbWUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NZWRp
YVRpbWUuaApAQCAtNTMsMTQgKzUzLDE0IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgTWVkaWFU
aW1lKCk7Ci0gICAgTWVkaWFUaW1lKGludDY0X3QgdmFsdWUsIGludDMyX3Qgc2NhbGUsIHVpbnQz
Ml90IGZsYWdzID0gVmFsaWQpOworICAgIE1lZGlhVGltZShpbnQ2NF90IHZhbHVlLCB1aW50MzJf
dCBzY2FsZSwgdWludDhfdCBmbGFncyA9IFZhbGlkKTsKICAgICBNZWRpYVRpbWUoY29uc3QgTWVk
aWFUaW1lJiByaHMpOwogICAgIH5NZWRpYVRpbWUoKTsKIAogICAgIHN0YXRpYyBNZWRpYVRpbWUg
Y3JlYXRlV2l0aEZsb2F0KGZsb2F0IGZsb2F0VGltZSk7Ci0gICAgc3RhdGljIE1lZGlhVGltZSBj
cmVhdGVXaXRoRmxvYXQoZmxvYXQgZmxvYXRUaW1lLCBpbnQzMl90IHRpbWVTY2FsZSk7CisgICAg
c3RhdGljIE1lZGlhVGltZSBjcmVhdGVXaXRoRmxvYXQoZmxvYXQgZmxvYXRUaW1lLCB1aW50MzJf
dCB0aW1lU2NhbGUpOwogICAgIHN0YXRpYyBNZWRpYVRpbWUgY3JlYXRlV2l0aERvdWJsZShkb3Vi
bGUgZG91YmxlVGltZSk7Ci0gICAgc3RhdGljIE1lZGlhVGltZSBjcmVhdGVXaXRoRG91YmxlKGRv
dWJsZSBkb3VibGVUaW1lLCBpbnQzMl90IHRpbWVTY2FsZSk7CisgICAgc3RhdGljIE1lZGlhVGlt
ZSBjcmVhdGVXaXRoRG91YmxlKGRvdWJsZSBkb3VibGVUaW1lLCB1aW50MzJfdCB0aW1lU2NhbGUp
OwogCiAgICAgZmxvYXQgdG9GbG9hdCgpIGNvbnN0OwogICAgIGRvdWJsZSB0b0RvdWJsZSgpIGNv
bnN0OwpAQCAtNzIsMTIgKzcyLDEyIEBAIHB1YmxpYzoKICAgICBNZWRpYVRpbWUgb3BlcmF0b3It
KGNvbnN0IE1lZGlhVGltZSYgcmhzKSBjb25zdDsKICAgICBNZWRpYVRpbWUgb3BlcmF0b3ItKCkg
Y29uc3Q7CiAgICAgTWVkaWFUaW1lIG9wZXJhdG9yKihpbnQzMl90KSBjb25zdDsKLSAgICBib29s
IG9wZXJhdG9yPChjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3Q7Ci0gICAgYm9vbCBvcGVyYXRv
cj4oY29uc3QgTWVkaWFUaW1lJiByaHMpIGNvbnN0OwotICAgIGJvb2wgb3BlcmF0b3IhPShjb25z
dCBNZWRpYVRpbWUmIHJocykgY29uc3Q7Ci0gICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IE1lZGlh
VGltZSYgcmhzKSBjb25zdDsKLSAgICBib29sIG9wZXJhdG9yPj0oY29uc3QgTWVkaWFUaW1lJiBy
aHMpIGNvbnN0OwotICAgIGJvb2wgb3BlcmF0b3I8PShjb25zdCBNZWRpYVRpbWUmIHJocykgY29u
c3Q7CisgICAgYm9vbCBvcGVyYXRvcjwoY29uc3QgTWVkaWFUaW1lJiByaHMpIGNvbnN0IHsgcmV0
dXJuIGNvbXBhcmUocmhzKSA9PSBMZXNzVGhhbjsgfQorICAgIGJvb2wgb3BlcmF0b3I+KGNvbnN0
IE1lZGlhVGltZSYgcmhzKSBjb25zdCB7IHJldHVybiBjb21wYXJlKHJocykgPT0gR3JlYXRlclRo
YW47IH0KKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgTWVkaWFUaW1lJiByaHMpIGNvbnN0IHsg
cmV0dXJuIGNvbXBhcmUocmhzKSAhPSBFcXVhbFRvOyB9CisgICAgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IE1lZGlhVGltZSYgcmhzKSBjb25zdCB7IHJldHVybiBjb21wYXJlKHJocykgPT0gRXF1YWxU
bzsgfQorICAgIGJvb2wgb3BlcmF0b3I+PShjb25zdCBNZWRpYVRpbWUmIHJocykgY29uc3QgeyBy
ZXR1cm4gY29tcGFyZShyaHMpID49IEVxdWFsVG87IH0KKyAgICBib29sIG9wZXJhdG9yPD0oY29u
c3QgTWVkaWFUaW1lJiByaHMpIGNvbnN0IHsgcmV0dXJuIGNvbXBhcmUocmhzKSA8PSBFcXVhbFRv
OyB9CiAgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdDsKICAgICBleHBsaWNpdCBvcGVyYXRvciBi
b29sKCkgY29uc3Q7CiAKQEAgLTEwNSw3ICsxMDUsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNv
bnN0IE1lZGlhVGltZSYgaW5kZWZpbml0ZVRpbWUoKTsKIAogICAgIGNvbnN0IGludDY0X3QmIHRp
bWVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVZhbHVlOyB9Ci0gICAgY29uc3QgaW50MzJf
dCYgdGltZVNjYWxlKCkgY29uc3QgeyByZXR1cm4gbV90aW1lU2NhbGU7IH0KKyAgICBjb25zdCB1
aW50MzJfdCYgdGltZVNjYWxlKCkgY29uc3QgeyByZXR1cm4gbV90aW1lU2NhbGU7IH0KIAogICAg
IHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIApAQCAtMTE3LDE4ICsxMTcsMTgg
QEAgcHVibGljOgogCiAgICAgZnJpZW5kIFdURl9FWFBPUlRfUFJJVkFURSBNZWRpYVRpbWUgYWJz
KGNvbnN0IE1lZGlhVGltZSYgcmhzKTsKIAotICAgIHN0YXRpYyBjb25zdCBpbnQzMl90IERlZmF1
bHRUaW1lU2NhbGUgPSAxMDAwMDAwMDsKLSAgICBzdGF0aWMgY29uc3QgaW50MzJfdCBNYXhpbXVt
VGltZVNjYWxlOworICAgIHN0YXRpYyBjb25zdCB1aW50MzJfdCBEZWZhdWx0VGltZVNjYWxlID0g
MTAwMDAwMDA7CisgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IE1heGltdW1UaW1lU2NhbGU7CiAK
IHByaXZhdGU6Ci0gICAgdm9pZCBzZXRUaW1lU2NhbGUoaW50MzJfdCk7CisgICAgdm9pZCBzZXRU
aW1lU2NhbGUodWludDMyX3QpOwogCiAgICAgdW5pb24gewogICAgICAgICBpbnQ2NF90IG1fdGlt
ZVZhbHVlOwogICAgICAgICBkb3VibGUgbV90aW1lVmFsdWVBc0RvdWJsZTsKICAgICB9OwotICAg
IGludDMyX3QgbV90aW1lU2NhbGU7Ci0gICAgdWludDMyX3QgbV90aW1lRmxhZ3M7CisgICAgdWlu
dDMyX3QgbV90aW1lU2NhbGU7CisgICAgdWludDhfdCBtX3RpbWVGbGFnczsKIH07CiAKIGlubGlu
ZSBNZWRpYVRpbWUgb3BlcmF0b3IqKGludDMyX3QgbGhzLCBjb25zdCBNZWRpYVRpbWUmIHJocykg
eyByZXR1cm4gcmhzLm9wZXJhdG9yKihsaHMpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5jcHAKaW5kZXggMjFhNmZmMjJjNGQyMTQwODcyNDRm
M2Q0NTdhMmE2NDYxZTdkOTY3Yi4uNDIxNTdjNWZjZjc5YmJiNGQxN2Y0NmQzMGRmZTYwNWNiMDE0
MzExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9TYW1w
bGVNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU2FtcGxl
TWFwLmNwcApAQCAtMTQyLDEzICsxNDIsMjEgQEAgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6
Oml0ZXJhdG9yIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpmaW5kU2FtcGxlV2l0aFAKIAog
UHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6Oml0ZXJhdG9yIFByZXNlbnRhdGlvbk9yZGVyU2Ft
cGxlTWFwOjpmaW5kU2FtcGxlQ29udGFpbmluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgTWVkaWFU
aW1lJiB0aW1lKQogewotICAgIGF1dG8gcmFuZ2UgPSBzdGQ6OmVxdWFsX3JhbmdlKGJlZ2luKCks
IGVuZCgpLCB0aW1lLCBTYW1wbGVJc0xlc3NUaGFuTWVkaWFUaW1lQ29tcGFyYXRvcjxNYXBUeXBl
PigpKTsKLSAgICBpZiAocmFuZ2UuZmlyc3QgPT0gcmFuZ2Uuc2Vjb25kKQorICAgIC8vIHVwcGVy
X2JvdW5kIHdpbGwgcmV0dXJuIHRoZSBmaXJzdCBzYW1wbGUgd2hvc2UgcHJlc2VudGF0aW9uIHN0
YXJ0IHRpbWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBzZWFyY2ggdGltZS4KKyAgICAvLyBJZiB0aGlz
IGlzIHRoZSBmaXJzdCBzYW1wbGUsIHRoYXQgbWVhbnMgbm8gc2FtcGxlIGluIHRoZSBtYXAgY29u
dGFpbnMgdGhlIHJlcXVlc3RlZCB0aW1lLgorICAgIGF1dG8gaXRlciA9IG1fc2FtcGxlcy51cHBl
cl9ib3VuZCh0aW1lKTsKKyAgICBpZiAoaXRlciA9PSBiZWdpbigpKQogICAgICAgICByZXR1cm4g
ZW5kKCk7Ci0gICAgcmV0dXJuIHJhbmdlLmZpcnN0OworCisgICAgLy8gTG9vayBhdCB0aGUgcHJl
dmlvdXMgc2FtcGxlOyBkb2VzIGl0IGNvbnRhaW4gdGhlIHJlcXVlc3RlZCB0aW1lPworICAgIC0t
aXRlcjsKKyAgICBNZWRpYVNhbXBsZSYgc2FtcGxlID0gKml0ZXItPnNlY29uZDsKKyAgICBpZiAo
c2FtcGxlLnByZXNlbnRhdGlvblRpbWUoKSArIHNhbXBsZS5kdXJhdGlvbigpID4gdGltZSkKKyAg
ICAgICAgcmV0dXJuIGl0ZXI7CisgICAgcmV0dXJuIGVuZCgpOwogfQogCi1QcmVzZW50YXRpb25P
cmRlclNhbXBsZU1hcDo6aXRlcmF0b3IgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6OmZpbmRT
YW1wbGVPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKGNvbnN0IE1lZGlhVGltZSYgdGltZSkKK1By
ZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjppdGVyYXRvciBQcmVzZW50YXRpb25PcmRlclNhbXBs
ZU1hcDo6ZmluZFNhbXBsZVN0YXJ0aW5nT25PckFmdGVyUHJlc2VudGF0aW9uVGltZShjb25zdCBN
ZWRpYVRpbWUmIHRpbWUpCiB7CiAgICAgcmV0dXJuIG1fc2FtcGxlcy5sb3dlcl9ib3VuZCh0aW1l
KTsKIH0KQEAgLTE2OCw3ICsxNzYsMjIgQEAgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6OnJl
dmVyc2VfaXRlcmF0b3IgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6OnJldmVyc2UKIAogUHJl
c2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6OnJldmVyc2VfaXRlcmF0b3IgUHJlc2VudGF0aW9uT3Jk
ZXJTYW1wbGVNYXA6OnJldmVyc2VGaW5kU2FtcGxlQmVmb3JlUHJlc2VudGF0aW9uVGltZShjb25z
dCBNZWRpYVRpbWUmIHRpbWUpCiB7Ci0gICAgcmV0dXJuIHN0ZDo6bG93ZXJfYm91bmQocmJlZ2lu
KCksIHJlbmQoKSwgdGltZSwgU2FtcGxlSXNHcmVhdGVyVGhhbk1lZGlhVGltZUNvbXBhcmF0b3I8
TWFwVHlwZT4oKSk7CisgICAgaWYgKG1fc2FtcGxlcy5lbXB0eSgpKQorICAgICAgICByZXR1cm4g
cmVuZCgpOworCisgICAgLy8gdXBwZXJfYm91bmQgd2lsbCByZXR1cm4gdGhlIGZpcnN0IHNhbXBs
ZSB3aG9zZSBwcmVzZW50YXRpb24gc3RhcnQgdGltZSBpcyBncmVhdGVyIHRoYW4gdGhlIHNlYXJj
aCB0aW1lLgorICAgIGF1dG8gZm91bmQgPSBtX3NhbXBsZXMudXBwZXJfYm91bmQodGltZSk7CisK
KyAgICAvLyBJZiBubyBzYW1wbGUgd2FzIGZvdW5kIHdpdGggYSB0aW1lIGdyZWF0ZXIgdGhhbiB0
aGUgc2VhcmNoIHRpbWUsIHJldHVybiB0aGUgbGFzdCBzYW1wbGUuCisgICAgaWYgKGZvdW5kID09
IGVuZCgpKQorICAgICAgICByZXR1cm4gcmJlZ2luKCk7CisKKyAgICAvLyBJZiB0aGUgZmlyc3Qg
c2FtcGxlIGhhcyBhIHRpbWUgZ3JhdGVyIHRoYW4gdGhlIHNlYXJjaCB0aW1lLCBubyBzYW1wbGVz
IHdpbGwgaGF2ZSBhIHByZXNlbnRhdGlvbiB0aW1lIGJlZm9yZSB0aGUgc2VhcmNoIHRpbWUuCisg
ICAgaWYgKGZvdW5kID09IGJlZ2luKCkpCisgICAgICAgIHJldHVybiByZW5kKCk7CisKKyAgICAv
LyBPdGhlcndpc2UsIHJldHVybiB0aGUgc2FtcGxlIGltbWVkaWF0ZWx5IHByZXZpb3VzIHRvIHRo
ZSBvbmUgZm91bmQuCisgICAgcmV0dXJuIC0tcmV2ZXJzZV9pdGVyYXRvcigtLWZvdW5kKTsKIH0K
IAogRGVjb2RlT3JkZXJTYW1wbGVNYXA6OnJldmVyc2VfaXRlcmF0b3IgRGVjb2RlT3JkZXJTYW1w
bGVNYXA6OnJldmVyc2VGaW5kU2FtcGxlV2l0aERlY29kZUtleShjb25zdCBLZXlUeXBlJiBrZXkp
CkBAIC0yMDMsNyArMjI2LDcgQEAgRGVjb2RlT3JkZXJTYW1wbGVNYXA6OnJldmVyc2VfaXRlcmF0
b3IgRGVjb2RlT3JkZXJTYW1wbGVNYXA6OmZpbmRTeW5jU2FtcGxlUHJpb3IKIAogRGVjb2RlT3Jk
ZXJTYW1wbGVNYXA6Oml0ZXJhdG9yIERlY29kZU9yZGVyU2FtcGxlTWFwOjpmaW5kU3luY1NhbXBs
ZUFmdGVyUHJlc2VudGF0aW9uVGltZShjb25zdCBNZWRpYVRpbWUmIHRpbWUsIGNvbnN0IE1lZGlh
VGltZSYgdGhyZXNob2xkKQogewotICAgIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjppdGVy
YXRvciBjdXJyZW50U2FtcGxlUFRTID0gbV9wcmVzZW50YXRpb25PcmRlci5maW5kU2FtcGxlT25P
ckFmdGVyUHJlc2VudGF0aW9uVGltZSh0aW1lKTsKKyAgICBQcmVzZW50YXRpb25PcmRlclNhbXBs
ZU1hcDo6aXRlcmF0b3IgY3VycmVudFNhbXBsZVBUUyA9IG1fcHJlc2VudGF0aW9uT3JkZXIuZmlu
ZFNhbXBsZVN0YXJ0aW5nT25PckFmdGVyUHJlc2VudGF0aW9uVGltZSh0aW1lKTsKICAgICBpZiAo
Y3VycmVudFNhbXBsZVBUUyA9PSBtX3ByZXNlbnRhdGlvbk9yZGVyLmVuZCgpKQogICAgICAgICBy
ZXR1cm4gZW5kKCk7CiAKQEAgLTIyOCwxNCArMjUxLDI0IEBAIERlY29kZU9yZGVyU2FtcGxlTWFw
OjppdGVyYXRvciBEZWNvZGVPcmRlclNhbXBsZU1hcDo6ZmluZFN5bmNTYW1wbGVBZnRlckRlY29k
ZUl0CiAKIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjppdGVyYXRvcl9yYW5nZSBQcmVzZW50
YXRpb25PcmRlclNhbXBsZU1hcDo6ZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0aW9uVGltZXMo
Y29uc3QgTWVkaWFUaW1lJiBiZWdpblRpbWUsIGNvbnN0IE1lZGlhVGltZSYgZW5kVGltZSkKIHsK
LSAgICBzdGQ6OnBhaXI8TWVkaWFUaW1lLCBNZWRpYVRpbWU+IHJhbmdlKGJlZ2luVGltZSwgZW5k
VGltZSk7Ci0gICAgcmV0dXJuIHN0ZDo6ZXF1YWxfcmFuZ2UoYmVnaW4oKSwgZW5kKCksIHJhbmdl
LCBTYW1wbGVQcmVzZW50YXRpb25UaW1lSXNJbnNpZGVSYW5nZUNvbXBhcmF0b3IoKSk7CisgICAg
Ly8gc3RhcnRUaW1lIGlzIGluY2x1c2l2ZSwgc28gdXNlIGxvd2VyX2JvdW5kIHRvIGluY2x1ZGUg
c2FtcGxlcyB3aWNoIHN0YXJ0IGV4YWN0bHkgYXQgc3RhcnRUaW1lLgorICAgIC8vIGVuZFRpbWUg
aXMgbm90IGluY2x1c2l2ZSwgc28gdXNlIGxvd2VyX2JvdW5kIHRvIGV4Y2x1ZGUgc2FtcGxlcyB3
aGljaCBzdGFydCBleGFjdGx5IGF0IGVuZFRpbWUuCisgICAgYXV0byBsb3dlcl9ib3VuZCA9IG1f
c2FtcGxlcy5sb3dlcl9ib3VuZChiZWdpblRpbWUpOworICAgIGF1dG8gdXBwZXJfYm91bmQgPSBt
X3NhbXBsZXMubG93ZXJfYm91bmQoZW5kVGltZSk7CisgICAgaWYgKGxvd2VyX2JvdW5kID09IHVw
cGVyX2JvdW5kKQorICAgICAgICByZXR1cm4geyBlbmQoKSwgZW5kKCkgfTsKKyAgICByZXR1cm4g
eyBsb3dlcl9ib3VuZCwgdXBwZXJfYm91bmQgfTsKIH0KIAogUHJlc2VudGF0aW9uT3JkZXJTYW1w
bGVNYXA6Oml0ZXJhdG9yX3JhbmdlIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpmaW5kU2Ft
cGxlc1dpdGhpblByZXNlbnRhdGlvblJhbmdlKGNvbnN0IE1lZGlhVGltZSYgYmVnaW5UaW1lLCBj
b25zdCBNZWRpYVRpbWUmIGVuZFRpbWUpCiB7Ci0gICAgc3RkOjpwYWlyPE1lZGlhVGltZSwgTWVk
aWFUaW1lPiByYW5nZShiZWdpblRpbWUsIGVuZFRpbWUpOwotICAgIHJldHVybiBzdGQ6OmVxdWFs
X3JhbmdlKGJlZ2luKCksIGVuZCgpLCByYW5nZSwgU2FtcGxlUHJlc2VudGF0aW9uVGltZUlzV2l0
aGluUmFuZ2VDb21wYXJhdG9yKCkpOworICAgIC8vIHN0YXJ0VGltZSBpcyBub3QgaW5jbHVzaXZl
LCBzbyB1c2UgdXBwZXJfYm91bmQgdG8gZXhjbHVkZSBzYW1wbGVzIHdoaWNoIHN0YXJ0IGV4YWN0
bHkgYXQgc3RhcnRUaW1lLgorICAgIC8vIGVuZFRpbWUgaXMgaW5jbHVzaXZlLCBzbyB1c2UgdXBw
ZXJfYm91bmQgdG8gaW5jbHVkZSBzYW1wbGVzIHdoaWNoIHN0YXJ0IGV4YWN0bHkgYXQgZW5kVGlt
ZS4KKyAgICBhdXRvIGxvd2VyX2JvdW5kID0gbV9zYW1wbGVzLnVwcGVyX2JvdW5kKGJlZ2luVGlt
ZSk7CisgICAgYXV0byB1cHBlcl9ib3VuZCA9IG1fc2FtcGxlcy51cHBlcl9ib3VuZChlbmRUaW1l
KTsKKyAgICBpZiAobG93ZXJfYm91bmQgPT0gdXBwZXJfYm91bmQpCisgICAgICAgIHJldHVybiB7
IGVuZCgpLCBlbmQoKSB9OworICAgIHJldHVybiB7IGxvd2VyX2JvdW5kLCB1cHBlcl9ib3VuZCB9
OwogfQogCiBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6aXRlcmF0b3JfcmFuZ2UgUHJlc2Vu
dGF0aW9uT3JkZXJTYW1wbGVNYXA6OmZpbmRTYW1wbGVzV2l0aGluUHJlc2VudGF0aW9uUmFuZ2VG
cm9tRW5kKGNvbnN0IE1lZGlhVGltZSYgYmVnaW5UaW1lLCBjb25zdCBNZWRpYVRpbWUmIGVuZFRp
bWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBs
ZU1hcC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9TYW1wbGVNYXAuaApp
bmRleCBkYTU2Zjk1Yzc0MmY2MWU2YWUwOGNiMWZkNDliZWEwY2ZiZjIzMGQyLi45YmE4ODZkZmM1
NDA0NDkxMWYwZjY2YTdlN2JlMzhiMjczNDcwZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU2FtcGxlTWFwLmgKQEAgLTQ2LDIzICs0NiwyMyBAQCBwdWJsaWM6
CiAgICAgdHlwZWRlZiBNYXBUeXBlOjpjb25zdF9yZXZlcnNlX2l0ZXJhdG9yIGNvbnN0X3JldmVy
c2VfaXRlcmF0b3I7CiAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8aXRlcmF0b3IsIGl0ZXJhdG9yPiBp
dGVyYXRvcl9yYW5nZTsKIAotICAgIGl0ZXJhdG9yIGJlZ2luKCkgeyByZXR1cm4gbV9zYW1wbGVz
LmJlZ2luKCk7IH0KLSAgICBjb25zdF9pdGVyYXRvciBiZWdpbigpIGNvbnN0IHsgcmV0dXJuIG1f
c2FtcGxlcy5iZWdpbigpOyB9Ci0gICAgaXRlcmF0b3IgZW5kKCkgeyByZXR1cm4gbV9zYW1wbGVz
LmVuZCgpOyB9Ci0gICAgY29uc3RfaXRlcmF0b3IgZW5kKCkgY29uc3QgeyByZXR1cm4gbV9zYW1w
bGVzLmVuZCgpOyB9Ci0gICAgcmV2ZXJzZV9pdGVyYXRvciByYmVnaW4oKSB7IHJldHVybiBtX3Nh
bXBsZXMucmJlZ2luKCk7IH0KLSAgICBjb25zdF9yZXZlcnNlX2l0ZXJhdG9yIHJiZWdpbigpIGNv
bnN0IHsgcmV0dXJuIG1fc2FtcGxlcy5yYmVnaW4oKTsgfQotICAgIHJldmVyc2VfaXRlcmF0b3Ig
cmVuZCgpIHsgcmV0dXJuIG1fc2FtcGxlcy5yZW5kKCk7IH0KLSAgICBjb25zdF9yZXZlcnNlX2l0
ZXJhdG9yIHJlbmQoKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZXMucmVuZCgpOyB9Ci0KLSAgICBp
dGVyYXRvciBmaW5kU2FtcGxlV2l0aFByZXNlbnRhdGlvblRpbWUoY29uc3QgTWVkaWFUaW1lJik7
Ci0gICAgaXRlcmF0b3IgZmluZFNhbXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0
IE1lZGlhVGltZSYpOwotICAgIGl0ZXJhdG9yIGZpbmRTYW1wbGVPbk9yQWZ0ZXJQcmVzZW50YXRp
b25UaW1lKGNvbnN0IE1lZGlhVGltZSYpOwotICAgIHJldmVyc2VfaXRlcmF0b3IgcmV2ZXJzZUZp
bmRTYW1wbGVDb250YWluaW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBNZWRpYVRpbWUmKTsKLSAg
ICByZXZlcnNlX2l0ZXJhdG9yIHJldmVyc2VGaW5kU2FtcGxlQmVmb3JlUHJlc2VudGF0aW9uVGlt
ZShjb25zdCBNZWRpYVRpbWUmKTsKLSAgICBpdGVyYXRvcl9yYW5nZSBmaW5kU2FtcGxlc0JldHdl
ZW5QcmVzZW50YXRpb25UaW1lcyhjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKTsK
LSAgICBpdGVyYXRvcl9yYW5nZSBmaW5kU2FtcGxlc1dpdGhpblByZXNlbnRhdGlvblJhbmdlKGNv
bnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpOwotICAgIGl0ZXJhdG9yX3JhbmdlIGZp
bmRTYW1wbGVzV2l0aGluUHJlc2VudGF0aW9uUmFuZ2VGcm9tRW5kKGNvbnN0IE1lZGlhVGltZSYs
IGNvbnN0IE1lZGlhVGltZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIGl0ZXJhdG9yIGJlZ2luKCkg
eyByZXR1cm4gbV9zYW1wbGVzLmJlZ2luKCk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCBjb25zdF9p
dGVyYXRvciBiZWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlcy5iZWdpbigpOyB9CisgICAg
V0VCQ09SRV9FWFBPUlQgaXRlcmF0b3IgZW5kKCkgeyByZXR1cm4gbV9zYW1wbGVzLmVuZCgpOyB9
CisgICAgV0VCQ09SRV9FWFBPUlQgY29uc3RfaXRlcmF0b3IgZW5kKCkgY29uc3QgeyByZXR1cm4g
bV9zYW1wbGVzLmVuZCgpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgcmV2ZXJzZV9pdGVyYXRvciBy
YmVnaW4oKSB7IHJldHVybiBtX3NhbXBsZXMucmJlZ2luKCk7IH0KKyAgICBXRUJDT1JFX0VYUE9S
VCBjb25zdF9yZXZlcnNlX2l0ZXJhdG9yIHJiZWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxl
cy5yYmVnaW4oKTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHJldmVyc2VfaXRlcmF0b3IgcmVuZCgp
IHsgcmV0dXJuIG1fc2FtcGxlcy5yZW5kKCk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCBjb25zdF9y
ZXZlcnNlX2l0ZXJhdG9yIHJlbmQoKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZXMucmVuZCgpOyB9
CisKKyAgICBXRUJDT1JFX0VYUE9SVCBpdGVyYXRvciBmaW5kU2FtcGxlV2l0aFByZXNlbnRhdGlv
blRpbWUoY29uc3QgTWVkaWFUaW1lJik7CisgICAgV0VCQ09SRV9FWFBPUlQgaXRlcmF0b3IgZmlu
ZFNhbXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IE1lZGlhVGltZSYpOworICAg
IFdFQkNPUkVfRVhQT1JUIGl0ZXJhdG9yIGZpbmRTYW1wbGVTdGFydGluZ09uT3JBZnRlclByZXNl
bnRhdGlvblRpbWUoY29uc3QgTWVkaWFUaW1lJik7CisgICAgV0VCQ09SRV9FWFBPUlQgcmV2ZXJz
ZV9pdGVyYXRvciByZXZlcnNlRmluZFNhbXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25UaW1lKGNv
bnN0IE1lZGlhVGltZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHJldmVyc2VfaXRlcmF0b3IgcmV2
ZXJzZUZpbmRTYW1wbGVCZWZvcmVQcmVzZW50YXRpb25UaW1lKGNvbnN0IE1lZGlhVGltZSYpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIGl0ZXJhdG9yX3JhbmdlIGZpbmRTYW1wbGVzQmV0d2VlblByZXNl
bnRhdGlvblRpbWVzKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpOworICAgIFdF
QkNPUkVfRVhQT1JUIGl0ZXJhdG9yX3JhbmdlIGZpbmRTYW1wbGVzV2l0aGluUHJlc2VudGF0aW9u
UmFuZ2UoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJik7CisgICAgV0VCQ09SRV9F
WFBPUlQgaXRlcmF0b3JfcmFuZ2UgZmluZFNhbXBsZXNXaXRoaW5QcmVzZW50YXRpb25SYW5nZUZy
b21FbmQoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJik7CiAKIHByaXZhdGU6CiAg
ICAgTWFwVHlwZSBtX3NhbXBsZXM7CkBAIC03OSwyMiArNzksMjIgQEAgcHVibGljOgogICAgIHR5
cGVkZWYgTWFwVHlwZTo6Y29uc3RfcmV2ZXJzZV9pdGVyYXRvciBjb25zdF9yZXZlcnNlX2l0ZXJh
dG9yOwogICAgIHR5cGVkZWYgc3RkOjpwYWlyPHJldmVyc2VfaXRlcmF0b3IsIHJldmVyc2VfaXRl
cmF0b3I+IHJldmVyc2VfaXRlcmF0b3JfcmFuZ2U7CiAKLSAgICBpdGVyYXRvciBiZWdpbigpIHsg
cmV0dXJuIG1fc2FtcGxlcy5iZWdpbigpOyB9Ci0gICAgY29uc3RfaXRlcmF0b3IgYmVnaW4oKSBj
b25zdCB7IHJldHVybiBtX3NhbXBsZXMuYmVnaW4oKTsgfQotICAgIGl0ZXJhdG9yIGVuZCgpIHsg
cmV0dXJuIG1fc2FtcGxlcy5lbmQoKTsgfQotICAgIGNvbnN0X2l0ZXJhdG9yIGVuZCgpIGNvbnN0
IHsgcmV0dXJuIG1fc2FtcGxlcy5lbmQoKTsgfQotICAgIHJldmVyc2VfaXRlcmF0b3IgcmJlZ2lu
KCkgeyByZXR1cm4gbV9zYW1wbGVzLnJiZWdpbigpOyB9Ci0gICAgY29uc3RfcmV2ZXJzZV9pdGVy
YXRvciByYmVnaW4oKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZXMucmJlZ2luKCk7IH0KLSAgICBy
ZXZlcnNlX2l0ZXJhdG9yIHJlbmQoKSB7IHJldHVybiBtX3NhbXBsZXMucmVuZCgpOyB9Ci0gICAg
Y29uc3RfcmV2ZXJzZV9pdGVyYXRvciByZW5kKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVzLnJl
bmQoKTsgfQotCi0gICAgaXRlcmF0b3IgZmluZFNhbXBsZVdpdGhEZWNvZGVLZXkoY29uc3QgS2V5
VHlwZSYpOwotICAgIHJldmVyc2VfaXRlcmF0b3IgcmV2ZXJzZUZpbmRTYW1wbGVXaXRoRGVjb2Rl
S2V5KGNvbnN0IEtleVR5cGUmKTsKLSAgICByZXZlcnNlX2l0ZXJhdG9yIGZpbmRTeW5jU2FtcGxl
UHJpb3JUb1ByZXNlbnRhdGlvblRpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1l
JiB0aHJlc2hvbGQgPSBNZWRpYVRpbWU6OnBvc2l0aXZlSW5maW5pdGVUaW1lKCkpOwotICAgIHJl
dmVyc2VfaXRlcmF0b3IgZmluZFN5bmNTYW1wbGVQcmlvclRvRGVjb2RlSXRlcmF0b3IocmV2ZXJz
ZV9pdGVyYXRvcik7Ci0gICAgaXRlcmF0b3IgZmluZFN5bmNTYW1wbGVBZnRlclByZXNlbnRhdGlv
blRpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJiB0aHJlc2hvbGQgPSBNZWRp
YVRpbWU6OnBvc2l0aXZlSW5maW5pdGVUaW1lKCkpOwotICAgIGl0ZXJhdG9yIGZpbmRTeW5jU2Ft
cGxlQWZ0ZXJEZWNvZGVJdGVyYXRvcihpdGVyYXRvcik7Ci0gICAgcmV2ZXJzZV9pdGVyYXRvcl9y
YW5nZSBmaW5kRGVwZW5kZW50U2FtcGxlcyhNZWRpYVNhbXBsZSopOworICAgIFdFQkNPUkVfRVhQ
T1JUIGl0ZXJhdG9yIGJlZ2luKCkgeyByZXR1cm4gbV9zYW1wbGVzLmJlZ2luKCk7IH0KKyAgICBX
RUJDT1JFX0VYUE9SVCBjb25zdF9pdGVyYXRvciBiZWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Ft
cGxlcy5iZWdpbigpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgaXRlcmF0b3IgZW5kKCkgeyByZXR1
cm4gbV9zYW1wbGVzLmVuZCgpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgY29uc3RfaXRlcmF0b3Ig
ZW5kKCkgY29uc3QgeyByZXR1cm4gbV9zYW1wbGVzLmVuZCgpOyB9CisgICAgV0VCQ09SRV9FWFBP
UlQgcmV2ZXJzZV9pdGVyYXRvciByYmVnaW4oKSB7IHJldHVybiBtX3NhbXBsZXMucmJlZ2luKCk7
IH0KKyAgICBXRUJDT1JFX0VYUE9SVCBjb25zdF9yZXZlcnNlX2l0ZXJhdG9yIHJiZWdpbigpIGNv
bnN0IHsgcmV0dXJuIG1fc2FtcGxlcy5yYmVnaW4oKTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHJl
dmVyc2VfaXRlcmF0b3IgcmVuZCgpIHsgcmV0dXJuIG1fc2FtcGxlcy5yZW5kKCk7IH0KKyAgICBX
RUJDT1JFX0VYUE9SVCBjb25zdF9yZXZlcnNlX2l0ZXJhdG9yIHJlbmQoKSBjb25zdCB7IHJldHVy
biBtX3NhbXBsZXMucmVuZCgpOyB9CisKKyAgICBXRUJDT1JFX0VYUE9SVCBpdGVyYXRvciBmaW5k
U2FtcGxlV2l0aERlY29kZUtleShjb25zdCBLZXlUeXBlJik7CisgICAgV0VCQ09SRV9FWFBPUlQg
cmV2ZXJzZV9pdGVyYXRvciByZXZlcnNlRmluZFNhbXBsZVdpdGhEZWNvZGVLZXkoY29uc3QgS2V5
VHlwZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHJldmVyc2VfaXRlcmF0b3IgZmluZFN5bmNTYW1w
bGVQcmlvclRvUHJlc2VudGF0aW9uVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRp
bWUmIHRocmVzaG9sZCA9IE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0ZVRpbWUoKSk7CisgICAg
V0VCQ09SRV9FWFBPUlQgcmV2ZXJzZV9pdGVyYXRvciBmaW5kU3luY1NhbXBsZVByaW9yVG9EZWNv
ZGVJdGVyYXRvcihyZXZlcnNlX2l0ZXJhdG9yKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBpdGVyYXRv
ciBmaW5kU3luY1NhbXBsZUFmdGVyUHJlc2VudGF0aW9uVGltZShjb25zdCBNZWRpYVRpbWUmLCBj
b25zdCBNZWRpYVRpbWUmIHRocmVzaG9sZCA9IE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0ZVRp
bWUoKSk7CisgICAgV0VCQ09SRV9FWFBPUlQgaXRlcmF0b3IgZmluZFN5bmNTYW1wbGVBZnRlckRl
Y29kZUl0ZXJhdG9yKGl0ZXJhdG9yKTsKKyAgICBXRUJDT1JFX0VYUE9SVCByZXZlcnNlX2l0ZXJh
dG9yX3JhbmdlIGZpbmREZXBlbmRlbnRTYW1wbGVzKE1lZGlhU2FtcGxlKik7CiAKIHByaXZhdGU6
CiAgICAgTWFwVHlwZSBtX3NhbXBsZXM7CkBAIC0xMDMsMjQgKzEwMywyNCBAQCBwcml2YXRlOgog
CiBjbGFzcyBTYW1wbGVNYXAgewogcHVibGljOgotICAgIFNhbXBsZU1hcCgpCisgICAgV0VCQ09S
RV9FWFBPUlQgU2FtcGxlTWFwKCkKICAgICAgICAgOiBtX3RvdGFsU2l6ZSgwKQogICAgIHsKICAg
ICB9CiAKLSAgICBib29sIGVtcHR5KCkgY29uc3Q7Ci0gICAgdm9pZCBjbGVhcigpOwotICAgIHZv
aWQgYWRkU2FtcGxlKE1lZGlhU2FtcGxlJik7Ci0gICAgdm9pZCByZW1vdmVTYW1wbGUoTWVkaWFT
YW1wbGUqKTsKLSAgICBzaXplX3Qgc2l6ZUluQnl0ZXMoKSBjb25zdCB7IHJldHVybiBtX3RvdGFs
U2l6ZTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgZW1wdHkoKSBjb25zdDsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGNsZWFyKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRTYW1w
bGUoTWVkaWFTYW1wbGUmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbW92ZVNhbXBsZShN
ZWRpYVNhbXBsZSopOworICAgIFdFQkNPUkVfRVhQT1JUIHNpemVfdCBzaXplSW5CeXRlcygpIGNv
bnN0IHsgcmV0dXJuIG1fdG90YWxTaXplOyB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBJPgog
ICAgIHZvaWQgYWRkUmFuZ2UoSSBiZWdpbiwgSSBlbmQpOwogCi0gICAgRGVjb2RlT3JkZXJTYW1w
bGVNYXAmIGRlY29kZU9yZGVyKCkgeyByZXR1cm4gbV9kZWNvZGVPcmRlcjsgfQotICAgIGNvbnN0
IERlY29kZU9yZGVyU2FtcGxlTWFwJiBkZWNvZGVPcmRlcigpIGNvbnN0IHsgcmV0dXJuIG1fZGVj
b2RlT3JkZXI7IH0KLSAgICBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcCYgcHJlc2VudGF0aW9u
T3JkZXIoKSB7IHJldHVybiBtX2RlY29kZU9yZGVyLm1fcHJlc2VudGF0aW9uT3JkZXI7IH0KLSAg
ICBjb25zdCBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcCYgcHJlc2VudGF0aW9uT3JkZXIoKSBj
b25zdCB7IHJldHVybiBtX2RlY29kZU9yZGVyLm1fcHJlc2VudGF0aW9uT3JkZXI7IH0KKyAgICBX
RUJDT1JFX0VYUE9SVCBEZWNvZGVPcmRlclNhbXBsZU1hcCYgZGVjb2RlT3JkZXIoKSB7IHJldHVy
biBtX2RlY29kZU9yZGVyOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgY29uc3QgRGVjb2RlT3JkZXJT
YW1wbGVNYXAmIGRlY29kZU9yZGVyKCkgY29uc3QgeyByZXR1cm4gbV9kZWNvZGVPcmRlcjsgfQor
ICAgIFdFQkNPUkVfRVhQT1JUIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwJiBwcmVzZW50YXRp
b25PcmRlcigpIHsgcmV0dXJuIG1fZGVjb2RlT3JkZXIubV9wcmVzZW50YXRpb25PcmRlcjsgfQor
ICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwJiBwcmVz
ZW50YXRpb25PcmRlcigpIGNvbnN0IHsgcmV0dXJuIG1fZGVjb2RlT3JkZXIubV9wcmVzZW50YXRp
b25PcmRlcjsgfQogCiBwcml2YXRlOgogICAgIERlY29kZU9yZGVyU2FtcGxlTWFwIG1fZGVjb2Rl
T3JkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHAKaW5kZXggZDlhZTUyNzg2MzVlYzhmYWI4YmE3ZGY1MmQ3MzQxNGE1ODgzZWUw
MS4uMmI0YWM1ODU0YTE3YmFlNDA4YmNlODdjYmM0MTc3MjUwNzU2NmFlZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAt
NzA1LDcgKzcwNSw3IEBAIHN0YXRpYyBQbGF0Zm9ybVRpbWVSYW5nZXMgcmVtb3ZlU2FtcGxlc0Zy
b21UcmFja0J1ZmZlcihjb25zdCBEZWNvZGVPcmRlclNhbXBsZU1hCiAgICAgICAgICAgICAgICAg
YWRkaXRpb25hbEVyYXNlZFJhbmdlcy5hZGQocHJldmlvdXNTYW1wbGUucHJlc2VudGF0aW9uVGlt
ZSgpICsgcHJldmlvdXNTYW1wbGUuZHVyYXRpb24oKSwgZXJhc2VkU3RhcnQpOwogICAgICAgICB9
CiAKLSAgICAgICAgYXV0byBlbmRJdGVyYXRvciA9IHRyYWNrQnVmZmVyLnNhbXBsZXMucHJlc2Vu
dGF0aW9uT3JkZXIoKS5maW5kU2FtcGxlT25PckFmdGVyUHJlc2VudGF0aW9uVGltZShlcmFzZWRF
bmQpOworICAgICAgICBhdXRvIGVuZEl0ZXJhdG9yID0gdHJhY2tCdWZmZXIuc2FtcGxlcy5wcmVz
ZW50YXRpb25PcmRlcigpLmZpbmRTYW1wbGVTdGFydGluZ09uT3JBZnRlclByZXNlbnRhdGlvblRp
bWUoZXJhc2VkRW5kKTsKICAgICAgICAgaWYgKGVuZEl0ZXJhdG9yID09IHRyYWNrQnVmZmVyLnNh
bXBsZXMucHJlc2VudGF0aW9uT3JkZXIoKS5lbmQoKSkKICAgICAgICAgICAgIGFkZGl0aW9uYWxF
cmFzZWRSYW5nZXMuYWRkKGVyYXNlZEVuZCwgTWVkaWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGlt
ZSgpKTsKICAgICAgICAgZWxzZSB7CkBAIC03NzUsNyArNzc1LDcgQEAgdm9pZCBTb3VyY2VCdWZm
ZXI6OnJlbW92ZUNvZGVkRnJhbWVzKGNvbnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlh
VGltZSYgZW4KICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmVtb3ZlUHJlc2VudGF0aW9uRW5k
ID0gdHJhY2tCdWZmZXIuc2FtcGxlcy5wcmVzZW50YXRpb25PcmRlcigpLmZpbmRTYW1wbGVXaXRo
UHJlc2VudGF0aW9uVGltZShyZW1vdmVEZWNvZGVFbmQtPnNlY29uZC0+cHJlc2VudGF0aW9uVGlt
ZSgpKTsKIAotICAgICAgICBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6aXRlcmF0b3IgcmVt
b3ZlUHJlc2VudGF0aW9uU3RhcnQgPSB0cmFja0J1ZmZlci5zYW1wbGVzLnByZXNlbnRhdGlvbk9y
ZGVyKCkuZmluZFNhbXBsZU9uT3JBZnRlclByZXNlbnRhdGlvblRpbWUoc3RhcnQpOworICAgICAg
ICBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6aXRlcmF0b3IgcmVtb3ZlUHJlc2VudGF0aW9u
U3RhcnQgPSB0cmFja0J1ZmZlci5zYW1wbGVzLnByZXNlbnRhdGlvbk9yZGVyKCkuZmluZFNhbXBs
ZVN0YXJ0aW5nT25PckFmdGVyUHJlc2VudGF0aW9uVGltZShzdGFydCk7CiAgICAgICAgIGlmIChy
ZW1vdmVQcmVzZW50YXRpb25TdGFydCA9PSByZW1vdmVQcmVzZW50YXRpb25FbmQpCiAgICAgICAg
ICAgICBjb250aW51ZTsKIApAQCAtMTg0Miw3ICsxODQyLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6
OnJlZW5xdWV1ZU1lZGlhRm9yVGltZShUcmFja0J1ZmZlciYgdHJhY2tCdWZmZXIsIGNvbnN0IEF0
b21pY1MKICAgICBhdXRvIGN1cnJlbnRTYW1wbGVQVFNJdGVyYXRvciA9IHRyYWNrQnVmZmVyLnNh
bXBsZXMucHJlc2VudGF0aW9uT3JkZXIoKS5maW5kU2FtcGxlQ29udGFpbmluZ1ByZXNlbnRhdGlv
blRpbWUodGltZSk7CiAKICAgICBpZiAoY3VycmVudFNhbXBsZVBUU0l0ZXJhdG9yID09IHRyYWNr
QnVmZmVyLnNhbXBsZXMucHJlc2VudGF0aW9uT3JkZXIoKS5lbmQoKSkKLSAgICAgICAgY3VycmVu
dFNhbXBsZVBUU0l0ZXJhdG9yID0gdHJhY2tCdWZmZXIuc2FtcGxlcy5wcmVzZW50YXRpb25PcmRl
cigpLmZpbmRTYW1wbGVPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKHRpbWUpOworICAgICAgICBj
dXJyZW50U2FtcGxlUFRTSXRlcmF0b3IgPSB0cmFja0J1ZmZlci5zYW1wbGVzLnByZXNlbnRhdGlv
bk9yZGVyKCkuZmluZFNhbXBsZVN0YXJ0aW5nT25PckFmdGVyUHJlc2VudGF0aW9uVGltZSh0aW1l
KTsKIAogICAgIGlmIChjdXJyZW50U2FtcGxlUFRTSXRlcmF0b3IgPT0gdHJhY2tCdWZmZXIuc2Ft
cGxlcy5wcmVzZW50YXRpb25PcmRlcigpLmVuZCgpCiAgICAgICAgIHx8IChjdXJyZW50U2FtcGxl
UFRTSXRlcmF0b3ItPmZpcnN0IC0gdGltZSkgPiBNZWRpYVNvdXJjZTo6Y3VycmVudFRpbWVGdWRn
ZUZhY3RvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDMzN2E0ZWExOTY3NjYwOGIyMzAyZDMzMjBkMGY5YzNmYzEzZjdmMzku
LjVkMTg0OGFjNzNlYmQ2NDNjOGIzNDNiOGJlODZiNGIwMTFlNjI4YTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU5MjIsNyAr
NTkyMiw3IEBACiAJCUNEQ0ZBQkJEMThDMEFGNzgwMDZGODQ1MCAvKiBTZWxlY3Rpb25TdWJ0cmVl
Um9vdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RD
RkFCQkIxOEMwQUUzMTAwNkY4NDUwIC8qIFNlbGVjdGlvblN1YnRyZWVSb290LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RDRkFCQkUxOEMwQUY4
NDAwNkY4NDUwIC8qIFNlbGVjdGlvblN1YnRyZWVSb290LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0ZBQkJDMThDMEFGMTkwMDZGODQ1MCAvKiBT
ZWxlY3Rpb25TdWJ0cmVlUm9vdC5jcHAgKi87IH07CiAJCUNERDcwODk2MTgzNTlGNkYwMDJCM0RD
NiAvKiBTYW1wbGVNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0RENzA4OTQxODM1OUY2RTAwMkIzREM2IC8qIFNhbXBsZU1hcC5jcHAgKi87IH07
Ci0JCUNERDcwODk3MTgzNTlGNkYwMDJCM0RDNiAvKiBTYW1wbGVNYXAuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERDcwODk1MTgzNTlGNkYwMDJCM0RD
NiAvKiBTYW1wbGVNYXAuaCAqLzsgfTsKKwkJQ0RENzA4OTcxODM1OUY2RjAwMkIzREM2IC8qIFNh
bXBsZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0RENzA4OTUxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEREMxRTdBMThBOTUyRjMwMDI3QTlE
NCAvKiBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREMxRTc5MThBOTUyRjMwMDI3QTlENCAvKiBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQuaCAqLzsgfTsKIAkJQ0RERTAyRUQxOEIzRUQ2RDAwQ0Y3RkYxIC8q
IENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RERTAyRUIxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Np
b25BVkZvdW5kYXRpb25PYmpDLm1tICovOyB9OwogCQlDRERFMDJGMDE4QjU2NTEzMDBDRjdGRjEg
LyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREUwMkVGMThCNTY1MTIwMENGN0ZGMSAvKiBDRE1TZXNz
aW9uQVZTdHJlYW1TZXNzaW9uLm1tICovOyB9OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGMxODhlYTVhNTYyYTRlYmQyODBkMDZmZjVmNWNmMjc5
NWNiNDU1ZTYuLjlmYzdiZjE3MDdiZDczNTJlYTE0ZDg4NjE0YTg3YzM0MmZjMzU1ZmMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MiBAQAorMjAxNy0wMi0wNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAg
ICAgICBQbGF5YmFjayBzdGFsbHMgd2hlbiBhIFNvdXJjZUJ1ZmZlciBhcHBlbmQgY2F1c2VzIGZy
YW1lIGV2aWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjc4MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgbmV3IGNvcnJlY3RuZXNzIHRlc3RzIGZvciB0aGUgV2ViY29yZTo6U2FtcGxlTWFw
IGNsYXNzLiBBZGQgYWRkaXRpb25hbCBzdWJ0ZXN0cworICAgICAgICBmb3IgdGhlIFdURjo6TWVk
aWFUaW1lIGNsYXNzLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvTWVkaWFUaW1lLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9TYW1wbGVNYXAuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdURjo6b3BlcmF0b3I8PCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpUZXN0U2Ft
cGxlOjpjcmVhdGUpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VGVzdFNhbXBsZTo6VGVzdFNh
bXBsZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUX0YpOgorCiAyMDE3LTAxLTI2ICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEF1dG9wbGF5IG11dGVk
IHZpZGVvcyBzdG9wIHBsYXliYWNrIG9mIGFueSBzdHJlYW1pbmcgYXBwIGluIHRoZSBiYWNrZ3Jv
dW5kCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDE3NGJjM2VjZDU3M2Y1NjhlYjg5NWNhOWUw
ZDYxN2U0NTM1ODU5NmIuLjkzMjc3Mzc3YTNlZjkxNTRiMjQxM2ZiNjkxNjc2YmU2ZDI0NzEwZTAg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MzEsNiArNTMxLDcgQEAKIAkJQ0RDOEU0OTUx
QkM2RjEwODAwNTk0RkVDIC8qIHZpZGVvLXdpdGgtYXVkaW8ubXA0IGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzhFNDhBMUJDNUM5NjIwMDU5
NEZFQyAvKiB2aWRlby13aXRoLWF1ZGlvLm1wNCAqLzsgfTsKIAkJQ0RDOEU0OTYxQkM2RjEwODAw
NTk0RkVDIC8qIHZpZGVvLXdpdGhvdXQtYXVkaW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREM4RTQ4QjFCQzVDOTYyMDA1OTRGRUMg
LyogdmlkZW8td2l0aG91dC1hdWRpby5odG1sICovOyB9OwogCQlDREM4RTQ5NzFCQzZGMTA4MDA1
OTRGRUMgLyogdmlkZW8td2l0aG91dC1hdWRpby5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDOEU0OEMxQkM1Qzk2MjAwNTk0RkVDIC8q
IHZpZGVvLXdpdGhvdXQtYXVkaW8ubXA0ICovOyB9OworCQlDRENGQTdBQTFFNDUxODMyMDBDMjQz
M0QgLyogU2FtcGxlTWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENEQ0ZBN0E5MUU0NTEyMkYwMEMyNDMzRCAvKiBTYW1wbGVNYXAuY3BwICovOyB9
OwogCQlDREUxOTVCNTFDRkUwQjg4MDA1M0QyNTYgLyogRnVsbHNjcmVlblRvcENvbnRlbnRJbnNl
dC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENERTE5NUIyMUNGRTBBREUwMDUzRDI1NiAvKiBGdWxsc2NyZWVuVG9wQ29udGVudEluc2V0
Lmh0bWwgKi87IH07CiAJCUNFMDZERjlCMUUxODUxRjIwMEU1NzBDOSAvKiBTZWN1cml0eU9yaWdp
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTA2
REY5QTFFMTg1MUYyMDBFNTcwQzkgLyogU2VjdXJpdHlPcmlnaW4uY3BwICovOyB9OwogCQlDRTE0
RjFBNDE4MTg3M0IwMDAxQzI3MDUgLyogV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jh
c2guaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRTE0RjFBMjE4MTg3M0IwMDAxQzI3MDUgLyogV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVj
dFRvVVJMQ3Jhc2guaHRtbCAqLzsgfTsKQEAgLTEzMTksNiArMTMyMCw3IEBACiAJCUNEQzhFNDhB
MUJDNUM5NjIwMDU5NEZFQyAvKiB2aWRlby13aXRoLWF1ZGlvLm1wNCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSAidmlkZW8td2l0
aC1hdWRpby5tcDQiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREM4RTQ4QjFCQzVD
OTYyMDA1OTRGRUMgLyogdmlkZW8td2l0aG91dC1hdWRpby5odG1sICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5o
dG1sOyBwYXRoID0gInZpZGVvLXdpdGhvdXQtYXVkaW8uaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNEQzhFNDhDMUJDNUM5NjIwMDU5NEZFQyAvKiB2aWRlby13aXRob3V0LWF1
ZGlvLm1wNCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IGZpbGU7IHBhdGggPSAidmlkZW8td2l0aG91dC1hdWRpby5tcDQiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDRENGQTdBOTFFNDUxMjJGMDBDMjQzM0QgLyogU2FtcGxlTWFwLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNhbXBsZU1hcC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTE5NUIyMUNGRTBBREUwMDUzRDI1NiAvKiBGdWxs
c2NyZWVuVG9wQ29udGVudEluc2V0Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBG
dWxsc2NyZWVuVG9wQ29udGVudEluc2V0Lmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNERTE5NUIzMUNGRTBBREUwMDUzRDI1NiAvKiBGdWxsc2NyZWVuVG9wQ29udGVudEluc2V0
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRnVsbHNjcmVlblRv
cENvbnRlbnRJbnNldC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UwNkRGOUEx
RTE4NTFGMjAwRTU3MEM5IC8qIFNlY3VyaXR5T3JpZ2luLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNlY3VyaXR5T3JpZ2luLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE2MTEsNiArMTYxMyw3IEBACiAJCQkJODNCODhBMzMxQzgwMDU2RDAwQkIy
NDE4IC8qIEhUTUxQYXJzZXJJZGlvbXMuY3BwICovLAogCQkJCTE0NDY0MDEyMTY3QTgzMDUwMDBC
RDIxOCAvKiBMYXlvdXRVbml0LmNwcCAqLywKIAkJCQlDRDIyNUMwNzFDNDVBNjkyMDAxNDA3NjEg
LyogUGFyc2VkQ29udGVudFJhbmdlLmNwcCAqLywKKwkJCQlDRENGQTdBOTFFNDUxMjJGMDBDMjQz
M0QgLyogU2FtcGxlTWFwLmNwcCAqLywKIAkJCQlDRTA2REY5QTFFMTg1MUYyMDBFNTcwQzkgLyog
U2VjdXJpdHlPcmlnaW4uY3BwICovLAogCQkJCTQxOTczQjVDMUFGMjI4NzUwMDZDN0IzNiAvKiBT
aGFyZWRCdWZmZXIuY3BwICovLAogCQkJCUExNzk5MTg5MUUxQ0EyNDEwMEE1MDVFRCAvKiBTaGFy
ZWRCdWZmZXJUZXN0LmNwcCAqLywKQEAgLTI3MzQsNiArMjczNyw3IEBACiAJCQkJN0NDRTdGMTkx
QTQxMUFFNjAwNDQ3QzRDIC8qIFdlYkFyY2hpdmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0
Q0Y4QkQxRDgzNjBDQzAwMDFDRThEIC8qIFdLVGh1bWJuYWlsVmlldy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDODNFMDRDMUQwQTY0MTgwMEZFQkNGMyAvKiBXZWJDb3JlTlNVUkxTZXNzaW9uLm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJQ0RDRkE3QUExRTQ1MTgzMjAwQzI0MzNEIC8qIFNhbXBsZU1h
cC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxQTFBNDExQUU2MDA0NDdDNEMgLyogV2Vi
Q29yZVN0YXRpc3RpY3NXaXRoTm9XZWJQcm9jZXNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdD
Q0U3RUFCMUE0MTFBMjQwMDQ0N0M0QyAvKiBXZWJLaXRBZ25vc3RpY1Rlc3QubW0gaW4gU291cmNl
cyAqLywKIAkJCQk1MTcxNEVCODFDRjhDQTE3MDA0NzIzQzQgLyogV2ViUHJvY2Vzc0tpbGxJREJD
bGVhbnVwLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9NZWRpYVRpbWUuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
TWVkaWFUaW1lLmNwcAppbmRleCBiN2QxYzZlNmRkMzQ5NDFkZGZhZGU4ODIxNGRiOGViNzRhNTQw
NzU4Li5hYzhiYjFjM2EwZDNmYTA0MTliM2FlNGU1NDBlOWVhOTViZTJjYTM5IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZWRpYVRpbWUuY3BwCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01lZGlhVGltZS5jcHAKQEAgLTg1LDYgKzg1LDggQEAg
VEVTVChXVEYsIE1lZGlhVGltZSkKICAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDEsIDEpICE9IE1l
ZGlhVGltZSgyLCAxKSwgdHJ1ZSk7CiAgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgyLCAxKSA9PSBN
ZWRpYVRpbWUoMiwgMSksIHRydWUpOwogICAgIEVYUEVDVF9FUShNZWRpYVRpbWUoMiwgMSkgPT0g
TWVkaWFUaW1lKDQsIDIpLCB0cnVlKTsKKyAgICBFWFBFQ1RfVFJVRSgoYm9vbClNZWRpYVRpbWUo
MSwgMSkpOworICAgIEVYUEVDVF9UUlVFKCFNZWRpYVRpbWUoMCwgMSkpOwogCiAgICAgLy8gQWRk
aXRpb24gT3BlcmF0b3JzCiAgICAgRVhQRUNUX0VRKE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0
ZVRpbWUoKSArIE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0ZVRpbWUoKSwgTWVkaWFUaW1lOjpw
b3NpdGl2ZUluZmluaXRlVGltZSgpKTsKQEAgLTE1OCw4ICsxNjAsNiBAQCBURVNUKFdURiwgTWVk
aWFUaW1lKQogICAgIEVYUEVDVF9FUShhYnMoTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKSwgTWVk
aWFUaW1lOjppbnZhbGlkVGltZSgpKTsKICAgICBFWFBFQ1RfRVEoYWJzKE1lZGlhVGltZSgxLCAx
KSksIE1lZGlhVGltZSgxLCAxKSk7CiAgICAgRVhQRUNUX0VRKGFicyhNZWRpYVRpbWUoLTEsIDEp
KSwgTWVkaWFUaW1lKDEsIDEpKTsKLSAgICBFWFBFQ1RfRVEoYWJzKE1lZGlhVGltZSgtMSwgLTEp
KSwgTWVkaWFUaW1lKC0xLCAtMSkpOwotICAgIEVYUEVDVF9FUShhYnMoTWVkaWFUaW1lKDEsIC0x
KSksIE1lZGlhVGltZSgtMSwgLTEpKTsKIAogICAgIC8vIEZsb2F0aW5nIFBvaW50IEZ1bmN0aW9u
cwogICAgIEVYUEVDVF9FUShNZWRpYVRpbWU6OmNyZWF0ZVdpdGhGbG9hdCgxLjBmKSwgTWVkaWFU
aW1lKDEsIDEpKTsKQEAgLTIwMCwxNCArMjAwLDE0IEBAIFRFU1QoV1RGLCBNZWRpYVRpbWUpCiAg
ICAgLy8gT3ZlcmZsb3cgQmVoYXZpb3IKICAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lOjpjcmVhdGVX
aXRoRmxvYXQocG93KDIuMGYsIDY0LjBmKSksIE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0ZVRp
bWUoKSk7CiAgICAgRVhQRUNUX0VRKE1lZGlhVGltZTo6Y3JlYXRlV2l0aEZsb2F0KC1wb3coMi4w
ZiwgNjQuMGYpKSwgTWVkaWFUaW1lOjpuZWdhdGl2ZUluZmluaXRlVGltZSgpKTsKLSAgICBFWFBF
Q1RfRVEoTWVkaWFUaW1lOjpjcmVhdGVXaXRoRmxvYXQocG93KDIuMGYsIDYzLjBmKSwgMikudGlt
ZVNjYWxlKCksIDEpOwotICAgIEVYUEVDVF9FUShNZWRpYVRpbWU6OmNyZWF0ZVdpdGhGbG9hdChw
b3coMi4wZiwgNjMuMGYpLCAzKS50aW1lU2NhbGUoKSwgMSk7CisgICAgRVhQRUNUX0VRKE1lZGlh
VGltZTo6Y3JlYXRlV2l0aEZsb2F0KHBvdygyLjBmLCA2My4wZiksIDIpLnRpbWVTY2FsZSgpLCAx
VSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZTo6Y3JlYXRlV2l0aEZsb2F0KHBvdygyLjBmLCA2
My4wZiksIDMpLnRpbWVTY2FsZSgpLCAxVSk7CiAgICAgRVhQRUNUX0VRKE1lZGlhVGltZTo6Y3Jl
YXRlV2l0aERvdWJsZShwb3coMi4wLCA2NC4wKSksIE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0
ZVRpbWUoKSk7CiAgICAgRVhQRUNUX0VRKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZSgtcG93
KDIuMCwgNjQuMCkpLCBNZWRpYVRpbWU6Om5lZ2F0aXZlSW5maW5pdGVUaW1lKCkpOwotICAgIEVY
UEVDVF9FUShNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG93KDIuMCwgNjMuMCksIDIpLnRp
bWVTY2FsZSgpLCAxKTsKLSAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91Ymxl
KHBvdygyLjAsIDYzLjApLCAzKS50aW1lU2NhbGUoKSwgMSk7Ci0gICAgRVhQRUNUX0VRKChNZWRp
YVRpbWUobnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgpLCAyKSArIE1lZGlhVGltZShudW1l
cmljX2xpbWl0czxpbnQ2NF90Pjo6bWF4KCksIDIpKS50aW1lU2NhbGUoKSwgMSk7Ci0gICAgRVhQ
RUNUX0VRKChNZWRpYVRpbWUobnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1pbigpLCAyKSAtIE1l
ZGlhVGltZShudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWF4KCksIDIpKS50aW1lU2NhbGUoKSwg
MSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3coMi4wLCA2
My4wKSwgMikudGltZVNjYWxlKCksIDFVKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lOjpjcmVh
dGVXaXRoRG91YmxlKHBvdygyLjAsIDYzLjApLCAzKS50aW1lU2NhbGUoKSwgMVUpOworICAgIEVY
UEVDVF9FUSgoTWVkaWFUaW1lKG51bWVyaWNfbGltaXRzPGludDY0X3Q+OjptYXgoKSwgMikgKyBN
ZWRpYVRpbWUobnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgpLCAyKSkudGltZVNjYWxlKCks
IDFVKTsKKyAgICBFWFBFQ1RfRVEoKE1lZGlhVGltZShudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6
bWluKCksIDIpIC0gTWVkaWFUaW1lKG51bWVyaWNfbGltaXRzPGludDY0X3Q+OjptYXgoKSwgMikp
LnRpbWVTY2FsZSgpLCAxVSk7CiAgICAgRVhQRUNUX0VRKE1lZGlhVGltZShudW1lcmljX2xpbWl0
czxpbnQ2NF90Pjo6bWF4KCksIDEpICsgTWVkaWFUaW1lKG51bWVyaWNfbGltaXRzPGludDY0X3Q+
OjptYXgoKSwgMSksIE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0ZVRpbWUoKSk7CiAgICAgRVhQ
RUNUX0VRKE1lZGlhVGltZShudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWluKCksIDEpICsgTWVk
aWFUaW1lKG51bWVyaWNfbGltaXRzPGludDY0X3Q+OjptaW4oKSwgMSksIE1lZGlhVGltZTo6bmVn
YXRpdmVJbmZpbml0ZVRpbWUoKSk7CiAgICAgRVhQRUNUX0VRKE1lZGlhVGltZShudW1lcmljX2xp
bWl0czxpbnQ2NF90Pjo6bWluKCksIDEpIC0gTWVkaWFUaW1lKG51bWVyaWNfbGltaXRzPGludDY0
X3Q+OjptYXgoKSwgMSksIE1lZGlhVGltZTo6bmVnYXRpdmVJbmZpbml0ZVRpbWUoKSk7CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvU2FtcGxlTWFwLmNwcCBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9TYW1wbGVNYXAuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY3ZTkxYzZmZDFmMjI0OWYyOWYwN2Q2N2Y3MTg3YzNjZDQzZTE1YzUKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvU2FtcGxlTWFwLmNwcApA
QCAtMCwwICsxLDIyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJUZXN0LmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9NZWRpYVNhbXBsZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2FtcGxlTWFwLmg+CisKK25h
bWVzcGFjZSBXVEYgeworaW5saW5lIHN0ZDo6b3N0cmVhbSYgb3BlcmF0b3I8PChzdGQ6Om9zdHJl
YW0mIG9zLCBjb25zdCBNZWRpYVRpbWUmIHRpbWUpCit7CisgICAgaWYgKHRpbWUuaGFzRG91Ymxl
VmFsdWUoKSkKKyAgICAgICAgb3MgPDwgInsgIiA8PCB0aW1lLnRvRG91YmxlKCkgPDwgIiB9IjsK
KyAgICBlbHNlCisgICAgICAgIG9zIDw8ICJ7ICIgPDwgdGltZS50aW1lVmFsdWUoKSA8PCAiIC8g
IiA8PCB0aW1lLnRpbWVTY2FsZSgpIDw8ICIsICIgPDwgdGltZS50b0RvdWJsZSgpIDw8ICIgfSI7
CisgICAgcmV0dXJuIG9zOworfQorfQorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitjbGFzcyBUZXN0U2FtcGxlIDogcHVibGljIE1lZGlh
U2FtcGxlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFRlc3RTYW1wbGU+IGNyZWF0ZShjb25z
dCBNZWRpYVRpbWUmIHByZXNlbnRhdGlvblRpbWUsIGNvbnN0IE1lZGlhVGltZSYgZGVjb2RlVGlt
ZSwgY29uc3QgTWVkaWFUaW1lJiBkdXJhdGlvbiwgU2FtcGxlRmxhZ3MgZmxhZ3MpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBUZXN0U2FtcGxlKHByZXNlbnRhdGlvblRpbWUs
IGRlY29kZVRpbWUsIGR1cmF0aW9uLCBmbGFncykpOworICAgIH0KKyAgICAKKyAgICBNZWRpYVRp
bWUgcHJlc2VudGF0aW9uVGltZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJlc2VudGF0aW9u
VGltZTsgfQorICAgIE1lZGlhVGltZSBkZWNvZGVUaW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9kZWNvZGVUaW1lOyB9CisgICAgTWVkaWFUaW1lIGR1cmF0aW9uKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9kdXJhdGlvbjsgfQorICAgIEF0b21pY1N0cmluZyB0cmFja0lEKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV90cmFja0lEOyB9CisgICAgdm9pZCBzZXRUcmFja0lEKGNvbnN0IFN0cmlu
ZyYgdHJhY2tJRCkgZmluYWwgeyBtX3RyYWNrSUQgPSB0cmFja0lEOyB9CisgICAgc2l6ZV90IHNp
emVJbkJ5dGVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zaXplSW5CeXRlczsgfQorICAgIEZs
b2F0U2l6ZSBwcmVzZW50YXRpb25TaXplKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcmVzZW50
YXRpb25TaXplOyB9CisgICAgdm9pZCBvZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1l
JiBvZmZzZXQpIGZpbmFsIHsgbV9wcmVzZW50YXRpb25UaW1lICs9IG9mZnNldDsgbV9kZWNvZGVU
aW1lICs9IG9mZnNldDsgfQorICAgIHZvaWQgc2V0VGltZXN0YW1wcyhjb25zdCBNZWRpYVRpbWUm
IHByZXNlbnRhdGlvblRpbWUsIGNvbnN0IE1lZGlhVGltZSYgZGVjb2RlVGltZSkgZmluYWwgewor
ICAgICAgICBtX3ByZXNlbnRhdGlvblRpbWUgPSBwcmVzZW50YXRpb25UaW1lOworICAgICAgICBt
X2RlY29kZVRpbWUgPSBkZWNvZGVUaW1lOworICAgIH07CisgICAgYm9vbCBpc0RpdmlzYWJsZSgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgc3RkOjpwYWlyPFJlZlB0cjxNZWRp
YVNhbXBsZT4sIFJlZlB0cjxNZWRpYVNhbXBsZT4+IGRpdmlkZShjb25zdCBNZWRpYVRpbWUmIHBy
ZXNlbnRhdGlvblRpbWUpIGZpbmFsIHsgcmV0dXJuIHsgfTsgfQorICAgIFJlZjxNZWRpYVNhbXBs
ZT4gY3JlYXRlTm9uRGlzcGxheWluZ0NvcHkoKSBjb25zdCBmaW5hbCB7CisgICAgICAgIHJldHVy
biBjcmVhdGUobV9wcmVzZW50YXRpb25UaW1lLCBtX2RlY29kZVRpbWUsIG1fZHVyYXRpb24sIHN0
YXRpY19jYXN0PFNhbXBsZUZsYWdzPihtX2ZsYWdzIHwgSXNOb25EaXNwbGF5aW5nKSk7CisgICAg
fQorICAgIFNhbXBsZUZsYWdzIGZsYWdzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9mbGFnczsg
fQorICAgIFBsYXRmb3JtU2FtcGxlIHBsYXRmb3JtU2FtcGxlKCkgZmluYWwgeyByZXR1cm4geyBQ
bGF0Zm9ybVNhbXBsZTo6Tm9uZSwge251bGxwdHJ9fTsgfQorICAgIHZvaWQgZHVtcChQcmludFN0
cmVhbSYpIGNvbnN0IGZpbmFsIHsgfQorCitwcml2YXRlOgorICAgIFRlc3RTYW1wbGUoY29uc3Qg
TWVkaWFUaW1lJiBwcmVzZW50YXRpb25UaW1lLCBjb25zdCBNZWRpYVRpbWUmIGRlY29kZVRpbWUs
IGNvbnN0IE1lZGlhVGltZSYgZHVyYXRpb24sIFNhbXBsZUZsYWdzIGZsYWdzKQorICAgICAgICA6
IG1fcHJlc2VudGF0aW9uVGltZShwcmVzZW50YXRpb25UaW1lKQorICAgICAgICAsIG1fZGVjb2Rl
VGltZShkZWNvZGVUaW1lKQorICAgICAgICAsIG1fZHVyYXRpb24oZHVyYXRpb24pCisgICAgICAg
ICwgbV9mbGFncyhmbGFncykKKyAgICB7CisgICAgfQorCisgICAgTWVkaWFUaW1lIG1fcHJlc2Vu
dGF0aW9uVGltZTsKKyAgICBNZWRpYVRpbWUgbV9kZWNvZGVUaW1lOworICAgIE1lZGlhVGltZSBt
X2R1cmF0aW9uOworICAgIEZsb2F0U2l6ZSBtX3ByZXNlbnRhdGlvblNpemU7CisgICAgQXRvbWlj
U3RyaW5nIG1fdHJhY2tJRDsKKyAgICBzaXplX3QgbV9zaXplSW5CeXRlcyB7IDAgfTsKKyAgICBT
YW1wbGVGbGFncyBtX2ZsYWdzIHsgTm9uZSB9OworfTsKKworY2xhc3MgU2FtcGxlTWFwVGVzdCA6
IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKK3B1YmxpYzoKKyAgICB2b2lkIFNldFVwKCkgZmluYWwg
eworICAgICAgICBtYXAuYWRkU2FtcGxlKFRlc3RTYW1wbGU6OmNyZWF0ZShNZWRpYVRpbWUoMCwg
MSksIE1lZGlhVGltZSgwLCAxKSwgTWVkaWFUaW1lKDEsIDEpLCBNZWRpYVNhbXBsZTo6SXNTeW5j
KSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlhVGltZSgx
LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpOb25l
KSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlhVGltZSgy
LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpOb25l
KSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlhVGltZSgz
LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpOb25l
KSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlhVGltZSg0
LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpOb25l
KSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlhVGltZSg1
LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpJc1N5
bmMpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFUaW1l
KDYsIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVkaWFTYW1wbGU6Ok5v
bmUpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFUaW1l
KDcsIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVkaWFTYW1wbGU6Ok5v
bmUpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFUaW1l
KDgsIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVkaWFTYW1wbGU6Ok5v
bmUpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFUaW1l
KDksIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVkaWFTYW1wbGU6Ok5v
bmUpKTsKKyAgICAgICAgLy8gR2FwIGF0IE1lZGlhVGltZSgxMCwgMSkgLT4gTWVkaWFUaW1lKDEx
LCAxKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFUaW1l
KDExLCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxlOjpJ
c1N5bmMpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVkaWFU
aW1lKDEyLCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2FtcGxl
OjpOb25lKSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRlKE1lZGlh
VGltZSgxMywgMSksIE1lZGlhVGltZSgwLCAxKSwgTWVkaWFUaW1lKDEsIDEpLCBNZWRpYVNhbXBs
ZTo6Tm9uZSkpOworICAgICAgICBtYXAuYWRkU2FtcGxlKFRlc3RTYW1wbGU6OmNyZWF0ZShNZWRp
YVRpbWUoMTQsIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVkaWFTYW1w
bGU6Ok5vbmUpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUoTWVk
aWFUaW1lKDE1LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlhU2Ft
cGxlOjpJc1N5bmMpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVhdGUo
TWVkaWFUaW1lKDE2LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1lZGlh
U2FtcGxlOjpOb25lKSk7CisgICAgICAgIG1hcC5hZGRTYW1wbGUoVGVzdFNhbXBsZTo6Y3JlYXRl
KE1lZGlhVGltZSgxNywgMSksIE1lZGlhVGltZSgwLCAxKSwgTWVkaWFUaW1lKDEsIDEpLCBNZWRp
YVNhbXBsZTo6Tm9uZSkpOworICAgICAgICBtYXAuYWRkU2FtcGxlKFRlc3RTYW1wbGU6OmNyZWF0
ZShNZWRpYVRpbWUoMTgsIDEpLCBNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSwgTWVk
aWFTYW1wbGU6Ok5vbmUpKTsKKyAgICAgICAgbWFwLmFkZFNhbXBsZShUZXN0U2FtcGxlOjpjcmVh
dGUoTWVkaWFUaW1lKDE5LCAxKSwgTWVkaWFUaW1lKDAsIDEpLCBNZWRpYVRpbWUoMSwgMSksIE1l
ZGlhU2FtcGxlOjpOb25lKSk7CisgICAgfQorCisgICAgU2FtcGxlTWFwIG1hcDsKK307CisKK1RF
U1RfRihTYW1wbGVNYXBUZXN0LCBmaW5kU2FtcGxlV2l0aFByZXNlbnRhdGlvblRpbWUpCit7Cisg
ICAgYXV0byYgcHJlc2VudGF0aW9uTWFwID0gbWFwLnByZXNlbnRhdGlvbk9yZGVyKCk7CisgICAg
RVhQRUNUX0VRKE1lZGlhVGltZSgwLCAxKSwgcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVXaXRo
UHJlc2VudGF0aW9uVGltZShNZWRpYVRpbWUoMCwgMSkpLT5zZWNvbmQtPnByZXNlbnRhdGlvblRp
bWUoKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxOSwgMSksIHByZXNlbnRhdGlvbk1hcC5m
aW5kU2FtcGxlV2l0aFByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1lKDE5LCAxKSktPnNlY29uZC0+
cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfVFJVRShwcmVzZW50YXRpb25NYXAuZW5k
KCkgPT0gcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVXaXRoUHJlc2VudGF0aW9uVGltZShNZWRp
YVRpbWUoLTEsIDEpKSk7CisgICAgRVhQRUNUX1RSVUUocHJlc2VudGF0aW9uTWFwLmVuZCgpID09
IHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlV2l0aFByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1l
KDEwLCAxKSkpOworICAgIEVYUEVDVF9UUlVFKHByZXNlbnRhdGlvbk1hcC5lbmQoKSA9PSBwcmVz
ZW50YXRpb25NYXAuZmluZFNhbXBsZVdpdGhQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgyMCwg
MSkpKTsKKyAgICBFWFBFQ1RfVFJVRShwcmVzZW50YXRpb25NYXAuZW5kKCkgPT0gcHJlc2VudGF0
aW9uTWFwLmZpbmRTYW1wbGVXaXRoUHJlc2VudGF0aW9uVGltZShNZWRpYVRpbWUoMSwgMikpKTsK
K30KKworVEVTVF9GKFNhbXBsZU1hcFRlc3QsIGZpbmRTYW1wbGVDb250YWluaW5nUHJlc2VudGF0
aW9uVGltZSkKK3sKKyAgICBhdXRvJiBwcmVzZW50YXRpb25NYXAgPSBtYXAucHJlc2VudGF0aW9u
T3JkZXIoKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDAsIDEpLCBwcmVzZW50YXRpb25NYXAu
ZmluZFNhbXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgwLCAxKSktPnNl
Y29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDE5LCAx
KSwgcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVDb250YWluaW5nUHJlc2VudGF0aW9uVGltZShN
ZWRpYVRpbWUoMTksIDEpKS0+c2Vjb25kLT5wcmVzZW50YXRpb25UaW1lKCkpOworICAgIEVYUEVD
VF9FUShNZWRpYVRpbWUoMCwgMSksIHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlQ29udGFpbmlu
Z1ByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1lKDEsIDIpKS0+c2Vjb25kLT5wcmVzZW50YXRpb25U
aW1lKCkpOworICAgIEVYUEVDVF9UUlVFKHByZXNlbnRhdGlvbk1hcC5lbmQoKSA9PSBwcmVzZW50
YXRpb25NYXAuZmluZFNhbXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgt
MSwgMSkpKTsKKyAgICBFWFBFQ1RfVFJVRShwcmVzZW50YXRpb25NYXAuZW5kKCkgPT0gcHJlc2Vu
dGF0aW9uTWFwLmZpbmRTYW1wbGVDb250YWluaW5nUHJlc2VudGF0aW9uVGltZShNZWRpYVRpbWUo
MTAsIDEpKSk7CisgICAgRVhQRUNUX1RSVUUocHJlc2VudGF0aW9uTWFwLmVuZCgpID09IHByZXNl
bnRhdGlvbk1hcC5maW5kU2FtcGxlQ29udGFpbmluZ1ByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1l
KDIwLCAxKSkpOworfQorCitURVNUX0YoU2FtcGxlTWFwVGVzdCwgZmluZFNhbXBsZVN0YXJ0aW5n
T25PckFmdGVyUHJlc2VudGF0aW9uVGltZSkKK3sKKyAgICBhdXRvJiBwcmVzZW50YXRpb25NYXAg
PSBtYXAucHJlc2VudGF0aW9uT3JkZXIoKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDAsIDEp
LCBwcmVzZW50YXRpb25NYXAuZmluZFNhbXBsZVN0YXJ0aW5nT25PckFmdGVyUHJlc2VudGF0aW9u
VGltZShNZWRpYVRpbWUoMCwgMSkpLT5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKSk7CisgICAg
RVhQRUNUX0VRKE1lZGlhVGltZSgxOSwgMSksIHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlU3Rh
cnRpbmdPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgxOSwgMSkpLT5zZWNvbmQt
PnByZXNlbnRhdGlvblRpbWUoKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxLCAxKSwgcHJl
c2VudGF0aW9uTWFwLmZpbmRTYW1wbGVTdGFydGluZ09uT3JBZnRlclByZXNlbnRhdGlvblRpbWUo
TWVkaWFUaW1lKDEsIDIpKS0+c2Vjb25kLT5wcmVzZW50YXRpb25UaW1lKCkpOworICAgIEVYUEVD
VF9FUShNZWRpYVRpbWUoMCwgMSksIHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlU3RhcnRpbmdP
bk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgtMSwgMSkpLT5zZWNvbmQtPnByZXNl
bnRhdGlvblRpbWUoKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxMSwgMSksIHByZXNlbnRh
dGlvbk1hcC5maW5kU2FtcGxlU3RhcnRpbmdPbk9yQWZ0ZXJQcmVzZW50YXRpb25UaW1lKE1lZGlh
VGltZSgxMCwgMSkpLT5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKSk7CisgICAgRVhQRUNUX1RS
VUUocHJlc2VudGF0aW9uTWFwLmVuZCgpID09IHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlQ29u
dGFpbmluZ1ByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1lKDIwLCAxKSkpOworfQorCitURVNUX0Yo
U2FtcGxlTWFwVGVzdCwgZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0aW9uVGltZXMpCit7Cisg
ICAgYXV0byYgcHJlc2VudGF0aW9uTWFwID0gbWFwLnByZXNlbnRhdGlvbk9yZGVyKCk7CisgICAg
YXV0byBpdGVyYXRvcl9yYW5nZSA9IHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlc0JldHdlZW5Q
cmVzZW50YXRpb25UaW1lcyhNZWRpYVRpbWUoMCwgMSksIE1lZGlhVGltZSgxLCAxKSk7CisgICAg
RVhQRUNUX0VRKE1lZGlhVGltZSgwLCAxKSwgaXRlcmF0b3JfcmFuZ2UuZmlyc3QtPnNlY29uZC0+
cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDEsIDEpLCBpdGVy
YXRvcl9yYW5nZS5zZWNvbmQtPnNlY29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsKKworICAgIGl0
ZXJhdG9yX3JhbmdlID0gcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVzQmV0d2VlblByZXNlbnRh
dGlvblRpbWVzKE1lZGlhVGltZSgxLCAyKSwgTWVkaWFUaW1lKDMsIDIpKTsKKyAgICBFWFBFQ1Rf
RVEoTWVkaWFUaW1lKDEsIDEpLCBpdGVyYXRvcl9yYW5nZS5maXJzdC0+c2Vjb25kLT5wcmVzZW50
YXRpb25UaW1lKCkpOworICAgIEVYUEVDVF9FUShNZWRpYVRpbWUoMiwgMSksIGl0ZXJhdG9yX3Jh
bmdlLnNlY29uZC0+c2Vjb25kLT5wcmVzZW50YXRpb25UaW1lKCkpOworCisgICAgaXRlcmF0b3Jf
cmFuZ2UgPSBwcmVzZW50YXRpb25NYXAuZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0aW9uVGlt
ZXMoTWVkaWFUaW1lKDksIDEpLCBNZWRpYVRpbWUoMjEsIDEpKTsKKyAgICBFWFBFQ1RfRVEoTWVk
aWFUaW1lKDksIDEpLCBpdGVyYXRvcl9yYW5nZS5maXJzdC0+c2Vjb25kLT5wcmVzZW50YXRpb25U
aW1lKCkpOworICAgIEVYUEVDVF9UUlVFKHByZXNlbnRhdGlvbk1hcC5lbmQoKSA9PSBpdGVyYXRv
cl9yYW5nZS5zZWNvbmQpOworCisgICAgaXRlcmF0b3JfcmFuZ2UgPSBwcmVzZW50YXRpb25NYXAu
ZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0aW9uVGltZXMoTWVkaWFUaW1lKC0xLCAxKSwgTWVk
aWFUaW1lKDAsIDEpKTsKKyAgICBFWFBFQ1RfVFJVRShwcmVzZW50YXRpb25NYXAuZW5kKCkgPT0g
aXRlcmF0b3JfcmFuZ2UuZmlyc3QpOworICAgIEVYUEVDVF9UUlVFKHByZXNlbnRhdGlvbk1hcC5l
bmQoKSA9PSBpdGVyYXRvcl9yYW5nZS5zZWNvbmQpOworCisgICAgaXRlcmF0b3JfcmFuZ2UgPSBw
cmVzZW50YXRpb25NYXAuZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0aW9uVGltZXMoTWVkaWFU
aW1lKDE5LCAyKSwgTWVkaWFUaW1lKDEwLCAxKSk7CisgICAgRVhQRUNUX1RSVUUocHJlc2VudGF0
aW9uTWFwLmVuZCgpID09IGl0ZXJhdG9yX3JhbmdlLmZpcnN0KTsKKyAgICBFWFBFQ1RfVFJVRShw
cmVzZW50YXRpb25NYXAuZW5kKCkgPT0gaXRlcmF0b3JfcmFuZ2Uuc2Vjb25kKTsKKworICAgIGl0
ZXJhdG9yX3JhbmdlID0gcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVzQmV0d2VlblByZXNlbnRh
dGlvblRpbWVzKE1lZGlhVGltZSgyMCwgMSksIE1lZGlhVGltZSgyMSwgMSkpOworICAgIEVYUEVD
VF9UUlVFKHByZXNlbnRhdGlvbk1hcC5lbmQoKSA9PSBpdGVyYXRvcl9yYW5nZS5maXJzdCk7Cisg
ICAgRVhQRUNUX1RSVUUocHJlc2VudGF0aW9uTWFwLmVuZCgpID09IGl0ZXJhdG9yX3JhbmdlLnNl
Y29uZCk7Cit9CisKK1RFU1RfRihTYW1wbGVNYXBUZXN0LCBmaW5kU2FtcGxlc1dpdGhpblByZXNl
bnRhdGlvblJhbmdlKQoreworICAgIGF1dG8mIHByZXNlbnRhdGlvbk1hcCA9IG1hcC5wcmVzZW50
YXRpb25PcmRlcigpOworICAgIGF1dG8gaXRlcmF0b3JfcmFuZ2UgPSBwcmVzZW50YXRpb25NYXAu
ZmluZFNhbXBsZXNXaXRoaW5QcmVzZW50YXRpb25SYW5nZShNZWRpYVRpbWUoMCwgMSksIE1lZGlh
VGltZSgxLCAxKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxLCAxKSwgaXRlcmF0b3JfcmFu
Z2UuZmlyc3QtPnNlY29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfRVEoTWVk
aWFUaW1lKDIsIDEpLCBpdGVyYXRvcl9yYW5nZS5zZWNvbmQtPnNlY29uZC0+cHJlc2VudGF0aW9u
VGltZSgpKTsKKworICAgIGl0ZXJhdG9yX3JhbmdlID0gcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1w
bGVzV2l0aGluUHJlc2VudGF0aW9uUmFuZ2UoTWVkaWFUaW1lKDEsIDIpLCBNZWRpYVRpbWUoMywg
MikpOworICAgIEVYUEVDVF9FUShNZWRpYVRpbWUoMSwgMSksIGl0ZXJhdG9yX3JhbmdlLmZpcnN0
LT5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgy
LCAxKSwgaXRlcmF0b3JfcmFuZ2Uuc2Vjb25kLT5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKSk7
CisKKyAgICBpdGVyYXRvcl9yYW5nZSA9IHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlc1dpdGhp
blByZXNlbnRhdGlvblJhbmdlKE1lZGlhVGltZSg5LCAxKSwgTWVkaWFUaW1lKDIxLCAxKSk7Cisg
ICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxMSwgMSksIGl0ZXJhdG9yX3JhbmdlLmZpcnN0LT5zZWNv
bmQtPnByZXNlbnRhdGlvblRpbWUoKSk7CisgICAgRVhQRUNUX1RSVUUocHJlc2VudGF0aW9uTWFw
LmVuZCgpID09IGl0ZXJhdG9yX3JhbmdlLnNlY29uZCk7CisKKyAgICBpdGVyYXRvcl9yYW5nZSA9
IHByZXNlbnRhdGlvbk1hcC5maW5kU2FtcGxlc1dpdGhpblByZXNlbnRhdGlvblJhbmdlKE1lZGlh
VGltZSgtMSwgMSksIE1lZGlhVGltZSgwLCAxKSk7CisgICAgRVhQRUNUX0VRKE1lZGlhVGltZSgw
LCAxKSwgaXRlcmF0b3JfcmFuZ2UuZmlyc3QtPnNlY29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsK
KyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDEsIDEpLCBpdGVyYXRvcl9yYW5nZS5zZWNvbmQtPnNl
Y29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsKKworICAgIGl0ZXJhdG9yX3JhbmdlID0gcHJlc2Vu
dGF0aW9uTWFwLmZpbmRTYW1wbGVzV2l0aGluUHJlc2VudGF0aW9uUmFuZ2UoTWVkaWFUaW1lKDEw
LCAxKSwgTWVkaWFUaW1lKDIxLCAyKSk7CisgICAgRVhQRUNUX1RSVUUocHJlc2VudGF0aW9uTWFw
LmVuZCgpID09IGl0ZXJhdG9yX3JhbmdlLmZpcnN0KTsKKyAgICBFWFBFQ1RfVFJVRShwcmVzZW50
YXRpb25NYXAuZW5kKCkgPT0gaXRlcmF0b3JfcmFuZ2Uuc2Vjb25kKTsKKworICAgIGl0ZXJhdG9y
X3JhbmdlID0gcHJlc2VudGF0aW9uTWFwLmZpbmRTYW1wbGVzV2l0aGluUHJlc2VudGF0aW9uUmFu
Z2UoTWVkaWFUaW1lKDIwLCAxKSwgTWVkaWFUaW1lKDIxLCAxKSk7CisgICAgRVhQRUNUX1RSVUUo
cHJlc2VudGF0aW9uTWFwLmVuZCgpID09IGl0ZXJhdG9yX3JhbmdlLmZpcnN0KTsKKyAgICBFWFBF
Q1RfVFJVRShwcmVzZW50YXRpb25NYXAuZW5kKCkgPT0gaXRlcmF0b3JfcmFuZ2Uuc2Vjb25kKTsK
K30KKworVEVTVF9GKFNhbXBsZU1hcFRlc3QsIHJldmVyc2VGaW5kU2FtcGxlQmVmb3JlUHJlc2Vu
dGF0aW9uVGltZSkKK3sKKyAgICBhdXRvJiBwcmVzZW50YXRpb25NYXAgPSBtYXAucHJlc2VudGF0
aW9uT3JkZXIoKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDAsIDEpLCBwcmVzZW50YXRpb25N
YXAucmV2ZXJzZUZpbmRTYW1wbGVCZWZvcmVQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZSgwLCAx
KSktPnNlY29uZC0+cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1l
KDksIDEpLCBwcmVzZW50YXRpb25NYXAucmV2ZXJzZUZpbmRTYW1wbGVCZWZvcmVQcmVzZW50YXRp
b25UaW1lKE1lZGlhVGltZSgxMCwgMSkpLT5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKSk7Cisg
ICAgRVhQRUNUX0VRKE1lZGlhVGltZSgxOSwgMSksIHByZXNlbnRhdGlvbk1hcC5yZXZlcnNlRmlu
ZFNhbXBsZUJlZm9yZVByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1lKDE5LCAxKSktPnNlY29uZC0+
cHJlc2VudGF0aW9uVGltZSgpKTsKKyAgICBFWFBFQ1RfRVEoTWVkaWFUaW1lKDE5LCAxKSwgcHJl
c2VudGF0aW9uTWFwLnJldmVyc2VGaW5kU2FtcGxlQmVmb3JlUHJlc2VudGF0aW9uVGltZShNZWRp
YVRpbWUoMjEsIDEpKS0+c2Vjb25kLT5wcmVzZW50YXRpb25UaW1lKCkpOworICAgIEVYUEVDVF9U
UlVFKHByZXNlbnRhdGlvbk1hcC5yZW5kKCkgPT0gcHJlc2VudGF0aW9uTWFwLnJldmVyc2VGaW5k
U2FtcGxlQmVmb3JlUHJlc2VudGF0aW9uVGltZShNZWRpYVRpbWUoLTEsIDEpKSk7Cit9CisKK30K
KworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5j
ZVRlc3RzL0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJmZTMz
OGQ5OWVlZTdmZjFlZmI4NTg5NGJhODhiZTRiMjljMWY0MjcuLjdmMTUxOGFkYmE4YjgxNTNhYjcy
YTcwY2JiZjA0ZjYyZTMyM2Y2NjkgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdl
TG9nCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIw
MTctMDItMDQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUGxh
eWJhY2sgc3RhbGxzIHdoZW4gYSBTb3VyY2VCdWZmZXIgYXBwZW5kIGNhdXNlcyBmcmFtZSBldmlj
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3
ODM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGFuIGluLXBhZ2UgcGVyZm9ybWFuY2UgdGVzdCBtZWFzdXJpbmcgdGhlIGFtb3VudCBvZiB0aW1l
IHJlcXVpcmVkCisgICAgICAgIHRvIGFwcGVuZCBhIGxhcmdlIGFtb3VudCBvZiBtZWRpYSBkYXRh
IHRvIGEgU291cmNlQnVmZmVyLCBhbmQgdGhlbiB0bworICAgICAgICBjb21wbGV0ZWx5IHJlbW92
ZSB0aGF0IGRhdGEgMzBzIGF0IGEgdGltZS4KKworICAgICAgICBBZGQgYSBtaWNyb2JlbmNobWFy
ayBmb3IgTWVkaWFUaW1lIHdoaWNoIG1lYXN1cmVzIHRoZSBhbW91bnQgb2YgdGltZQorICAgICAg
ICByZXF1aXJlZCB0byBjcmVhdGUgYSAxTSBlbnRyeSBzdGQ6Om1hcCBhbmQgdHJhdmVyc2UgdGhl
IG1hcCAxTSB0aW1lcy4KKworICAgICAgICAqIE1lZGlhL01TRVJlbW92ZUNvZGVkRnJhbWVzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIE1lZGlhL21lZGlhLXNvdXJjZS1sb2FkZXIuanM6CisgICAg
ICAgIChNZWRpYVNvdXJjZUxvYWRlci5wcm90b3R5cGUuZ2V0IGR1cmF0aW9uKToKKyAgICAgICAg
KiBNZWRpYVRpbWUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzogQWRkZWQuCisgICAgICAg
ICogTWVkaWFUaW1lL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZzogQWRkZWQu
CisgICAgICAgICogTWVkaWFUaW1lL01ha2VmaWxlOiBBZGRlZC4KKyAgICAgICAgKiBNZWRpYVRp
bWUvTWVkaWFUaW1lLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkLgorICAgICAgICAq
IE1lZGlhVGltZS9tYWluLmNwcDogQWRkZWQuCisgICAgICAgIChwZXJmb3JtVGVzdCk6CisgICAg
ICAgICh0ZXN0KToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFNraXBwZWQ6CisKIDIwMTct
MDEtMTYgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgZnJh
bWVyYXRlIGJhc2VsaW5lcyB0byB0aGUgc3BsYXktZGV0YWlsIHRlc3QKZGlmZiAtLWdpdCBhL1Bl
cmZvcm1hbmNlVGVzdHMvTWVkaWEvTVNFUmVtb3ZlQ29kZWRGcmFtZXMuaHRtbCBiL1BlcmZvcm1h
bmNlVGVzdHMvTWVkaWEvTVNFUmVtb3ZlQ29kZWRGcmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Njdk
NGVlZTVjMWM3ODQ5MTA5ZGI3ODAwYTNmZjRhMTBiNDQ1YTFjCi0tLSAvZGV2L251bGwKKysrIGIv
UGVyZm9ybWFuY2VUZXN0cy9NZWRpYS9NU0VSZW1vdmVDb2RlZEZyYW1lcy5odG1sCkBAIC0wLDAg
KzEsMTIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
bWVkaWEtc291cmNlLWxvYWRlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIGxvYWRlcjsKK3ZhciB2aWRl
bzsKK3ZhciBsb25nTWVkaWFTZWdtZW50OworCitmdW5jdGlvbiBjb25jYXRBcnJheUJ1ZmZlcnMo
KSB7CisgICAgdmFyIGJ5dGVMZW5ndGggPSAwOworICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNo
LmNhbGwoYXJndW1lbnRzLCBhcnJheUJ1ZmZlciA9PiB7CisgICAgICAgIGlmICghYXJyYXlCdWZm
ZXIuYnl0ZUxlbmd0aCkKKyAgICAgICAgICAgIHRocm93ICJOb3QgYW4gQXJyYXlCdWZmZXIhIjsK
KyAgICAgICAgYnl0ZUxlbmd0aCArPSBhcnJheUJ1ZmZlci5ieXRlTGVuZ3RoOworICAgIH0pOwor
CisKKyAgICB2YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KGJ5dGVMZW5ndGgpOworICAgIHZhciBv
ZmZzZXQgPSAwOworICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLCBh
cnJheUJ1ZmZlciA9PiB7CisgICAgICAgIHZpZXcuc2V0KG5ldyBVaW50OEFycmF5KGFycmF5QnVm
ZmVyKSwgb2Zmc2V0KTsKKyAgICAgICAgb2Zmc2V0ICs9IGFycmF5QnVmZmVyLmJ5dGVMZW5ndGg7
CisgICAgfSk7CisgICAgcmV0dXJuIHZpZXcuYnVmZmVyOworfQorCitmdW5jdGlvbiBjb25jYXRN
ZWRpYURhdGEoKSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+
IHsKKyAgICAgICAgdmFyIHNlZ21lbnRzID0gbmV3IEFycmF5KDEwMCk7CisgICAgICAgIHNlZ21l
bnRzLmZpbGwobG9hZGVyLmV2ZXJ5TWVkaWFTZWdtZW50KTsKKyAgICAgICAgbG9uZ01lZGlhU2Vn
bWVudCA9IGNvbmNhdEFycmF5QnVmZmVycy5hcHBseSh0aGlzLCBzZWdtZW50cyk7CisgICAgICAg
IHJlc29sdmUobG9uZ01lZGlhU2VnbWVudCk7CisgICAgfSk7Cit9CisKK3dpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgKCkgPT4geworICAgIFBlcmZUZXN0UnVubmVyLnByZXBhcmVUb01l
YXN1cmVWYWx1ZXNBc3luYyh7CisgICAgICAgIHVuaXQ6ICdtcycsCisgICAgICAgIGRvbmU6IGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGlmICh2aWRlbykgeworICAgICAgICAgICAgICAgIHZp
ZGVvLnNyYyA9IG51bGw7CisgICAgICAgICAgICAgICAgdmlkZW8ubG9hZCgpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfSk7CisKKyAgICBsb2FkZXIgPSBuZXcgTWVkaWFTb3VyY2VM
b2FkZXIoJ3Rlc3QtZnJhZ21lbnRlZC12aWRlby5qc29uJyk7CisgICAgbG9hZGVyLmxvYWRNZWRp
YURhdGEoKS50aGVuKGNvbmNhdE1lZGlhRGF0YSkudGhlbihydW5UZXN0KTsKK30pOworCitmdW5j
dGlvbiByZW1vdmUzMFNlY29uZHNBdEFUaW1lVGlsbEVtcHR5KHNvdXJjZUJ1ZmZlcikgeworICAg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgdmFyIHJlbW92ZU5leHQz
MFNlY29uZHMgPSAoKSA9PiB7CisgICAgICAgICAgICB2YXIgc3RhcnQgPSBzb3VyY2VCdWZmZXIu
YnVmZmVyZWQuc3RhcnQoMCk7CisgICAgICAgICAgICBzb3VyY2VCdWZmZXIucmVtb3ZlKHN0YXJ0
LCBzdGFydCArIDMwKQorICAgICAgICB9CisgICAgICAgIHNvdXJjZUJ1ZmZlci5vbnVwZGF0ZSA9
ICgpID0+IHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VCdWZmZXIuYnVmZmVyZWQubGVuZ3RoID09
IDAgfHwgc291cmNlQnVmZmVyLmJ1ZmZlcmVkLnN0YXJ0KDApIC0gc291cmNlQnVmZmVyLmJ1ZmZl
cmVkLmVuZCgwKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgc291cmNlQnVmZmVyLm9udXBkYXRl
ID0gbnVsbDsKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICByZW1vdmVOZXh0
MzBTZWNvbmRzKCk7CisgICAgICAgIH07CisgICAgICAgIHJlbW92ZU5leHQzMFNlY29uZHMoKTsK
KyAgICB9KTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsgICAKKyAgICB2aWRlbyA9ICBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOworCisgICAgbG9hZE1lZGlhRGF0YUludG9WaWRl
byh2aWRlbykudGhlbihzb3VyY2VCdWZmZXIgPT4geworICAgICAgICBzdGFydFRpbWUgPSBQZXJm
VGVzdFJ1bm5lci5ub3coKTsKKyAgICAgICAgcmV0dXJuIHJlbW92ZTMwU2Vjb25kc0F0QVRpbWVU
aWxsRW1wdHkoc291cmNlQnVmZmVyKTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgaWYg
KFBlcmZUZXN0UnVubmVyLm1lYXN1cmVWYWx1ZUFzeW5jKFBlcmZUZXN0UnVubmVyLm5vdygpIC0g
c3RhcnRUaW1lKSkKKyAgICAgICAgICAgIHNldFRpbWVvdXQocnVuVGVzdCwgMCk7CisgICAgfSk7
Cit9CisKK2Z1bmN0aW9uIGxvYWRNZWRpYURhdGFJbnRvVmlkZW8odmlkZW8sIHNlZ21lbnRDb3Vu
dCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAg
ICAgIHZhciBzb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKKyAgICAgICAgc291cmNlLm9uc291
cmNlb3BlbiA9ICgpID0+IHsKKyAgICAgICAgICAgIHNvdXJjZS5vbnNvdXJjZW9wZW4gPSBudWxs
OworICAgICAgICAgICAgc291cmNlLmR1cmF0aW9uID0gbG9hZGVyLmR1cmF0aW9uICogMTAwOyAK
KyAgICAgICAgICAgIHZhciBjdXJyZW50TWVkaWFTZWdtZW50ID0gMDsKKyAgICAgICAgICAgIHZh
ciBzb3VyY2VCdWZmZXIgPSBzb3VyY2UuYWRkU291cmNlQnVmZmVyKGxvYWRlci50eXBlKTsKKyAg
ICAgICAgICAgIHNvdXJjZUJ1ZmZlci5tb2RlID0gJ3NlcXVlbmNlJzsKKyAgICAgICAgICAgIHNv
dXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIobG9hZGVyLmluaXRTZWdtZW50KTsKKworICAgICAgICAg
ICAgdmFyIGFwcGVuZGVkTWVkaWFTZWdtZW50ID0gZmFsc2U7CisgICAgICAgICAgICBzb3VyY2VC
dWZmZXIub251cGRhdGUgPSAoKSA9PiB7CisKKyAgICAgICAgICAgICAgICBpZiAoYXBwZW5kZWRN
ZWRpYVNlZ21lbnQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNvdXJjZS5yZWFkeVN0YXRl
ICE9PSAnZW5kZWQnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UuZW5kT2ZTdHJl
YW0oKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUJ1ZmZlci5vbnVwZGF0ZSA9IG51
bGw7CisgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VCdWZmZXIub25lcnJvciA9IG51bGw7
CisgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHNvdXJjZUJ1ZmZlcik7CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIobG9uZ01l
ZGlhU2VnbWVudCk7CisgICAgICAgICAgICAgICAgYXBwZW5kZWRNZWRpYVNlZ21lbnQgPSB0cnVl
OworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHNvdXJjZUJ1ZmZlci5vbmVycm9yID0gZXJy
b3IgPT4geworICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7CisgICAgICAgICAgICB9Owor
ICAgICAgICB9OworICAgICAgICB2aWRlby5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHNvdXJj
ZSk7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNl
VGVzdHMvTWVkaWEvbWVkaWEtc291cmNlLWxvYWRlci5qcyBiL1BlcmZvcm1hbmNlVGVzdHMvTWVk
aWEvbWVkaWEtc291cmNlLWxvYWRlci5qcwppbmRleCA4YWY0MDE1NTg0ZTAzMzMzMmQ0YWQ5YjE5
YTk1YTRhYzc2NmUxNmRhLi4yNDE0NGY3NWE4OGZmMmJiOTlkMDRmMmE0YTgwNDlkNTZmNjYzNWJl
IDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL01lZGlhL21lZGlhLXNvdXJjZS1sb2FkZXIu
anMKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9NZWRpYS9tZWRpYS1zb3VyY2UtbG9hZGVyLmpzCkBA
IC04Nyw3ICs4Nyw5IEBAIGNsYXNzIE1lZGlhU291cmNlTG9hZGVyIHsKIAogICAgIGdldCBkdXJh
dGlvbigpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbWFuaWZlc3QgPyB0aGlzLl9tYW5p
ZmVzdC5kdXJhdGlvbiA6IDAKKyAgICAgICAgaWYgKCF0aGlzLl9tYW5pZmVzdCkKKyAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gdGhpcy5fbWFuaWZlc3QubWVkaWEucmVkdWNl
KChkdXJhdGlvbiwgbWVkaWEpID0+IHsgcmV0dXJuIGR1cmF0aW9uICsgbWVkaWEuZHVyYXRpb24g
fSwgMCk7CiAgICAgfQogCiAgICAgZ2V0IGluaXRTZWdtZW50KCkKZGlmZiAtLWdpdCBhL1BlcmZv
cm1hbmNlVGVzdHMvTWVkaWFUaW1lL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9QZXJm
b3JtYW5jZVRlc3RzL01lZGlhVGltZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBkYmU4YmYwMTg0ODAxODgzNDc1YzlkYmQ4MzhjMjU2OGQ4OTkyNzIKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01lZGlhVGltZS9Db25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnCkBAIC0wLDAgKzEsMTE5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAs
IDIwMTEsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
Ky8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8K
Ky8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorLy8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKy8vIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorLy8g
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorLy8gUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisvLyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisvLyBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy8vIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKyNpbmNsdWRlICIuLi8uLi8uLi8uLi9JbnRlcm5h
bC9Db25maWd1cmF0aW9ucy9IYXZlSW50ZXJuYWxTREsueGNjb25maWciCisKK1VTRV9JTlRFUk5B
TF9TREsgPSAkKFVTRV9JTlRFUk5BTF9TREtfJChDT05GSUdVUkFUSU9OKSk7CitVU0VfSU5URVJO
QUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7CitVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZF
X0lOVEVSTkFMX1NESyk7CitVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJO
QUxfU0RLKTsKKworQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKK0NMQU5H
X0NYWF9MSUJSQVJZID0gbGliYysrOworQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7
CitDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CitDTEFOR19XQVJOX0NYWDBY
X0VYVEVOU0lPTlMgPSBOTzsKK0NMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKK0NMQU5HX1dB
Uk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04g
PSBZRVM7CitDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdfV0FSTl9TVVNQ
SUNJT1VTX01PVkUgPSBZRVM7CitDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CitD
TEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOworQ09NQklORV9ISURQSV9J
TUFHRVMgPSBOTzsKK0RFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmLXdpdGgtZHN5bTsK
K0VOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOworR0NDX0NfTEFOR1VBR0VfU1RBTkRB
UkQgPSBnbnU5OTsKK0dDQ19ERUJVR0dJTkdfU1lNQk9MUyA9IGRlZmF1bHQ7CitHQ0NfRFlOQU1J
Q19OT19QSUMgPSBOTzsKK0dDQ19FTkFCTEVfQ1BQX0VYQ0VQVElPTlMgPSBOTzsKK0dDQ19FTkFC
TEVfQ1BQX1JUVEkgPSBOTzsKK0dDQ19FTkFCTEVfT0JKQ19FWENFUFRJT05TID0gWUVTOworR0ND
X0VOQUJMRV9TWU1CT0xfU0VQQVJBVElPTiA9IE5POworR0NDX0ZBU1RfT0JKQ19ESVNQQVRDSCA9
IFlFUzsKK0dDQ19HRU5FUkFURV9ERUJVR0dJTkdfU1lNQk9MUyA9IFlFUzsKK0dDQ19JTkxJTkVT
X0FSRV9QUklWQVRFX0VYVEVSTiA9IFlFUzsKK0dDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwor
R0NDX09CSkNfQ0FMTF9DWFhfQ0RUT1JTID0gWUVTOworR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hF
QURFUiA9IFlFUzsKK0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklO
RVMpICQoaW5oZXJpdGVkKTsKK0dDQ19TVFJJQ1RfQUxJQVNJTkcgPSBZRVM7CitHQ0NfVEhSRUFE
U0FGRV9TVEFUSUNTID0gTk87CitHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVTOwor
R0NDX1ZFUlNJT04gPSBjb20uYXBwbGUuY29tcGlsZXJzLmxsdm0uY2xhbmcuMV8wOworLy8gRklY
TUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzEwNzA5Mz4gV1RGIHNob3VsZCBidWlsZCB3aXRoIC1X
c2hvcnRlbi02NC10by0zMgorR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSAkKEdD
Q19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OXyQoQ1VSUkVOVF9BUkNIKSk7CitHQ0NfV0FS
Tl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTl8gPSBZRVM7CitHQ0NfV0FSTl82NF9UT18zMl9CSVRf
Q09OVkVSU0lPTl9hcm12NyA9IFlFUzsKK0dDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9O
X2FybXY3ayA9IFlFUzsKK0dDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OX2FybXY3cyA9
IFlFUzsKK0dDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OX2FybTY0ID0gTk87CitHQ0Nf
V0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTl9pMzg2ID0gWUVTOworR0NDX1dBUk5fNjRfVE9f
MzJfQklUX0NPTlZFUlNJT05feDg2XzY0ID0gTk87CitHQ0NfV0FSTl9BQk9VVF9ERVBSRUNBVEVE
X0ZVTkNUSU9OUyA9IE5POworR0NDX1dBUk5fQUJPVVRfTUlTU0lOR19ORVdMSU5FID0gWUVTOwor
R0NDX1dBUk5fQUJPVVRfTUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOworR0NDX1dBUk5fQUJPVVRf
UkVUVVJOX1RZUEUgPSBZRVM7CitHQ0NfV0FSTl9OT05fVklSVFVBTF9ERVNUUlVDVE9SID0gWUVT
OworR0NDX1dBUk5fU0lHTl9DT01QQVJFID0gWUVTOworR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxF
Q1RPUiA9IFlFUzsKK0dDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVM7CitHQ0NfV0FS
Tl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CitHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7
CitQUkVCSU5ESU5HID0gTk87CitXQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XZXh0cmEgLVdjYXN0
LXF1YWwgLVdjaGFyLXN1YnNjcmlwdHMgLVdleHRyYS10b2tlbnMgLVdmb3JtYXQ9MiAtV2luaXQt
c2VsZiAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV21pc3Npbmctbm9yZXR1cm4gLVdwYWNr
ZWQgLVdwb2ludGVyLWFyaXRoIC1XcmVkdW5kYW50LWRlY2xzIC1XdW5kZWYgLVd3cml0ZS1zdHJp
bmdzIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFsLWNvbnN0cnVjdG9ycyAtV3RhdXRv
bG9naWNhbC1jb21wYXJlIC1XaW1wbGljaXQtZmFsbHRocm91Z2g7CitIRUFERVJfU0VBUkNIX1BB
VEhTID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlICQoRFNUUk9PVCkv
dXNyL2xvY2FsL2luY2x1ZGUgaWN1ICQoSEVBREVSX1NFQVJDSF9QQVRIUyk7CisKK1RBUkdFVF9N
QUNfT1NfWF9WRVJTSU9OX01BSk9SID0gJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUiQo
TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUOnN1ZmZpeDppZGVudGlmaWVyKSk7CitUQVJHRVRfTUFD
X09TX1hfVkVSU0lPTl9NQUpPUl8xMCA9IDEwMTAwMDsKK1RBUkdFVF9NQUNfT1NfWF9WRVJTSU9O
X01BSk9SXzExID0gMTAxMTAwOworVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1JfMTIgPSAx
MDEyMDA7CitUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUl8xMyA9IDEwMTMwMDsKKworU1VQ
UE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zIGlwaG9uZXNpbXVsYXRvciBtYWNvc3ggYXBwbGV0
dm9zIGFwcGxldHZzaW11bGF0b3Igd2F0Y2hvcyB3YXRjaHNpbXVsYXRvcjsKKworSkFWQVNDUklQ
VENPUkVfRlJBTUVXT1JLU19ESVIgPSAkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3JrczsK
KworLy8gREVCVUdfREVGSU5FUywgR0NDX09QVElNSVpBVElPTl9MRVZFTCwgU1RSSVBfSU5TVEFM
TEVEX1BST0RVQ1QgYW5kIERFQURfQ09ERV9TVFJJUFBJTkcgdmFyeSBiZXR3ZWVuIHRoZSBkZWJ1
ZyBhbmQgbm9ybWFsIHZhcmlhbnRzLgorLy8gV2Ugc2V0IHVwIHRoZSB2YWx1ZXMgZm9yIGVhY2gg
dmFyaWFudCBoZXJlLCBhbmQgaGF2ZSB0aGUgRGVidWcgY29uZmlndXJhdGlvbiBpbiB0aGUgWGNv
ZGUgcHJvamVjdCB1c2UgdGhlIF9kZWJ1ZyB2YXJpYW50LgorREVCVUdfREVGSU5FU19kZWJ1ZyA9
IDsKK0RFQlVHX0RFRklORVNfbm9ybWFsID0gTkRFQlVHOworREVCVUdfREVGSU5FUyA9ICQoREVC
VUdfREVGSU5FU18kKENVUlJFTlRfVkFSSUFOVCkpOworCitHQ0NfT1BUSU1JWkFUSU9OX0xFVkVM
ID0gJChHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMXyQoQ1VSUkVOVF9WQVJJQU5UKSk7CitHQ0NfT1BU
SU1JWkFUSU9OX0xFVkVMX25vcm1hbCA9IDM7CitHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMX2RlYnVn
ID0gMDsKKworU1RSSVBfSU5TVEFMTEVEX1BST0RVQ1QgPSAkKFNUUklQX0lOU1RBTExFRF9QUk9E
VUNUXyQoQ1VSUkVOVF9WQVJJQU5UKSk7CitTVFJJUF9JTlNUQUxMRURfUFJPRFVDVF9ub3JtYWwg
PSBZRVM7CitTVFJJUF9JTlNUQUxMRURfUFJPRFVDVF9kZWJ1ZyA9IE5POworCitERUFEX0NPREVf
U1RSSVBQSU5HX2RlYnVnID0gTk87CitERUFEX0NPREVfU1RSSVBQSU5HX25vcm1hbCA9IFlFUzsK
K0RFQURfQ09ERV9TVFJJUFBJTkcgPSAkKERFQURfQ09ERV9TVFJJUFBJTkdfJChDVVJSRU5UX1ZB
UklBTlQpKTsKKworU0RLUk9PVCA9IG1hY29zeC5pbnRlcm5hbDsKKworT1RIRVJfQ0ZMQUdTID0g
JChBU0FOX09USEVSX0NGTEFHUyk7CitPVEhFUl9DUExVU1BMVVNGTEFHUyA9ICQoQVNBTl9PVEhF
Ul9DUExVU1BMVVNGTEFHUyk7CitPVEhFUl9MREZMQUdTID0gJChBU0FOX09USEVSX0xERkxBR1Mp
OwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvQ29uZmlndXJhdGlvbnMv
RGVidWdSZWxlYXNlLnhjY29uZmlnIGIvUGVyZm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvQ29uZmln
dXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzZmEzNTEwY2M4NjY2
ODI0NWJjMzU0Yzc3ZTY0NWVjMjU2NzMxZDYKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5j
ZVRlc3RzL01lZGlhVGltZS9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25maWcKQEAg
LTAsMCArMSw0MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
Ly8gYXJlIG1ldDoKKy8vIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLy8g
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorLy8gICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKy8vIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisv
LyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKy8vIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisvLyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKy8vIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKy8vIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorLy8gUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorLy8gT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKy8vIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorCisjaW5jbHVkZSAiQmFzZS54Y2NvbmZpZyIKKworQVJDSFMgPSAkKEFSQ0hTX1NUQU5E
QVJEXzMyXzY0X0JJVCk7CitPTkxZX0FDVElWRV9BUkNIID0gWUVTOworCitUQVJHRVRfTUFDX09T
X1hfVkVSU0lPTl9NQUpPUiA9ICQoTUFDX09TX1hfVkVSU0lPTl9NQUpPUik7CisKK01BQ09TWF9E
RVBMT1lNRU5UX1RBUkdFVCA9ICQoTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUXyQoUExBVEZPUk1f
TkFNRSlfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworTUFDT1NYX0RFUExPWU1F
TlRfVEFSR0VUX21hY29zeF8xMDEwMDAgPSAxMC4xMDsKK01BQ09TWF9ERVBMT1lNRU5UX1RBUkdF
VF9tYWNvc3hfMTAxMTAwID0gMTAuMTE7CitNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4
XzEwMTIwMCA9IDEwLjEyOworTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUX21hY29zeF8xMDEzMDAg
PSAxMC4xMzsKKworR0NDX1dBUk5fQUJPVVRfREVQUkVDQVRFRF9GVU5DVElPTlMgPSBZRVM7CitE
RUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZjsKKworU0RLUk9PVCA9ICQoU0RLUk9PVF8k
KFVTRV9JTlRFUk5BTF9TREspKTsKK1NES1JPT1RfID0gbWFjb3N4OworU0RLUk9PVF9ZRVMgPSBt
YWNvc3guaW50ZXJuYWw7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL01lZGlhVGltZS9N
YWtlZmlsZSBiL1BlcmZvcm1hbmNlVGVzdHMvTWVkaWFUaW1lL01ha2VmaWxlCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk1ZTQ4ZDYwYTA4MmM5YzNmOWY2YTNjYjkwYWFmMzA3MzgyZTBlYWMKLS0tIC9kZXYvbnVsbAor
KysgYi9QZXJmb3JtYW5jZVRlc3RzL01lZGlhVGltZS9NYWtlZmlsZQpAQCAtMCwwICsxLDIgQEAK
K1NDUklQVFNfUEFUSCA/PSAuLi8uLi9Ub29scy9TY3JpcHRzCitpbmNsdWRlIC4uLy4uL01ha2Vm
aWxlLnNoYXJlZApkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvTWVkaWFU
aW1lLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9QZXJmb3JtYW5jZVRlc3RzL01lZGlhVGlt
ZS9NZWRpYVRpbWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2YwOGE0
OTU5NTU2MjU2MzQ3YmU5N2UyY2I3OWI4M2E0NjU0ZjcxCi0tLSAvZGV2L251bGwKKysrIGIvUGVy
Zm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvTWVkaWFUaW1lLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTAsMCArMSwyNTYgQEAKKy8vICEkKlVURjgqJCEKK3sKKwlhcmNoaXZlVmVyc2lvbiA9
IDE7CisJY2xhc3NlcyA9IHsKKwl9OworCW9iamVjdFZlcnNpb24gPSA0NjsKKwlvYmplY3RzID0g
eworCisvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLworCQlDREIwOTlFMTFFNDMwODQ3
MDAzOUUxOTggLyogbWFpbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDREIwOTlFMDFFNDMwODQ3MDAzOUUxOTggLyogbWFpbi5jcHAgKi87IH07CisJ
CUNEQjA5OUU5MUU0MzA4NzAwMDM5RTE5OCAvKiBsaWJXVEYuYSBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQjA5OUU4MUU0MzA4NzAwMDM5RTE5OCAv
KiBsaWJXVEYuYSAqLzsgfTsKKwkJQ0RCMDk5RUIxRTQzMEIyNTAwMzlFMTk4IC8qIENvcmVGb3Vu
ZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENEQjA5OUVBMUU0MzBCMjUwMDM5RTE5OCAvKiBDb3JlRm91bmRhdGlvbi5mcmFt
ZXdvcmsgKi87IH07CisJCUNEQjA5OUVEMUU0MzBCNDQwMDM5RTE5OCAvKiBGb3VuZGF0aW9uLmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEQjA5OUVDMUU0MzBCNDQwMDM5RTE5OCAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsK
KwkJQ0RCMDk5RUYxRTQzMEI1NTAwMzlFMTk4IC8qIGxpYmljdWNvcmUuZHlsaWIgaW4gRnJhbWV3
b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREIwOTlFRTFFNDMwQjU1
MDAzOUUxOTggLyogbGliaWN1Y29yZS5keWxpYiAqLzsgfTsKKy8qIEVuZCBQQlhCdWlsZEZpbGUg
c2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8K
KwkJQ0RCMDk5REIxRTQzMDg0NzAwMzlFMTk4IC8qIENvcHlGaWxlcyAqLyA9IHsKKwkJCWlzYSA9
IFBCWENvcHlGaWxlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OworCQkJZHN0UGF0aCA9IC91c3Ivc2hhcmUvbWFuL21hbjEvOworCQkJZHN0U3ViZm9sZGVyU3Bl
YyA9IDA7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMTsKKwkJfTsKKy8qIEVuZCBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rp
b24gKi8KKworLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCisJCUNEODM2Q0ZF
MUU0M0JEQjQwMDlGODA5MSAvKiBCYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEJhc2UueGNj
b25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODM2RDAwMUU0M0JEQjQwMDlG
ODA5MSAvKiBEZWJ1Z1JlbGVhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gRGVidWdSZWxlYXNl
LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREIwOTlERDFFNDMwODQ3
MDAzOUUxOTggLyogTWVkaWFUaW1lICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxp
Y2l0RmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmV4ZWN1dGFibGUiOyBpbmNsdWRlSW5JbmRl
eCA9IDA7IHBhdGggPSBNZWRpYVRpbWU7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07CisJCUNEQjA5OUUwMUU0MzA4NDcwMDM5RTE5OCAvKiBtYWluLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IG1haW4uY3BwOyBwYXRoID0gLi4vLi4vLi4vLi4vVGVzdGNhc2VzL01lZGlhVGltZVRl
c3RjYXNlL01lZGlhVGltZS9tYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0RCMDk5RTgxRTQzMDg3MDAwMzlFMTk4IC8qIGxpYldURi5hICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgbmFtZSA9IGxpYldURi5h
OyBwYXRoID0gLi4vLi4vV2ViS2l0LmdpdC9PcGVuU291cmNlL1dlYktpdEJ1aWxkL0RlYnVnL2xp
YldURi5hOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREIwOTlFQTFFNDMwQjI1MDAz
OUUxOTggLyogQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb3Jl
Rm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Nv
cmVGb3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CisJCUNEQjA5
OUVDMUU0MzBCNDQwMDM5RTE5OCAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBu
YW1lID0gRm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKKwkJQ0RC
MDk5RUUxRTQzMEI1NTAwMzlFMTk4IC8qIGxpYmljdWNvcmUuZHlsaWIgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGli
IjsgbmFtZSA9IGxpYmljdWNvcmUuZHlsaWI7IHBhdGggPSB1c3IvbGliL2xpYmljdWNvcmUuZHls
aWI7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OworLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2Vj
dGlvbiAqLworCisvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJ
CUNEQjA5OURBMUU0MzA4NDcwMDM5RTE5OCAvKiBGcmFtZXdvcmtzICovID0geworCQkJaXNhID0g
UEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OworCQkJZmlsZXMgPSAoCisJCQkJQ0RCMDk5RUYxRTQzMEI1NTAwMzlFMTk4IC8qIGxpYmljdWNv
cmUuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQlDREIwOTlFRDFFNDMwQjQ0MDAzOUUxOTgg
LyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQlDREIwOTlFQjFF
NDMwQjI1MDAzOUUxOTggLyogQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8sCisJCQkJQ0RCMDk5RTkxRTQzMDg3MDAwMzlFMTk4IC8qIGxpYldURi5hIGluIEZyYW1ld29y
a3MgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CisJCX07CisvKiBFbmQgUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBC
ZWdpbiBQQlhHcm91cCBzZWN0aW9uICovCisJCUNEODM2Q0ZEMUU0M0JEQjQwMDlGODA5MSAvKiBD
b25maWd1cmF0aW9ucyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJQ0Q4MzZDRkUxRTQzQkRCNDAwOUY4MDkxIC8qIEJhc2UueGNjb25maWcgKi8sCisJCQkJ
Q0Q4MzZEMDAxRTQzQkRCNDAwOUY4MDkxIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLywKKwkJ
CSk7CisJCQlwYXRoID0gQ29uZmlndXJhdGlvbnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OworCQl9OworCQlDREIwOTlENDFFNDMwODQ3MDAzOUUxOTggPSB7CisJCQlpc2EgPSBQQlhHcm91
cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNEQjA5OUUwMUU0MzA4NDcwMDM5RTE5OCAvKiBtYWlu
LmNwcCAqLywKKwkJCQlDRDgzNkNGRDFFNDNCREI0MDA5RjgwOTEgLyogQ29uZmlndXJhdGlvbnMg
Ki8sCisJCQkJQ0RCMDk5REUxRTQzMDg0NzAwMzlFMTk4IC8qIFByb2R1Y3RzICovLAorCQkJCUNE
QjA5OUU3MUU0MzA4NkYwMDM5RTE5OCAvKiBGcmFtZXdvcmtzICovLAorCQkJKTsKKwkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNEQjA5OURFMUU0MzA4NDcwMDM5RTE5OCAvKiBQ
cm9kdWN0cyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
Q0RCMDk5REQxRTQzMDg0NzAwMzlFMTk4IC8qIE1lZGlhVGltZSAqLywKKwkJCSk7CisJCQluYW1l
ID0gUHJvZHVjdHM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDREIwOTlF
NzFFNDMwODZGMDAzOUUxOTggLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3Vw
OworCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0RCMDk5RUUxRTQzMEI1NTAwMzlFMTk4IC8qIGxpYmlj
dWNvcmUuZHlsaWIgKi8sCisJCQkJQ0RCMDk5RUMxRTQzMEI0NDAwMzlFMTk4IC8qIEZvdW5kYXRp
b24uZnJhbWV3b3JrICovLAorCQkJCUNEQjA5OUVBMUU0MzBCMjUwMDM5RTE5OCAvKiBDb3JlRm91
bmRhdGlvbi5mcmFtZXdvcmsgKi8sCisJCQkJQ0RCMDk5RTgxRTQzMDg3MDAwMzlFMTk4IC8qIGxp
YldURi5hICovLAorCQkJKTsKKwkJCW5hbWUgPSBGcmFtZXdvcmtzOworCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKKwkJfTsKKy8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCisKKy8qIEJlZ2lu
IFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCisJCUNEQjA5OURDMUU0MzA4NDcwMDM5RTE5OCAv
KiBNZWRpYVRpbWUgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENv
bmZpZ3VyYXRpb25MaXN0ID0gQ0RCMDk5RTQxRTQzMDg0NzAwMzlFMTk4IC8qIEJ1aWxkIGNvbmZp
Z3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJNZWRpYVRpbWUiICovOworCQkJYnVp
bGRQaGFzZXMgPSAoCisJCQkJQ0RCMDk5RDkxRTQzMDg0NzAwMzlFMTk4IC8qIFNvdXJjZXMgKi8s
CisJCQkJQ0RCMDk5REExRTQzMDg0NzAwMzlFMTk4IC8qIEZyYW1ld29ya3MgKi8sCisJCQkJQ0RC
MDk5REIxRTQzMDg0NzAwMzlFMTk4IC8qIENvcHlGaWxlcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1
bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gTWVk
aWFUaW1lOworCQkJcHJvZHVjdE5hbWUgPSBNZWRpYVRpbWVUZXN0Y2FzZTsKKwkJCXByb2R1Y3RS
ZWZlcmVuY2UgPSBDREIwOTlERDFFNDMwODQ3MDAzOUUxOTggLyogTWVkaWFUaW1lICovOworCQkJ
cHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS50b29sIjsKKwkJfTsKKy8qIEVu
ZCBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rp
b24gKi8KKwkJQ0RCMDk5RDUxRTQzMDg0NzAwMzlFMTk4IC8qIFByb2plY3Qgb2JqZWN0ICovID0g
eworCQkJaXNhID0gUEJYUHJvamVjdDsKKwkJCWF0dHJpYnV0ZXMgPSB7CisJCQkJTGFzdFVwZ3Jh
ZGVDaGVjayA9IDA4MzA7CisJCQkJT1JHQU5JWkFUSU9OTkFNRSA9ICJKZXJlbXkgTm9ibGUiOwor
CQkJCVRhcmdldEF0dHJpYnV0ZXMgPSB7CisJCQkJCUNEQjA5OURDMUU0MzA4NDcwMDM5RTE5OCA9
IHsKKwkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDguMzsKKwkJCQkJCURldmVsb3BtZW50
VGVhbSA9IEc1VVlQNUNTN0s7CisJCQkJCQlQcm92aXNpb25pbmdTdHlsZSA9IEF1dG9tYXRpYzsK
KwkJCQkJfTsKKwkJCQl9OworCQkJfTsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBDREIw
OTlEODFFNDMwODQ3MDAzOUUxOTggLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQ
cm9qZWN0ICJNZWRpYVRpbWUiICovOworCQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUg
My4yIjsKKwkJCWRldmVsb3BtZW50UmVnaW9uID0gRW5nbGlzaDsKKwkJCWhhc1NjYW5uZWRGb3JF
bmNvZGluZ3MgPSAwOworCQkJa25vd25SZWdpb25zID0gKAorCQkJCWVuLAorCQkJKTsKKwkJCW1h
aW5Hcm91cCA9IENEQjA5OUQ0MUU0MzA4NDcwMDM5RTE5ODsKKwkJCXByb2R1Y3RSZWZHcm91cCA9
IENEQjA5OURFMUU0MzA4NDcwMDM5RTE5OCAvKiBQcm9kdWN0cyAqLzsKKwkJCXByb2plY3REaXJQ
YXRoID0gIiI7CisJCQlwcm9qZWN0Um9vdCA9ICIiOworCQkJdGFyZ2V0cyA9ICgKKwkJCQlDREIw
OTlEQzFFNDMwODQ3MDAzOUUxOTggLyogTWVkaWFUaW1lICovLAorCQkJKTsKKwkJfTsKKy8qIEVu
ZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ug
c2VjdGlvbiAqLworCQlDREIwOTlEOTFFNDMwODQ3MDAzOUUxOTggLyogU291cmNlcyAqLyA9IHsK
KwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCUNEQjA5OUUxMUU0MzA4NDcwMDM5RTE5OCAvKiBt
YWluLmNwcCBpbiBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rp
b24gKi8KKworLyogQmVnaW4gWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCQlDREIw
OTlFMjFFNDMwODQ3MDAzOUUxOTggLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQ0Q4MzZEMDAxRTQz
QkRCNDAwOUY4MDkxIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGlu
Z3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gWUVTOworCQkJCUNMQU5HX0NY
WF9MQU5HVUFHRV9TVEFOREFSRCA9ICJjKysweCI7CisJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAi
bGliYysrIjsKKwkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZjsKKwkJCQlFTkFC
TEVfVEVTVEFCSUxJVFkgPSBZRVM7CisJCQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CisJCQkJ
R0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CisJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9
IDA7CisJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKKwkJCQkJIkRFQlVHPTEi
LAorCQkJCQkiJChpbmhlcml0ZWQpIiwKKwkJCQkpOworCQkJCU9OTFlfQUNUSVZFX0FSQ0ggPSBZ
RVM7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQlDREIwOTlFMzFFNDMwODQ3MDAz
OUUxOTggLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwor
CQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBDRDgzNkQwMDFFNDNCREI0MDA5RjgwOTEg
LyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlB
TFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBZRVM7CisJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NU
QU5EQVJEID0gImMrKzB4IjsKKwkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOworCQkJ
CURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOworCQkJCUdDQ19O
T19DT01NT05fQkxPQ0tTID0gWUVTOworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9Owor
CQlDREIwOTlFNTFFNDMwODQ3MDAzOUUxOTggLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQ0xBTkdfQ1hYX0xB
TkdVQUdFX1NUQU5EQVJEID0gImMrKzE0IjsKKwkJCQlERVZFTE9QTUVOVF9URUFNID0gRzVVWVA1
Q1M3SzsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOworCQkJfTsKKwkJCW5h
bWUgPSBEZWJ1ZzsKKwkJfTsKKwkJQ0RCMDk5RTYxRTQzMDg0NzAwMzlFMTk4IC8qIFJlbGVhc2Ug
Ki8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3Mg
PSB7CisJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImMrKzE0IjsKKwkJCQlERVZF
TE9QTUVOVF9URUFNID0gRzVVWVA1Q1M3SzsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRf
TkFNRSkiOworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQlDREIwOTlGMDFFNDM5
NDU0MDAzOUUxOTggLyogQ29udHJvbCAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0
aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMg
PSBZRVM7CisJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImMrKzB4IjsKKwkJCQlD
TEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOworCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1B
VCA9ICJkd2FyZi13aXRoLWRzeW0iOworCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwor
CQkJCUhFQURFUl9TRUFSQ0hfUEFUSFMgPSAvdXNyL2xvY2FsL2luY2x1ZGU7CisJCQkJTElCUkFS
WV9TRUFSQ0hfUEFUSFMgPSAvdXNyL2xvY2FsL2xpYjsKKwkJCX07CisJCQluYW1lID0gQ29udHJv
bDsKKwkJfTsKKwkJQ0RCMDk5RjExRTQzOTQ1NDAwMzlFMTk4IC8qIENvbnRyb2wgKi8gPSB7CisJ
CQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJ
Q0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImMrKzE0IjsKKwkJCQlERVZFTE9QTUVOVF9U
RUFNID0gRzVVWVA1Q1M3SzsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwor
CQkJfTsKKwkJCW5hbWUgPSBDb250cm9sOworCQl9OworLyogRW5kIFhDQnVpbGRDb25maWd1cmF0
aW9uIHNlY3Rpb24gKi8KKworLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICov
CisJCUNEQjA5OUQ4MUU0MzA4NDcwMDM5RTE5OCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3Qg
Zm9yIFBCWFByb2plY3QgIk1lZGlhVGltZSIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRp
b25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQlDREIwOTlFMjFFNDMwODQ3
MDAzOUUxOTggLyogRGVidWcgKi8sCisJCQkJQ0RCMDk5RTMxRTQzMDg0NzAwMzlFMTk4IC8qIFJl
bGVhc2UgKi8sCisJCQkJQ0RCMDk5RjAxRTQzOTQ1NDAwMzlFMTk4IC8qIENvbnRyb2wgKi8sCisJ
CQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENv
bmZpZ3VyYXRpb25OYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJQ0RCMDk5RTQxRTQzMDg0NzAwMzlF
MTk4IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJNZWRp
YVRpbWUiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29u
ZmlndXJhdGlvbnMgPSAoCisJCQkJQ0RCMDk5RTUxRTQzMDg0NzAwMzlFMTk4IC8qIERlYnVnICov
LAorCQkJCUNEQjA5OUU2MUU0MzA4NDcwMDM5RTE5OCAvKiBSZWxlYXNlICovLAorCQkJCUNEQjA5
OUYxMUU0Mzk0NTQwMDM5RTE5OCAvKiBDb250cm9sICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25m
aWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFJl
bGVhc2U7CisJCX07CisvKiBFbmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJfTsK
Kwlyb290T2JqZWN0ID0gQ0RCMDk5RDUxRTQzMDg0NzAwMzlFMTk4IC8qIFByb2plY3Qgb2JqZWN0
ICovOworfQpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvbWFpbi5jcHAg
Yi9QZXJmb3JtYW5jZVRlc3RzL01lZGlhVGltZS9tYWluLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MmFlOWY3
MTVlZjI4MWM2YWMyMTE3OGM2NjI0MTlhMmNmYjljZDE5Ci0tLSAvZGV2L251bGwKKysrIGIvUGVy
Zm9ybWFuY2VUZXN0cy9NZWRpYVRpbWUvbWFpbi5jcHAKQEAgLTAsMCArMSw5NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlIDxjaHJvbm8+CisjaW5jbHVkZSA8cmFuZG9tPgorI2luY2x1ZGUgPHNl
dD4KKyNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBzdGQ7Cit1
c2luZyBuYW1lc3BhY2Ugc3RkOjpjaHJvbm87CisKK3N0YXRpYyBjb25zdCBzaXplX3Qgc2V0U2l6
ZSA9IDEwMDAwMDsKKwordm9pZCBwZXJmb3JtVGVzdChjb25zdCBjaGFyKiBuYW1lLCBmdW5jdGlv
bjx2b2lkKCk+IHRlc3QpCit7CisgICAgdmVjdG9yPGRvdWJsZT4gcnVudGltZXMoMjEpOworICAg
IGZvciAoYXV0byYgcnVudGltZSA6IHJ1bnRpbWVzKSB7CisgICAgICAgIGF1dG8gc3RhcnQgPSBz
dGVhZHlfY2xvY2s6Om5vdygpOworICAgICAgICB0ZXN0KCk7CisgICAgICAgIHJ1bnRpbWUgPSBk
dXJhdGlvbl9jYXN0PG1pbGxpc2Vjb25kcz4oc3RlYWR5X2Nsb2NrOjpub3coKSAtIHN0YXJ0KS5j
b3VudCgpOworICAgIH0KKyAgICBzb3J0KHJ1bnRpbWVzLmJlZ2luKCksIHJ1bnRpbWVzLmVuZCgp
KTsKKyAgICBkb3VibGUgc3VtID0gc3RkOjphY2N1bXVsYXRlKHJ1bnRpbWVzLmJlZ2luKCksIHJ1
bnRpbWVzLmVuZCgpLCAwKTsKKyAgICBkb3VibGUgbWVhbiA9IHN1bSAvIHJ1bnRpbWVzLnNpemUo
KTsKKyAgICBkb3VibGUgbWVkaWFuID0gcnVudGltZXNbKHJ1bnRpbWVzLnNpemUoKSArIDEpIC8g
Ml07CisgICAgZG91YmxlIG1pbiA9IHJ1bnRpbWVzLmZyb250KCk7CisgICAgZG91YmxlIG1heCA9
IHJ1bnRpbWVzLmJhY2soKTsKKyAgICBkb3VibGUgc3FTdW0gPSBzdGQ6OmlubmVyX3Byb2R1Y3Qo
cnVudGltZXMuYmVnaW4oKSwgcnVudGltZXMuZW5kKCksIHJ1bnRpbWVzLmJlZ2luKCksIDApOwor
ICAgIGRvdWJsZSBzdGRldiA9IHN0ZDo6c3FydChzcVN1bSAvIHJ1bnRpbWVzLnNpemUoKSAtIG1l
YW4gKiBtZWFuKTsKKworICAgIHByaW50ZigiUkVTVUxUICVzOiBUaW1lPSAlZyBtcyIsIG5hbWUs
IHN1bSk7CisgICAgcHJpbnRmKCJtZWRpYW49ICVnIG1zLCBzdGRldj0gJWcgbXMsIG1pbj0gJWcg
bXMsIG1heCA9ICVnIG1zIiwgbWVkaWFuLCBzdGRldiwgbWluLCBtYXgpOworfQorCit2b2lkIHRl
c3QoaW50MzJfdCBjb3VudCwgZnVuY3Rpb248TWVkaWFUaW1lKGludDMyX3QpPiBnZW5lcmF0b3Ip
Cit7CisgICAgc2V0PE1lZGlhVGltZT4gdGltZXM7CisKKyAgICBmb3IgKGludDMyX3QgaSA9IDA7
IGkgPCBjb3VudDsgKytpKQorICAgICAgICB0aW1lcy5pbnNlcnQoZ2VuZXJhdG9yKGkpKTsKKwor
ICAgIGZvciAoaW50MzJfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgICAgIHRpbWVzLnVw
cGVyX2JvdW5kKGdlbmVyYXRvcihpKSk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjb25zdCBj
aGFyICogYXJndltdKQoreworICAgIHBlcmZvcm1UZXN0KCJFcXVhbCBUaW1lU2NhbGVzIiwgW10g
eyB0ZXN0KHNldFNpemUsIFtdIChpbnQzMl90IGkpIHsgcmV0dXJuIE1lZGlhVGltZShpLCAxKTsg
fSk7IH0pOworICAgIHBlcmZvcm1UZXN0KCJFcXVhbCBUaW1lVmFsdWVzIiwgW10geyB0ZXN0KHNl
dFNpemUsIFtdIChpbnQzMl90IGkpIHsgcmV0dXJuIE1lZGlhVGltZSgxLCBpICsgMSk7IH0pOyB9
KTsKKyAgICBwZXJmb3JtVGVzdCgiRGlzcGFyYXRlIFRpbWVWYWx1ZXMgJiBUaW1lU2NhbGVzIiwg
W10geyB0ZXN0KHNldFNpemUsIFtdIChpbnQzMl90IGkpIHsgcmV0dXJuIE1lZGlhVGltZShpLCBp
ICsgMSk7IH0pOyB9KTsKKyAgICBwZXJmb3JtVGVzdCgiTm9uLXVuaWZvcm0iLCBbXSB7CisgICAg
ICAgIHRlc3Qoc2V0U2l6ZSwgW10gKGludDMyX3QgaSkgeworICAgICAgICAgICAgc3dpdGNoIChp
ICUgNikgeworICAgICAgICAgICAgY2FzZSAwOgorICAgICAgICAgICAgICAgIHJldHVybiBNZWRp
YVRpbWU6OmludmFsaWRUaW1lKCk7CisgICAgICAgICAgICBjYXNlIDE6CisgICAgICAgICAgICAg
ICAgcmV0dXJuIE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0ZVRpbWUoKTsKKyAgICAgICAgICAg
IGNhc2UgMjoKKyAgICAgICAgICAgICAgICByZXR1cm4gTWVkaWFUaW1lOjpuZWdhdGl2ZUluZmlu
aXRlVGltZSgpOworICAgICAgICAgICAgY2FzZSAzOgorICAgICAgICAgICAgICAgIHJldHVybiBN
ZWRpYVRpbWU6OmluZGVmaW5pdGVUaW1lKCk7CisgICAgICAgICAgICBjYXNlIDQ6CisgICAgICAg
ICAgICAgICAgcmV0dXJuIE1lZGlhVGltZShpLCAxKTsKKyAgICAgICAgICAgIGNhc2UgNToKKyAg
ICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIE1lZGlhVGltZShpLCBp
ICsgMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgcmV0dXJu
IDA7Cit9CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NraXBwZWQgYi9QZXJmb3JtYW5j
ZVRlc3RzL1NraXBwZWQKaW5kZXggYmU0NjE4Y2U3OGFhOGY4ZjNjZWQ1MjIyOGYwMjJkNjhlOTFl
YTRiMS4uM2EzODlkZjlmMDE4OTdlN2M0OTFkMjA3NjEwMjcyMTI4Y2NlZmE5NyAxMDA2NDQKLS0t
IGEvUGVyZm9ybWFuY2VUZXN0cy9Ta2lwcGVkCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2tpcHBl
ZApAQCAtMTA3LDYgKzEwNyw3IEBAIEFuaW1hdGlvbi9zdmctYW5pbWF0aW9uLmh0bWwKICMgTWVk
aWEgdGVzdHMgdGFrZSB0b28gbG9uZyB0byBydW47IHJlcXVpcmUgTVNFLCBITFMgd2hpY2ggYXJl
IG5vdCBzdXBwb3J0ZWQgb24gYWxsIHBvcnRzOwogIyBhbmQgcmVxdWlyZSBhIHdlYnNlcnZlciAo
cnVuLXdlYmtpdC1odHRwZCkgd2hpY2ggaXMgbm90IHBhcnQgb2Ygbm9ybWFsIHBlcmZvcm1hbmNl
IHRlc3RpbmcuCiBNZWRpYS8KK01lZGlhVGltZS8KIAogIyBCdWdzIDE2NzYyMiwgMTY3NjM3LCAx
Njc2MzggYW5kIDE2NzY0MCAtIFNvbWUgSW5kZXhlZERCIHRlc3QgZGVhZGxvY2sgb24gdGhlIEdU
SysgcGVyZiBib3QuCiBbR1RLXSBJbmRleGVkREIvaW5kZXgtZ2V0Lmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>300613</attachid>
            <date>2017-02-04 02:06:00 -0800</date>
            <delta_ts>2017-02-04 02:06:00 -0800</delta_ts>
            <desc>MediaTime-pre.txt</desc>
            <filename>MediaTime-pre.txt</filename>
            <type>text/plain</type>
            <size>409</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">UkVTVUxUIEVxdWFsIFRpbWVTY2FsZXM6IFRpbWU9IDM4NTAgbXMKbWVkaWFuPSAxODMgbXMsIHN0
ZGV2PSA2Ljg3NTMxIG1zLCBtaW49IDE3MiBtcywgbWF4ID0gMTk2IG1zClJFU1VMVCBFcXVhbCBU
aW1lVmFsdWVzOiBUaW1lPSAzODc4IG1zCm1lZGlhbj0gMTg2IG1zLCBzdGRldj0gNC44ODI3NSBt
cywgbWluPSAxNzYgbXMsIG1heCA9IDE5MyBtcwpSRVNVTFQgRGlzcGFyYXRlIFRpbWVWYWx1ZXMg
JiBUaW1lU2NhbGVzOiBUaW1lPSA1ODkwIG1zCm1lZGlhbj0gMjc4IG1zLCBzdGRldj0gOC45MjYy
NSBtcywgbWluPSAyNjkgbXMsIG1heCA9IDMwMiBtcwpSRVNVTFQgTm9uLXVuaWZvcm06IFRpbWU9
IDE3ODUgbXMKbWVkaWFuPSA4MyBtcywgc3RkZXY9IDMuNTk4OTQgbXMsIG1pbj0gODIgbXMsIG1h
eCA9IDk1IG1zCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>300614</attachid>
            <date>2017-02-04 02:06:47 -0800</date>
            <delta_ts>2017-02-04 02:06:47 -0800</delta_ts>
            <desc>MediaTime-post.txt</desc>
            <filename>MediaTime-post.txt</filename>
            <type>text/plain</type>
            <size>402</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">UkVTVUxUIEVxdWFsIFRpbWVTY2FsZXM6IFRpbWU9IDEwOTkgbXMKbWVkaWFuPSA1MiBtcywgc3Rk
ZXY9IDQuNTYwMDEgbXMsIG1pbj0gNDUgbXMsIG1heCA9IDYxIG1zClJFU1VMVCBFcXVhbCBUaW1l
VmFsdWVzOiBUaW1lPSA4NjkgbXMKbWVkaWFuPSA0MiBtcywgc3RkZXY9IDIuMjE0MTYgbXMsIG1p
bj0gMzggbXMsIG1heCA9IDQ1IG1zClJFU1VMVCBEaXNwYXJhdGUgVGltZVZhbHVlcyAmIFRpbWVT
Y2FsZXM6IFRpbWU9IDQxNjkgbXMKbWVkaWFuPSAxOTkgbXMsIHN0ZGV2PSA3LjAwNzYxIG1zLCBt
aW49IDE4NSBtcywgbWF4ID0gMjA4IG1zClJFU1VMVCBOb24tdW5pZm9ybTogVGltZT0gMTA5OSBt
cwptZWRpYW49IDUzIG1zLCBzdGRldj0gMS45MTA3MSBtcywgbWluPSA0OSBtcywgbWF4ID0gNTYg
bXMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>300615</attachid>
            <date>2017-02-04 02:07:28 -0800</date>
            <delta_ts>2017-02-04 02:07:28 -0800</delta_ts>
            <desc>MSERemoveCodedFrames-pre.txt</desc>
            <filename>MSERemoveCodedFrames-pre.txt</filename>
            <type>text/plain</type>
            <size>1159</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">ClJ1bm5pbmcgMjAgdGltZXMKICAgIDA6IDE2My4wOTk5OTk5OTk5OTk5NyBtcyAoSWdub3JlZCB3
YXJtLXVwIHJ1bikKICAgIDE6IDE4Ni4yOTk5OTk5OTk5OTk4NCBtcwogICAgMjogMTU1Ljc5OTk5
OTk5OTk5OTk1IG1zCiAgICAzOiAxNTIuMDAwMDAwMDAwMDAwMjMgbXMKICAgIDQ6IDE1NS41OTk5
OTk5OTk5OTk0NSBtcwogICAgNTogMTUyLjU5OTk5OTk5OTk5OTkgbXMKICAgIDY6IDE2MS4wOTk5
OTk5OTk5OTk5IG1zCiAgICA3OiAxNjcuNjAwMDAwMDAwMDAwMzYgbXMKICAgIDg6IDE3MC4zOTk5
OTk5OTk5OTk2NCBtcwogICAgOTogMTU3LjM5OTk5OTk5OTk5OTY0IG1zCiAgICAxMDogMTczLjEw
MDAwMDAwMDAwMTI3IG1zCiAgICAxMTogMTYwLjE5OTk5OTk5OTk5OTgyIG1zCiAgICAxMjogMTcy
LjUgbXMKICAgIDEzOiAxNzIuODk5OTk5OTk5OTk5NjQgbXMKICAgIDE0OiAxNzIuMTk5OTk5OTk5
OTk5ODIgbXMKICAgIDE1OiAxNjMuNzAwMDAwMDAwMDAwNzMgbXMKICAgIDE2OiAxNzcuNzAwMDAw
MDAwMDAwNzMgbXMKICAgIDE3OiAxODQuMTk5OTk5OTk5OTk4OSBtcwogICAgMTg6IDE2OS44MDAw
MDAwMDAwMDExIG1zCiAgICAxOTogMTcyLjE5OTk5OTk5OTk5ODkgbXMKICAgIDIwOiAxNzQuNSBt
cwoKOlRpbWUgLT4gWzE4Ni4yOTk5OTk5OTk5OTk4NCwgMTU1Ljc5OTk5OTk5OTk5OTk1LCAxNTIu
MDAwMDAwMDAwMDAwMjMsIDE1NS41OTk5OTk5OTk5OTk0NSwgMTUyLjU5OTk5OTk5OTk5OTksIDE2
MS4wOTk5OTk5OTk5OTk5LCAxNjcuNjAwMDAwMDAwMDAwMzYsIDE3MC4zOTk5OTk5OTk5OTk2NCwg
MTU3LjM5OTk5OTk5OTk5OTY0LCAxNzMuMTAwMDAwMDAwMDAxMjcsIDE2MC4xOTk5OTk5OTk5OTk4
MiwgMTcyLjUsIDE3Mi44OTk5OTk5OTk5OTk2NCwgMTcyLjE5OTk5OTk5OTk5OTgyLCAxNjMuNzAw
MDAwMDAwMDAwNzMsIDE3Ny43MDAwMDAwMDAwMDA3MywgMTg0LjE5OTk5OTk5OTk5ODksIDE2OS44
MDAwMDAwMDAwMDExLCAxNzIuMTk5OTk5OTk5OTk4OSwgMTc0LjVdIG1zCiAgICBtZWFuOiAxNjcu
NTkgbXMKICAgIG1lZGlhbjogMTcwLjEwMDAwMDAwMDAwMDM2IG1zCiAgICBzdGRldjogOS45NDc0
MzU1MzMwNTEyMDQgbXMKICAgIG1pbjogMTUyLjAwMDAwMDAwMDAwMDIzIG1zCiAgICBtYXg6IDE4
Ni4yOTk5OTk5OTk5OTk4NCBtcw==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>300616</attachid>
            <date>2017-02-04 02:07:42 -0800</date>
            <delta_ts>2017-02-04 02:07:42 -0800</delta_ts>
            <desc>MSERemoveCodedFrames-post.txt</desc>
            <filename>MSERemoveCodedFrames-post.txt</filename>
            <type>text/plain</type>
            <size>1137</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">ClJ1bm5pbmcgMjAgdGltZXMKICAgIDA6IDcwLjYwMDAwMDAwMDAwMDAyIG1zIChJZ25vcmVkIHdh
cm0tdXAgcnVuKQogICAgMTogNjUgbXMKICAgIDI6IDYzLjYwMDAwMDAwMDAwMDEzNiBtcwogICAg
MzogNjAuMjk5OTk5OTk5OTk5OTU1IG1zCiAgICA0OiA2Ny4yOTk5OTk5OTk5OTk5NSBtcwogICAg
NTogNjguMTAwMDAwMDAwMDAwMTQgbXMKICAgIDY6IDY2LjcwMDAwMDAwMDAwMDA1IG1zCiAgICA3
OiA2NC4zMDAwMDAwMDAwMDAxOCBtcwogICAgODogNjcuMTAwMDAwMDAwMDAwNTkgbXMKICAgIDk6
IDY5LjYwMDAwMDAwMDAwMDM2IG1zCiAgICAxMDogNjcuOTk5OTk5OTk5OTk5NTUgbXMKICAgIDEx
OiA2NC40MDAwMDAwMDAwMDAwOSBtcwogICAgMTI6IDc5LjA5OTk5OTk5OTk5OTkxIG1zCiAgICAx
MzogNzAuOTAwMDAwMDAwMDAwMDkgbXMKICAgIDE0OiA2Ni41IG1zCiAgICAxNTogNzIuODAwMDAw
MDAwMDAwMTggbXMKICAgIDE2OiA3MC43MDAwMDAwMDAwMDAyNyBtcwogICAgMTc6IDY5LjIwMDAw
MDAwMDAwMDczIG1zCiAgICAxODogNjcuNjAwMDAwMDAwMDAwMzYgbXMKICAgIDE5OiA3My4wMDAw
MDAwMDAwMDA5MSBtcwogICAgMjA6IDgyLjYwMDAwMDAwMDAwMDM2IG1zCgo6VGltZSAtPiBbNjUs
IDYzLjYwMDAwMDAwMDAwMDEzNiwgNjAuMjk5OTk5OTk5OTk5OTU1LCA2Ny4yOTk5OTk5OTk5OTk5
NSwgNjguMTAwMDAwMDAwMDAwMTQsIDY2LjcwMDAwMDAwMDAwMDA1LCA2NC4zMDAwMDAwMDAwMDAx
OCwgNjcuMTAwMDAwMDAwMDAwNTksIDY5LjYwMDAwMDAwMDAwMDM2LCA2Ny45OTk5OTk5OTk5OTk1
NSwgNjQuNDAwMDAwMDAwMDAwMDksIDc5LjA5OTk5OTk5OTk5OTkxLCA3MC45MDAwMDAwMDAwMDAw
OSwgNjYuNSwgNzIuODAwMDAwMDAwMDAwMTgsIDcwLjcwMDAwMDAwMDAwMDI3LCA2OS4yMDAwMDAw
MDAwMDA3MywgNjcuNjAwMDAwMDAwMDAwMzYsIDczLjAwMDAwMDAwMDAwMDkxLCA4Mi42MDAwMDAw
MDAwMDAzNl0gbXMKICAgIG1lYW46IDY4Ljg0MDAwMDAwMDAwMDE5IG1zCiAgICBtZWRpYW46IDY3
Ljc5OTk5OTk5OTk5OTk1IG1zCiAgICBzdGRldjogNS4xNzk0NTMzMzQyOTE3NjUgbXMKICAgIG1p
bjogNjAuMjk5OTk5OTk5OTk5OTU1IG1zCiAgICBtYXg6IDgyLjYwMDAwMDAwMDAwMDM2IG1z
</data>

          </attachment>
      

    </bug>

</bugzilla>