Commit Graph

4182 Commits

Author SHA1 Message Date
Devon Carew 28a1067b25 [analyzer] insert missing params before child/children
Change-Id: Ic2c19ebcb8e4c6a7d89c2c1317c18ebd00bc6e96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129823
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2019-12-29 04:05:16 +00:00
Brian Wilkerson 7d41ae7d15 Enable unnecessary_this in several packages
Change-Id: I743066d66dbf1dff984e8f8bf5b7a472c9bc7ff7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129821
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-28 20:43:16 +00:00
Brian Wilkerson 98cc7d2729 Enhance the fix for unnecessary_this to handle constructor initializers
Change-Id: I751913abf213c42de8d66508012e280438f1f11d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129810
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-27 21:14:45 +00:00
Brian Wilkerson c547f5d933 Enable prefer_generic_function_type_aliases in most of the packages
Change-Id: I1338e731aa3f42f67fec605b20455a83fd5fce43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129760
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-27 00:43:14 +00:00
Brian Wilkerson a8570355bb Add a fix for prefer_generic_function_type_aliases
Change-Id: Ifc9788cc6228a677ba425a2b0b283eca0155477a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129720
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-26 15:28:04 +00:00
Brian Wilkerson 7dcd5aa2fa Add a fix for prefer_adjacent_string_concatenation
Change-Id: I730789ee91c48fb98b95fa013daac93940ff42fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129660
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-26 15:27:56 +00:00
Brian Wilkerson 1fe55651cb Generate end-of-line doc comments in server and plugin packages
Change-Id: I1d5517932e1c78744cfe43fc6a768a104e527091
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129520
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-24 00:34:30 +00:00
Brian Wilkerson 8736fec094 Add a fix and assist for omit_local_variable_types and enable it through dartfix
Change-Id: If0348d0463e73abbc5c0d20127bc9f22f93e53de
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129480
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-23 21:59:00 +00:00
pq 77f645ed71 assist to surround w/ setState
Change-Id: Ia441479bc15708fe95343e234bbdf4d91966aa5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129460
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-23 18:56:50 +00:00
Sam Rawlins 71fb1ba3a8 analysis_server: clean up 2 more pedantic lints
Change-Id: I8095e69ece227b95522439fae571f152db4e3b25
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129337
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-12-23 02:49:07 +00:00
Brian Wilkerson 4a639e8df2 Add support to dartfix for the remaining pedantic lints (for which a fix is already implemented)
Change-Id: I6d7b0df1ce4fc7377697d4c66b78f2fb0e95b5c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129362
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-12-21 22:31:49 +00:00
Brian Wilkerson 52c6620986 Enable unnecessary_const in analysis_server
Change-Id: I44d9902cb23d005ebedd4bc37d57d3751a8ebdc5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129100
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-19 17:32:52 +00:00
Brian Wilkerson efe76bd5c5 Add support to dartfix for prefer_single_quotes
Change-Id: Ifeb2ecdfcd391f22d90ee9ede5660d11ffb61804
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128986
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-19 01:59:49 +00:00
Brian Wilkerson 4043a6fce3 Remove unnecessary uses of new in analysis_server
Other than analysis_options.yaml, all of the changes were from running
dartfix.

Change-Id: I92411642f12a00fc6bd0bfd24dd60fe67f0fed16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128845
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-18 19:01:51 +00:00
Brian Wilkerson c9d89d55a6 Stop generating unnecessary new and const in server generators
This doesn't remove other uses of new or const, only those that are
generated. I'll get the rest in other CLs.

Change-Id: I59c296da3d2da0f45789df156a682b9c37398087
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128840
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-18 05:15:25 +00:00
Danny Tuppeny 62e5531e36 Add a Flutter Outline Notification to the LSP server
Change-Id: Ifbff7d88df7e468cfba383fda89160c7d3d5ee33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128662
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-17 17:46:36 +00:00
Brian Wilkerson 2eba06d26f Stop using preview-dir and preview-port values and always open the preview tool
Change-Id: I1ae6aeeb95b1a976c23fe23867a6bec9b453806e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128463
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-16 23:28:35 +00:00
Brian Wilkerson 72a4471a70 Fix naming of tests around unnecessary new and const fixes
Change-Id: I6039f943d4d969a395c03ced1a2f3b720a2286c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128602
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-16 18:41:46 +00:00
Brian Wilkerson f2ac0784f1 Add a fix and assist to add a return type
Change-Id: I7b683953d4b90c1863477b9fcf2e7f34f0955450
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128560
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2019-12-16 18:32:55 +00:00
Brian Wilkerson bae7255c83 Add support to dartfix to fix unnecessary new and const lints
Change-Id: I8345ea6afd5aa43bda4855b24d101c04b177ae80
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128522
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-16 15:33:11 +00:00
Konstantin Shcheglov ae3973da40 Use FeatureSetProvider in AnalysisDriver.
So that package_config.json can be used to opt-out from context
specified features / experiments.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I5e62d733eda6939d66d942eb3d690583f6091a57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128369
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-14 21:06:04 +00:00
Brian Wilkerson affd81b143 Remove preview from dartfix api in favor of opening the preview automatically
Change-Id: I7f2dd4c97a99ec9e2d28f2a06778c247150a0632
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128286
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-13 22:42:56 +00:00
Brian Wilkerson 11049992d5 Update the server protocol to not require a port number
Only spec_input.html was changed, the rest of the files were regenerated.

