diff --git a/bazel-java-deps.bzl b/bazel-java-deps.bzl index 6ba804f8c6bc..42c10eeaa40e 100644 --- a/bazel-java-deps.bzl +++ b/bazel-java-deps.bzl @@ -33,15 +33,15 @@ def install_java_deps(): "com.squareup:javapoet:1.11.1", "com.storm-enroute:scalameter_2.12:0.10.1", "com.storm-enroute:scalameter-core_2.12:0.10.1", - "com.typesafe.akka:akka-actor_2.12:2.6.1", - "com.typesafe.akka:akka-actor-typed_2.12:2.6.1", - "com.typesafe.akka:akka-http_2.12:10.1.11", - "com.typesafe.akka:akka-http-spray-json_2.12:10.1.11", - "com.typesafe.akka:akka-http-testkit_2.12:10.1.11", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1", - "com.typesafe.akka:akka-stream_2.12:2.6.1", - "com.typesafe.akka:akka-stream-testkit_2.12:2.6.1", - "com.typesafe.akka:akka-testkit_2.12:2.6.1", + "com.typesafe.akka:akka-actor_2.12:2.6.10", + "com.typesafe.akka:akka-actor-typed_2.12:2.6.10", + "com.typesafe.akka:akka-http_2.12:10.1.13", + "com.typesafe.akka:akka-http-spray-json_2.12:10.1.13", + "com.typesafe.akka:akka-http-testkit_2.12:10.1.13", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", + "com.typesafe.akka:akka-stream_2.12:2.6.10", + "com.typesafe.akka:akka-stream-testkit_2.12:2.6.10", + "com.typesafe.akka:akka-testkit_2.12:2.6.10", "com.typesafe.play:anorm_2.12:2.5.3", "com.typesafe.play:anorm-akka_2.12:2.5.3", "com.typesafe.scala-logging:scala-logging_2.12:3.9.2", diff --git a/extractor/src/main/scala/com/digitalasset/extractor/Extractor.scala b/extractor/src/main/scala/com/digitalasset/extractor/Extractor.scala index 45e1d19160b5..148740db177d 100644 --- a/extractor/src/main/scala/com/digitalasset/extractor/Extractor.scala +++ b/extractor/src/main/scala/com/digitalasset/extractor/Extractor.scala @@ -5,7 +5,7 @@ package com.daml.extractor import akka.actor.ActorSystem import akka.stream.scaladsl.{RestartSource, Sink} -import akka.stream.{KillSwitches, Materializer} +import akka.stream.{KillSwitches, Materializer, RestartSettings} import com.daml.auth.TokenHolder import com.daml.extractor.Types._ import com.daml.extractor.config.{ExtractorConfig, SnapshotEndSetting} @@ -168,10 +168,11 @@ class Extractor[T](config: ExtractorConfig, target: T)( RestartSource .onFailuresWithBackoff( - minBackoff = 3.seconds, - maxBackoff = 30.seconds, - randomFactor = 0.2 // adds 20% "noise" to vary the intervals slightly - ) { () => + RestartSettings( + minBackoff = 3.seconds, + maxBackoff = 30.seconds, + randomFactor = 0.2 // adds 20% "noise" to vary the intervals slightly + )) { () => tokenHolder.foreach(_.refresh()) logger.info(s"Starting streaming transactions from ${startOffSet}...") client.transactionClient diff --git a/ledger-service/http-json-testing/src/main/scala/com/daml/http/WebsocketTestFixture.scala b/ledger-service/http-json-testing/src/main/scala/com/daml/http/WebsocketTestFixture.scala index a5d5caf77d51..1f9e21a19fde 100644 --- a/ledger-service/http-json-testing/src/main/scala/com/daml/http/WebsocketTestFixture.scala +++ b/ledger-service/http-json-testing/src/main/scala/com/daml/http/WebsocketTestFixture.scala @@ -176,25 +176,24 @@ private[http] object WebsocketTestFixture extends StrictLogging with Assertions jwt: Jwt, serviceUri: Uri, query: String, - offset: Option[domain.Offset] = None, - keepOpen: Boolean = false)(implicit asys: ActorSystem): Source[Message, NotUsed] = - singleClientWSStream(jwt, "query", serviceUri, query, offset, keepOpen) + offset: Option[domain.Offset] = None)(implicit asys: ActorSystem): Source[Message, NotUsed] = + singleClientWSStream(jwt, "query", serviceUri, query, offset) def singleClientFetchStream( jwt: Jwt, serviceUri: Uri, request: String, - offset: Option[domain.Offset] = None, - keepOpen: Boolean = false)(implicit asys: ActorSystem): Source[Message, NotUsed] = - singleClientWSStream(jwt, "fetch", serviceUri, request, offset, keepOpen) + offset: Option[domain.Offset] = None + )(implicit asys: ActorSystem): Source[Message, NotUsed] = + singleClientWSStream(jwt, "fetch", serviceUri, request, offset) def singleClientWSStream( jwt: Jwt, path: String, serviceUri: Uri, query: String, - offset: Option[domain.Offset], - keepOpen: Boolean = false)(implicit asys: ActorSystem): Source[Message, NotUsed] = { + offset: Option[domain.Offset] + )(implicit asys: ActorSystem): Source[Message, NotUsed] = { import spray.json._, json.JsonProtocol._ val uri = serviceUri.copy(scheme = "ws").withPath(Uri.Path(s"/v1/stream/$path")) @@ -209,7 +208,9 @@ private[http] object WebsocketTestFixture extends StrictLogging with Assertions Seq(Map("offset" -> off.unwrap).toJson.compactPrint, query).iterator), Source single query) .map(TextMessage(_)) - .concatMat(if (keepOpen) Source.maybe[Message] else Source.empty)(Keep.left) + // akka-http will cancel the whole stream once the input ends so we use + // Source.maybe to keep the input open. + .concatMat(Source.maybe[Message])(Keep.left) .via(webSocketFlow) } diff --git a/ledger-service/http-json/src/failure/scala/http/FailureTests.scala b/ledger-service/http-json/src/failure/scala/http/FailureTests.scala index 4b481b2db064..dd1a0567e868 100644 --- a/ledger-service/http-json/src/failure/scala/http/FailureTests.scala +++ b/ledger-service/http-json/src/failure/scala/http/FailureTests.scala @@ -5,7 +5,8 @@ package com.daml.http import akka.http.javadsl.model.ws.PeerClosedConnectionException import akka.http.scaladsl.model.{StatusCodes, Uri} -import akka.stream.scaladsl.Sink +import akka.stream.{KillSwitches, UniqueKillSwitch} +import akka.stream.scaladsl.{Keep, Sink} import scala.concurrent.{Future, Promise} import scala.util.{Failure, Success} @@ -102,7 +103,6 @@ final class FailureTests body.compactPrint, headersWithParties(List(p.unwrap))) _ = status shouldBe StatusCodes.ServiceUnavailable - _ = println(output.toString) _ = output shouldBe "The server was not able to produce a timely response to your request.\r\nPlease try again in a short while!" _ = proxy.toxics().get("timeout").remove() (status, _) <- postCreateCommand( @@ -118,7 +118,6 @@ final class FailureTests body.compactPrint, headersWithParties(List(p.unwrap))) _ = status shouldBe StatusCodes.ServiceUnavailable - _ = println(output.toString) _ = output shouldBe "The server was not able to produce a timely response to your request.\r\nPlease try again in a short while!" } yield succeed } @@ -298,7 +297,8 @@ final class FailureTests def respAfter( offset: domain.Offset, - accountCid: domain.ContractId): Sink[JsValue, Future[Unit]] = { + accountCid: domain.ContractId, + stop: UniqueKillSwitch): Sink[JsValue, Future[Unit]] = { val dslSyntax = Consume.syntax[JsValue] import dslSyntax._ Consume.interpret( @@ -306,6 +306,7 @@ final class FailureTests ContractDelta(Vector((ctId, _)), Vector(), Some(newOffset)) <- readOne _ = ctId shouldBe accountCid.unwrap _ = newOffset.unwrap should be > offset.unwrap + _ = stop.shutdown _ <- drain } yield () ) @@ -323,8 +324,8 @@ final class FailureTests r <- (singleClientQueryStream( jwtForParties(List(p.unwrap), List(), ledgerId().unwrap), uri, - query, - keepOpen = true) via parseResp runWith respBefore(cid)).transform(x => Success(x)) + query + ) via parseResp runWith respBefore(cid)).transform(x => Success(x)) _ = inside(r) { case Failure(e: PeerClosedConnectionException) => e.closeCode shouldBe 1011 @@ -339,11 +340,13 @@ final class FailureTests headers = headersWithParties(List(p.unwrap))) cid = getContractId(getResult(r)) _ = status shouldBe 'success - _ <- singleClientQueryStream( + (stop, source) = singleClientQueryStream( jwtForParties(List(p.unwrap), List(), ledgerId().unwrap), uri, query, - Some(offset)) via parseResp runWith respAfter(offset, cid) + Some(offset) + ).viaMat(KillSwitches.single)(Keep.right).preMaterialize() + _ <- source via parseResp runWith respAfter(offset, cid, stop) } yield succeed } diff --git a/ledger-service/http-json/src/it/scala/http/WebsocketServiceIntegrationTest.scala b/ledger-service/http-json/src/it/scala/http/WebsocketServiceIntegrationTest.scala index 80872d359f84..554bb8b0f176 100644 --- a/ledger-service/http-json/src/it/scala/http/WebsocketServiceIntegrationTest.scala +++ b/ledger-service/http-json/src/it/scala/http/WebsocketServiceIntegrationTest.scala @@ -7,7 +7,8 @@ import akka.NotUsed import akka.http.scaladsl.Http import akka.http.scaladsl.model.ws.{Message, TextMessage, WebSocketRequest} import akka.http.scaladsl.model.{StatusCodes, Uri} -import akka.stream.scaladsl.{Sink, Source} +import akka.stream.{KillSwitches, UniqueKillSwitch} +import akka.stream.scaladsl.{Keep, Sink, Source} import com.daml.http.json.SprayJson import com.typesafe.scalalogging.StrictLogging import org.scalatest._ @@ -150,7 +151,11 @@ class WebsocketServiceIntegrationTest for { _ <- initialIouCreate(uri) - clientMsg <- singleClientQueryStream(jwt, uri, """{"templateIds": ["Iou:Iou"]}""") + clientMsg <- singleClientQueryStream( + jwt, + uri, + """{"templateIds": ["Iou:Iou"]}""" + ).take(2) .runWith(collectResultsAsTextMessage) } yield inside(clientMsg) { @@ -167,6 +172,7 @@ class WebsocketServiceIntegrationTest _ <- initialAccountCreate(uri, encoder) clientMsg <- singleClientFetchStream(jwt, uri, fetchRequest) + .take(2) .runWith(collectResultsAsTextMessage) } yield inside(clientMsg) { @@ -185,7 +191,8 @@ class WebsocketServiceIntegrationTest clientMsg <- singleClientQueryStream( jwt, uri, - """{"templateIds": ["Iou:Iou", "Unknown:Template"]}""") + """{"templateIds": ["Iou:Iou", "Unknown:Template"]}""" + ).take(3) .runWith(collectResultsAsTextMessage) } yield inside(clientMsg) { @@ -203,7 +210,8 @@ class WebsocketServiceIntegrationTest clientMsg <- singleClientFetchStream( jwt, uri, - """[{"templateId": "Account:Account", "key": ["Alice", "abc123"]}, {"templateId": "Unknown:Template", "key": ["Alice", "abc123"]}]""") + """[{"templateId": "Account:Account", "key": ["Alice", "abc123"]}, {"templateId": "Unknown:Template", "key": ["Alice", "abc123"]}]""" + ).take(3) .runWith(collectResultsAsTextMessage) } yield inside(clientMsg) { @@ -241,17 +249,6 @@ class WebsocketServiceIntegrationTest errorResponse.errors should have size 1 } - // NB SC #3936: the WS connection below terminates at an appropriate time for - // unknown reasons. By all appearances, it should not disconnect, and - // fail for timeout; instead, it receives the correct # of contracts before - // disconnecting. The read-write-read test further down demonstrates that this - // is not a matter of too-strictness; the `case (1` cannot possibly be from the - // ACS at the time of WS connect, if the test passes. You can also see, structurally - // and observing by logging, that withHttpService is not responsible by way of - // disconnecting. We can see that the stream is truly continuous by testing outside - // this test code, e.g. in a browser with a JavaScript client, so will leave this - // mystery to be explored another time. - private def exercisePayload(cid: domain.ContractId, amount: BigDecimal = BigDecimal("42.42")) = { import json.JsonProtocol._ import spray.json._ @@ -276,7 +273,9 @@ class WebsocketServiceIntegrationTest ]""" @com.github.ghik.silencer.silent("evtsWrapper.*never used") - def resp(iouCid: domain.ContractId): Sink[JsValue, Future[ShouldHaveEnded]] = { + def resp( + iouCid: domain.ContractId, + kill: UniqueKillSwitch): Sink[JsValue, Future[ShouldHaveEnded]] = { val dslSyntax = Consume.syntax[JsValue] import dslSyntax._ Consume.interpret( @@ -322,6 +321,7 @@ class WebsocketServiceIntegrationTest (preOffset, 2) } + _ = kill.shutdown heartbeats <- drain hbCount = (heartbeats.iterator.map { case ContractDelta(Vector(), Vector(), Some(currentOffset)) => currentOffset @@ -339,14 +339,17 @@ class WebsocketServiceIntegrationTest creation <- initialCreate _ = creation._1 shouldBe 'success iouCid = getContractId(getResult(creation._2)) - lastState <- singleClientQueryStream(jwt, uri, query) via parseResp runWith resp(iouCid) + (kill, source) = singleClientQueryStream(jwt, uri, query) + .viaMat(KillSwitches.single)(Keep.right) + .preMaterialize + lastState <- source via parseResp runWith resp(iouCid, kill) liveOffset = inside(lastState) { case ShouldHaveEnded(liveStart, 2, lastSeen) => lastSeen.unwrap should be > liveStart.unwrap liveStart } rescan <- (singleClientQueryStream(jwt, uri, query, Some(liveOffset)) - via parseResp runWith remainingDeltas) + via parseResp).take(1) runWith remainingDeltas } yield inside(rescan) { case (Vector((fstId, fst @ _), (sndId, snd @ _)), Vector(observeConsumed), Some(_)) => @@ -378,7 +381,8 @@ class WebsocketServiceIntegrationTest def resp( cid1: domain.ContractId, - cid2: domain.ContractId): Sink[JsValue, Future[ShouldHaveEnded]] = { + cid2: domain.ContractId, + kill: UniqueKillSwitch): Sink[JsValue, Future[ShouldHaveEnded]] = { val dslSyntax = Consume.syntax[JsValue] import dslSyntax._ Consume.interpret( @@ -418,6 +422,7 @@ class WebsocketServiceIntegrationTest number shouldBe "def567" } } + _ = kill.shutdown heartbeats <- drain hbCount = (heartbeats.iterator.map { case ContractDelta(Vector(), Vector(), Some(currentOffset)) => currentOffset @@ -442,17 +447,19 @@ class WebsocketServiceIntegrationTest _ = r2._1 shouldBe 'success cid2 = getContractId(getResult(r2._2)) - lastState <- singleClientQueryStream( + (kill, source) = singleClientQueryStream( jwtForParties(List("Alice", "Bob"), List(), testId), uri, - query) via parseResp runWith resp(cid1, cid2) + query + ).viaMat(KillSwitches.single)(Keep.right).preMaterialize() + lastState <- source via parseResp runWith resp(cid1, cid2, kill) liveOffset = inside(lastState) { case ShouldHaveEnded(liveStart, 5, lastSeen) => lastSeen.unwrap should be > liveStart.unwrap liveStart } rescan <- (singleClientQueryStream(jwt, uri, query, Some(liveOffset)) - via parseResp runWith remainingDeltas) + via parseResp).take(1) runWith remainingDeltas } yield inside(rescan) { case (Vector(_), _, Some(_)) => succeed @@ -477,7 +484,8 @@ class WebsocketServiceIntegrationTest def resp( cid1: domain.ContractId, - cid2: domain.ContractId): Sink[JsValue, Future[ShouldHaveEnded]] = { + cid2: domain.ContractId, + kill: UniqueKillSwitch): Sink[JsValue, Future[ShouldHaveEnded]] = { val dslSyntax = Consume.syntax[JsValue] import dslSyntax._ Consume.interpret( @@ -504,6 +512,7 @@ class WebsocketServiceIntegrationTest (off, 0) } + _ = kill.shutdown heartbeats <- drain hbCount = (heartbeats.iterator.map { case ContractDelta(Vector(), Vector(), Some(currentOffset)) => currentOffset @@ -527,8 +536,12 @@ class WebsocketServiceIntegrationTest _ = r2._1 shouldBe 'success cid2 = getContractId(getResult(r2._2)) - lastState <- singleClientFetchStream(jwt, uri, fetchRequest()) - .via(parseResp) runWith resp(cid1, cid2) + (kill, source) = singleClientFetchStream(jwt, uri, fetchRequest()) + .viaMat(KillSwitches.single)(Keep.right) + .preMaterialize + + lastState <- source + .via(parseResp) runWith resp(cid1, cid2, kill) liveOffset = inside(lastState) { case ShouldHaveEnded(liveStart, 0, lastSeen) => @@ -539,8 +552,15 @@ class WebsocketServiceIntegrationTest // check contractIdAtOffsets' effects on phantom filtering resumes <- Future.traverse(Seq((None, 2L), (Some(None), 0L), (Some(Some(cid1)), 1L))) { case (abcHint, expectArchives) => - (singleClientFetchStream(jwt, uri, fetchRequest(abcHint), Some(liveOffset)) - via parseResp runWith remainingDeltas) + (singleClientFetchStream( + jwt, + uri, + fetchRequest(abcHint), + Some(liveOffset) + ) + via parseResp) + .take(2) + .runWith(remainingDeltas) .map { case (creates, archives, _) => creates shouldBe empty @@ -571,7 +591,7 @@ class WebsocketServiceIntegrationTest | {"templateId": "Account:Account", "key": ["Alice", "def456"]}] |""".stripMargin val futureResults = - singleClientFetchStream(jwt, uri, req, keepOpen = true) + singleClientFetchStream(jwt, uri, req) .via(parseResp) .filterNot(isOffsetTick) .take(4) @@ -635,7 +655,8 @@ class WebsocketServiceIntegrationTest def resp( cid1: domain.ContractId, - cid2: domain.ContractId): Sink[JsValue, Future[ShouldHaveEnded]] = { + cid2: domain.ContractId, + kill: UniqueKillSwitch): Sink[JsValue, Future[ShouldHaveEnded]] = { val dslSyntax = Consume.syntax[JsValue] import dslSyntax._ Consume.interpret( @@ -657,6 +678,7 @@ class WebsocketServiceIntegrationTest headers = headersWithPartyAuth(List("Bob")))) ContractDelta(Vector(), Vector(archivedCid2), Some(lastSeenOffset)) <- readOne _ = archivedCid2.contractId shouldBe cid2 + _ = kill.shutdown heartbeats <- drain hbCount = (heartbeats.iterator.map { case ContractDelta(Vector(), Vector(), Some(currentOffset)) => currentOffset @@ -681,10 +703,12 @@ class WebsocketServiceIntegrationTest _ = r2._1 shouldBe 'success cid2 = getContractId(getResult(r2._2)) - lastState <- singleClientFetchStream( + (kill, source) = singleClientFetchStream( jwtForParties(List("Alice", "Bob"), List(), testId), uri, - query) via parseResp runWith resp(cid1, cid2) + query + ).viaMat(KillSwitches.single)(Keep.right).preMaterialize + lastState <- source via parseResp runWith resp(cid1, cid2, kill) liveOffset = inside(lastState) { case ShouldHaveEnded(liveStart, 5, lastSeen) => lastSeen.unwrap should be > liveStart.unwrap @@ -694,8 +718,9 @@ class WebsocketServiceIntegrationTest jwtForParties(List("Alice", "Bob"), List(), testId), uri, query, - Some(liveOffset)) - via parseResp runWith remainingDeltas) + Some(liveOffset) + ) + via parseResp).take(2) runWith remainingDeltas } yield inside(rescan) { case (Vector(), Vector(_, _), Some(_)) => succeed @@ -726,16 +751,20 @@ class WebsocketServiceIntegrationTest """[ {"templateIds": ["Iou:Iou"]} ]""" - singleClientQueryStream(jwt, uri, query) + val (kill, source) = singleClientQueryStream(jwt, uri, query) + .viaMat(KillSwitches.single)(Keep.right) + .preMaterialize + source .via(parseResp) .map(iouSplitResult) .filterNot(_ == \/-((Vector(), Vector()))) // liveness marker/heartbeat - .runWith(Consume.interpret(trialSplitSeq(uri, splitSample))) + .runWith(Consume.interpret(trialSplitSeq(uri, splitSample, kill))) } private def trialSplitSeq( serviceUri: Uri, - ss: SplitSeq[BigDecimal]): Consume.FCC[IouSplitResult, Assertion] = { + ss: SplitSeq[BigDecimal], + kill: UniqueKillSwitch): Consume.FCC[IouSplitResult, Assertion] = { val dslSyntax = Consume.syntax[IouSplitResult] import SplitSeq._ import dslSyntax._ @@ -785,6 +814,7 @@ class WebsocketServiceIntegrationTest \/-((Vector((genesisCid, amt)), Vector())) <- readOne _ = amt should ===(ss.x) last <- go(genesisCid, ss) + _ = kill.shutdown } yield last } diff --git a/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/LedgerConfigProvider.scala b/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/LedgerConfigProvider.scala index 1eef8373d01e..2573370bdfc8 100644 --- a/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/LedgerConfigProvider.scala +++ b/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/LedgerConfigProvider.scala @@ -7,7 +7,7 @@ import java.util.UUID import java.util.concurrent.atomic.{AtomicBoolean, AtomicReference} import akka.{Done, NotUsed} -import akka.stream.{KillSwitches, Materializer, UniqueKillSwitch} +import akka.stream.{KillSwitches, Materializer, RestartSettings, UniqueKillSwitch} import akka.stream.scaladsl.{Keep, RestartSource, Sink} import com.daml.api.util.TimeProvider import com.daml.dec.{DirectExecutionContext => DE} @@ -106,9 +106,11 @@ private[apiserver] final class LedgerConfigProvider private ( Some( RestartSource .withBackoff( - minBackoff = 1.seconds, - maxBackoff = 30.seconds, - randomFactor = 0.1, + RestartSettings( + minBackoff = 1.seconds, + maxBackoff = 30.seconds, + randomFactor = 0.1, + ) ) { () => index .configurationEntries(state.get._1) diff --git a/ledger/participant-integration-api/src/main/scala/platform/index/ReadOnlySqlLedger.scala b/ledger/participant-integration-api/src/main/scala/platform/index/ReadOnlySqlLedger.scala index f3b634eb3e4c..ee5869fb1bcd 100644 --- a/ledger/participant-integration-api/src/main/scala/platform/index/ReadOnlySqlLedger.scala +++ b/ledger/participant-integration-api/src/main/scala/platform/index/ReadOnlySqlLedger.scala @@ -120,7 +120,8 @@ private final class ReadOnlySqlLedger( private val (ledgerEndUpdateKillSwitch, ledgerEndUpdateDone) = RestartSource - .withBackoff(minBackoff = 1.second, maxBackoff = 10.seconds, randomFactor = 0.2)( + .withBackoff( + RestartSettings(minBackoff = 1.second, maxBackoff = 10.seconds, randomFactor = 0.2))( () => Source .tick(0.millis, 100.millis, ()) diff --git a/maven_install.json b/maven_install.json index 5b28356d94f6..a69b97db6931 100644 --- a/maven_install.json +++ b/maven_install.json @@ -1,6 +1,6 @@ { "dependency_tree": { - "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": -1539909604, + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": -1645962655, "conflict_resolution": {}, "dependencies": [ { @@ -376,7 +376,7 @@ { "coord": "com.eed3si9n:gigahorse-core_2.12:0.3.0", "dependencies": [ - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "org.slf4j:slf4j-api:1.7.26", "com.typesafe:config:1.4.0", "org.scala-lang.modules:scala-parser-combinators_2.12:1.0.4", @@ -384,7 +384,7 @@ "org.reactivestreams:reactive-streams:1.0.2" ], "directDependencies": [ - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "org.reactivestreams:reactive-streams:1.0.2", "org.scala-lang:scala-library:2.12.12", "org.slf4j:slf4j-api:1.7.26" @@ -402,12 +402,12 @@ "org.reactivestreams:reactive-streams:jar:sources:1.0.2", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "org.slf4j:slf4j-api:jar:sources:1.7.26", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12" ], "directDependencies": [ - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "org.reactivestreams:reactive-streams:jar:sources:1.0.2", "org.scala-lang:scala-library:jar:sources:2.12.12", "org.slf4j:slf4j-api:jar:sources:1.7.26" @@ -423,7 +423,7 @@ "coord": "com.eed3si9n:gigahorse-okhttp_2.12:0.3.0", "dependencies": [ "com.squareup.okhttp3:okhttp:3.9.1", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "org.slf4j:slf4j-api:1.7.26", "com.typesafe:config:1.4.0", "org.scala-lang.modules:scala-parser-combinators_2.12:1.0.4", @@ -452,8 +452,8 @@ "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "com.squareup.okio:okio:jar:sources:1.13.0", "org.slf4j:slf4j-api:jar:sources:1.7.26", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", "com.eed3si9n:gigahorse-core_2.12:jar:sources:0.3.0", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12" ], @@ -2353,53 +2353,53 @@ "url": "https://repo1.maven.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0/scalapb-runtime_2.12-0.6.0-sources.jar" }, { - "coord": "com.typesafe.akka:akka-actor-typed_2.12:2.6.1", + "coord": "com.typesafe.akka:akka-actor-typed_2.12:2.6.10", "dependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", "org.slf4j:slf4j-api:1.7.26", "com.typesafe:config:1.4.0", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "org.scala-lang.modules:scala-java8-compat_2.12:0.9.0", - "org.scala-lang:scala-library:2.12.12", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", + "org.scala-lang:scala-library:2.12.12" ], "directDependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1", + "com.typesafe.akka:akka-actor_2.12:2.6.10", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "org.slf4j:slf4j-api:1.7.26" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.1/akka-actor-typed_2.12-2.6.1.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.10/akka-actor-typed_2.12-2.6.10.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.1/akka-actor-typed_2.12-2.6.1.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.10/akka-actor-typed_2.12-2.6.10.jar" ], - "sha256": "5970b30061f476dba7d9264f3b32a60622218ebbb3723ea07d645ac0c4d2b24f", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.1/akka-actor-typed_2.12-2.6.1.jar" + "sha256": "17c18ab5812ae9ccc0f36e44fcff7befe3a717e48b61037a3843e74db576c666", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.10/akka-actor-typed_2.12-2.6.10.jar" }, { - "coord": "com.typesafe.akka:akka-actor-typed_2.12:jar:sources:2.6.1", + "coord": "com.typesafe.akka:akka-actor-typed_2.12:jar:sources:2.6.10", "dependencies": [ - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.slf4j:slf4j-api:jar:sources:1.7.26", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12" ], "directDependencies": [ - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "org.scala-lang:scala-library:jar:sources:2.12.12", "org.slf4j:slf4j-api:jar:sources:1.7.26" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.1/akka-actor-typed_2.12-2.6.1-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.10/akka-actor-typed_2.12-2.6.10-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.1/akka-actor-typed_2.12-2.6.1-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.10/akka-actor-typed_2.12-2.6.10-sources.jar" ], - "sha256": "062517d4999eb46a58977ad0bd516a91e61822307bc50e55b0a18461acd1f2b3", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.1/akka-actor-typed_2.12-2.6.1-sources.jar" + "sha256": "1971d3fcfa5c97f83ec925d6ba13ff62fe4610c3d86fa801dfee4bfcf6bb931c", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_2.12/2.6.10/akka-actor-typed_2.12-2.6.10-sources.jar" }, { - "coord": "com.typesafe.akka:akka-actor_2.12:2.6.1", + "coord": "com.typesafe.akka:akka-actor_2.12:2.6.10", "dependencies": [ "org.scala-lang:scala-library:2.12.12", "com.typesafe:config:1.4.0", @@ -2410,15 +2410,15 @@ "org.scala-lang:scala-library:2.12.12", "org.scala-lang.modules:scala-java8-compat_2.12:0.9.0" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.1/akka-actor_2.12-2.6.1.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.10/akka-actor_2.12-2.6.10.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.1/akka-actor_2.12-2.6.1.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.10/akka-actor_2.12-2.6.10.jar" ], - "sha256": "fa07e71c9db063bf2c13e8cfd123a034b091ae4690f66d3b539509c518dfccad", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.1/akka-actor_2.12-2.6.1.jar" + "sha256": "a1382d285c0884254aa2c84a0d5831a08e34651b17201d5db1e1132401c012e3", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.10/akka-actor_2.12-2.6.10.jar" }, { - "coord": "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", + "coord": "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "dependencies": [ "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", @@ -2429,410 +2429,398 @@ "org.scala-lang:scala-library:jar:sources:2.12.12", "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.1/akka-actor_2.12-2.6.1-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.10/akka-actor_2.12-2.6.10-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.1/akka-actor_2.12-2.6.1-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.10/akka-actor_2.12-2.6.10-sources.jar" ], - "sha256": "95a32e73f7b96a297f85408e6f703eca06a67a400d73a336c2a28fe977f35b62", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.1/akka-actor_2.12-2.6.1-sources.jar" + "sha256": "38fa3e787d2f8cd9b077fb4d8c96771c238d5b47701e01d656ddfdf316816ba2", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.6.10/akka-actor_2.12-2.6.10-sources.jar" }, { - "coord": "com.typesafe.akka:akka-http-core_2.12:10.1.11", + "coord": "com.typesafe.akka:akka-http-core_2.12:10.1.13", "dependencies": [ "org.scala-lang:scala-library:2.12.12", - "com.typesafe.akka:akka-parsing_2.12:10.1.11" + "com.typesafe.akka:akka-parsing_2.12:10.1.13" ], "directDependencies": [ - "com.typesafe.akka:akka-parsing_2.12:10.1.11", + "com.typesafe.akka:akka-parsing_2.12:10.1.13", "org.scala-lang:scala-library:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.11/akka-http-core_2.12-10.1.11.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.13/akka-http-core_2.12-10.1.13.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.11/akka-http-core_2.12-10.1.11.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.13/akka-http-core_2.12-10.1.13.jar" ], - "sha256": "2c4b31ac7c722a20feee465316b1b18460080d80d1bc6dea7b751a686711b8f5", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.11/akka-http-core_2.12-10.1.11.jar" + "sha256": "ef54b16e6a6729900f3270f4ff7cabe342c51a5622dbb8e0141c09c4a6e0aba3", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.13/akka-http-core_2.12-10.1.13.jar" }, { - "coord": "com.typesafe.akka:akka-http-core_2.12:jar:sources:10.1.11", + "coord": "com.typesafe.akka:akka-http-core_2.12:jar:sources:10.1.13", "dependencies": [ - "org.scala-lang:scala-library:jar:sources:2.12.12", - "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.11" + "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.13", + "org.scala-lang:scala-library:jar:sources:2.12.12" ], "directDependencies": [ - "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.11", + "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.13", "org.scala-lang:scala-library:jar:sources:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.11/akka-http-core_2.12-10.1.11-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.13/akka-http-core_2.12-10.1.13-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.11/akka-http-core_2.12-10.1.11-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.13/akka-http-core_2.12-10.1.13-sources.jar" ], - "sha256": "86bfc56059da447612a9daf9d025806f82a95486bbd2e1d3fb2362dde7052e11", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.11/akka-http-core_2.12-10.1.11-sources.jar" + "sha256": "fd6c754a00c026ab2ffbf276353138bb233baec25162ae5259c7a1fe0c163bae", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-core_2.12/10.1.13/akka-http-core_2.12-10.1.13-sources.jar" }, { - "coord": "com.typesafe.akka:akka-http-spray-json_2.12:10.1.11", + "coord": "com.typesafe.akka:akka-http-spray-json_2.12:10.1.13", "dependencies": [ - "com.typesafe.akka:akka-parsing_2.12:10.1.11", - "com.typesafe.akka:akka-http_2.12:10.1.11", + "com.typesafe.akka:akka-http_2.12:10.1.13", + "com.typesafe.akka:akka-http-core_2.12:10.1.13", "io.spray:spray-json_2.12:1.3.5", - "com.typesafe.akka:akka-http-core_2.12:10.1.11", - "org.scala-lang:scala-library:2.12.12" + "org.scala-lang:scala-library:2.12.12", + "com.typesafe.akka:akka-parsing_2.12:10.1.13" ], "directDependencies": [ - "com.typesafe.akka:akka-http_2.12:10.1.11", + "com.typesafe.akka:akka-http_2.12:10.1.13", "io.spray:spray-json_2.12:1.3.5", "org.scala-lang:scala-library:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.11/akka-http-spray-json_2.12-10.1.11.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.13/akka-http-spray-json_2.12-10.1.13.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.11/akka-http-spray-json_2.12-10.1.11.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.13/akka-http-spray-json_2.12-10.1.13.jar" ], - "sha256": "c1580628cffed97808d5699a4fbd7cefae89eb8348f855c600869521114d0fa2", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.11/akka-http-spray-json_2.12-10.1.11.jar" + "sha256": "415863dc9673045ee48ce5f722e510bba1485b27e171673fb99c1ee9f2b7f8f4", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.13/akka-http-spray-json_2.12-10.1.13.jar" }, { - "coord": "com.typesafe.akka:akka-http-spray-json_2.12:jar:sources:10.1.11", + "coord": "com.typesafe.akka:akka-http-spray-json_2.12:jar:sources:10.1.13", "dependencies": [ "io.spray:spray-json_2.12:jar:sources:1.3.5", - "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.11", - "com.typesafe.akka:akka-http_2.12:jar:sources:10.1.11", - "com.typesafe.akka:akka-http-core_2.12:jar:sources:10.1.11", - "org.scala-lang:scala-library:jar:sources:2.12.12" + "com.typesafe.akka:akka-http_2.12:jar:sources:10.1.13", + "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.13", + "org.scala-lang:scala-library:jar:sources:2.12.12", + "com.typesafe.akka:akka-http-core_2.12:jar:sources:10.1.13" ], "directDependencies": [ - "com.typesafe.akka:akka-http_2.12:jar:sources:10.1.11", + "com.typesafe.akka:akka-http_2.12:jar:sources:10.1.13", "io.spray:spray-json_2.12:jar:sources:1.3.5", "org.scala-lang:scala-library:jar:sources:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.11/akka-http-spray-json_2.12-10.1.11-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.13/akka-http-spray-json_2.12-10.1.13-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.11/akka-http-spray-json_2.12-10.1.11-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.13/akka-http-spray-json_2.12-10.1.13-sources.jar" ], - "sha256": "10bc0e63ca6e098baf49467d00c3fafaa9cd16201fea40c3482130eacfc7cc9e", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.11/akka-http-spray-json_2.12-10.1.11-sources.jar" + "sha256": "f351792fed5f78ad7538188a0d1b8860353cf584e14d87f096844db284437edc", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-spray-json_2.12/10.1.13/akka-http-spray-json_2.12-10.1.13-sources.jar" }, { - "coord": "com.typesafe.akka:akka-http-testkit_2.12:10.1.11", + "coord": "com.typesafe.akka:akka-http-testkit_2.12:10.1.13", "dependencies": [ "org.scala-lang:scala-library:2.12.12", - "com.typesafe.akka:akka-http-core_2.12:10.1.11", - "com.typesafe.akka:akka-http_2.12:10.1.11", - "com.typesafe.akka:akka-parsing_2.12:10.1.11" + "com.typesafe.akka:akka-parsing_2.12:10.1.13", + "com.typesafe.akka:akka-http-core_2.12:10.1.13", + "com.typesafe.akka:akka-http_2.12:10.1.13" ], "directDependencies": [ - "com.typesafe.akka:akka-http_2.12:10.1.11", + "com.typesafe.akka:akka-http_2.12:10.1.13", "org.scala-lang:scala-library:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.11/akka-http-testkit_2.12-10.1.11.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.13/akka-http-testkit_2.12-10.1.13.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.11/akka-http-testkit_2.12-10.1.11.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.13/akka-http-testkit_2.12-10.1.13.jar" ], - "sha256": "2db0c693ea8ebd70b46d4b256f42438df999810dcfed4d1048d87ce12804641b", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.11/akka-http-testkit_2.12-10.1.11.jar" + "sha256": "d8efea08fc77fc895a208cc01d9bb91d952dc834f0c87c994f718b36d10b7b2c", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.13/akka-http-testkit_2.12-10.1.13.jar" }, { - "coord": "com.typesafe.akka:akka-http-testkit_2.12:jar:sources:10.1.11", + "coord": "com.typesafe.akka:akka-http-testkit_2.12:jar:sources:10.1.13", "dependencies": [ - "com.typesafe.akka:akka-http-core_2.12:jar:sources:10.1.11", - "com.typesafe.akka:akka-http_2.12:jar:sources:10.1.11", + "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.13", "org.scala-lang:scala-library:jar:sources:2.12.12", - "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.11" + "com.typesafe.akka:akka-http_2.12:jar:sources:10.1.13", + "com.typesafe.akka:akka-http-core_2.12:jar:sources:10.1.13" ], "directDependencies": [ - "com.typesafe.akka:akka-http_2.12:jar:sources:10.1.11", + "com.typesafe.akka:akka-http_2.12:jar:sources:10.1.13", "org.scala-lang:scala-library:jar:sources:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.11/akka-http-testkit_2.12-10.1.11-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.13/akka-http-testkit_2.12-10.1.13-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.11/akka-http-testkit_2.12-10.1.11-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.13/akka-http-testkit_2.12-10.1.13-sources.jar" ], - "sha256": "6c952d92f80307549d8b8063ebaaee572e69d84a0f87f10c17ecd8d883ea2ad0", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.11/akka-http-testkit_2.12-10.1.11-sources.jar" + "sha256": "a8d51b376699d51ad94f54b1aed430456caae3f1f7784e582ce22392c41f625f", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http-testkit_2.12/10.1.13/akka-http-testkit_2.12-10.1.13-sources.jar" }, { - "coord": "com.typesafe.akka:akka-http_2.12:10.1.11", + "coord": "com.typesafe.akka:akka-http_2.12:10.1.13", "dependencies": [ "org.scala-lang:scala-library:2.12.12", - "com.typesafe.akka:akka-http-core_2.12:10.1.11", - "com.typesafe.akka:akka-parsing_2.12:10.1.11" + "com.typesafe.akka:akka-parsing_2.12:10.1.13", + "com.typesafe.akka:akka-http-core_2.12:10.1.13" ], "directDependencies": [ - "com.typesafe.akka:akka-http-core_2.12:10.1.11", + "com.typesafe.akka:akka-http-core_2.12:10.1.13", "org.scala-lang:scala-library:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.11/akka-http_2.12-10.1.11.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.13/akka-http_2.12-10.1.13.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.11/akka-http_2.12-10.1.11.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.13/akka-http_2.12-10.1.13.jar" ], - "sha256": "8f72129cf13c02c05bf91e79f8709e3cbf154ad7497acefaef04221c7be71a18", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.11/akka-http_2.12-10.1.11.jar" + "sha256": "a86f278db7caf2c7c1dd81e19f5d34d97b2ea5c1bea5086e10a04a520224046f", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.13/akka-http_2.12-10.1.13.jar" }, { - "coord": "com.typesafe.akka:akka-http_2.12:jar:sources:10.1.11", + "coord": "com.typesafe.akka:akka-http_2.12:jar:sources:10.1.13", "dependencies": [ - "com.typesafe.akka:akka-http-core_2.12:jar:sources:10.1.11", + "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.13", "org.scala-lang:scala-library:jar:sources:2.12.12", - "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.11" + "com.typesafe.akka:akka-http-core_2.12:jar:sources:10.1.13" ], "directDependencies": [ - "com.typesafe.akka:akka-http-core_2.12:jar:sources:10.1.11", + "com.typesafe.akka:akka-http-core_2.12:jar:sources:10.1.13", "org.scala-lang:scala-library:jar:sources:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.11/akka-http_2.12-10.1.11-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.13/akka-http_2.12-10.1.13-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.11/akka-http_2.12-10.1.11-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.13/akka-http_2.12-10.1.13-sources.jar" ], - "sha256": "b86065042be064a0acf3d3a368a3cdec9534ec0d6da170c2f0ca9441ed770f78", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.11/akka-http_2.12-10.1.11-sources.jar" + "sha256": "ba1ef041df6f89a6927e4660b515195ada8275791ebb4415509166b03156675a", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-http_2.12/10.1.13/akka-http_2.12-10.1.13-sources.jar" }, { - "coord": "com.typesafe.akka:akka-parsing_2.12:10.1.11", + "coord": "com.typesafe.akka:akka-parsing_2.12:10.1.13", "dependencies": [ "org.scala-lang:scala-library:2.12.12" ], "directDependencies": [ "org.scala-lang:scala-library:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.11/akka-parsing_2.12-10.1.11.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.13/akka-parsing_2.12-10.1.13.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.11/akka-parsing_2.12-10.1.11.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.13/akka-parsing_2.12-10.1.13.jar" ], - "sha256": "cee22a5dc468aef174c84d46dad58e65f70c47e3258244b9ea1c11c47f4597a1", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.11/akka-parsing_2.12-10.1.11.jar" + "sha256": "63065aa4a07661a3d11f78ac9c598220d8acc92ef3d87e81cdb9da9b476ff556", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.13/akka-parsing_2.12-10.1.13.jar" }, { - "coord": "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.11", + "coord": "com.typesafe.akka:akka-parsing_2.12:jar:sources:10.1.13", "dependencies": [ "org.scala-lang:scala-library:jar:sources:2.12.12" ], "directDependencies": [ "org.scala-lang:scala-library:jar:sources:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.11/akka-parsing_2.12-10.1.11-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.13/akka-parsing_2.12-10.1.13-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.11/akka-parsing_2.12-10.1.11-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.13/akka-parsing_2.12-10.1.13-sources.jar" ], - "sha256": "7444e238f9e6a48b6c9e8e6ad320ff961f9c644b50a4a889eaac45d4cc25e50a", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.11/akka-parsing_2.12-10.1.11-sources.jar" + "sha256": "defcb6b4fac84a68dc265cd0f5161a09463f2efc414cce0ddccda70587f73125", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-parsing_2.12/10.1.13/akka-parsing_2.12-10.1.13-sources.jar" }, { - "coord": "com.typesafe.akka:akka-protobuf-v3_2.12:2.6.1", - "dependencies": [ - "com.google.protobuf:protobuf-java:3.11.0" - ], - "directDependencies": [ - "com.google.protobuf:protobuf-java:3.11.0" - ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.1/akka-protobuf-v3_2.12-2.6.1.jar", + "coord": "com.typesafe.akka:akka-protobuf-v3_2.12:2.6.10", + "dependencies": [], + "directDependencies": [], + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.10/akka-protobuf-v3_2.12-2.6.10.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.1/akka-protobuf-v3_2.12-2.6.1.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.10/akka-protobuf-v3_2.12-2.6.10.jar" ], - "sha256": "a0f7bd650fe02d2f22f3c36ae48564901de00603e93bf77dce87717594dace13", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.1/akka-protobuf-v3_2.12-2.6.1.jar" + "sha256": "4e402940da29b8b4f9d22bc671b49dbc87a263d0f4c1134a082cf4c349690ed3", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.10/akka-protobuf-v3_2.12-2.6.10.jar" }, { - "coord": "com.typesafe.akka:akka-protobuf-v3_2.12:jar:sources:2.6.1", - "dependencies": [ - "com.google.protobuf:protobuf-java:jar:sources:3.11.0" - ], - "directDependencies": [ - "com.google.protobuf:protobuf-java:jar:sources:3.11.0" - ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.1/akka-protobuf-v3_2.12-2.6.1-sources.jar", + "coord": "com.typesafe.akka:akka-protobuf-v3_2.12:jar:sources:2.6.10", + "dependencies": [], + "directDependencies": [], + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.10/akka-protobuf-v3_2.12-2.6.10-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.1/akka-protobuf-v3_2.12-2.6.1-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.10/akka-protobuf-v3_2.12-2.6.10-sources.jar" ], - "sha256": "e9cc397299da7892f72bf73f4bdcfa4d641eb9798daecedde99c28309cceaa3c", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.1/akka-protobuf-v3_2.12-2.6.1-sources.jar" + "sha256": "221130439da1457a5a3be7fc4996f140d06884b9376f6a97f6c9dbece67e9468", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-protobuf-v3_2.12/2.6.10/akka-protobuf-v3_2.12-2.6.10-sources.jar" }, { - "coord": "com.typesafe.akka:akka-slf4j_2.12:2.6.1", + "coord": "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "dependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", "org.slf4j:slf4j-api:1.7.26", "com.typesafe:config:1.4.0", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "org.scala-lang.modules:scala-java8-compat_2.12:0.9.0", "org.scala-lang:scala-library:2.12.12" ], "directDependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "org.slf4j:slf4j-api:1.7.26" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.1/akka-slf4j_2.12-2.6.1.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.10/akka-slf4j_2.12-2.6.10.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.1/akka-slf4j_2.12-2.6.1.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.10/akka-slf4j_2.12-2.6.10.jar" ], - "sha256": "000fce5cf6276ccbe9750d6f3a5dfaad09611fa6f3f9071f067dbb0ee842f991", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.1/akka-slf4j_2.12-2.6.1.jar" + "sha256": "d0ec5eabbd13108c7156d351cbf22bc0704aa0cc7ea4d43c12c5ed878879c884", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.10/akka-slf4j_2.12-2.6.10.jar" }, { - "coord": "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "coord": "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "dependencies": [ + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.slf4j:slf4j-api:jar:sources:1.7.26", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12" ], "directDependencies": [ - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "org.scala-lang:scala-library:jar:sources:2.12.12", "org.slf4j:slf4j-api:jar:sources:1.7.26" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.1/akka-slf4j_2.12-2.6.1-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.10/akka-slf4j_2.12-2.6.10-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.1/akka-slf4j_2.12-2.6.1-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.10/akka-slf4j_2.12-2.6.10-sources.jar" ], - "sha256": "3fb2b104f3480d87a5c819d5ea52cce5cfabc41ba2394bd761c8499be818fc88", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.1/akka-slf4j_2.12-2.6.1-sources.jar" + "sha256": "dc3678447c807e2abf09ce4c47f2c8c08834aa83289c62527fbb7afc0e1c1517", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-slf4j_2.12/2.6.10/akka-slf4j_2.12-2.6.10-sources.jar" }, { - "coord": "com.typesafe.akka:akka-stream-testkit_2.12:2.6.1", + "coord": "com.typesafe.akka:akka-stream-testkit_2.12:2.6.10", "dependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", - "com.typesafe.akka:akka-testkit_2.12:2.6.1", - "com.google.protobuf:protobuf-java:3.11.0", - "com.typesafe:ssl-config-core_2.12:0.4.1", - "com.typesafe.akka:akka-stream_2.12:2.6.1", + "com.typesafe.akka:akka-protobuf-v3_2.12:2.6.10", + "com.typesafe:ssl-config-core_2.12:0.4.2", + "com.typesafe.akka:akka-stream_2.12:2.6.10", "com.typesafe:config:1.4.0", - "com.typesafe.akka:akka-protobuf-v3_2.12:2.6.1", + "com.typesafe.akka:akka-testkit_2.12:2.6.10", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "org.scala-lang.modules:scala-parser-combinators_2.12:1.0.4", "org.scala-lang.modules:scala-java8-compat_2.12:0.9.0", "org.scala-lang:scala-library:2.12.12", "org.reactivestreams:reactive-streams:1.0.2" ], "directDependencies": [ - "com.typesafe.akka:akka-stream_2.12:2.6.1", - "com.typesafe.akka:akka-testkit_2.12:2.6.1", + "com.typesafe.akka:akka-stream_2.12:2.6.10", + "com.typesafe.akka:akka-testkit_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.1/akka-stream-testkit_2.12-2.6.1.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.10/akka-stream-testkit_2.12-2.6.10.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.1/akka-stream-testkit_2.12-2.6.1.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.10/akka-stream-testkit_2.12-2.6.10.jar" ], - "sha256": "ce96570c721ea51e10f31a722cbf55de125669983c840377f6f3d5fd06640aaa", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.1/akka-stream-testkit_2.12-2.6.1.jar" + "sha256": "81b9964fb381461c0cde7779ff106577f55218bbc6641d9427ed7eb8e7663b86", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.10/akka-stream-testkit_2.12-2.6.10.jar" }, { - "coord": "com.typesafe.akka:akka-stream-testkit_2.12:jar:sources:2.6.1", + "coord": "com.typesafe.akka:akka-stream-testkit_2.12:jar:sources:2.6.10", "dependencies": [ - "com.google.protobuf:protobuf-java:jar:sources:3.11.0", - "com.typesafe.akka:akka-testkit_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-protobuf-v3_2.12:jar:sources:2.6.10", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", + "com.typesafe.akka:akka-stream_2.12:jar:sources:2.6.10", "org.reactivestreams:reactive-streams:jar:sources:1.0.2", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", - "com.typesafe.akka:akka-protobuf-v3_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-testkit_2.12:jar:sources:2.6.10", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", - "org.scala-lang:scala-library:jar:sources:2.12.12", - "com.typesafe.akka:akka-stream_2.12:jar:sources:2.6.1" + "org.scala-lang:scala-library:jar:sources:2.12.12" ], "directDependencies": [ - "com.typesafe.akka:akka-stream_2.12:jar:sources:2.6.1", - "com.typesafe.akka:akka-testkit_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-stream_2.12:jar:sources:2.6.10", + "com.typesafe.akka:akka-testkit_2.12:jar:sources:2.6.10", "org.scala-lang:scala-library:jar:sources:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.1/akka-stream-testkit_2.12-2.6.1-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.10/akka-stream-testkit_2.12-2.6.10-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.1/akka-stream-testkit_2.12-2.6.1-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.10/akka-stream-testkit_2.12-2.6.10-sources.jar" ], - "sha256": "9a7903928d3a823d1bf9004565ea5698ef2dfe3f5288214c1967e348ee04a58e", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.1/akka-stream-testkit_2.12-2.6.1-sources.jar" + "sha256": "2e7d9d7b37ab2cc779d9085ac3f977c967ccee9c057befa7ddf2be9f7a6ea8c8", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream-testkit_2.12/2.6.10/akka-stream-testkit_2.12-2.6.10-sources.jar" }, { - "coord": "com.typesafe.akka:akka-stream_2.12:2.6.1", + "coord": "com.typesafe.akka:akka-stream_2.12:2.6.10", "dependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", - "com.google.protobuf:protobuf-java:3.11.0", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe.akka:akka-protobuf-v3_2.12:2.6.10", + "com.typesafe:ssl-config-core_2.12:0.4.2", "com.typesafe:config:1.4.0", - "com.typesafe.akka:akka-protobuf-v3_2.12:2.6.1", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "org.scala-lang.modules:scala-parser-combinators_2.12:1.0.4", "org.scala-lang.modules:scala-java8-compat_2.12:0.9.0", "org.scala-lang:scala-library:2.12.12", "org.reactivestreams:reactive-streams:1.0.2" ], "directDependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", - "com.typesafe:ssl-config-core_2.12:0.4.1", - "com.typesafe.akka:akka-protobuf-v3_2.12:2.6.1", + "com.typesafe.akka:akka-protobuf-v3_2.12:2.6.10", + "com.typesafe:ssl-config-core_2.12:0.4.2", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "org.reactivestreams:reactive-streams:1.0.2" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.1/akka-stream_2.12-2.6.1.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.10/akka-stream_2.12-2.6.10.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.1/akka-stream_2.12-2.6.1.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.10/akka-stream_2.12-2.6.10.jar" ], - "sha256": "b31f1299936903537303fc9a0a9b948620419af3b9588b0663de56e7ce5979de", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.1/akka-stream_2.12-2.6.1.jar" + "sha256": "b58130a9b876bff633f5d979b309bc85640259239f8b21b850fc0b956b8a0384", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.10/akka-stream_2.12-2.6.10.jar" }, { - "coord": "com.typesafe.akka:akka-stream_2.12:jar:sources:2.6.1", + "coord": "com.typesafe.akka:akka-stream_2.12:jar:sources:2.6.10", "dependencies": [ - "com.google.protobuf:protobuf-java:jar:sources:3.11.0", + "com.typesafe.akka:akka-protobuf-v3_2.12:jar:sources:2.6.10", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", "org.reactivestreams:reactive-streams:jar:sources:1.0.2", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", - "com.typesafe.akka:akka-protobuf-v3_2.12:jar:sources:2.6.1", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12" ], "directDependencies": [ + "com.typesafe.akka:akka-protobuf-v3_2.12:jar:sources:2.6.10", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "org.reactivestreams:reactive-streams:jar:sources:1.0.2", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", - "com.typesafe.akka:akka-protobuf-v3_2.12:jar:sources:2.6.1", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "org.scala-lang:scala-library:jar:sources:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.1/akka-stream_2.12-2.6.1-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.10/akka-stream_2.12-2.6.10-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.1/akka-stream_2.12-2.6.1-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.10/akka-stream_2.12-2.6.10-sources.jar" ], - "sha256": "f99a0220d9b0e7acd5f42293a318206acde579074893bb5fbc82939ee054db7d", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.1/akka-stream_2.12-2.6.1-sources.jar" + "sha256": "8adfac337ad7339e402cc1728d1f2540702b65f5f5c0be2275edf195e0a0bb8c", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-stream_2.12/2.6.10/akka-stream_2.12-2.6.10-sources.jar" }, { - "coord": "com.typesafe.akka:akka-testkit_2.12:2.6.1", + "coord": "com.typesafe.akka:akka-testkit_2.12:2.6.10", "dependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", "org.scala-lang:scala-library:2.12.12", "com.typesafe:config:1.4.0", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "org.scala-lang.modules:scala-java8-compat_2.12:0.9.0" ], "directDependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.1/akka-testkit_2.12-2.6.1.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.10/akka-testkit_2.12-2.6.10.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.1/akka-testkit_2.12-2.6.1.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.10/akka-testkit_2.12-2.6.10.jar" ], - "sha256": "f12f796ad7185c4b13599ac3a7b3f6b05303281efa7398253bb2ae065ed8a5f6", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.1/akka-testkit_2.12-2.6.1.jar" + "sha256": "29a18248417e020eabd3148c57c811c975d47fe79479f88fd3d40f126d3f59c7", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.10/akka-testkit_2.12-2.6.10.jar" }, { - "coord": "com.typesafe.akka:akka-testkit_2.12:jar:sources:2.6.1", + "coord": "com.typesafe.akka:akka-testkit_2.12:jar:sources:2.6.10", "dependencies": [ + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang:scala-library:jar:sources:2.12.12" ], "directDependencies": [ - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "org.scala-lang:scala-library:jar:sources:2.12.12" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.1/akka-testkit_2.12-2.6.1-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.10/akka-testkit_2.12-2.6.10-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.1/akka-testkit_2.12-2.6.1-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.10/akka-testkit_2.12-2.6.10-sources.jar" ], - "sha256": "a14281ee2d0c146c6df771f7e13792f913b79e5a394314dc2b137da1cde1115f", - "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.1/akka-testkit_2.12-2.6.1-sources.jar" + "sha256": "cb019e6da53a8603ab39fa655fc96d895d44a35fa807ea49b74561fd005c531b", + "url": "https://repo1.maven.org/maven2/com/typesafe/akka/akka-testkit_2.12/2.6.10/akka-testkit_2.12-2.6.10-sources.jar" }, { "coord": "com.typesafe.play:anorm-akka_2.12:2.5.3", @@ -3027,7 +3015,7 @@ "url": "https://repo1.maven.org/maven2/com/typesafe/config/1.4.0/config-1.4.0-sources.jar" }, { - "coord": "com.typesafe:ssl-config-core_2.12:0.4.1", + "coord": "com.typesafe:ssl-config-core_2.12:0.4.2", "dependencies": [ "org.scala-lang:scala-library:2.12.12", "com.typesafe:config:1.4.0", @@ -3038,15 +3026,15 @@ "org.scala-lang:scala-library:2.12.12", "org.scala-lang.modules:scala-parser-combinators_2.12:1.0.4" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.1/ssl-config-core_2.12-0.4.1.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.2/ssl-config-core_2.12-0.4.2.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.1/ssl-config-core_2.12-0.4.1.jar" + "https://repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.2/ssl-config-core_2.12-0.4.2.jar" ], - "sha256": "f5823f44c4780a080a2f0ebeaaa1c72a1002a08ab9fe9735373e10517cfc1485", - "url": "https://repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.1/ssl-config-core_2.12-0.4.1.jar" + "sha256": "c9f16f354a2285d47f73188a0abee6c1e8be3f302b634a22c0a61810c10f4aaa", + "url": "https://repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.2/ssl-config-core_2.12-0.4.2.jar" }, { - "coord": "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", + "coord": "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "dependencies": [ "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", @@ -3057,12 +3045,12 @@ "org.scala-lang:scala-library:jar:sources:2.12.12", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4" ], - "file": "v1/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.1/ssl-config-core_2.12-0.4.1-sources.jar", + "file": "v1/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.2/ssl-config-core_2.12-0.4.2-sources.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.1/ssl-config-core_2.12-0.4.1-sources.jar" + "https://repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.2/ssl-config-core_2.12-0.4.2-sources.jar" ], - "sha256": "4423bec94e93c51a5b8c44fad3f6fbe0eefecd6919b69c38c62516c5818222b8", - "url": "https://repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.1/ssl-config-core_2.12-0.4.1-sources.jar" + "sha256": "c7674e8810f55f4677de9a30fd8c48c75533183a0adc453a14e72f43daef3766", + "url": "https://repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.2/ssl-config-core_2.12-0.4.2-sources.jar" }, { "coord": "com.zaxxer:HikariCP:3.2.0", @@ -3653,7 +3641,6 @@ "io.netty:netty-transport:4.1.48.Final", "com.eatthepath:fast-uuid:0.1", "org.hdrhistogram:HdrHistogram:2.1.11", - "com.typesafe.akka:akka-actor_2.12:2.6.1", "net.sf.saxon:Saxon-HE:9.9.1-5", "io.netty:netty-codec-http:4.1.48.Final", "org.jodd:jodd-lagarto:5.0.13", @@ -3675,6 +3662,7 @@ "io.netty:netty-codec-socks:4.1.48.Final", "io.pebbletemplates:pebble:3.1.0", "io.netty:netty-tcnative-boringssl-static:2.0.30.Final", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "io.netty:netty-buffer:4.1.48.Final", "io.netty:netty-codec-http2:4.1.48.Final", "io.gatling:jsonpath_2.12:0.7.0", @@ -3702,6 +3690,7 @@ "io.netty:netty-codec-dns:4.1.42.Final", "io.burt:jmespath-jackson:0.4.0", "org.simpleflatmapper:lightning-csv:8.0.3", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "com.sun.activation:javax.activation:1.2.0", "ch.qos.logback:logback-core:1.2.3", @@ -3712,8 +3701,7 @@ "org.scala-lang.modules:scala-xml_2.12:1.2.0", "org.checkerframework:checker-qual:2.11.1", "io.netty:netty-resolver-dns:4.1.42.Final", - "io.gatling:gatling-core:3.3.1", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "io.gatling:gatling-core:3.3.1" ], "directDependencies": [ "io.gatling:gatling-jms:3.3.1", @@ -3742,7 +3730,7 @@ "org.typelevel:spire-macros_2.12:jar:sources:0.16.2", "io.netty:netty-resolver-dns:jar:sources:4.1.42.Final", "net.sf.saxon:Saxon-HE:jar:sources:9.9.1-5", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "net.debasishg:redisclient_2.12:jar:sources:3.10", "io.gatling:gatling-jms:jar:sources:3.3.1", "com.sun.activation:javax.activation:jar:sources:1.2.0", @@ -3756,7 +3744,6 @@ "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.11.2", "io.suzaku:boopickle_2.12:jar:sources:1.3.1", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "org.checkerframework:checker-qual:jar:sources:2.11.1", "com.google.errorprone:error_prone_annotations:jar:sources:2.3.4", @@ -3772,6 +3759,7 @@ "io.gatling:gatling-core:jar:sources:3.3.1", "io.netty:netty-transport-native-unix-common:jar:sources:4.1.42.Final", "com.tdunning:t-digest:jar:sources:3.1", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.github.scopt:scopt_2.12:jar:sources:3.7.1", "io.gatling:gatling-redis:jar:sources:3.3.1", "io.gatling:gatling-netty-util:jar:sources:3.3.1", @@ -3824,7 +3812,6 @@ "com.fasterxml.jackson.core:jackson-core:2.11.2", "io.netty:netty-transport:4.1.48.Final", "com.eatthepath:fast-uuid:0.1", - "com.typesafe.akka:akka-actor_2.12:2.6.1", "net.sf.saxon:Saxon-HE:9.9.1-5", "org.jodd:jodd-lagarto:5.0.13", "com.tdunning:t-digest:3.1", @@ -3839,6 +3826,7 @@ "io.burt:jmespath-core:0.4.0", "org.unbescape:unbescape:1.1.6.RELEASE", "io.pebbletemplates:pebble:3.1.0", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "io.netty:netty-buffer:4.1.48.Final", "io.gatling:jsonpath_2.12:0.7.0", "com.google.errorprone:error_prone_annotations:2.3.4", @@ -3856,14 +3844,14 @@ "io.netty:netty-codec:4.1.48.Final", "io.burt:jmespath-jackson:0.4.0", "org.simpleflatmapper:lightning-csv:8.0.3", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "ch.qos.logback:logback-core:1.2.3", "com.fasterxml.jackson.core:jackson-databind:2.11.2", "com.github.ben-manes.caffeine:caffeine:2.8.0", "org.jodd:jodd-log:5.0.13", "org.checkerframework:checker-qual:2.11.1", - "io.gatling:gatling-core:3.3.1", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "io.gatling:gatling-core:3.3.1" ], "directDependencies": [ "com.tdunning:t-digest:3.1", @@ -3884,7 +3872,7 @@ "org.unbescape:unbescape:jar:sources:1.1.6.RELEASE", "org.typelevel:spire-macros_2.12:jar:sources:0.16.2", "net.sf.saxon:Saxon-HE:jar:sources:9.9.1-5", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "io.netty:netty-buffer:jar:sources:4.1.48.Final", "io.burt:jmespath-core:jar:sources:0.4.0", "org.jodd:jodd-log:jar:sources:5.0.13", @@ -3894,7 +3882,6 @@ "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.11.2", "io.suzaku:boopickle_2.12:jar:sources:1.3.1", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "org.checkerframework:checker-qual:jar:sources:2.11.1", "com.google.errorprone:error_prone_annotations:jar:sources:2.3.4", @@ -3907,6 +3894,7 @@ "io.netty:netty-common:jar:sources:4.1.48.Final", "io.gatling:gatling-core:jar:sources:3.3.1", "com.tdunning:t-digest:jar:sources:3.1", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.github.scopt:scopt_2.12:jar:sources:3.7.1", "io.gatling:gatling-netty-util:jar:sources:3.3.1", "io.netty:netty-resolver:jar:sources:4.1.48.Final", @@ -4022,7 +4010,6 @@ "com.fasterxml.jackson.core:jackson-core:2.11.2", "io.netty:netty-transport:4.1.48.Final", "com.eatthepath:fast-uuid:0.1", - "com.typesafe.akka:akka-actor_2.12:2.6.1", "net.sf.saxon:Saxon-HE:9.9.1-5", "org.jodd:jodd-lagarto:5.0.13", "com.github.scopt:scopt_2.12:3.7.1", @@ -4036,6 +4023,7 @@ "io.burt:jmespath-core:0.4.0", "org.unbescape:unbescape:1.1.6.RELEASE", "io.pebbletemplates:pebble:3.1.0", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "io.netty:netty-buffer:4.1.48.Final", "io.gatling:jsonpath_2.12:0.7.0", "com.google.errorprone:error_prone_annotations:2.3.4", @@ -4053,20 +4041,20 @@ "io.netty:netty-codec:4.1.48.Final", "io.burt:jmespath-jackson:0.4.0", "org.simpleflatmapper:lightning-csv:8.0.3", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "ch.qos.logback:logback-core:1.2.3", "com.fasterxml.jackson.core:jackson-databind:2.11.2", "com.github.ben-manes.caffeine:caffeine:2.8.0", "org.jodd:jodd-log:5.0.13", - "org.checkerframework:checker-qual:2.11.1", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "org.checkerframework:checker-qual:2.11.1" ], "directDependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", "net.sf.saxon:Saxon-HE:9.9.1-5", "org.jodd:jodd-lagarto:5.0.13", "com.github.scopt:scopt_2.12:3.7.1", "io.pebbletemplates:pebble:3.1.0", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "io.gatling:jsonpath_2.12:0.7.0", "org.scala-lang.modules:scala-parser-combinators_2.12:1.0.4", "org.scala-lang.modules:scala-java8-compat_2.12:0.9.0", @@ -4074,10 +4062,10 @@ "io.netty:netty-handler:4.1.48.Final", "io.burt:jmespath-jackson:0.4.0", "org.simpleflatmapper:lightning-csv:8.0.3", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "com.fasterxml.jackson.core:jackson-databind:2.11.2", - "com.github.ben-manes.caffeine:caffeine:2.8.0", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "com.github.ben-manes.caffeine:caffeine:2.8.0" ], "file": "v1/https/repo1.maven.org/maven2/io/gatling/gatling-core/3.3.1/gatling-core-3.3.1.jar", "mirror_urls": [ @@ -4093,7 +4081,7 @@ "org.unbescape:unbescape:jar:sources:1.1.6.RELEASE", "org.typelevel:spire-macros_2.12:jar:sources:0.16.2", "net.sf.saxon:Saxon-HE:jar:sources:9.9.1-5", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "io.netty:netty-buffer:jar:sources:4.1.48.Final", "io.burt:jmespath-core:jar:sources:0.4.0", "org.jodd:jodd-log:jar:sources:5.0.13", @@ -4103,7 +4091,6 @@ "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.11.2", "io.suzaku:boopickle_2.12:jar:sources:1.3.1", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "org.checkerframework:checker-qual:jar:sources:2.11.1", "com.google.errorprone:error_prone_annotations:jar:sources:2.3.4", @@ -4114,6 +4101,7 @@ "io.pebbletemplates:pebble:jar:sources:3.1.0", "org.jodd:jodd-lagarto:jar:sources:5.0.13", "io.netty:netty-common:jar:sources:4.1.48.Final", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.github.scopt:scopt_2.12:jar:sources:3.7.1", "io.gatling:gatling-netty-util:jar:sources:3.3.1", "io.netty:netty-resolver:jar:sources:4.1.48.Final", @@ -4134,13 +4122,13 @@ "directDependencies": [ "io.burt:jmespath-jackson:jar:sources:0.4.0", "net.sf.saxon:Saxon-HE:jar:sources:9.9.1-5", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "com.github.ben-manes.caffeine:caffeine:jar:sources:2.8.0", "io.pebbletemplates:pebble:jar:sources:3.1.0", "org.jodd:jodd-lagarto:jar:sources:5.0.13", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.github.scopt:scopt_2.12:jar:sources:3.7.1", "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.11.2", "io.gatling:jsonpath_2.12:jar:sources:0.7.0", @@ -4163,7 +4151,6 @@ "io.netty:netty-transport:4.1.48.Final", "com.eatthepath:fast-uuid:0.1", "org.hdrhistogram:HdrHistogram:2.1.11", - "com.typesafe.akka:akka-actor_2.12:2.6.1", "net.sf.saxon:Saxon-HE:9.9.1-5", "org.jodd:jodd-lagarto:5.0.13", "com.github.scopt:scopt_2.12:3.7.1", @@ -4177,6 +4164,7 @@ "io.burt:jmespath-core:0.4.0", "org.unbescape:unbescape:1.1.6.RELEASE", "io.pebbletemplates:pebble:3.1.0", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "io.netty:netty-buffer:4.1.48.Final", "io.gatling:jsonpath_2.12:0.7.0", "com.google.errorprone:error_prone_annotations:2.3.4", @@ -4194,14 +4182,14 @@ "io.netty:netty-codec:4.1.48.Final", "io.burt:jmespath-jackson:0.4.0", "org.simpleflatmapper:lightning-csv:8.0.3", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "ch.qos.logback:logback-core:1.2.3", "com.fasterxml.jackson.core:jackson-databind:2.11.2", "com.github.ben-manes.caffeine:caffeine:2.8.0", "org.jodd:jodd-log:5.0.13", "org.checkerframework:checker-qual:2.11.1", - "io.gatling:gatling-core:3.3.1", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "io.gatling:gatling-core:3.3.1" ], "directDependencies": [ "io.gatling:gatling-core:3.3.1", @@ -4222,7 +4210,7 @@ "org.unbescape:unbescape:jar:sources:1.1.6.RELEASE", "org.typelevel:spire-macros_2.12:jar:sources:0.16.2", "net.sf.saxon:Saxon-HE:jar:sources:9.9.1-5", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "io.netty:netty-buffer:jar:sources:4.1.48.Final", "io.burt:jmespath-core:jar:sources:0.4.0", "org.jodd:jodd-log:jar:sources:5.0.13", @@ -4232,7 +4220,6 @@ "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.11.2", "io.suzaku:boopickle_2.12:jar:sources:1.3.1", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "org.checkerframework:checker-qual:jar:sources:2.11.1", "com.google.errorprone:error_prone_annotations:jar:sources:2.3.4", @@ -4244,6 +4231,7 @@ "org.jodd:jodd-lagarto:jar:sources:5.0.13", "io.netty:netty-common:jar:sources:4.1.48.Final", "io.gatling:gatling-core:jar:sources:3.3.1", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.github.scopt:scopt_2.12:jar:sources:3.7.1", "io.gatling:gatling-netty-util:jar:sources:3.3.1", "org.hdrhistogram:HdrHistogram:jar:sources:2.1.11", @@ -4380,7 +4368,6 @@ "com.fasterxml.jackson.core:jackson-core:2.11.2", "io.netty:netty-transport:4.1.48.Final", "com.eatthepath:fast-uuid:0.1", - "com.typesafe.akka:akka-actor_2.12:2.6.1", "net.sf.saxon:Saxon-HE:9.9.1-5", "io.netty:netty-codec-http:4.1.48.Final", "org.jodd:jodd-lagarto:5.0.13", @@ -4397,6 +4384,7 @@ "io.netty:netty-codec-socks:4.1.48.Final", "io.pebbletemplates:pebble:3.1.0", "io.netty:netty-tcnative-boringssl-static:2.0.30.Final", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "io.netty:netty-buffer:4.1.48.Final", "io.netty:netty-codec-http2:4.1.48.Final", "io.gatling:jsonpath_2.12:0.7.0", @@ -4420,6 +4408,7 @@ "io.netty:netty-codec-dns:4.1.42.Final", "io.burt:jmespath-jackson:0.4.0", "org.simpleflatmapper:lightning-csv:8.0.3", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "com.sun.activation:javax.activation:1.2.0", "ch.qos.logback:logback-core:1.2.3", @@ -4429,8 +4418,7 @@ "org.scala-lang.modules:scala-xml_2.12:1.2.0", "org.checkerframework:checker-qual:2.11.1", "io.netty:netty-resolver-dns:4.1.42.Final", - "io.gatling:gatling-core:3.3.1", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "io.gatling:gatling-core:3.3.1" ], "directDependencies": [ "io.gatling:gatling-core:3.3.1", @@ -4454,7 +4442,7 @@ "org.typelevel:spire-macros_2.12:jar:sources:0.16.2", "io.netty:netty-resolver-dns:jar:sources:4.1.42.Final", "net.sf.saxon:Saxon-HE:jar:sources:9.9.1-5", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "com.sun.activation:javax.activation:jar:sources:1.2.0", "io.netty:netty-buffer:jar:sources:4.1.48.Final", "io.burt:jmespath-core:jar:sources:0.4.0", @@ -4466,7 +4454,6 @@ "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.11.2", "io.suzaku:boopickle_2.12:jar:sources:1.3.1", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "org.checkerframework:checker-qual:jar:sources:2.11.1", "com.google.errorprone:error_prone_annotations:jar:sources:2.3.4", @@ -4480,6 +4467,7 @@ "io.netty:netty-common:jar:sources:4.1.48.Final", "io.gatling:gatling-core:jar:sources:3.3.1", "io.netty:netty-transport-native-unix-common:jar:sources:4.1.42.Final", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.github.scopt:scopt_2.12:jar:sources:3.7.1", "io.gatling:gatling-netty-util:jar:sources:3.3.1", "io.netty:netty-codec-http2:jar:sources:4.1.48.Final", @@ -4522,7 +4510,6 @@ "com.fasterxml.jackson.core:jackson-core:2.11.2", "io.netty:netty-transport:4.1.48.Final", "com.eatthepath:fast-uuid:0.1", - "com.typesafe.akka:akka-actor_2.12:2.6.1", "net.sf.saxon:Saxon-HE:9.9.1-5", "org.jodd:jodd-lagarto:5.0.13", "com.github.scopt:scopt_2.12:3.7.1", @@ -4536,6 +4523,7 @@ "io.burt:jmespath-core:0.4.0", "org.unbescape:unbescape:1.1.6.RELEASE", "io.pebbletemplates:pebble:3.1.0", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "io.netty:netty-buffer:4.1.48.Final", "io.gatling:jsonpath_2.12:0.7.0", "com.google.errorprone:error_prone_annotations:2.3.4", @@ -4553,14 +4541,14 @@ "io.netty:netty-codec:4.1.48.Final", "io.burt:jmespath-jackson:0.4.0", "org.simpleflatmapper:lightning-csv:8.0.3", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "ch.qos.logback:logback-core:1.2.3", "com.fasterxml.jackson.core:jackson-databind:2.11.2", "com.github.ben-manes.caffeine:caffeine:2.8.0", "org.jodd:jodd-log:5.0.13", "org.checkerframework:checker-qual:2.11.1", - "io.gatling:gatling-core:3.3.1", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "io.gatling:gatling-core:3.3.1" ], "directDependencies": [ "io.gatling:gatling-core:3.3.1", @@ -4580,7 +4568,7 @@ "org.unbescape:unbescape:jar:sources:1.1.6.RELEASE", "org.typelevel:spire-macros_2.12:jar:sources:0.16.2", "net.sf.saxon:Saxon-HE:jar:sources:9.9.1-5", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "io.netty:netty-buffer:jar:sources:4.1.48.Final", "io.burt:jmespath-core:jar:sources:0.4.0", "org.jodd:jodd-log:jar:sources:5.0.13", @@ -4590,7 +4578,6 @@ "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.11.2", "io.suzaku:boopickle_2.12:jar:sources:1.3.1", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "org.checkerframework:checker-qual:jar:sources:2.11.1", "com.google.errorprone:error_prone_annotations:jar:sources:2.3.4", @@ -4602,6 +4589,7 @@ "org.jodd:jodd-lagarto:jar:sources:5.0.13", "io.netty:netty-common:jar:sources:4.1.48.Final", "io.gatling:gatling-core:jar:sources:3.3.1", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.github.scopt:scopt_2.12:jar:sources:3.7.1", "io.gatling:gatling-netty-util:jar:sources:3.3.1", "io.netty:netty-resolver:jar:sources:4.1.48.Final", @@ -4636,7 +4624,6 @@ "com.fasterxml.jackson.core:jackson-core:2.11.2", "io.netty:netty-transport:4.1.48.Final", "com.eatthepath:fast-uuid:0.1", - "com.typesafe.akka:akka-actor_2.12:2.6.1", "net.sf.saxon:Saxon-HE:9.9.1-5", "org.jodd:jodd-lagarto:5.0.13", "com.github.scopt:scopt_2.12:3.7.1", @@ -4650,6 +4637,7 @@ "io.burt:jmespath-core:0.4.0", "org.unbescape:unbescape:1.1.6.RELEASE", "io.pebbletemplates:pebble:3.1.0", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "io.netty:netty-buffer:4.1.48.Final", "io.gatling:jsonpath_2.12:0.7.0", "com.google.errorprone:error_prone_annotations:2.3.4", @@ -4668,14 +4656,14 @@ "io.netty:netty-codec:4.1.48.Final", "io.burt:jmespath-jackson:0.4.0", "org.simpleflatmapper:lightning-csv:8.0.3", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "ch.qos.logback:logback-core:1.2.3", "com.fasterxml.jackson.core:jackson-databind:2.11.2", "com.github.ben-manes.caffeine:caffeine:2.8.0", "org.jodd:jodd-log:5.0.13", "org.checkerframework:checker-qual:2.11.1", - "io.gatling:gatling-core:3.3.1", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "io.gatling:gatling-core:3.3.1" ], "directDependencies": [ "io.gatling:gatling-core:3.3.1", @@ -4696,7 +4684,7 @@ "org.unbescape:unbescape:jar:sources:1.1.6.RELEASE", "org.typelevel:spire-macros_2.12:jar:sources:0.16.2", "net.sf.saxon:Saxon-HE:jar:sources:9.9.1-5", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "io.netty:netty-buffer:jar:sources:4.1.48.Final", "io.burt:jmespath-core:jar:sources:0.4.0", "org.jodd:jodd-log:jar:sources:5.0.13", @@ -4706,7 +4694,6 @@ "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.11.2", "io.suzaku:boopickle_2.12:jar:sources:1.3.1", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "org.checkerframework:checker-qual:jar:sources:2.11.1", "com.google.errorprone:error_prone_annotations:jar:sources:2.3.4", @@ -4718,6 +4705,7 @@ "org.jodd:jodd-lagarto:jar:sources:5.0.13", "io.netty:netty-common:jar:sources:4.1.48.Final", "io.gatling:gatling-core:jar:sources:3.3.1", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.github.scopt:scopt_2.12:jar:sources:3.7.1", "io.gatling:gatling-netty-util:jar:sources:3.3.1", "io.netty:netty-resolver:jar:sources:4.1.48.Final", @@ -4790,7 +4778,6 @@ "com.fasterxml.jackson.core:jackson-core:2.11.2", "io.netty:netty-transport:4.1.48.Final", "com.eatthepath:fast-uuid:0.1", - "com.typesafe.akka:akka-actor_2.12:2.6.1", "net.sf.saxon:Saxon-HE:9.9.1-5", "io.netty:netty-codec-http:4.1.48.Final", "org.json4s:json4s-scalap_2.12:3.6.7", @@ -4811,6 +4798,7 @@ "io.netty:netty-codec-socks:4.1.48.Final", "io.pebbletemplates:pebble:3.1.0", "io.netty:netty-tcnative-boringssl-static:2.0.30.Final", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "io.netty:netty-buffer:4.1.48.Final", "io.netty:netty-codec-http2:4.1.48.Final", "io.gatling:jsonpath_2.12:0.7.0", @@ -4838,6 +4826,7 @@ "io.netty:netty-codec-dns:4.1.42.Final", "io.burt:jmespath-jackson:0.4.0", "org.simpleflatmapper:lightning-csv:8.0.3", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "com.sun.activation:javax.activation:1.2.0", "ch.qos.logback:logback-core:1.2.3", @@ -4848,14 +4837,13 @@ "org.json4s:json4s-ast_2.12:3.6.7", "org.checkerframework:checker-qual:2.11.1", "io.netty:netty-resolver-dns:4.1.42.Final", - "io.gatling:gatling-core:3.3.1", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "io.gatling:gatling-core:3.3.1" ], "directDependencies": [ - "com.typesafe.akka:akka-actor_2.12:2.6.1", "io.netty:netty-codec-http:4.1.48.Final", "io.gatling:gatling-http:3.3.1", "org.json4s:json4s-jackson_2.12:3.6.7", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "org.scala-lang.modules:scala-swing_2.12:2.1.1", "org.bouncycastle:bcpkix-jdk15on:1.64", "org.scala-lang:scala-library:2.12.12", @@ -4880,7 +4868,7 @@ "org.typelevel:spire-macros_2.12:jar:sources:0.16.2", "io.netty:netty-resolver-dns:jar:sources:4.1.42.Final", "net.sf.saxon:Saxon-HE:jar:sources:9.9.1-5", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "com.sun.activation:javax.activation:jar:sources:1.2.0", "io.netty:netty-buffer:jar:sources:4.1.48.Final", "io.burt:jmespath-core:jar:sources:0.4.0", @@ -4893,7 +4881,6 @@ "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.11.2", "org.json4s:json4s-core_2.12:jar:sources:3.6.7", "io.suzaku:boopickle_2.12:jar:sources:1.3.1", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "com.thoughtworks.paranamer:paranamer:jar:sources:2.8", "org.checkerframework:checker-qual:jar:sources:2.11.1", @@ -4910,6 +4897,7 @@ "io.gatling:gatling-core:jar:sources:3.3.1", "io.netty:netty-transport-native-unix-common:jar:sources:4.1.42.Final", "org.json4s:json4s-jackson_2.12:jar:sources:3.6.7", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.github.scopt:scopt_2.12:jar:sources:3.7.1", "io.gatling:gatling-netty-util:jar:sources:3.3.1", "io.netty:netty-codec-http2:jar:sources:4.1.48.Final", @@ -4940,7 +4928,7 @@ "org.scala-lang.modules:scala-swing_2.12:jar:sources:2.1.1", "io.gatling:gatling-http:jar:sources:3.3.1", "io.netty:netty-codec-http:jar:sources:4.1.48.Final", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "io.gatling:gatling-core:jar:sources:3.3.1", "org.json4s:json4s-jackson_2.12:jar:sources:3.6.7", "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.11.2", @@ -4960,7 +4948,6 @@ "com.fasterxml.jackson.core:jackson-core:2.11.2", "io.netty:netty-transport:4.1.48.Final", "com.eatthepath:fast-uuid:0.1", - "com.typesafe.akka:akka-actor_2.12:2.6.1", "net.sf.saxon:Saxon-HE:9.9.1-5", "org.jodd:jodd-lagarto:5.0.13", "com.github.scopt:scopt_2.12:3.7.1", @@ -4974,6 +4961,7 @@ "io.burt:jmespath-core:0.4.0", "org.unbescape:unbescape:1.1.6.RELEASE", "io.pebbletemplates:pebble:3.1.0", + "com.typesafe.akka:akka-actor_2.12:2.6.10", "io.netty:netty-buffer:4.1.48.Final", "io.gatling:jsonpath_2.12:0.7.0", "com.google.errorprone:error_prone_annotations:2.3.4", @@ -4992,6 +4980,7 @@ "io.netty:netty-codec:4.1.48.Final", "io.burt:jmespath-jackson:0.4.0", "org.simpleflatmapper:lightning-csv:8.0.3", + "com.typesafe.akka:akka-slf4j_2.12:2.6.10", "org.scala-lang:scala-library:2.12.12", "ch.qos.logback:logback-core:1.2.3", "com.fasterxml.jackson.core:jackson-databind:2.11.2", @@ -4999,8 +4988,7 @@ "com.github.ben-manes.caffeine:caffeine:2.8.0", "org.jodd:jodd-log:5.0.13", "org.checkerframework:checker-qual:2.11.1", - "io.gatling:gatling-core:3.3.1", - "com.typesafe.akka:akka-slf4j_2.12:2.6.1" + "io.gatling:gatling-core:3.3.1" ], "directDependencies": [ "io.gatling:gatling-core:3.3.1", @@ -5021,7 +5009,7 @@ "org.unbescape:unbescape:jar:sources:1.1.6.RELEASE", "org.typelevel:spire-macros_2.12:jar:sources:0.16.2", "net.sf.saxon:Saxon-HE:jar:sources:9.9.1-5", - "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.1", + "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.10", "net.debasishg:redisclient_2.12:jar:sources:3.10", "io.netty:netty-buffer:jar:sources:4.1.48.Final", "io.burt:jmespath-core:jar:sources:0.4.0", @@ -5032,7 +5020,6 @@ "org.scala-lang.modules:scala-java8-compat_2.12:jar:sources:0.9.0", "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.11.2", "io.suzaku:boopickle_2.12:jar:sources:1.3.1", - "com.typesafe.akka:akka-actor_2.12:jar:sources:2.6.1", "org.scala-lang.modules:scala-parser-combinators_2.12:jar:sources:1.0.4", "org.checkerframework:checker-qual:jar:sources:2.11.1", "com.google.errorprone:error_prone_annotations:jar:sources:2.3.4", @@ -5044,6 +5031,7 @@ "org.jodd:jodd-lagarto:jar:sources:5.0.13", "io.netty:netty-common:jar:sources:4.1.48.Final", "io.gatling:gatling-core:jar:sources:3.3.1", + "com.typesafe.akka:akka-slf4j_2.12:jar:sources:2.6.10", "com.github.scopt:scopt_2.12:jar:sources:3.7.1", "io.gatling:gatling-netty-util:jar:sources:3.3.1", "io.netty:netty-resolver:jar:sources:4.1.48.Final", @@ -9672,7 +9660,7 @@ "net.java.dev.jna:jna-platform:4.5.0", "com.lmax:disruptor:3.3.6", "com.google.protobuf:protobuf-java:3.11.0", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "com.eed3si9n:sjson-new-murmurhash_2.12:0.8.2", "com.lihaoyi:sourcecode_2.12:0.2.1", "org.scala-sbt:tasks_2.12:1.1.4", @@ -9793,12 +9781,12 @@ "com.squareup.okhttp3:okhttp-urlconnection:jar:sources:3.7.0", "org.scala-sbt:zinc_2.12:jar:sources:1.1.5", "jline:jline:jar:sources:2.14.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", "com.eed3si9n:gigahorse-core_2.12:jar:sources:0.3.0", "org.scala-sbt:zinc-classpath_2.12:jar:sources:1.1.5", "org.scala-lang.modules:scala-xml_2.12:jar:sources:1.2.0", "net.java.dev.jna:jna:jar:sources:4.5.0", "org.scala-sbt:test-interface:jar:sources:1.0", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12", "com.lmax:disruptor:jar:sources:3.3.6", @@ -9894,7 +9882,7 @@ "com.squareup.okhttp3:okhttp-urlconnection:3.7.0", "net.java.dev.jna:jna-platform:4.5.0", "com.lmax:disruptor:3.3.6", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "com.eed3si9n:sjson-new-murmurhash_2.12:0.8.2", "org.scala-sbt:util-interface:1.1.3", "org.scala-sbt:launcher-interface:1.0.4", @@ -9985,11 +9973,11 @@ "org.scala-sbt:compiler-interface:jar:sources:1.1.5", "com.squareup.okhttp3:okhttp-urlconnection:jar:sources:3.7.0", "jline:jline:jar:sources:2.14.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", "com.eed3si9n:gigahorse-core_2.12:jar:sources:0.3.0", "org.scala-sbt:zinc-classpath_2.12:jar:sources:1.1.5", "org.scala-lang.modules:scala-xml_2.12:jar:sources:1.2.0", "net.java.dev.jna:jna:jar:sources:4.5.0", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12", "com.lmax:disruptor:jar:sources:3.3.6", @@ -10236,7 +10224,7 @@ "com.squareup.okhttp3:okhttp-urlconnection:3.7.0", "net.java.dev.jna:jna-platform:4.5.0", "com.lmax:disruptor:3.3.6", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "com.eed3si9n:sjson-new-murmurhash_2.12:0.8.2", "org.scala-sbt:util-interface:1.1.3", "org.scala-sbt:launcher-interface:1.0.4", @@ -10312,10 +10300,10 @@ "com.eed3si9n:sjson-new-scalajson_2.12:jar:sources:0.8.2", "com.squareup.okhttp3:okhttp-urlconnection:jar:sources:3.7.0", "jline:jline:jar:sources:2.14.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", "com.eed3si9n:gigahorse-core_2.12:jar:sources:0.3.0", "org.scala-lang.modules:scala-xml_2.12:jar:sources:1.2.0", "net.java.dev.jna:jna:jar:sources:4.5.0", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12", "com.lmax:disruptor:jar:sources:3.3.6", @@ -10354,7 +10342,7 @@ "com.squareup.okhttp3:okhttp-urlconnection:3.7.0", "net.java.dev.jna:jna-platform:4.5.0", "com.lmax:disruptor:3.3.6", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "com.eed3si9n:sjson-new-murmurhash_2.12:0.8.2", "org.scala-sbt:util-interface:1.1.3", "org.scala-sbt:launcher-interface:1.0.4", @@ -10424,10 +10412,10 @@ "com.eed3si9n:sjson-new-scalajson_2.12:jar:sources:0.8.2", "com.squareup.okhttp3:okhttp-urlconnection:jar:sources:3.7.0", "jline:jline:jar:sources:2.14.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", "com.eed3si9n:gigahorse-core_2.12:jar:sources:0.3.0", "org.scala-lang.modules:scala-xml_2.12:jar:sources:1.2.0", "net.java.dev.jna:jna:jar:sources:4.5.0", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12", "com.lmax:disruptor:jar:sources:3.3.6", @@ -10508,7 +10496,7 @@ "com.squareup.okhttp3:okhttp-urlconnection:3.7.0", "net.java.dev.jna:jna-platform:4.5.0", "com.lmax:disruptor:3.3.6", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "com.eed3si9n:sjson-new-murmurhash_2.12:0.8.2", "org.scala-sbt:tasks_2.12:1.1.4", "org.scala-sbt:util-interface:1.1.3", @@ -10604,11 +10592,11 @@ "org.scala-sbt:compiler-interface:jar:sources:1.1.5", "com.squareup.okhttp3:okhttp-urlconnection:jar:sources:3.7.0", "jline:jline:jar:sources:2.14.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", "com.eed3si9n:gigahorse-core_2.12:jar:sources:0.3.0", "org.scala-sbt:zinc-classpath_2.12:jar:sources:1.1.5", "org.scala-lang.modules:scala-xml_2.12:jar:sources:1.2.0", "net.java.dev.jna:jna:jar:sources:4.5.0", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12", "com.lmax:disruptor:jar:sources:3.3.6", @@ -10655,7 +10643,7 @@ "com.lmax:disruptor:3.3.6", "org.scala-sbt:logic_2.12:1.1.4", "com.google.protobuf:protobuf-java:3.11.0", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "com.eed3si9n:sjson-new-murmurhash_2.12:0.8.2", "com.lihaoyi:sourcecode_2.12:0.2.1", "org.scala-sbt:tasks_2.12:1.1.4", @@ -10805,12 +10793,12 @@ "com.squareup.okhttp3:okhttp-urlconnection:jar:sources:3.7.0", "org.scala-sbt:zinc_2.12:jar:sources:1.1.5", "jline:jline:jar:sources:2.14.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", "com.eed3si9n:gigahorse-core_2.12:jar:sources:0.3.0", "org.scala-sbt:zinc-classpath_2.12:jar:sources:1.1.5", "org.scala-lang.modules:scala-xml_2.12:jar:sources:1.2.0", "net.java.dev.jna:jna:jar:sources:4.5.0", "org.scala-sbt:test-interface:jar:sources:1.0", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-sbt:zinc-compile_2.12:jar:sources:1.1.5", "org.scala-lang:scala-library:jar:sources:2.12.12", @@ -11061,7 +11049,7 @@ "com.lmax:disruptor:3.3.6", "org.scala-sbt:logic_2.12:1.1.4", "com.google.protobuf:protobuf-java:3.11.0", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "com.eed3si9n:sjson-new-murmurhash_2.12:0.8.2", "com.lihaoyi:sourcecode_2.12:0.2.1", "org.scala-sbt:tasks_2.12:1.1.4", @@ -11195,12 +11183,12 @@ "com.squareup.okhttp3:okhttp-urlconnection:jar:sources:3.7.0", "org.scala-sbt:zinc_2.12:jar:sources:1.1.5", "jline:jline:jar:sources:2.14.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", "com.eed3si9n:gigahorse-core_2.12:jar:sources:0.3.0", "org.scala-sbt:zinc-classpath_2.12:jar:sources:1.1.5", "org.scala-lang.modules:scala-xml_2.12:jar:sources:1.2.0", "net.java.dev.jna:jna:jar:sources:4.5.0", "org.scala-sbt:test-interface:jar:sources:1.0", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-sbt:zinc-compile_2.12:jar:sources:1.1.5", "org.scala-sbt:main_2.12:jar:sources:1.1.4", @@ -12296,7 +12284,7 @@ "com.squareup.okhttp3:okhttp-urlconnection:3.7.0", "net.java.dev.jna:jna-platform:4.5.0", "com.lmax:disruptor:3.3.6", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "com.eed3si9n:sjson-new-murmurhash_2.12:0.8.2", "org.scala-sbt:util-interface:1.1.3", "org.scala-sbt:launcher-interface:1.0.4", @@ -12371,11 +12359,11 @@ "org.scala-sbt:compiler-interface:jar:sources:1.1.5", "com.squareup.okhttp3:okhttp-urlconnection:jar:sources:3.7.0", "jline:jline:jar:sources:2.14.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", "com.eed3si9n:gigahorse-core_2.12:jar:sources:0.3.0", "org.scala-sbt:zinc-classpath_2.12:jar:sources:1.1.5", "org.scala-lang.modules:scala-xml_2.12:jar:sources:1.2.0", "net.java.dev.jna:jna:jar:sources:4.5.0", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12", "com.lmax:disruptor:jar:sources:3.3.6", @@ -12506,7 +12494,7 @@ "net.java.dev.jna:jna-platform:4.5.0", "com.lmax:disruptor:3.3.6", "com.google.protobuf:protobuf-java:3.11.0", - "com.typesafe:ssl-config-core_2.12:0.4.1", + "com.typesafe:ssl-config-core_2.12:0.4.2", "com.eed3si9n:sjson-new-murmurhash_2.12:0.8.2", "com.lihaoyi:sourcecode_2.12:0.2.1", "org.scala-sbt:util-interface:1.1.3", @@ -12600,11 +12588,11 @@ "org.scala-sbt:zinc-persist_2.12:jar:sources:1.1.5", "com.squareup.okhttp3:okhttp-urlconnection:jar:sources:3.7.0", "jline:jline:jar:sources:2.14.4", - "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.1", "com.eed3si9n:gigahorse-core_2.12:jar:sources:0.3.0", "org.scala-sbt:zinc-classpath_2.12:jar:sources:1.1.5", "org.scala-lang.modules:scala-xml_2.12:jar:sources:1.2.0", "net.java.dev.jna:jna:jar:sources:4.5.0", + "com.typesafe:ssl-config-core_2.12:jar:sources:0.4.2", "com.typesafe:config:jar:sources:1.4.0", "org.scala-lang:scala-library:jar:sources:2.12.12", "com.lmax:disruptor:jar:sources:3.3.6", diff --git a/triggers/service/src/main/scala/com/digitalasset/daml/lf/engine/trigger/Server.scala b/triggers/service/src/main/scala/com/digitalasset/daml/lf/engine/trigger/Server.scala index e353cfa4d643..dfa65a4c27e7 100644 --- a/triggers/service/src/main/scala/com/digitalasset/daml/lf/engine/trigger/Server.scala +++ b/triggers/service/src/main/scala/com/digitalasset/daml/lf/engine/trigger/Server.scala @@ -21,6 +21,7 @@ import akka.http.scaladsl.model._ import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.{Directive, Directive1, Route} import akka.http.scaladsl.unmarshalling.{Unmarshal, Unmarshaller} +import akka.pattern.StatusReply import akka.stream.Materializer import akka.util.{ByteString, Timeout} @@ -57,13 +58,10 @@ import scala.util.{Failure, Success, Try} class Server( authConfig: AuthConfig, - ledgerConfig: LedgerConfig, - restartConfig: TriggerRestartConfig, triggerDao: RunningTriggerDao, val logTriggerStatus: (UUID, String) => Unit)( implicit ctx: ActorContext[Server.Message], - materializer: Materializer, - esf: ExecutionSequencerFactory) + materializer: Materializer) extends StrictLogging { // We keep the compiled packages in memory as it is required to construct a trigger Runner. @@ -105,21 +103,25 @@ class Server( } } - private def restartTriggers(triggers: Vector[RunningTrigger]): Either[String, Unit] = { - import cats.implicits._ // needed for traverse - triggers.traverse_(runningTrigger => - for { - trigger <- Trigger.fromIdentifier(compiledPackages, runningTrigger.triggerName) - } yield startTrigger(trigger, runningTrigger)) + private def restartTriggers(triggers: Vector[RunningTrigger])( + implicit ec: ExecutionContext): Future[Either[String, Unit]] = { + import cats.implicits._ + triggers.toList.traverse( + runningTrigger => + Trigger + .fromIdentifier(compiledPackages, runningTrigger.triggerName) + .map(trigger => (trigger, runningTrigger))) match { + case Left(err) => Future.successful(Left(err)) + case Right(triggers) => + Future.traverse(triggers)(x => startTrigger(x._1, x._2)).map(_ => Right(())) + } } - private def triggerRunnerName(triggerInstance: UUID): String = - triggerInstance.toString ++ "-monitor" - - private def getRunner(triggerInstance: UUID): Option[ActorRef[TriggerRunner.Message]] = - ctx - .child(triggerRunnerName(triggerInstance)) - .asInstanceOf[Option[ActorRef[TriggerRunner.Message]]] + private def getRunner(triggerInstance: UUID): Future[Option[ActorRef[TriggerRunner.Message]]] = { + implicit val timeout: Timeout = Timeout(5 seconds) + implicit val scheduler: Scheduler = schedulerFromActorSystem(ctx.system) + ctx.self.ask(Server.GetRunner(_, triggerInstance)) + } // The static config of a trigger, i.e., RunningTrigger but without a token. case class TriggerConfig( @@ -155,39 +157,29 @@ class Server( } } - private def startTrigger(trigger: Trigger, runningTrigger: RunningTrigger): JsValue = { - discard[ActorRef[Message]]( - ctx.spawn( - TriggerRunner( - new TriggerRunner.Config( - ctx.self, - runningTrigger.triggerInstance, - runningTrigger.triggerParty, - runningTrigger.triggerApplicationId, - AccessToken.unsubst(runningTrigger.triggerToken), - compiledPackages, - trigger, - ledgerConfig, - restartConfig - ), - runningTrigger.triggerInstance.toString - ), - triggerRunnerName(runningTrigger.triggerInstance) - )) - JsObject(("triggerId", runningTrigger.triggerInstance.toString.toJson)) + private def startTrigger(trigger: Trigger, runningTrigger: RunningTrigger)( + implicit ec: ExecutionContext): Future[JsValue] = { + implicit val timeout: Timeout = Timeout(5 seconds) + implicit val scheduler: Scheduler = schedulerFromActorSystem(ctx.system) + ctx.self + .askWithStatus(x => Server.StartTrigger(trigger, runningTrigger, compiledPackages, x)) + .map { + case () => + JsObject(("triggerId", runningTrigger.triggerInstance.toString.toJson)) + } } private def stopTrigger(uuid: UUID)(implicit ec: ExecutionContext): Future[Option[JsValue]] = { - triggerDao.removeRunningTrigger(uuid) map { - case false => None + triggerDao.removeRunningTrigger(uuid).flatMap { + case false => Future.successful(None) case true => - getRunner(uuid) foreach { runner => - runner ! TriggerRunner.Stop + getRunner(uuid).map { optRunner => + optRunner.foreach { runner => + runner ! TriggerRunner.Stop + } + logTriggerStatus(uuid, "stopped: by user request") + Some(JsObject(("triggerId", uuid.toString.toJson))) } - // If we couldn't find the runner then there is nothing to stop anyway, - // so pretend everything went normally. - logTriggerStatus(uuid, "stopped: by user request") - Some(JsObject(("triggerId", uuid.toString.toJson))) } } @@ -201,7 +193,7 @@ class Server( triggerDao.getRunningTrigger(uuid).flatMap { case None => Future.successful(None) case Some(t) => - getRunner(uuid) match { + getRunner(uuid).flatMap { case None => Future.successful(Some(Result(Stopped, t.triggerName, t.triggerParty).toJson)) case Some(act) => @@ -359,9 +351,11 @@ class Server( token => val instOrErr: Future[Either[String, JsValue]] = addNewTrigger(config, token) - .map(_.map { - case (trigger, runningTrigger) => startTrigger(trigger, runningTrigger) - }) + .flatMap { + case Left(value) => Future.successful(Left(value)) + case Right((trigger, runningTrigger)) => + startTrigger(trigger, runningTrigger).map(Right(_)) + } onComplete(instOrErr) { case Failure(exception) => complete( @@ -472,6 +466,16 @@ object Server { case object Stop extends Message + final case class StartTrigger( + trigger: Trigger, + runningTrigger: RunningTrigger, + compiledPackages: CompiledPackages, + replyTo: ActorRef[StatusReply[Unit]]) + extends Message + + final case class GetRunner(replyTo: ActorRef[Option[ActorRef[TriggerRunner.Message]]], uuid: UUID) + extends Message + // Messages passed to the server from a TriggerRunnerImpl final case class TriggerStarting(triggerInstance: UUID) extends Message @@ -488,6 +492,9 @@ object Server { cause: String ) extends Message + private def triggerRunnerName(triggerInstance: UUID): String = + triggerInstance.toString ++ "-monitor" + def apply( host: String, port: Int, @@ -511,17 +518,17 @@ object Server { val (dao, server, initializeF): (RunningTriggerDao, Server, Future[Unit]) = jdbcConfig match { case None => val dao = InMemoryTriggerDao() - val server = new Server(authConfig, ledgerConfig, restartConfig, dao, logTriggerStatus) + val server = new Server(authConfig, dao, logTriggerStatus) (dao, server, Future.successful(())) case Some(c) => val dao = DbTriggerDao(c) - val server = new Server(authConfig, ledgerConfig, restartConfig, dao, logTriggerStatus) + val server = new Server(authConfig, dao, logTriggerStatus) val initialize = for { _ <- dao.initialize packages <- dao.readPackages _ = server.addPackagesInMemory(packages) triggers <- dao.readRunningTriggers - _ = server.restartTriggers(triggers) + _ <- server.restartTriggers(triggers) } yield () (dao, server, initialize) } @@ -532,10 +539,47 @@ object Server { def logTriggerStarted(m: TriggerStarted): Unit = server.logTriggerStatus(m.triggerInstance, "running") + def startTrigger(req: StartTrigger): Unit = { + val runningTrigger = req.runningTrigger + Try( + ctx.spawn( + TriggerRunner( + new TriggerRunner.Config( + ctx.self, + runningTrigger.triggerInstance, + runningTrigger.triggerParty, + runningTrigger.triggerApplicationId, + AccessToken.unsubst(runningTrigger.triggerToken), + req.compiledPackages, + req.trigger, + ledgerConfig, + restartConfig + ), + runningTrigger.triggerInstance.toString + ), + triggerRunnerName(runningTrigger.triggerInstance) + )) match { + case Failure(exception) => req.replyTo ! StatusReply.error(exception) + case Success(_) => req.replyTo ! StatusReply.success(()) + } + } + + def getRunner(req: GetRunner) = { + req.replyTo ! ctx + .child(triggerRunnerName(req.uuid)) + .asInstanceOf[Option[ActorRef[TriggerRunner.Message]]] + } + // The server running state. def running(binding: ServerBinding): Behavior[Message] = Behaviors .receiveMessage[Message] { + case req: StartTrigger => + startTrigger(req) + Behaviors.same + case req: GetRunner => + getRunner(req) + Behaviors.same case m: TriggerStarting => logTriggerStarting(m) Behaviors.same @@ -616,6 +660,13 @@ object Server { logTriggerStarted(m) Behaviors.same + case req: StartTrigger => + startTrigger(req) + Behaviors.same + case req: GetRunner => + getRunner(req) + Behaviors.same + case _: TriggerInitializationFailure | _: TriggerRuntimeFailure => Behaviors.unhandled }