<?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>192669</bug_id>
          
          <creation_ts>2018-12-13 11:01:51 -0800</creation_ts>
          <short_desc>Web Inspector: Timelines: correctly label Intersection Observer callbacks</short_desc>
          <delta_ts>2019-10-30 19:18:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=203634</see_also>
          <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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>ajuma</cc>
    
    <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1487629</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-13 11:01:51 -0800</bug_when>
    <thetext>Intersection Observer callbacks currently show as &quot;Script evaluated&quot;, which is misleading (no eval is involved). They need to be correctly labeled as &quot;Intersection Observer callbacks&quot; or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487631</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-13 11:03:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/46702490&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487636</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-12-13 11:14:38 -0800</bug_when>
    <thetext>Extra data, such as a name, could probably be provided at these points:

    bindings/js/JSCallbackData.cpp
    78:    InspectorInstrumentationCookie cookie = JSExecState::instrumentFunctionCall(context, callType, callData);

    bindings/js/JSEventListener.cpp
    171:    InspectorInstrumentationCookie cookie = JSExecState::instrumentFunctionCall(&amp;scriptExecutionContext, callType, callData);

    bindings/js/JSErrorHandler.cpp
    102:        InspectorInstrumentationCookie cookie = JSExecState::instrumentFunctionCall(&amp;scriptExecutionContext, callType, callData);

    bindings/js/ScheduledAction.cpp
    115:    InspectorInstrumentationCookie cookie = JSExecState::instrumentFunctionCall(&amp;context, callType, callData);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489146</commentid>
    <comment_count>3</comment_count>
      <attachid>357638</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-18 17:17:10 -0800</bug_when>
    <thetext>Created attachment 357638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489147</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-12-18 17:19:00 -0800</bug_when>
    <thetext>This patch modifies the inspector protocol. Please ensure that any frontend changes appropriately use feature checks for new protocol features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489152</commentid>
    <comment_count>5</comment_count>
      <attachid>357638</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-12-18 17:29:15 -0800</bug_when>
    <thetext>Comment on attachment 357638
Patch

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

r=me

We should consider writing a test for this in:

    LayoutTests/inspector/timeline

But it looks like we don&apos;t have any tests for generic timeline data. Feel free to file a bug on me to add inspector tests, and attach any test page content you have for observers. Or if you want I can guide you through a test that might not be too difficult.

&gt; Source/WebCore/dom/MutationObserver.cpp:253
&gt; +        InspectorInstrumentationCookie cookie = InspectorInstrumentation::willFireObserverCallback(*context, &quot;Mutation Observer&quot;_s);

Should we drop the space? The name of the class is `MutationObserver`.

I think that would read fine without having to localize it to something like &quot;Foo Observer&quot;.

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:1433
&gt; +    if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForContext(context))

Please insert a fast return to do as little work as possible if no inspector is open:

    FAST_RETURN_IF_NO_FRONTENDS(InspectorInstrumentationCookie());

&gt; Source/WebCore/page/IntersectionObserver.cpp:264
&gt; +    InspectorInstrumentationCookie cookie = InspectorInstrumentation::willFireObserverCallback(*context, &quot;Intersection Observer&quot;_s);

Ditto regarding space.

&gt; Source/WebCore/page/PerformanceObserver.cpp:111
&gt; +    InspectorInstrumentationCookie cookie = InspectorInstrumentation::willFireObserverCallback(*context, &quot;Performance Observer&quot;_s);

Ditto regarding space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489519</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-19 15:18:35 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/239397/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357638</attachid>
            <date>2018-12-18 17:17:10 -0800</date>
            <delta_ts>2018-12-18 18:03:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192669-20181218171709.patch</filename>
            <type>text/plain</type>
            <size>24202</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NjJlMzg3NTNmMjY4NjlmOWY0MWJhNzc3NTZlYTRiMGYwNWYzN2E3Li4yZTViMTk1MzliZmRhMTk1