Change-Id: Ib4644f811d86c46da6d01c601107ede8537e39df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128366
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-13 18:45:41 +00:00
Sam Rawlins 3ab95a114c NNBD Preview is a single-page application.
Navigation links, goto links, and detail links all are handled with
JavaScript, pushing and popping state.

* MigrationInfo moved to migration_info.dart
* All logic for rendering the code and regions of a unit moved to new
  UnitRenderer class.
* Navigation links work.
* Goto links work.
* Fresh reload works.
* New scrolling behavior to leave scrolling alone if target is already
  in view.
* Removed index page in favor of regular page with blank code.
* Back and forward buttons work.

Change-Id: If2296ee576c45374c18e5ba71426bcbdc894b71f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-12-13 16:14:19 +00:00
Konstantin Shcheglov f14301b0df Stop supporting _sdkext, look for _embedder.yaml only in sky_engine package.
Change-Id: I20d30ef0e07ec617d5d8b9fb2e5fb97a7fc9930f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128320
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-13 02:15:28 +00:00
Konstantin Shcheglov 3172748cb0 Remove ResolverProvider, and its using for fileResolverProvider / packageResolverProvider.
It does not look that these are used anymore.

Change-Id: Ieafecc306dbf2b53e3366b1ffadc34aa7ba416a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128081
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-12 19:54:51 +00:00
Danny Tuppeny 3739b80534 Add a publishOutline notification to the LSP server
Clients can opt-in by passing "outline: true" in initializationOptions.

Fix outline name

Change-Id: I3a302178c685b49afe50370aef8360105b9676fc

Add test that outline comes through after change

Change-Id: If36344d485ea11c4b25d57e1e1fb43b575e8188f

Initial work on supplying Outline data over LSP

Change-Id: I74670b5c43a41af49195712bcc4be8e120e5b4ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128141
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-12 18:42:20 +00:00
Konstantin Shcheglov 3389b3bd32 Remove Packages from SourceFactory.
We have PackageMapUriResolver, this should be the way to resolve
all `package:xyz` URIs. We should not repeat it in SourceFactory.

Change-Id: I52d33dbf7e2d44f2c53521f6a51b0aea70507d3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128106
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-12 17:10:00 +00:00
Sam Rawlins 2c7c3a60e7 NNBD preview: Rip out static preview; only server preview
This involved replacing PathMapper with the wrapper, PreviewPathMapper,
and MigrationInfo, with the wrapper, PreviewMigrationInfo.

Change-Id: Ie590c298bfa8c64c4765748b42ce3c9dc0dec3d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128107
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-12-12 01:48:23 +00:00
Sam Rawlins dbb56e5e10 Connect g/setters which override fields (w/ implicit g/setters)
Change-Id: I4eeb507e23962fbf53f1026e14f4e2ae607aa7e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128105
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-12-12 01:44:43 +00:00
Brian Wilkerson afde51a608 Start sending urls for preview mode from server to dartfix
Change-Id: Ice8463ec9a5d3d21b47e6250f24d093a48b11b7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127988
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-11 14:26:29 +00:00
Sam Rawlins 9ce43015f4 NNBD preview: improve details of where a nullable value is 'assigned'
Change-Id: Ifcb37460ef5255e9de58a51860ee47228735abf5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127200
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2019-12-11 14:07:09 +00:00
Brian Wilkerson 4ce13659b4 Update server API to allow URLs to be returned to dartfix
Change-Id: I252ee50b811409aa2eed7d0579c01676160acfca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127940
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-10 19:39:29 +00:00
Konstantin Shcheglov 9456316b51 ErrorReporter should know isNonNullableByDefault.
So, when we call DartType.getDisplayString() we know if the type
presentation should include nullability suffixes.

This fixes many, but not all places where we need to present types.
There are places where we don't go through ErrorReporter, but call
ErrorListener directly. I plan to replace all these with ErrorReporter.

R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/39651
Change-Id: Ic77a556e7834d8f757c8b13eed37ed1d34f47348
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127744
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-10 01:31:22 +00:00
Sam Rawlins 108a80bd0d NNBD: Mark some good tests as passing; add FailingTests for some GitHub issues
Change-Id: Ia5a55b5c6f1e7d7c7bef32c0afecf689952e17eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127761
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-12-09 22:17:44 +00:00
Mike Fairhurst 22fef10a59 [nnbd_migration] suppress fewer upstream exact nullable nodes
Change-Id: I1acd6b44c098868127e903d96baafa03bcd34b04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127421
Reviewed-by: Janice Collins <jcollins@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-12-09 18:56:29 +00:00
Konstantin Shcheglov eba38af5d1 Add DartType.getDisplayString()
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I3849ccb4d2359fddf470b42280e3ea21e38f3664
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127344
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-05 21:29:20 +00:00
Brian Wilkerson 2bb60763c3 Fix remove_type_annotation fix/assist to work with for loops (issue 39628)
Change-Id: Ie212ea369cb2c0d4d8b37b50928d3935fad6a445
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127101
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-04 16:15:08 +00:00
Sam Rawlins 28fc03709d NNBD preview: Improve details for overridden nullable parameter types
Change-Id: Id7f85d2030f818f690f904050f0ec54c15b0d819
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127066
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-12-04 14:20:48 +00:00
Brian Wilkerson 4ba61bbbbc Fix exception in ML ranking (issue 39537)
Change-Id: I5667060acb3392da60956176e1edd35dd8098b2a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126600
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2019-11-28 00:03:51 +00:00
Konstantin Shcheglov eddfaff322 Issue 39509. Support for configurable imports in AnalysisDriver.
Bug: https://github.com/dart-lang/sdk/issues/39509
Change-Id: I87cbc20c38ed93e46ae0b646ddad4d9fc28eca8a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-27 18:58:02 +00:00
Mike Fairhurst 58dde43b5e [analysis_server] don't create futures for stalled plugins.
Also looks like "cannot stop a plugin that's already running" occurred
from this case, which was also an easy fix.

Change-Id: I113170e65ced26d1113cdb4e0cf206c8b1b68d31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126405
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-11-27 18:18:21 +00:00
Brian Wilkerson 674810a38d Generated overriding methods throw an exception rather than returning null
Change-Id: I4e0b19b4773e557b8e31583c4ad110ad79a3e426
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126361
Reviewed-by: Danny Tuppeny <dantup@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-11-26 18:00:09 +00:00
Mike Fairhurst bb76f935c1 [nnbd_migration] Better descriptions for the most common bangs
Change-Id: I6a0dbc67a5c696385e76b1cb340755a573903366
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126281
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-11-26 17:37:29 +00:00
Mike Fairhurst 0019bf646b [migration] handle side casts, assume non-null with const guard.
Fixes the only exception package:typed_data!

Change-Id: I130fe63d7e31019ad38a30a681505e88822af443
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126087
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-11-25 21:28:55 +00:00
Danny Tuppeny d45438e793 Add support for selecting text in completion snippets
When a client advertises that it supports snippets in completions we should wrap a tabstop around the part indicated by selectionOffset/selectionLength.

Change-Id: I7a0ee4b71dd5f46c206f57b81080aa8f2d79225b
Bug: https://github.com/dart-lang/sdk/issues/39500
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126165
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-11-25 15:14:15 +00:00
Brian Wilkerson f196196779 Add modification counts and instructions to all pages; add an index page
Change-Id: If78e4c8cc0a4e638ca778240d8060c545b14fcba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126082
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-11-22 23:03:37 +00:00
Jaime Wren fee8c5503c Mark the completion.registerLibraryPaths as deprecated in the Dart Analysis Server.
Change-Id: Ia0b305d9ebaf1a5416994e1fa0959a29d043a87b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125930
Reviewed-by: Jaime Wren <jwren@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2019-11-21 22:16:38 +00:00
Konstantin Shcheglov f979bd9899 Merge RestrictedAnalysisContext into AnalysisContextImpl.
We don't have any useful / old API(s) in AnalysisContextImpl,
so the distinction between these two does not exist.

Change-Id: I87ef84bc728cc1c2c0e269c695419c425afb6559
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125987
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-21 21:58:16 +00:00
Konstantin Shcheglov dcaf959589 Fix several unused elements, and unnecessary casts.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I81559cb241c0ca6918f6730538f44a7411907867
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125986
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-21 21:37:52 +00:00