MmM0MTAxNmY0ZGRkNmVmNWZhZGY0YTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOC0xMi0xOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZXM6IGNvcnJlY3RseSBsYWJl
bCBJbnRlcnNlY3Rpb24gT2JzZXJ2ZXIgY2FsbGJhY2tzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI2NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ2NzAyNDkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlT2JzZXJ2ZXJDYWxsYmFj
aygpIGFuZCB1c2UgaXQgdG8gd3JhcCBjYWxscworICAgICAgICB0byBJbnRlcnNlY3Rpb24gT2Jz
ZXJ2ZXIsIFBlcmZvcm1hbmNlIE9ic2VydmVyIGFuZCBNdXRhdGlvbiBPYnNlcnZlciBjYWxsYmFj
a3Mgc28gCisgICAgICAgIHRoYXQgdGhleSBnZXQgY29ycmVjdGx5IGxhYmVsZWQgaW4gdGhlIElu
c3BlY3RvciB0aW1lbGluZS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9UaW1lbGlu
ZS5qc29uOgorCiAyMDE4LTEyLTE3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTYW1wbGluZ1Byb2ZpbGVyJ3MgaXNWYWxpZEZyYW1lUG9pbnRlcigpIHNob3VsZCBy
ZWplY3QgYWRkcmVzcyBhdCBzdGFjayBvcmlnaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxN2IwMjA2YTkx
M2ZiODI5MGYyMGY0YjIxODY1OTUwODU1Njk0OC4uNmU4Y2YzMzVmOWQ1NjEzMGRmYmI3OGM2YTgx
YjVmZmFhMzgwZmZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTEyLTE4ICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFRpbWVsaW5lczogY29ycmVjdGx5IGxhYmVsIEludGVyc2VjdGlvbiBPYnNlcnZlciBj
YWxsYmFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MjY2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDY3MDI0OTA+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d2lsbEZpcmVPYnNlcnZlckNhbGxiYWNrKCkgYW5kIHVzZSBpdCB0byB3cmFwIGNh
bGxzCisgICAgICAgIHRvIEludGVyc2VjdGlvbiBPYnNlcnZlciwgUGVyZm9ybWFuY2UgT2JzZXJ2
ZXIgYW5kIE11dGF0aW9uIE9ic2VydmVyIGNhbGxiYWNrcyBzbyAKKyAgICAgICAgdGhhdCB0aGV5
IGdldCBjb3JyZWN0bHkgbGFiZWxlZCBpbiB0aGUgSW5zcGVjdG9yIHRpbWVsaW5lLgorCisgICAg
ICAgICogZG9tL011dGF0aW9uT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRp
b25PYnNlcnZlcjo6ZGVsaXZlcik6CisgICAgICAgICogZW4ubHByb2ovTG9jYWxpemFibGUuc3Ry
aW5nczoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVPYnNl
cnZlckNhbGxiYWNrSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsRmlyZU9ic2VydmVyQ2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaXJlT2JzZXJ2ZXJDYWxsYmFjayk6
CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZU9ic2VydmVyQ2FsbGJhY2tE
YXRhKToKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxGaXJlT2JzZXJ2ZXJDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaXJl
T2JzZXJ2ZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjp0b1Byb3RvY29sKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
c2VjdGlvbk9ic2VydmVyOjpub3RpZnkpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVy
KToKKwogMjAxOC0xMi0xNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBEb24ndCB1c2UgbW9yZSBleHBlbnNpdmUgbGF5ZXIgYmFja2luZyBzdG9yZSBm
b3JtYXRzIHdoZW4gc3VicGl4ZWwgdGV4dCBhbnRpYWxpYXNpbmcgaXMgbm90IGVuYWJsZWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGQxNjU3ODMxMjYxYjE5NDVmNTM2NWMwODI1YTJlYTBm
ZmQzNGU2M2UuLmRkZGQxNTVkNzY0ZGMxYjA5NTc5YjQ3ZmYyYTE1ZTE5YjY2ZGMwMjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTEyLTE4ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFRpbWVsaW5lczogY29ycmVjdGx5IGxhYmVsIEludGVyc2VjdGlvbiBPYnNlcnZlciBjYWxsYmFj
a3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjY2
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDY3MDI0OTA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbEZpcmVPYnNlcnZlckNhbGxiYWNrKCkgYW5kIHVzZSBpdCB0byB3cmFwIGNhbGxzCisg
ICAgICAgIHRvIEludGVyc2VjdGlvbiBPYnNlcnZlciwgUGVyZm9ybWFuY2UgT2JzZXJ2ZXIgYW5k
IE11dGF0aW9uIE9ic2VydmVyIGNhbGxiYWNrcyBzbyAKKyAgICAgICAgdGhhdCB0aGV5IGdldCBj
b3JyZWN0bHkgbGFiZWxlZCBpbiB0aGUgSW5zcGVjdG9yIHRpbWVsaW5lLgorCisgICAgICAgICog
TG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzOgorICAgICAgICAoV0ku
VGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcHJvY2Vzc1JlY29yZCk6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVSZWNvcmQuanM6CisgICAgICAgIChXSS5T
Y3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUpOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJ
LlRpbWVsaW5lVGFiQ29udGVudFZpZXcuaWNvbkNsYXNzTmFtZUZvclJlY29yZCk6CisKIDIwMTgt
MTItMTcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IEF1ZGl0OiBhZGQgcGx1cmFsIHJlc3VsdCBzdHJpbmdzCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5lLmpzb24gYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5lLmpzb24KaW5k
ZXggNGE4YWQ2ZDBlZGIyZWUwMzVjMzBlYjc4YTc3NGE1NmZhZjM3NTA4Mi4uNmI1NWMyOTllZDll
YjYxMTUzMTJkNzkzYWI2Y2YyMGE4MGIwM2ZlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbgpAQCAtMjgsNyArMjgs
OCBAQAogICAgICAgICAgICAgICAgICJDb25zb2xlUHJvZmlsZSIsCiAgICAgICAgICAgICAgICAg
IlJlcXVlc3RBbmltYXRpb25GcmFtZSIsCiAgICAgICAgICAgICAgICAgIkNhbmNlbEFuaW1hdGlv
bkZyYW1lIiwKLSAgICAgICAgICAgICAgICAiRmlyZUFuaW1hdGlvbkZyYW1lIgorICAgICAgICAg
ICAgICAgICJGaXJlQW5pbWF0aW9uRnJhbWUiLAorICAgICAgICAgICAgICAgICJPYnNlcnZlckNh
bGxiYWNrIgogICAgICAgICAgICAgXQogICAgICAgICB9LAogICAgICAgICB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTXV0YXRpb25PYnNlcnZlci5jcHAKaW5kZXggMTA0ODZhZWVhZmYxZWI3ZmRmYTc1N2Ux
N2M4NWUxN2EyMDNkMzYzMC4uZDk0ZTZlNWVlYjZkZDJjMzNmMmUwYzI1MWI4NDZlNjFlZDdhMWI0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmNwcApAQCAtMzYsNiArMzYs
NyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiR0NSZWFjaGFibGVSZWYuaCIK
ICNpbmNsdWRlICJIVE1MU2xvdEVsZW1lbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCIKICNpbmNsdWRlICJNaWNyb3Rhc2tzLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25D
YWxsYmFjay5oIgogI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCIKQEAg
LTI0NCw4ICsyNDUsMTUgQEAgdm9pZCBNdXRhdGlvbk9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBy
ZWNvcmRzLnN3YXAobV9yZWNvcmRzKTsKIAogICAgIC8vIEZJWE1FOiBLZWVwIG11dGF0aW9uIG9i
c2VydmVyIGNhbGxiYWNrIGFzIGxvbmcgYXMgaXRzIG9ic2VydmVkIG5vZGVzIGFyZSBhbGl2ZS4g
U2VlIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE3OTIyNC4KLSAgICBpZiAobV9jYWxsYmFjay0+aGFz
Q2FsbGJhY2soKSkKKyAgICBpZiAobV9jYWxsYmFjay0+aGFzQ2FsbGJhY2soKSkgeworICAgICAg
ICBhdXRvKiBjb250ZXh0ID0gbV9jYWxsYmFjay0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwor
ICAgICAgICBpZiAoIWNvbnRleHQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d2lsbEZpcmVPYnNlcnZlckNhbGxiYWNrKCpjb250ZXh0LCAiTXV0YXRpb24gT2JzZXJ2
ZXIiX3MpOwogICAgICAgICBtX2NhbGxiYWNrLT5oYW5kbGVFdmVudCgqdGhpcywgcmVjb3Jkcywg
KnRoaXMpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVPYnNlcnZl
ckNhbGxiYWNrKGNvb2tpZSk7CisgICAgfQogfQogCiB2b2lkIE11dGF0aW9uT2JzZXJ2ZXI6Om5v
dGlmeU11dGF0aW9uT2JzZXJ2ZXJzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VuLmxw
cm9qL0xvY2FsaXphYmxlLnN0cmluZ3MgYi9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6
YWJsZS5zdHJpbmdzCmluZGV4IDU1M2U1NjIwZGZlZTZmOWJkYWYwMDliYWUwYzJmY2FlMmYyYmFh
NWQuLmUzNDkwZDZiOWMxN2NmOWQ0ODY5YjRiMjVlODVmOWU2MDJjNGY5NTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKKysrIGIvU291cmNl
L1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwpAQCAtNjQ2LDYgKzY0Niw5IEBA
CiAvKiBTaG93IE1lZGlhIENvbnRyb2xzIGNvbnRleHQgbWVudSBpdGVtICovCiAiU2hvdyBDb250
cm9scyIgPSAiU2hvdyBDb250cm9scyI7CiAKKy8qIEFjdGlvbiBmcm9tIHNhZmUgYnJvd3Npbmcg
d2FybmluZyAqLworIlNob3cgRGV0YWlscyIgPSAiU2hvdyBEZXRhaWxzIjsKKwogLyogU2hvdyBm
b250cyBjb250ZXh0IG1lbnUgaXRlbSAqLwogIlNob3cgRm9udHMiID0gIlNob3cgRm9udHMiOwog
CkBAIC02NTUsOSArNjU4LDYgQEAKIC8qIG1lbnUgaXRlbSB0aXRsZSAqLwogIlNob3cgU3Vic3Rp
dHV0aW9ucyIgPSAiU2hvdyBTdWJzdGl0dXRpb25zIjsKIAotLyogQWN0aW9uIGZyb20gc2FmZSBi
cm93c2luZyB3YXJuaW5nICovCi0iU2hvdyBEZXRhaWxzIiA9ICJTaG93IERldGFpbHMiOwotCiAv
KiBUaXRsZSBvZiB0aGUgY29udGV4dCBtZW51IGl0ZW0gdG8gc2hvdyB3aGVuIFBERlBsdWdpbiB3
YXMgdXNlZCBpbnN0ZWFkIG9mIGEgYmxvY2tlZCBwbHVnaW4gKi8KICJTaG93IGluIGJsb2NrZWQg
cGx1Zy1pbiIgPSAiU2hvdyBpbiBibG9ja2VkIHBsdWctaW4iOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDU5
YThiMDg3NzVjOTUwODRkMWJmYWYzMjg3ZmJhZmQ3OTRmMzBjM2YuLjYyZTA5Y2YwNzQ3ZDY1Mjdi
YTllZGIxNzllMWM1NWU1N2I4ZjljYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC0xMDk5LDYgKzEwOTksMjIg
QEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVBbmltYXRpb25GcmFtZUlt
cGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWUKICAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRmly
ZUFuaW1hdGlvbkZyYW1lKCk7CiB9CiAKK0luc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlT2JzZXJ2ZXJDYWxsYmFja0ltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgY29uc3QgU3RyaW5nJiBjYWxs
YmFja1R5cGUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7CisgICAgaW50IHRp
bWVsaW5lQWdlbnRJZCA9IDA7CisgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVs
aW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSkg
eworICAgICAgICB0aW1lbGluZUFnZW50LT53aWxsRmlyZU9ic2VydmVyQ2FsbGJhY2soY2FsbGJh
Y2tUeXBlLCBmcmFtZUZvclNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoJmNvbnRleHQpKTsKKyAgICAg
ICAgdGltZWxpbmVBZ2VudElkID0gdGltZWxpbmVBZ2VudC0+aWQoKTsKKyAgICB9CisgICAgcmV0
dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZShpbnN0cnVtZW50aW5nQWdlbnRzLCB0
aW1lbGluZUFnZW50SWQpOworfQorCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RmlyZU9ic2VydmVyQ2FsbGJhY2tJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSYgY29va2llKQoreworICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGlu
ZUFnZW50ID0gcmV0cmlldmVUaW1lbGluZUFnZW50KGNvb2tpZSkpCisgICAgICAgIHRpbWVsaW5l
QWdlbnQtPmRpZEZpcmVPYnNlcnZlckNhbGxiYWNrKCk7Cit9CisKIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpyZWdpc3Rlckluc3RydW1lbnRpbmdBZ2VudHMoSW5zdHJ1bWVudGluZ0Fn
ZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cykKIHsKICAgICBpZiAoIXNfaW5zdHJ1bWVudGluZ0Fn
ZW50c1NldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaAppbmRleCBiOWE0MmU2ZmMwOThiNjM0YmQ4YjM4YTcwMmU0ZDgyOTU3OTc2
NzUzLi43ZTE0ZmJjNTkyOTE0NzYwZGExMDNmOTEwOTMxN2NkYzRhODBlZTk4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBA
IC0yMzUsNiArMjM1LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUgd2lsbEZpcmVBbmltYXRpb25GcmFtZShEb2N1bWVudCYsIGludCBjYWxsYmFj
a0lkKTsKICAgICBzdGF0aWMgdm9pZCBkaWRGaXJlQW5pbWF0aW9uRnJhbWUoY29uc3QgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAKKyAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llIHdpbGxGaXJlT2JzZXJ2ZXJDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgY29uc3QgU3RyaW5nJiBjYWxsYmFja1R5cGUpOworICAgIHN0YXRpYyB2b2lkIGRp
ZEZpcmVPYnNlcnZlckNhbGxiYWNrKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSYpOworCiAgICAgc3RhdGljIHZvaWQgZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBSZWZQdHI8RGF0YWJhc2U+JiYsIGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbik7CiAKICAgICBzdGF0aWMgdm9pZCBk
aWREaXNwYXRjaERPTVN0b3JhZ2VFdmVudChQYWdlJiwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0
IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsIFN0b3JhZ2VUeXBlLCBT
ZWN1cml0eU9yaWdpbiopOwpAQCAtNDA3LDYgKzQxMCw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGlj
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRmlyZUFuaW1hdGlvbkZyYW1lSW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzJiwgaW50IGNhbGxiYWNrSWQsIERvY3VtZW50Jik7CiAgICAg
c3RhdGljIHZvaWQgZGlkRmlyZUFuaW1hdGlvbkZyYW1lSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUmKTsKIAorICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUgd2lsbEZpcmVPYnNlcnZlckNhbGxiYWNrSW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
JiwgY29uc3QgU3RyaW5nJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAgIHN0YXRpYyB2
b2lkIGRpZEZpcmVPYnNlcnZlckNhbGxiYWNrSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUmKTsKKwogICAgIHN0YXRpYyB2b2lkIGRpZE9wZW5EYXRhYmFzZUltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyYsIFJlZlB0cjxEYXRhYmFzZT4mJiwgY29uc3QgU3RyaW5nJiBkb21h
aW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uKTsKIAogICAgIHN0
YXRpYyB2b2lkIGRpZERpc3BhdGNoRE9NU3RvcmFnZUV2ZW50SW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzJiwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0
cmluZyYgbmV3VmFsdWUsIFN0b3JhZ2VUeXBlLCBTZWN1cml0eU9yaWdpbiopOwpAQCAtMTQyMiw2
ICsxNDI4LDIwIEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmly
ZUFuaW1hdGlvbkZyYW1lKGNvbnN0IEluc3BlY3Rvckluc3RyCiAgICAgICAgIGRpZEZpcmVBbmlt
YXRpb25GcmFtZUltcGwoY29va2llKTsKIH0KIAoraW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlT2JzZXJ2ZXJDYWxs
YmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIGNhbGxi
YWNrVHlwZSkKK3sKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0Fn
ZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQorICAgICAgICBy
ZXR1cm4gd2lsbEZpcmVPYnNlcnZlckNhbGxiYWNrSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywg
Y2FsbGJhY2tUeXBlLCBjb250ZXh0KTsKKyAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llKCk7Cit9CisKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRmlyZU9ic2VydmVyQ2FsbGJhY2soY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llJiBjb29raWUpCit7CisgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7
CisgICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkpCisgICAgICAgIGRpZEZpcmVPYnNlcnZlckNhbGxi
YWNrSW1wbChjb29raWUpOworfQorCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmxheWVyVHJlZURpZENoYW5nZShQYWdlKiBwYWdlKQogewogICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyh2b2lkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
VGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAppbmRleCBmMmI3YmUxMzE3ZDdlMmE1ZjAzYmZjOTIy
OWU4ODI5YWRlYzUyYmU3Li4wY2FiNDU0ZmMxMGZiMzk5YThmM2E4MmFjYmRiYjhjNmQ2ZGYwMjQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0
b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0
b3J5LmNwcApAQCAtMTI1LDYgKzEyNSwxMyBAQCBSZWY8SlNPTjo6T2JqZWN0PiBUaW1lbGluZVJl
Y29yZEZhY3Rvcnk6OmNyZWF0ZUFuaW1hdGlvbkZyYW1lRGF0YShpbnQgY2FsbGJhY2tJZAogICAg
IHJldHVybiBkYXRhOwogfQogCitSZWY8SlNPTjo6T2JqZWN0PiBUaW1lbGluZVJlY29yZEZhY3Rv
cnk6OmNyZWF0ZU9ic2VydmVyQ2FsbGJhY2tEYXRhKGNvbnN0IFN0cmluZyYgY2FsbGJhY2tUeXBl
KQoreworICAgIFJlZjxKU09OOjpPYmplY3Q+IGRhdGEgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgp
OworICAgIGRhdGEtPnNldFN0cmluZygidHlwZSJfcywgY2FsbGJhY2tUeXBlKTsKKyAgICByZXR1
cm4gZGF0YTsKK30KKwogc3RhdGljIFJlZjxKU09OOjpBcnJheT4gY3JlYXRlUXVhZChjb25zdCBG
bG9hdFF1YWQmIHF1YWQpCiB7CiAgICAgUmVmPEpTT046OkFycmF5PiBhcnJheSA9IEpTT046OkFy
cmF5OjpjcmVhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJl
Y29yZEZhY3RvcnkuaAppbmRleCBhYjk4MjEyYWI2NzlkMzlkZGMzZTVkMjU1NDMxYzZjMTkxZTk3
NjY4Li5kNWMxM2ZmNzY0ZGRlM2I3OTk0YTdmMTNkNjlmNzhhMWQwNGRhODU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oCkBAIC01OCw2
ICs1OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEpTT046Ok9iamVjdD4gY3JlYXRlRXZh
bHVhdGVTY3JpcHREYXRhKGNvbnN0IFN0cmluZyYsIGRvdWJsZSBsaW5lTnVtYmVyKTsKICAgICBz
dGF0aWMgUmVmPEpTT046Ok9iamVjdD4gY3JlYXRlVGltZVN0YW1wRGF0YShjb25zdCBTdHJpbmcm
KTsKICAgICBzdGF0aWMgUmVmPEpTT046Ok9iamVjdD4gY3JlYXRlQW5pbWF0aW9uRnJhbWVEYXRh
KGludCBjYWxsYmFja0lkKTsKKyAgICBzdGF0aWMgUmVmPEpTT046Ok9iamVjdD4gY3JlYXRlT2Jz
ZXJ2ZXJDYWxsYmFja0RhdGEoY29uc3QgU3RyaW5nJiBjYWxsYmFja1R5cGUpOwogICAgIHN0YXRp
YyBSZWY8SlNPTjo6T2JqZWN0PiBjcmVhdGVQYWludERhdGEoY29uc3QgRmxvYXRRdWFkJik7CiAK
ICAgICBzdGF0aWMgdm9pZCBhcHBlbmRMYXlvdXRSb290KEpTT046Ok9iamVjdCogZGF0YSwgY29u
c3QgRmxvYXRRdWFkJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCA5NzMyZWMwMWFjZTYxOGEy
NGNmODZhMGQwMDViZjQzNDRjM2ZlN2IzLi5kYjcwMjk1YmYxZmU2NDIyMjVmODBiOTdkNTIzNTAz
MDlmNWFhZTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTU5Nyw2ICs1OTcsMTYgQEAgdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaXJlQW5pbWF0aW9uRnJhbWUoKQogICAgIGRp
ZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OkZpcmVBbmltYXRpb25G
cmFtZSk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbEZpcmVPYnNlcnZl
ckNhbGxiYWNrKGNvbnN0IFN0cmluZyYgY2FsbGJhY2tUeXBlLCBGcmFtZSogZnJhbWUpCit7Cisg
ICAgcHVzaEN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVPYnNlcnZl
ckNhbGxiYWNrRGF0YShjYWxsYmFja1R5cGUpLCBUaW1lbGluZVJlY29yZFR5cGU6Ok9ic2VydmVy
Q2FsbGJhY2ssIGZhbHNlLCBmcmFtZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6ZGlkRmlyZU9ic2VydmVyQ2FsbGJhY2soKQoreworICAgIGRpZENvbXBsZXRlQ3VycmVudFJl
Y29yZChUaW1lbGluZVJlY29yZFR5cGU6Ok9ic2VydmVyQ2FsbGJhY2spOworfQorCiAvLyBTY3Jp
cHREZWJ1Z0xpc3RlbmVyCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6YnJlYWtwb2lu
dEFjdGlvblByb2JlKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgY29uc3QgSW5zcGVjdG9yOjpTY3Jp
cHRCcmVha3BvaW50QWN0aW9uJiBhY3Rpb24sIHVuc2lnbmVkIC8qYmF0Y2hJZCovLCB1bnNpZ25l
ZCBzYW1wbGVJZCwgSlNDOjpKU1ZhbHVlKQpAQCAtNjU0LDYgKzY2NCw5IEBAIHN0YXRpYyBJbnNw
ZWN0b3I6OlByb3RvY29sOjpUaW1lbGluZTo6RXZlbnRUeXBlIHRvUHJvdG9jb2woVGltZWxpbmVS
ZWNvcmRUeXBlIHR5CiAgICAgICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpUaW1lbGlu
ZTo6RXZlbnRUeXBlOjpDYW5jZWxBbmltYXRpb25GcmFtZTsKICAgICBjYXNlIFRpbWVsaW5lUmVj
b3JkVHlwZTo6RmlyZUFuaW1hdGlvbkZyYW1lOgogICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQ
cm90b2NvbDo6VGltZWxpbmU6OkV2ZW50VHlwZTo6RmlyZUFuaW1hdGlvbkZyYW1lOworCisgICAg
Y2FzZSBUaW1lbGluZVJlY29yZFR5cGU6Ok9ic2VydmVyQ2FsbGJhY2s6CisgICAgICAgIHJldHVy
biBJbnNwZWN0b3I6OlByb3RvY29sOjpUaW1lbGluZTo6RXZlbnRUeXBlOjpPYnNlcnZlckNhbGxi
YWNrOwogICAgIH0KIAogICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpUaW1lbGluZTo6
RXZlbnRUeXBlOjpUaW1lU3RhbXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGQyNjE2ZGIxYjdiNjNl
MzkwMTAyMTRlNmVhOTIwOWIxZTQ2ODBiYjMuLmNmMjYzNWVlMjU4ODkxM2U3NjczMjY5NzM3ODQ3
MjU4Y2MxYzIzMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC04Myw2ICs4Myw4IEBAIGVudW0gY2xh
c3MgVGltZWxpbmVSZWNvcmRUeXBlIHsKICAgICBSZXF1ZXN0QW5pbWF0aW9uRnJhbWUsCiAgICAg
Q2FuY2VsQW5pbWF0aW9uRnJhbWUsCiAgICAgRmlyZUFuaW1hdGlvbkZyYW1lLAorICAgIAorICAg
IE9ic2VydmVyQ2FsbGJhY2ssCiB9OwogCiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IGZp
bmFsCkBAIC0xMzcsNiArMTM5LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlkQ2FuY2VsQW5pbWF0
aW9uRnJhbWUoaW50IGNhbGxiYWNrSWQsIEZyYW1lKik7CiAgICAgdm9pZCB3aWxsRmlyZUFuaW1h
dGlvbkZyYW1lKGludCBjYWxsYmFja0lkLCBGcmFtZSopOwogICAgIHZvaWQgZGlkRmlyZUFuaW1h
dGlvbkZyYW1lKCk7CisgICAgdm9pZCB3aWxsRmlyZU9ic2VydmVyQ2FsbGJhY2soY29uc3QgU3Ry
aW5nJiBjYWxsYmFja1R5cGUsIEZyYW1lKik7CisgICAgdm9pZCBkaWRGaXJlT2JzZXJ2ZXJDYWxs
YmFjaygpOwogICAgIHZvaWQgdGltZShGcmFtZSYsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQg
dGltZUVuZChGcmFtZSYsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgbWFpbkZyYW1lU3RhcnRl
ZExvYWRpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9u
T2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5j
cHAKaW5kZXggMGI0ZWYyODhiMzZmOWI3MWNkNjZjM2JmNmEwNTE1ZTM5MTFiY2NiNS4uMDg0ZWI0
ZDYwYzUxNWI5NTVjZTk2YWQ5MTQyODI1MjM3ZGI3MjdiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRl
ICJDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuaCIKICNpbmNsdWRlICJDU1NUb2tlbml6ZXIuaCIK
ICNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgiCiAjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oIgogI2luY2x1ZGUg
IkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgpA
QCAtMjU2LDggKzI1NywxNiBAQCB2b2lkIEludGVyc2VjdGlvbk9ic2VydmVyOjpub3RpZnkoKQog
ICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgYXV0byogY29udGV4dCA9IG1fY2FsbGJhY2st
PnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJl
dHVybjsKKworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCwg
IkludGVyc2VjdGlvbiBPYnNlcnZlciJfcyk7CisKICAgICBhdXRvIHRha2VuUmVjb3JkcyA9IHRh
a2VSZWNvcmRzKCk7CiAgICAgbV9jYWxsYmFjay0+aGFuZGxlRXZlbnQoV1RGTW92ZSh0YWtlblJl
Y29yZHMucmVjb3JkcyksICp0aGlzKTsKKworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRmlyZU9ic2VydmVyQ2FsbGJhY2soY29va2llKTsKIH0KIAogYm9vbCBJbnRlcnNlY3Rpb25P
YnNlcnZlcjo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCmluZGV4IDExZTU5NDk0MDc2NGQwYjJjMzViYWRhM2Mw
ZjkyZjMxNDc4YWUxOTEuLmI1ODJhN2NhNjYxNGFiN2UzOWRmNjAxYWIwN2I0NDNmM2ZlYWIwZDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcApAQCAtMjgs
NiArMjgsNyBAQAogCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJQZXJm
b3JtYW5jZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCIKICNp
bmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtMTAwLDkgKzEwMSwxNiBAQCB2b2lkIFBl
cmZvcm1hbmNlT2JzZXJ2ZXI6OmRlbGl2ZXIoKQogICAgIGlmIChtX2VudHJpZXNUb0RlbGl2ZXIu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBhdXRvKiBjb250ZXh0ID0gbV9jYWxs
YmFjay0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmICghY29udGV4dCkKKyAgICAg
ICAgcmV0dXJuOworCiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZW50cmll
cyA9IFdURk1vdmUobV9lbnRyaWVzVG9EZWxpdmVyKTsKICAgICBhdXRvIGxpc3QgPSBQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0OjpjcmVhdGUoV1RGTW92ZShlbnRyaWVzKSk7CisKKyAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsRmlyZU9ic2VydmVyQ2FsbGJhY2soKmNvbnRleHQsICJQZXJmb3JtYW5jZSBP
YnNlcnZlciJfcyk7CiAgICAgbV9jYWxsYmFjay0+aGFuZGxlRXZlbnQobGlzdCwgKnRoaXMpOwor
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZU9ic2VydmVyQ2FsbGJhY2soY29v
a2llKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMKaW5kZXggNjBmYzFkOTdhMThkZWE0OWQ1ZDZiMWExMzQ5ZTllMzMxMTA2MWViZC4u
NjE5ODI0ZWYwNGU2ODgyMzFlMzRkODc3MWViNTY1ZmMwYTUwYWYwNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5n
cy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC00NSw2ICs0NSw3IEBAIGxvY2FsaXplZFN0cmluZ3NbIiVz
ICglcykiXSA9ICIlcyAoJXMpIjsKIGxvY2FsaXplZFN0cmluZ3NbIiVzICglcywgJXMpIl0gPSAi
JXMgKCVzLCAlcykiOwogbG9jYWxpemVkU3RyaW5nc1siJXMgKGRlZmF1bHQpIl0gPSAiJXMgKGRl
ZmF1bHQpIjsKIGxvY2FsaXplZFN0cmluZ3NbIiVzIChoaWRkZW4pIl0gPSAiJXMgKGhpZGRlbiki
OworbG9jYWxpemVkU3RyaW5nc1siJXMgQ2FsbGJhY2siXSA9ICIlcyBDYWxsYmFjayI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyIlcyBFdmVudCBEaXNwYXRjaGVkIl0gPSAiJXMgRXZlbnQgRGlzcGF0Y2hl
ZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlcyBGaXJlZCJdID0gIiVzIEZpcmVkIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIiVzIFByb3RvdHlwZSJdID0gIiVzIFByb3RvdHlwZSI7CkBAIC01Myw2ICs1NCw3
IEBAIGxvY2FsaXplZFN0cmluZ3NbIiVzIFx1MjAxMyAlcyJdID0gIiVzIFx1MjAxMyAlcyI7CiBs
b2NhbGl6ZWRTdHJpbmdzWyIlcyBcdTIwMTQgJXMiXSA9ICIlcyBcdTIwMTQgJXMiOwogbG9jYWxp
emVkU3RyaW5nc1siJXMgY2Fubm90IGJlIG1vZGlmaWVkIl0gPSAiJXMgY2Fubm90IGJlIG1vZGlm
aWVkIjsKIGxvY2FsaXplZFN0cmluZ3NbIiVzIGRlbGF5Il0gPSAiJXMgZGVsYXkiOworbG9jYWxp
emVkU3RyaW5nc1siJXMgZXZhbFxuJXMgYXN5bmMiXSA9ICIlcyBldmFsXG4lcyBhc3luYyI7CiBs
b2NhbGl6ZWRTdHJpbmdzWyIlcyBpbnRlcnZhbCJdID0gIiVzIGludGVydmFsIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIihBY3Rpb24gJXMpIl0gPSAiKEFjdGlvbiAlcykiOwogbG9jYWxpemVkU3RyaW5n
c1siKERpc2spIl0gPSAiKERpc2spIjsKQEAgLTEyMSw2ICsxMjMsNyBAQCBsb2NhbGl6ZWRTdHJp
bmdzWyJBc3NlcnRpb24gRmFpbGVkOiAlcyJdID0gIkFzc2VydGlvbiBGYWlsZWQ6ICVzIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIkFzc2VydGlvbiBGYWlsdXJlcyJdID0gIkFzc2VydGlvbiBGYWlsdXJl
cyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJBc3NlcnRpb24gd2l0aCBtZXNzYWdlOiAlcyJdID0gIkFz
c2VydGlvbiB3aXRoIG1lc3NhZ2U6ICVzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFzc2VydGl2ZSJd
ID0gIkFzc2VydGl2ZSI7Citsb2NhbGl6ZWRTdHJpbmdzWyJBc3luYyBhdWRpdHMgYXJlIG5vdCBz
dXBwb3J0ZWQuIl0gPSAiQXN5bmMgYXVkaXRzIGFyZSBub3Qgc3VwcG9ydGVkLiI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJBdHRyaWJ1dGUiXSA9ICJBdHRyaWJ1dGUiOwogbG9jYWxpemVkU3RyaW5nc1si
QXR0cmlidXRlIE1vZGlmaWVkIl0gPSAiQXR0cmlidXRlIE1vZGlmaWVkIjsKIGxvY2FsaXplZFN0
cmluZ3NbIkF0dHJpYnV0ZXMiXSA9ICJBdHRyaWJ1dGVzIjsKQEAgLTYzMCw2ICs2MzMsNyBAQCBs
b2NhbGl6ZWRTdHJpbmdzWyJOb25lIl0gPSAiTm9uZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJOb3Qg
Zm91bmQiXSA9ICJOb3QgZm91bmQiOwogbG9jYWxpemVkU3RyaW5nc1siT2JqZWN0IEdyYXBoIl0g
PSAiT2JqZWN0IEdyYXBoIjsKIGxvY2FsaXplZFN0cmluZ3NbIk9iamVjdCBTdG9yZSJdID0gIk9i
amVjdCBTdG9yZSI7Citsb2NhbGl6ZWRTdHJpbmdzWyJPYnNlcnZlciBDYWxsYmFjayJdID0gIk9i
c2VydmVyIENhbGxiYWNrIjsKIGxvY2FsaXplZFN0cmluZ3NbIk9mZiJdID0gIk9mZiI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJPbmNlIl0gPSAiT25jZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJPbmxpbmUi
XSA9ICJPbmxpbmUiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzCmluZGV4IGE5
ODY3YWFiYmQ0NzZiY2E2YjBkNGViOTNlOGVjNWEzZGUyN2U0ZTAuLjM4MjlkOWYzOGNjOTFlYmFk
MTJlMWM1NTA0MDQwNThhMWU1M2U4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFn
ZXIuanMKQEAgLTU2Myw2ICs1NjMsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1l
bGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50
LkV2ZW50VHlwZS5UaW1lckZpcmU6CiAgICAgICAgIGNhc2UgVGltZWxpbmVBZ2VudC5FdmVudFR5
cGUuRXZlbnREaXNwYXRjaDoKICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5G
aXJlQW5pbWF0aW9uRnJhbWU6CisgICAgICAgIGNhc2UgVGltZWxpbmVBZ2VudC5FdmVudFR5cGUu
T2JzZXJ2ZXJDYWxsYmFjazoKICAgICAgICAgICAgIC8vIFRoZXNlIGFyZSBoYW5kbGVkIHdoZW4g
dGhlIHBhcmVudCBvZiBGdW5jdGlvbkNhbGwgb3IgRXZhbHVhdGVTY3JpcHQuCiAgICAgICAgICAg
ICBicmVhazsKIApAQCAtNTk2LDYgKzU5Nyw5IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNz
IFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgY2FzZSBUaW1l
bGluZUFnZW50LkV2ZW50VHlwZS5FdmVudERpc3BhdGNoOgogICAgICAgICAgICAgICAgIHJlY29y
ZCA9IG5ldyBXSS5TY3JpcHRUaW1lbGluZVJlY29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuRXZlbnREaXNwYXRjaGVkLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFtZXMs
IHNvdXJjZUNvZGVMb2NhdGlvbiwgcGFyZW50UmVjb3JkUGF5bG9hZC5kYXRhLnR5cGUsIHByb2Zp
bGVEYXRhKTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgVGltZWxp
bmVBZ2VudC5FdmVudFR5cGUuT2JzZXJ2ZXJDYWxsYmFjazoKKyAgICAgICAgICAgICAgICByZWNv
cmQgPSBuZXcgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQu
RXZlbnRUeXBlLk9ic2VydmVyQ2FsbGJhY2ssIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1l
cywgc291cmNlQ29kZUxvY2F0aW9uLCBwYXJlbnRSZWNvcmRQYXlsb2FkLmRhdGEudHlwZSwgcHJv
ZmlsZURhdGEpOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBUaW1l
bGluZUFnZW50LkV2ZW50VHlwZS5GaXJlQW5pbWF0aW9uRnJhbWU6CiAgICAgICAgICAgICAgICAg
cmVjb3JkID0gbmV3IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkKFdJLlNjcmlwdFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5BbmltYXRpb25GcmFtZUZpcmVkLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNh
bGxGcmFtZXMsIHNvdXJjZUNvZGVMb2NhdGlvbiwgcGFyZW50UmVjb3JkUGF5bG9hZC5kYXRhLmlk
LCBwcm9maWxlRGF0YSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVSZWNv
cmQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0
VGltZWxpbmVSZWNvcmQuanMKaW5kZXggMzMxYmRkNTJmZWMzYTEwYWZkZTBhMmNlY2QxYTU5ZWEy
ZWU5M2FiYy4uNWY1OWIwZDBiYTEyZTU1YTFjNGQyYjllODNmNDI5MTBhNzVhMGU0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRp
bWVsaW5lUmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcwpAQCAtMTk0LDYgKzE5NCw3IEBAIFdJLlNj
cmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZSA9IHsKICAgICBBbmltYXRpb25GcmFtZUZpcmVk
OiAic2NyaXB0LXRpbWVsaW5lLXJlY29yZC1hbmltYXRpb24tZnJhbWUtZmlyZWQiLAogICAgIEFu
aW1hdGlvbkZyYW1lUmVxdWVzdGVkOiAic2NyaXB0LXRpbWVsaW5lLXJlY29yZC1hbmltYXRpb24t
ZnJhbWUtcmVxdWVzdGVkIiwKICAgICBBbmltYXRpb25GcmFtZUNhbmNlbGVkOiAic2NyaXB0LXRp
bWVsaW5lLXJlY29yZC1hbmltYXRpb24tZnJhbWUtY2FuY2VsZWQiLAorICAgIE9ic2VydmVyQ2Fs
bGJhY2s6ICJzY3JpcHQtdGltZWxpbmUtcmVjb3JkLW9ic2VydmVyLWNhbGxiYWNrIiwKICAgICBD
b25zb2xlUHJvZmlsZVJlY29yZGVkOiAic2NyaXB0LXRpbWVsaW5lLXJlY29yZC1jb25zb2xlLXBy
b2ZpbGUtcmVjb3JkZWQiLAogICAgIEdhcmJhZ2VDb2xsZWN0ZWQ6ICJzY3JpcHQtdGltZWxpbmUt
cmVjb3JkLWdhcmJhZ2UtY29sbGVjdGVkIiwKIH07CkBAIC00MDAsNiArNDAxLDEwIEBAIFdJLlNj
cmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5kaXNwbGF5TmFtZSA9IGZ1bmN0aW9uKGV2ZW50
VHlwZSwgZGV0YWlscywgaW5jCiAgICAgICAgIGlmIChkZXRhaWxzICYmIGluY2x1ZGVEZXRhaWxz
SW5NYWluVGl0bGUpCiAgICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIkFuaW1hdGlvbiBG
cmFtZSAlZCBGaXJlZCIpLmZvcm1hdChkZXRhaWxzKTsKICAgICAgICAgcmV0dXJuIFdJLlVJU3Ry
aW5nKCJBbmltYXRpb24gRnJhbWUgRmlyZWQiKTsKKyAgICBjYXNlIFdJLlNjcmlwdFRpbWVsaW5l
UmVjb3JkLkV2ZW50VHlwZS5PYnNlcnZlckNhbGxiYWNrOgorICAgICAgICBpZiAoZGV0YWlscyAm
JiAoZGV0YWlscyBpbnN0YW5jZW9mIFN0cmluZyB8fCB0eXBlb2YgZGV0YWlscyA9PT0gInN0cmlu
ZyIpKQorICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlcyBDYWxsYmFjayIpLmZvcm1h
dChkZXRhaWxzKTsKKyAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCJPYnNlcnZlciBDYWxsYmFj
ayIpOwogICAgIGNhc2UgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFuaW1hdGlv
bkZyYW1lUmVxdWVzdGVkOgogICAgICAgICBpZiAoZGV0YWlscyAmJiBpbmNsdWRlRGV0YWlsc0lu
TWFpblRpdGxlKQogICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCJBbmltYXRpb24gRnJh
bWUgJWQgUmVxdWVzdGVkIikuZm9ybWF0KGRldGFpbHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFi
Q29udGVudFZpZXcuanMKaW5kZXggNWI1N2Q4MGY1MWU0ZjY0MjIzMWYzY2ExYzMyNDU0M2U4YWI4
YjdmMi4uYzBhZGZiNmVmYTFmMGU2OTYzYWE5ODVkZGYwMTU1YTQyOTY4MWI1MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJD
b250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzCkBAIC0yMDcsNiArMjA3LDcgQEAgV0kuVGlt
ZWxpbmVUYWJDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lVGFiQ29udGVudFZpZXcgZXh0ZW5k
cyBXSS5Db250ZW50QnJvd3MKICAgICAgICAgICAgICAgICByZXR1cm4gV0kuVGltZWxpbmVSZWNv
cmRUcmVlRWxlbWVudC5FdmFsdWF0ZWRSZWNvcmRJY29uU3R5bGVDbGFzczsKICAgICAgICAgICAg
IGNhc2UgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLk1pY3JvdGFza0Rpc3BhdGNo
ZWQ6CiAgICAgICAgICAgICBjYXNlIFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5F
dmVudERpc3BhdGNoZWQ6CisgICAgICAgICAgICBjYXNlIFdJLlNjcmlwdFRpbWVsaW5lUmVjb3Jk
LkV2ZW50VHlwZS5PYnNlcnZlckNhbGxiYWNrOgogICAgICAgICAgICAgICAgIHJldHVybiBXSS5U
aW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkV2ZW50UmVjb3JkSWNvblN0eWxlQ2xhc3M7CiAgICAg
ICAgICAgICBjYXNlIFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Qcm9iZVNhbXBs
ZVJlY29yZGVkOgogICAgICAgICAgICAgICAgIHJldHVybiBXSS5UaW1lbGluZVJlY29yZFRyZWVF
bGVtZW50LlByb2JlUmVjb3JkSWNvblN0eWxlQ2xhc3M7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>