diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 3d76ff6e9a..3118934ef6 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -283,6 +283,10 @@ { "source_path_from_root": "/docs/deployment/azure/local-provisioning.md", "redirect_url": "/dotnet/aspire/azure/local-provisioning" + }, + { + "source_path_from_root": "/docs/frameworks/dapr.md", + "redirect_url": "/dotnet/aspire/azure/dapr" } ] } diff --git a/docs/app-host/configuration.md b/docs/app-host/configuration.md index 84c6e7f344..8485526328 100644 --- a/docs/app-host/configuration.md +++ b/docs/app-host/configuration.md @@ -77,6 +77,8 @@ By default, the dashboard is automatically started by the app host. The dashboar | `ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL` | `null` | Configures the dashboard OTLP HTTP address. Used by the dashboard to receive telemetry over OTLP. If only `ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL` is configured then it is set on resources as the `OTEL_EXPORTER_OTLP_ENDPOINT` env var. The `OTEL_EXPORTER_OTLP_PROTOCOL` env var is `http/protobuf`. | | `ASPIRE_DASHBOARD_CORS_ALLOWED_ORIGINS` | `null` | Overrides the CORS allowed origins configured in the dashboard. This setting replaces the default behavior of calculating allowed origins based on resource endpoints. | | `ASPIRE_DASHBOARD_FRONTEND_BROWSERTOKEN` | Automatically generated 128-bit entropy token. | Configures the frontend browser token. This is the value that must be entered to access the dashboard when the auth mode is BrowserToken. If no browser token is specified then a new token is generated each time the app host is launched. | +| `ASPIRE_DASHBOARD_TELEMETRY_OPTOUT` | `false` | Configures the dashboard to never send [usage telemetry](../fundamentals/dashboard/microsoft-collected-dashboard-telemetry.md). | +| `ASPIRE_DASHBOARD_AI_DISABLED` | `false` | [GitHub Copilot in the dashboard](../fundamentals/dashboard/copilot.md) is available when the app host is launched by a supported IDE. When set to `true` Copilot is disabled in the dashboard and no Copilot UI is visible. | ## Internal diff --git a/docs/app-host/eventing.md b/docs/app-host/eventing.md index 9b0f4ed026..827c6cc352 100644 --- a/docs/app-host/eventing.md +++ b/docs/app-host/eventing.md @@ -26,20 +26,21 @@ All of the preceding events are analogous to the [app host life cycles](xref:dot To subscribe to the built-in app host events, use the eventing API. After you have a distributed application builder instance, walk up to the property and call the API. Consider the following sample app host _Program.cs_ file: -:::code source="snippets/AspireApp/AspireApp.AppHost/Program.cs" highlight="17-25,27-35,37-45"::: +:::code source="snippets/AspireApp/AspireApp.AppHost/Program.cs"::: The preceding code is based on the starter template with the addition of the calls to the `Subscribe` API. The `Subscribe` API returns a instance that you can use to unsubscribe from the event. It's common to discard the returned subscriptions, as you don't usually need to unsubscribe from events as the entire app is torn down when the app host is shut down. When the app host is run, by the time the .NET Aspire dashboard is displayed, you should see the following log output in the console: -:::code language="Plaintext" source="snippets/AspireApp/AspireApp.AppHost/Console.txt" highlight="2,10,16"::: +:::code language="Plaintext" source="snippets/AspireApp/AspireApp.AppHost/Console.txt" highlight="2,10-14,20"::: -The log output confirms that event handlers are executed in the order of the app host life cycle events. The subscription order doesn't affect execution order. The `BeforeStartEvent` is triggered first, followed by `AfterEndpointsAllocatedEvent`, and finally `AfterResourcesCreatedEvent`. +The log output confirms that event handlers are executed in the order of the app host life cycle events. The subscription order doesn't affect execution order. The `BeforeStartEvent` is triggered first, followed by `AfterEndpointsAllocatedEvent`, then each resource has its `ResourceEndpointsAllocatedEvent` event fired, and finally `AfterResourcesCreatedEvent`. ## Resource eventing In addition to the app host events, you can also subscribe to resource events. Resource events are raised specific to an individual resource. Resource events are defined as implementations of the interface. The following resource events are available in the listed order: +1. `InitializeResourceEvent`: Raised by orchestrators to signal to resources that they should initialize themselves. 1. : Raised when a connection string becomes available for a resource. 1. : Raised before the orchestrator starts a new resource. 1. : Raised when a resource initially transitions to a ready state. @@ -48,13 +49,13 @@ In addition to the app host events, you can also subscribe to resource events. R To subscribe to resource events, use the eventing API. After you have a distributed application builder instance, walk up to the property and call the API. Consider the following sample app host _Program.cs_ file: -:::code source="snippets/AspireApp/AspireApp.ResourceAppHost/Program.cs" highlight="8-17,19-28,30-39"::: +:::code source="snippets/AspireApp/AspireApp.ResourceAppHost/Program.cs"::: -The preceding code subscribes to the `ResourceReadyEvent`, `ConnectionStringAvailableEvent`, and `BeforeResourceStartedEvent` events on the `cache` resource. When is called, it returns an where `T` is a . The resource builder exposes the resource as the property. The resource in question is then passed to the `Subscribe` API to subscribe to the events on the resource. +The preceding code subscribes to the `InitializeResourceEvent`, `ResourceReadyEvent`, `ConnectionStringAvailableEvent`, and `BeforeResourceStartedEvent` events on the `cache` resource. When is called, it returns an where `T` is a . The resource builder exposes the resource as the property. The resource in question is then passed to the `Subscribe` API to subscribe to the events on the resource. When the app host is run, by the time the .NET Aspire dashboard is displayed, you should see the following log output in the console: -:::code language="Plaintext" source="snippets/AspireApp/AspireApp.ResourceAppHost/Console.txt" highlight="8,10,12"::: +:::code language="Plaintext" source="snippets/AspireApp/AspireApp.ResourceAppHost/Console.txt" highlight="8,10,12,18"::: > [!NOTE] > Some events are blocking. For example, when the `BeforeResourceStartEvent` is published, the startup of the resource will be blocked until all subscriptions for that event on a given resource have completed executing. Whether an event is blocking or not depends on how it is published (see the following section). @@ -105,28 +106,9 @@ The preceding code: When this app host is run, the life cycle hook is executed for each event. The following output is generated: -```Output -info: LifecycleLogger[0] - BeforeStartAsync -info: Aspire.Hosting.DistributedApplication[0] - Aspire version: 9.0.0 -info: Aspire.Hosting.DistributedApplication[0] - Distributed application starting. -info: Aspire.Hosting.DistributedApplication[0] - Application host directory is: ..\AspireApp\AspireApp.AppHost -info: LifecycleLogger[0] - AfterEndpointsAllocatedAsync -info: Aspire.Hosting.DistributedApplication[0] - Now listening on: https://localhost:17043 -info: Aspire.Hosting.DistributedApplication[0] - Login to the dashboard at https://localhost:17043/login?t=d80f598bc8a64c7ee97328a1cbd55d72 -info: LifecycleLogger[0] - AfterResourcesCreatedAsync -info: Aspire.Hosting.DistributedApplication[0] - Distributed application started. Press Ctrl+C to shut down. -``` - -The preferred way to hook into the app host life cycle is to use the eventing API. For more information, see [Eventing in .NET Aspire](#eventing-in-net-aspire). +:::code language="Plaintext" source="../fundamentals/snippets/lifecycles/AspireApp/AspireApp.AppHost/Console.txt" highlight="2,10,16"::: + +The preferred way to hook into the app host life cycle is to use the eventing API. For more information, see [App host eventing](#app-host-eventing). ## See also diff --git a/docs/app-host/snippets/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj b/docs/app-host/snippets/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj index d4552282ef..44f2cf540b 100644 --- a/docs/app-host/snippets/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj +++ b/docs/app-host/snippets/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj @@ -16,8 +16,8 @@ - - + + diff --git a/docs/app-host/snippets/AspireApp/AspireApp.AppHost/Console.txt b/docs/app-host/snippets/AspireApp/AspireApp.AppHost/Console.txt index fe73c4232e..a3eadd2048 100644 --- a/docs/app-host/snippets/AspireApp/AspireApp.AppHost/Console.txt +++ b/docs/app-host/snippets/AspireApp/AspireApp.AppHost/Console.txt @@ -1,18 +1,22 @@ info: Program[0] 1. BeforeStartEvent info: Aspire.Hosting.DistributedApplication[0] - Aspire version: 9.0.0 + Aspire version: 9.3.0-preview.1.25262.2+6d54dc081cd2e7ea435e33f7c0e62ff6946ae66d info: Aspire.Hosting.DistributedApplication[0] Distributed application starting. info: Aspire.Hosting.DistributedApplication[0] - Application host directory is: ..\AspireApp\AspireApp.AppHost + Application host directory is: ../AspireApp/AspireApp.AppHost info: Program[0] 2. AfterEndpointsAllocatedEvent + 3. 'aspire-dashboard' ResourceEndpointsAllocatedEvent + 3. 'cache' ResourceEndpointsAllocatedEvent + 3. 'apiservice' ResourceEndpointsAllocatedEvent + 3. 'webfrontend' ResourceEndpointsAllocatedEvent info: Aspire.Hosting.DistributedApplication[0] Now listening on: https://localhost:17178 info: Aspire.Hosting.DistributedApplication[0] Login to the dashboard at https://localhost:17178/login?t= info: Program[0] - 3. AfterResourcesCreatedEvent + 4. AfterResourcesCreatedEvent info: Aspire.Hosting.DistributedApplication[0] - Distributed application started. Press Ctrl+C to shut down. \ No newline at end of file + Distributed application started. Press Ctrl+C to shut down. diff --git a/docs/app-host/snippets/AspireApp/AspireApp.AppHost/Program.cs b/docs/app-host/snippets/AspireApp/AspireApp.AppHost/Program.cs index 14af8aa466..125ee9ba4b 100644 --- a/docs/app-host/snippets/AspireApp/AspireApp.AppHost/Program.cs +++ b/docs/app-host/snippets/AspireApp/AspireApp.AppHost/Program.cs @@ -14,6 +14,17 @@ .WithReference(apiService) .WaitFor(apiService); +builder.Eventing.Subscribe( + (@event, cancellationToken) => + { + // The event doesn't expose an IServiceProvider, just write to the console. + Console.WriteLine($""" + 3. '{@event.Resource.Name}' ResourceEndpointsAllocatedEvent + """); + + return Task.CompletedTask; + }); + builder.Eventing.Subscribe( static (@event, cancellationToken) => { @@ -39,7 +50,7 @@ { var logger = @event.Services.GetRequiredService>(); - logger.LogInformation("3. AfterResourcesCreatedEvent"); + logger.LogInformation("4. AfterResourcesCreatedEvent"); return Task.CompletedTask; }); diff --git a/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/AspireApp.ResourceAppHost.csproj b/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/AspireApp.ResourceAppHost.csproj index d4552282ef..44f2cf540b 100644 --- a/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/AspireApp.ResourceAppHost.csproj +++ b/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/AspireApp.ResourceAppHost.csproj @@ -16,8 +16,8 @@ - - + + diff --git a/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/Console.txt b/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/Console.txt index c8ca1f88cb..cdfecf5a0b 100644 --- a/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/Console.txt +++ b/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/Console.txt @@ -1,18 +1,20 @@ info: Aspire.Hosting.DistributedApplication[0] - Aspire version: 9.0.0 + Aspire version: 9.3.0 info: Aspire.Hosting.DistributedApplication[0] Distributed application starting. info: Aspire.Hosting.DistributedApplication[0] - Application host directory is: ..\AspireApp\AspireApp.AppHost + Application host directory is: ../AspireApp/AspireApp.AppHost info: Program[0] - 1. ConnectionStringAvailableEvent + 1. InitializeResourceEvent info: Program[0] - 2. BeforeResourceStartedEvent + 2. ConnectionStringAvailableEvent info: Program[0] - 3. ResourceReadyEvent + 3. BeforeResourceStartedEvent info: Aspire.Hosting.DistributedApplication[0] Now listening on: https://localhost:17222 info: Aspire.Hosting.DistributedApplication[0] Login to the dashboard at https://localhost:17222/login?t= +info: Program[0] + 4. ResourceReadyEvent info: Aspire.Hosting.DistributedApplication[0] Distributed application started. Press Ctrl+C to shut down. \ No newline at end of file diff --git a/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/Program.cs b/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/Program.cs index b2134aa607..0350aa75b3 100644 --- a/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/Program.cs +++ b/docs/app-host/snippets/AspireApp/AspireApp.ResourceAppHost/Program.cs @@ -11,7 +11,17 @@ { var logger = @event.Services.GetRequiredService>(); - logger.LogInformation("3. ResourceReadyEvent"); + logger.LogInformation("4. ResourceReadyEvent"); + + return Task.CompletedTask; + }); + +builder.Eventing.Subscribe(cache.Resource, + static (@event, cancellationToken) => + { + var logger = @event.Services.GetRequiredService>(); + + logger.LogInformation("1. InitializeResourceEvent"); return Task.CompletedTask; }); @@ -22,7 +32,7 @@ { var logger = @event.Services.GetRequiredService>(); - logger.LogInformation("2. BeforeResourceStartedEvent"); + logger.LogInformation("3. BeforeResourceStartedEvent"); return Task.CompletedTask; }); @@ -33,7 +43,7 @@ { var logger = @event.Services.GetRequiredService>(); - logger.LogInformation("1. ConnectionStringAvailableEvent"); + logger.LogInformation("2. ConnectionStringAvailableEvent"); return Task.CompletedTask; }); diff --git a/docs/architecture/media/app-host-dcp-flow-thumb.png b/docs/architecture/media/app-host-dcp-flow-thumb.png new file mode 100644 index 0000000000..590cbf6aff Binary files /dev/null and b/docs/architecture/media/app-host-dcp-flow-thumb.png differ diff --git a/docs/architecture/media/app-host-dcp-flow.excalidraw b/docs/architecture/media/app-host-dcp-flow.excalidraw new file mode 100644 index 0000000000..9e0aa431d3 --- /dev/null +++ b/docs/architecture/media/app-host-dcp-flow.excalidraw @@ -0,0 +1,7192 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "Utd9X65PMFK9PkdM8QUDk", + "type": "rectangle", + "x": -109.44741485837051, + "y": -2104.04821103257, + "width": 772.2538110169041, + "height": 679.2079054467013, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f9fa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0e", + "roundness": { + "type": 3 + }, + "seed": 1667142254, + "version": 415, + "versionNonce": 2108208728, + "isDeleted": false, + "boundElements": [ + { + "id": "3SiwxCYYhPtBLSTr42Bok", + "type": "arrow" + } + ], + "updated": 1745863319612, + "link": null, + "locked": false + }, + { + "id": "OtcE-6D3xTUio_6CyelAR", + "type": "rectangle", + "x": -279.2478397926312, + "y": -2861.95029694393, + "width": 150, + "height": 65, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0k", + "roundness": null, + "seed": 1455008242, + "version": 124, + "versionNonce": 917585902, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "WNRC41jZ2WlZCUdotWsOw" + } + ], + "updated": 1745440639096, + "link": null, + "locked": false + }, + { + "id": "WNRC41jZ2WlZCUdotWsOw", + "type": "text", + "x": -241.52780805434998, + "y": -2840.25029694393, + "width": 74.5599365234375, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0l", + "roundness": null, + "seed": 1203688622, + "version": 118, + "versionNonce": 938835442, + "isDeleted": false, + "boundElements": [], + "updated": 1745440639096, + "link": null, + "locked": false, + "text": "Developer", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "OtcE-6D3xTUio_6CyelAR", + "originalText": "Developer", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "aeO3B8gUFafjhgr9HFx4W", + "type": "rectangle", + "x": -279.2478397926312, + "y": -2408.95029694393, + "width": 150, + "height": 65, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0m", + "roundness": null, + "seed": 1301519282, + "version": 122, + "versionNonce": 178197038, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "6DsRBdGC5gzc500PY6fEx" + } + ], + "updated": 1745440639096, + "link": null, + "locked": false + }, + { + "id": "6DsRBdGC5gzc500PY6fEx", + "type": "text", + "x": -241.52780805434998, + "y": -2387.25029694393, + "width": 74.5599365234375, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0n", + "roundness": null, + "seed": 1113063726, + "version": 118, + "versionNonce": 1077211058, + "isDeleted": false, + "boundElements": [], + "updated": 1745440639096, + "link": null, + "locked": false, + "text": "Developer", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aeO3B8gUFafjhgr9HFx4W", + "originalText": "Developer", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "C5sD-mWGhvK5--CY15UB2", + "type": "rectangle", + "x": -65.24783979263123, + "y": -2861.95029694393, + "width": 150, + "height": 65, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f3f0ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0o", + "roundness": { + "type": 3 + }, + "seed": 1070159218, + "version": 109, + "versionNonce": 854701934, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "hrJ_dAcoJuykoDcfy34tj" + } + ], + "updated": 1745440527981, + "link": null, + "locked": false + }, + { + "id": "hrJ_dAcoJuykoDcfy34tj", + "type": "text", + "x": -24.87182508315857, + "y": -2840.25029694393, + "width": 69.24797058105469, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0p", + "roundness": null, + "seed": 1760562606, + "version": 112, + "versionNonce": 1523449582, + "isDeleted": false, + "boundElements": [], + "updated": 1745440242009, + "link": null, + "locked": false, + "text": "App Host", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "C5sD-mWGhvK5--CY15UB2", + "originalText": "App Host", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "Sdmf93bELiHw-s6Fd7imV", + "type": "rectangle", + "x": -65.24783979263123, + "y": -2408.95029694393, + "width": 150, + "height": 65, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f0fc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0q", + "roundness": { + "type": 3 + }, + "seed": 1587664690, + "version": 108, + "versionNonce": 1765511278, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "ulAteoC-lPf_AqpWGCTYm" + } + ], + "updated": 1745440537259, + "link": null, + "locked": false + }, + { + "id": "ulAteoC-lPf_AqpWGCTYm", + "type": "text", + "x": -24.87182508315857, + "y": -2387.25029694393, + "width": 69.24797058105469, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0r", + "roundness": null, + "seed": 827259438, + "version": 112, + "versionNonce": 584162158, + "isDeleted": false, + "boundElements": [], + "updated": 1745440242009, + "link": null, + "locked": false, + "text": "App Host", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Sdmf93bELiHw-s6Fd7imV", + "originalText": "App Host", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "Dh7uMrKAdUh-QKuHgpdVB", + "type": "line", + "x": -204.24783979263123, + "y": -2796.95029694393, + "width": 0, + "height": 388, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b10", + "roundness": null, + "seed": 903550962, + "version": 119, + "versionNonce": 1033411694, + "isDeleted": false, + "boundElements": [], + "updated": 1745440639096, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 388 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "4fWPPHxh5W8Q_uWpsw_lE", + "type": "line", + "x": 9.752160207368775, + "y": -2796.95029694393, + "width": 0, + "height": 388, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b11", + "roundness": null, + "seed": 1649887666, + "version": 105, + "versionNonce": 214806766, + "isDeleted": false, + "boundElements": [], + "updated": 1745440242009, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 388 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "JHo2V8EZViJA3Yld-Aam-", + "type": "arrow", + "x": -204.0666355870485, + "y": -2760.95029694393, + "width": 211.49581635920794, + "height": 0, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b14", + "roundness": null, + "seed": 1048481522, + "version": 184, + "versionNonce": 1743708760, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "9JT9Hlgy9jg_k0Qm_8z60" + } + ], + "updated": 1745863478786, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 211.49581635920794, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "9JT9Hlgy9jg_k0Qm_8z60", + "type": "text", + "x": -120.23071471213203, + "y": -2771.75029694393, + "width": 43.823974609375, + "height": 21.6, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e6fcf5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b15", + "roundness": null, + "seed": 2046289448, + "version": 9, + "versionNonce": 655833384, + "isDeleted": false, + "boundElements": [], + "updated": 1745863477569, + "link": null, + "locked": false, + "text": "Starts", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "JHo2V8EZViJA3Yld-Aam-", + "originalText": "Starts", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "Yi8Mqrk0Vqj5oBUiMud7L", + "type": "arrow", + "x": 10.596399595493835, + "y": -2714.95029694393, + "width": 211.7439837472367, + "height": 0, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b16", + "roundness": null, + "seed": 359915698, + "version": 170, + "versionNonce": 2122027864, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "BF-4GpxkmHx54j7tEqYx9" + } + ], + "updated": 1745863494866, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 211.7439837472367, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "TC9MYnjkdfPFyqGxB4Au8", + "focus": 0.3971548354248799, + "gap": 3.2897987679092466 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "BF-4GpxkmHx54j7tEqYx9", + "type": "text", + "x": 36.13243871032313, + "y": -2725.75029694393, + "width": 160.67190551757812, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b17", + "roundness": null, + "seed": 905829934, + "version": 60, + "versionNonce": 327538728, + "isDeleted": false, + "boundElements": [], + "updated": 1745863493613, + "link": null, + "locked": false, + "text": "Translate \"app model\"", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Yi8Mqrk0Vqj5oBUiMud7L", + "originalText": "Translate \"app model\"", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "1yfdPgFz4_79YthCJD5BH", + "type": "arrow", + "x": 223.3625941411069, + "y": -2484.95029694393, + "width": 208.80718611886363, + "height": 0, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1G", + "roundness": null, + "seed": 683094386, + "version": 157, + "versionNonce": 114109810, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "36hiQCXYIBgk6fcbgf9EA" + } + ], + "updated": 1745500074323, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -208.80718611886363, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "TC9MYnjkdfPFyqGxB4Au8", + "focus": -0.440051144644315, + "gap": 2.267587969532883 + }, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "36hiQCXYIBgk6fcbgf9EA", + "type": "text", + "x": 80.25581200787244, + "y": -2495.75029694393, + "width": 135.2959442138672, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1H", + "roundness": null, + "seed": 1045077166, + "version": 27, + "versionNonce": 735101362, + "isDeleted": false, + "boundElements": [], + "updated": 1745499893400, + "link": null, + "locked": false, + "text": "Dashboard started", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "1yfdPgFz4_79YthCJD5BH", + "originalText": "Dashboard started", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "KgTH5A2gdbjwpWx99S8RX", + "type": "arrow", + "x": 8.221000580411669, + "y": -2438.95029694393, + "width": 209.80728289074295, + "height": 0, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1I", + "roundness": null, + "seed": 628372274, + "version": 164, + "versionNonce": 1859617368, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "VOx5fvntT-T-N1Sooleb2" + } + ], + "updated": 1745863514513, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -209.80728289074295, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "VOx5fvntT-T-N1Sooleb2", + "type": "text", + "x": -158.68261034738168, + "y": -2449.75029694393, + "width": 123.99993896484375, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1J", + "roundness": null, + "seed": 1318177070, + "version": 33, + "versionNonce": 325097768, + "isDeleted": false, + "boundElements": [], + "updated": 1745863513323, + "link": null, + "locked": false, + "text": "Dashboard ready", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "KgTH5A2gdbjwpWx99S8RX", + "originalText": "Dashboard ready", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "TC9MYnjkdfPFyqGxB4Au8", + "type": "rectangle", + "x": 225.6301821106398, + "y": -2880.5659174162265, + "width": 212.04034950486877, + "height": 549.4466247863879, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#e9ecef", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1M8", + "roundness": null, + "seed": 1502705458, + "version": 545, + "versionNonce": 139690482, + "isDeleted": false, + "boundElements": [ + { + "id": "Yi8Mqrk0Vqj5oBUiMud7L", + "type": "arrow" + }, + { + "id": "1yfdPgFz4_79YthCJD5BH", + "type": "arrow" + } + ], + "updated": 1745500073777, + "link": null, + "locked": false + }, + { + "id": "sbKy97xokeSqGQKpBFaW1", + "type": "rectangle", + "x": 242.25216020736877, + "y": -2861.95029694393, + "width": 179, + "height": 65, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "#326ce5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1MG", + "roundness": { + "type": 3 + }, + "seed": 444866802, + "version": 245, + "versionNonce": 464160434, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "CGHTTipoxhDFNJsgv4UmM" + } + ], + "updated": 1745500058504, + "link": null, + "locked": false + }, + { + "id": "CGHTTipoxhDFNJsgv4UmM", + "type": "text", + "x": 315.2801753440875, + "y": -2840.25029694393, + "width": 32.9439697265625, + "height": 21.6, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1MO", + "roundness": { + "type": 2 + }, + "seed": 1060947630, + "version": 247, + "versionNonce": 791410030, + "isDeleted": false, + "boundElements": [], + "updated": 1745500058504, + "link": null, + "locked": false, + "text": "DCP", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "sbKy97xokeSqGQKpBFaW1", + "originalText": "DCP", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "tH9luMBcflRRbJBnK-N9X", + "type": "rectangle", + "x": 242.25216020736877, + "y": -2408.95029694393, + "width": 179, + "height": 65, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "#326ce5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1MV", + "roundness": { + "type": 3 + }, + "seed": 1056387762, + "version": 248, + "versionNonce": 566943858, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "_5VaGFlbVMxR_IIdFwRrG" + } + ], + "updated": 1745500058504, + "link": null, + "locked": false + }, + { + "id": "_5VaGFlbVMxR_IIdFwRrG", + "type": "text", + "x": 315.2801753440875, + "y": -2387.25029694393, + "width": 32.9439697265625, + "height": 21.6, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1Md", + "roundness": { + "type": 2 + }, + "seed": 1686205230, + "version": 250, + "versionNonce": 1562843054, + "isDeleted": false, + "boundElements": [], + "updated": 1745500058504, + "link": null, + "locked": false, + "text": "DCP", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "tH9luMBcflRRbJBnK-N9X", + "originalText": "DCP", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "F1mRWe0RCiKhCci5iP8IX", + "type": "line", + "x": 331.7521602073688, + "y": -2796.95029694393, + "width": 0, + "height": 388, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1Ml", + "roundness": { + "type": 2 + }, + "seed": 468140914, + "version": 243, + "versionNonce": 1043989042, + "isDeleted": false, + "boundElements": [], + "updated": 1745500058504, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 388 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "w2j3dkD0dOD29Hbop9R7Z", + "type": "rectangle", + "x": 240.72603327514423, + "y": -2723.904140035392, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#d0bfff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1b", + "roundness": { + "type": 3 + }, + "seed": 1980439794, + "version": 427, + "versionNonce": 613998638, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "m087ULfMkQ7VO6cMFYoXu" + } + ], + "updated": 1745509160874, + "link": null, + "locked": false + }, + { + "id": "m087ULfMkQ7VO6cMFYoXu", + "type": "text", + "x": 270.78884271184506, + "y": -2717.8714031165327, + "width": 121.05587768554688, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1c", + "roundness": { + "type": 2 + }, + "seed": 612385134, + "version": 339, + "versionNonce": 906428850, + "isDeleted": false, + "boundElements": [], + "updated": 1745509160874, + "link": null, + "locked": false, + "text": "Prepare Services", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "w2j3dkD0dOD29Hbop9R7Z", + "originalText": "Prepare Services", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "TTE1F-AWgbKzd6sYffmtS", + "type": "rectangle", + "x": 240.72603327514423, + "y": -2670.7938857938775, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1d", + "roundness": { + "type": 3 + }, + "seed": 2138745138, + "version": 509, + "versionNonce": 1395173998, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "6uNzeixS58KFfnCLzHOpI" + } + ], + "updated": 1745509160874, + "link": null, + "locked": false + }, + { + "id": "6uNzeixS58KFfnCLzHOpI", + "type": "text", + "x": 272.3888259271771, + "y": -2664.761148875018, + "width": 117.85591125488281, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1e", + "roundness": { + "type": 2 + }, + "seed": 208843506, + "version": 395, + "versionNonce": 1356856178, + "isDeleted": false, + "boundElements": [], + "updated": 1745509160874, + "link": null, + "locked": false, + "text": "Start Containers", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TTE1F-AWgbKzd6sYffmtS", + "originalText": "Start Containers", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "Gy-uDdoYJyCezcbxGd0gF", + "type": "rectangle", + "x": 240.1139897902068, + "y": -2617.7048819053953, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1f", + "roundness": { + "type": 3 + }, + "seed": 1108522610, + "version": 493, + "versionNonce": 700787886, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "zSBDwmiIVK5_lq76ZFnYD" + } + ], + "updated": 1745509160874, + "link": null, + "locked": false + }, + { + "id": "zSBDwmiIVK5_lq76ZFnYD", + "type": "text", + "x": 266.8967851888217, + "y": -2611.672144986536, + "width": 127.61590576171875, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1g", + "roundness": { + "type": 2 + }, + "seed": 1930893362, + "version": 390, + "versionNonce": 569621810, + "isDeleted": false, + "boundElements": [], + "updated": 1745509160874, + "link": null, + "locked": false, + "text": "Start Executables", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Gy-uDdoYJyCezcbxGd0gF", + "originalText": "Start Executables", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "uLa6HwEjlaZDPxL5XbVqs", + "type": "rectangle", + "x": 239.99822914858532, + "y": -2564.736990152807, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1h", + "roundness": { + "type": 3 + }, + "seed": 1611149106, + "version": 617, + "versionNonce": 1981245166, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "AnHzGSYciUcLf83_7ntvf" + } + ], + "updated": 1745509160874, + "link": null, + "locked": false + }, + { + "id": "AnHzGSYciUcLf83_7ntvf", + "type": "text", + "x": 263.3970371204424, + "y": -2558.7042532339474, + "width": 134.38388061523438, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1i", + "roundness": { + "type": 2 + }, + "seed": 1298102514, + "version": 525, + "versionNonce": 648627954, + "isDeleted": false, + "boundElements": [], + "updated": 1745509160874, + "link": null, + "locked": false, + "text": "Monitor Resources", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "uLa6HwEjlaZDPxL5XbVqs", + "originalText": "Monitor Resources", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "nBQe47l_sAPW-3CtoS8SF", + "type": "rectangle", + "x": 239.3861856636479, + "y": -2511.647986264324, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#fff9db", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1j", + "roundness": { + "type": 3 + }, + "seed": 749177522, + "version": 602, + "versionNonce": 1755863342, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "JliNahbNpHTuA7HzuNsN6" + } + ], + "updated": 1745509160874, + "link": null, + "locked": false + }, + { + "id": "JliNahbNpHTuA7HzuNsN6", + "type": "text", + "x": 270.16096256861044, + "y": -2505.6152493454647, + "width": 119.63194274902344, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1k", + "roundness": { + "type": 2 + }, + "seed": 344417394, + "version": 512, + "versionNonce": 394762418, + "isDeleted": false, + "boundElements": [], + "updated": 1745509160874, + "link": null, + "locked": false, + "text": "Start Dashboard", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "nBQe47l_sAPW-3CtoS8SF", + "originalText": "Start Dashboard", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "4QM4XqbCWeDyuZPtmqbRt", + "type": "rectangle", + "x": -745.4593290261147, + "y": -2037.1903261284178, + "width": 150, + "height": 65, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f3f0ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1p", + "roundness": { + "type": 3 + }, + "seed": 946330990, + "version": 638, + "versionNonce": 1272093042, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "cSPzOrXS2y1BSV9cmImcI" + } + ], + "updated": 1745517766707, + "link": null, + "locked": false + }, + { + "id": "cSPzOrXS2y1BSV9cmImcI", + "type": "text", + "x": -705.083314316642, + "y": -2015.4903261284178, + "width": 69.24797058105469, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1q", + "roundness": null, + "seed": 648413102, + "version": 642, + "versionNonce": 1655960370, + "isDeleted": false, + "boundElements": [], + "updated": 1745519120663, + "link": null, + "locked": false, + "text": "App Host", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4QM4XqbCWeDyuZPtmqbRt", + "originalText": "App Host", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "nruXmc7vyF4UD6SFGUWWn", + "type": "rectangle", + "x": -745.4593290261147, + "y": -1527.1903261284178, + "width": 150, + "height": 65, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f0fc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1r", + "roundness": { + "type": 3 + }, + "seed": 1701173742, + "version": 728, + "versionNonce": 1118160046, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "ZS96KerZa_4RlfQJ0h3qE" + } + ], + "updated": 1745518434493, + "link": null, + "locked": false + }, + { + "id": "ZS96KerZa_4RlfQJ0h3qE", + "type": "text", + "x": -705.083314316642, + "y": -1505.4903261284178, + "width": 69.24797058105469, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1s", + "roundness": null, + "seed": 1806724142, + "version": 734, + "versionNonce": 234011890, + "isDeleted": false, + "boundElements": [], + "updated": 1745519120663, + "link": null, + "locked": false, + "text": "App Host", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "nruXmc7vyF4UD6SFGUWWn", + "originalText": "App Host", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "6pvNRIrlawvLU3HIjXaNL", + "type": "line", + "x": -670.4593290261147, + "y": -1972.1903261284178, + "width": 0, + "height": 444.3890880274232, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1u", + "roundness": null, + "seed": 1634318510, + "version": 685, + "versionNonce": 1854079150, + "isDeleted": false, + "boundElements": [], + "updated": 1745518446439, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 444.3890880274232 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "j3gB5NsYuizcB8AJp4xf7", + "type": "arrow", + "x": -669.6150896379896, + "y": -1933.1903261284178, + "width": 317.8213966453826, + "height": 0, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1w", + "roundness": null, + "seed": 295298350, + "version": 1017, + "versionNonce": 1326534998, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "onQbBm8RriSeaUh1b2aqJ" + } + ], + "updated": 1746808252016, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 317.8213966453826, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "onQbBm8RriSeaUh1b2aqJ", + "type": "text", + "x": -591.0403440740874, + "y": -1943.9903261284178, + "width": 160.67190551757812, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1x", + "roundness": null, + "seed": 1673596782, + "version": 330, + "versionNonce": 2047013258, + "isDeleted": false, + "boundElements": [], + "updated": 1746808250776, + "link": null, + "locked": false, + "text": "Translate \"app model\"", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "j3gB5NsYuizcB8AJp4xf7", + "originalText": "Translate \"app model\"", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "AhyPTYA8n5tV5qqnQicp4", + "type": "arrow", + "x": -351.79369299260696, + "y": -1629.1903261284178, + "width": 313.8623882186332, + "height": 0, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1y", + "roundness": null, + "seed": 873001390, + "version": 974, + "versionNonce": 973219374, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "2U71Sb-JTZa3H__2EU-WN" + } + ], + "updated": 1745518451839, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -313.8623882186332, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "2U71Sb-JTZa3H__2EU-WN", + "type": "text", + "x": -576.3728592088572, + "y": -1639.9903261284178, + "width": 135.2959442138672, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1z", + "roundness": null, + "seed": 1838844910, + "version": 276, + "versionNonce": 1947838578, + "isDeleted": false, + "boundElements": [], + "updated": 1745519120663, + "link": null, + "locked": false, + "text": "Dashboard started", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "AhyPTYA8n5tV5qqnQicp4", + "originalText": "Dashboard started", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "sqDXC87H6i2NUnp0oKN0D", + "type": "rectangle", + "x": -437.9593290261147, + "y": -2037.1903261284178, + "width": 179, + "height": 65, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "#326ce5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b23", + "roundness": { + "type": 3 + }, + "seed": 949363950, + "version": 774, + "versionNonce": 1446317490, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "2agtwMc7kp1fwkminb3_Z" + } + ], + "updated": 1745517766707, + "link": null, + "locked": false + }, + { + "id": "2agtwMc7kp1fwkminb3_Z", + "type": "text", + "x": -364.93131388939594, + "y": -2015.4903261284178, + "width": 32.9439697265625, + "height": 21.6, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b24", + "roundness": { + "type": 2 + }, + "seed": 681531182, + "version": 777, + "versionNonce": 1802488370, + "isDeleted": false, + "boundElements": [], + "updated": 1745519120663, + "link": null, + "locked": false, + "text": "DCP", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "sqDXC87H6i2NUnp0oKN0D", + "originalText": "DCP", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "tciZhvTaIxctCYYEbal9o", + "type": "rectangle", + "x": -437.9593290261147, + "y": -1527.1903261284178, + "width": 179, + "height": 65, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "#326ce5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b25", + "roundness": { + "type": 3 + }, + "seed": 491274606, + "version": 868, + "versionNonce": 1462042350, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "8ILCIIYQgcBsyJbINxtlV" + } + ], + "updated": 1745518434493, + "link": null, + "locked": false + }, + { + "id": "8ILCIIYQgcBsyJbINxtlV", + "type": "text", + "x": -364.93131388939594, + "y": -1505.4903261284178, + "width": 32.9439697265625, + "height": 21.6, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b26", + "roundness": { + "type": 2 + }, + "seed": 1507451822, + "version": 872, + "versionNonce": 1595651058, + "isDeleted": false, + "boundElements": [], + "updated": 1745519120663, + "link": null, + "locked": false, + "text": "DCP", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "tciZhvTaIxctCYYEbal9o", + "originalText": "DCP", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "riHxtNT1D0UNyYXYKfPIq", + "type": "line", + "x": -348.4593290261147, + "y": -1972.1903261284178, + "width": 0, + "height": 446.6811542553978, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b27", + "roundness": { + "type": 2 + }, + "seed": 1350385134, + "version": 829, + "versionNonce": 2013764526, + "isDeleted": false, + "boundElements": [], + "updated": 1745518441104, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 446.6811542553978 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "YVDN2RHA9lOfI3vXoelTB", + "type": "rectangle", + "x": -439.48545595833923, + "y": -1899.1441692198805, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#d0bfff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2E", + "roundness": { + "type": 3 + }, + "seed": 1243141550, + "version": 959, + "versionNonce": 396207704, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "AB8CUwhHo0JI-mD9X24xv" + }, + { + "id": "cdeBALZ94QXv9sIFG0pH_", + "type": "arrow" + } + ], + "updated": 1745863348530, + "link": null, + "locked": false + }, + { + "id": "AB8CUwhHo0JI-mD9X24xv", + "type": "text", + "x": -409.4226465216384, + "y": -1893.111432301021, + "width": 121.05587768554688, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2F", + "roundness": { + "type": 2 + }, + "seed": 913390, + "version": 867, + "versionNonce": 279945266, + "isDeleted": false, + "boundElements": [], + "updated": 1745517766707, + "link": null, + "locked": false, + "text": "Prepare Services", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "YVDN2RHA9lOfI3vXoelTB", + "originalText": "Prepare Services", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "GQWY1DbQuUDTf_VsWS2_4", + "type": "rectangle", + "x": -439.48545595833923, + "y": -1846.033914978365, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2G", + "roundness": { + "type": 3 + }, + "seed": 1692779054, + "version": 1038, + "versionNonce": 717378222, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "V3PNhza_7OZwaKxhaWU8w" + }, + { + "id": "TcOtsAJeZOSaMklVqsOG0", + "type": "arrow" + }, + { + "id": "V6VNpMfX25HtNWa-hUI-K", + "type": "arrow" + } + ], + "updated": 1745518635295, + "link": null, + "locked": false + }, + { + "id": "V3PNhza_7OZwaKxhaWU8w", + "type": "text", + "x": -407.82266330630637, + "y": -1840.0011780595055, + "width": 117.85591125488281, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2H", + "roundness": { + "type": 2 + }, + "seed": 2072595566, + "version": 923, + "versionNonce": 1471706482, + "isDeleted": false, + "boundElements": [], + "updated": 1745517766707, + "link": null, + "locked": false, + "text": "Start Containers", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "GQWY1DbQuUDTf_VsWS2_4", + "originalText": "Start Containers", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "0-tMDv7vuQD55x75hCUf6", + "type": "rectangle", + "x": -440.09749944327666, + "y": -1792.9449110898831, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2I", + "roundness": { + "type": 3 + }, + "seed": 29462190, + "version": 1021, + "versionNonce": 422265074, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "tx2lx4iA_MYLFUUDcyjfk" + }, + { + "id": "cBnHQM_2zbJyUAPe0KubE", + "type": "arrow" + } + ], + "updated": 1745517766707, + "link": null, + "locked": false + }, + { + "id": "tx2lx4iA_MYLFUUDcyjfk", + "type": "text", + "x": -413.31470404466177, + "y": -1786.9121741710237, + "width": 127.61590576171875, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2J", + "roundness": { + "type": 2 + }, + "seed": 339183854, + "version": 918, + "versionNonce": 465195698, + "isDeleted": false, + "boundElements": [], + "updated": 1745517766707, + "link": null, + "locked": false, + "text": "Start Executables", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0-tMDv7vuQD55x75hCUf6", + "originalText": "Start Executables", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "ZxrVMqF-8fe9qALVV2wdM", + "type": "rectangle", + "x": -99.04679826261417, + "y": -1141.299322502963, + "width": 114.94999694824219, + "height": 43.79999923706055, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#f3f0ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2O", + "roundness": { + "type": 3 + }, + "seed": 1638532722, + "version": 224, + "versionNonce": 1176174318, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "ubqRzfpbkXc3Knre3EEvs" + }, + { + "id": "i1a5XqAxTmxRMJzqqhKpA", + "type": "arrow" + } + ], + "updated": 1745501341389, + "link": null, + "locked": false + }, + { + "id": "ubqRzfpbkXc3Knre3EEvs", + "type": "text", + "x": -84.8517604208173, + "y": -1132.8993228844326, + "width": 86.55992126464844, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2P", + "roundness": null, + "seed": 493319534, + "version": 222, + "versionNonce": 611905838, + "isDeleted": false, + "boundElements": [], + "updated": 1745501341389, + "link": null, + "locked": false, + "text": "App Host", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ZxrVMqF-8fe9qALVV2wdM", + "originalText": "App Host", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "R5_NQ4VA4zKiX72QWaVlg", + "type": "rectangle", + "x": -185.15930512906925, + "y": -1012.6993221214932, + "width": 287.1750183105469, + "height": 43.79999923706055, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "#326ce5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2Q", + "roundness": { + "type": 3 + }, + "seed": 1128556594, + "version": 231, + "versionNonce": 194313646, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "Y2MRPx7h_-W-H2E4nzZ6e" + }, + { + "id": "i1a5XqAxTmxRMJzqqhKpA", + "type": "arrow" + }, + { + "id": "EiTAFZc4PjFD0OgowMx7I", + "type": "arrow" + } + ], + "updated": 1745501341389, + "link": null, + "locked": false + }, + { + "id": "Y2MRPx7h_-W-H2E4nzZ6e", + "type": "text", + "x": -152.65168336393253, + "y": -1004.2993225029629, + "width": 222.15977478027344, + "height": 27, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2R", + "roundness": null, + "seed": 291467758, + "version": 229, + "versionNonce": 264574958, + "isDeleted": false, + "boundElements": [], + "updated": 1745501341389, + "link": null, + "locked": false, + "text": "Developer Control Plane", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "R5_NQ4VA4zKiX72QWaVlg", + "originalText": "Developer Control Plane", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "fr4605RRUmS5F2VZyDH1T", + "type": "rectangle", + "x": -104.18429521085636, + "y": -884.0993217400235, + "width": 125.2249984741211, + "height": 43.79999923706055, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2S", + "roundness": { + "type": 3 + }, + "seed": 1319932402, + "version": 242, + "versionNonce": 803845806, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "HauD5mp2A0f0dzri5U3XQ" + }, + { + "id": "EiTAFZc4PjFD0OgowMx7I", + "type": "arrow" + }, + { + "id": "oP0sR-NJhZOmrGn_-9mvX", + "type": "arrow" + }, + { + "id": "6295YJTI_luuMjW6jiTFv", + "type": "arrow" + }, + { + "id": "Up65FRo7F3dVseQsDgK-m", + "type": "arrow" + }, + { + "id": "Ke3G9df5KHQa1nLLJEv7q", + "type": "arrow" + } + ], + "updated": 1745501341389, + "link": null, + "locked": false + }, + { + "id": "HauD5mp2A0f0dzri5U3XQ", + "type": "text", + "x": -87.90175202848332, + "y": -875.6993221214932, + "width": 92.659912109375, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2T", + "roundness": null, + "seed": 1675775598, + "version": 234, + "versionNonce": 454734062, + "isDeleted": false, + "boundElements": [], + "updated": 1745501341389, + "link": null, + "locked": false, + "text": "Resources", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "fr4605RRUmS5F2VZyDH1T", + "originalText": "Resources", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "wp0-PvocCiXC1Gd6ZxRSo", + "type": "rectangle", + "x": -483.3124308920087, + "y": -715.4993213585537, + "width": 115.76249694824219, + "height": 43.79999923706055, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#f8f9fa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2U", + "roundness": { + "type": 3 + }, + "seed": 384402354, + "version": 282, + "versionNonce": 1202234990, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "X7NNuqnDFQ863c0Sx5UeB" + }, + { + "id": "oP0sR-NJhZOmrGn_-9mvX", + "type": "arrow" + } + ], + "updated": 1745501341389, + "link": null, + "locked": false + }, + { + "id": "X7NNuqnDFQ863c0Sx5UeB", + "type": "text", + "x": -464.6211390829267, + "y": -707.0993217400235, + "width": 78.37991333007812, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2V", + "roundness": null, + "seed": 1471679214, + "version": 280, + "versionNonce": 82159790, + "isDeleted": false, + "boundElements": [], + "updated": 1745501341389, + "link": null, + "locked": false, + "text": "Lifecycle", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "wp0-PvocCiXC1Gd6ZxRSo", + "originalText": "Lifecycle", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "Pfd4hXHHlqc9N0rCD5dpc", + "type": "rectangle", + "x": -317.54993012906925, + "y": -715.4993213585537, + "width": 278.07501220703125, + "height": 43.79999923706055, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#f8f9fa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2W", + "roundness": { + "type": 3 + }, + "seed": 908213618, + "version": 282, + "versionNonce": 450483502, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "WZAHF-mghpkIWMtC_uK68" + }, + { + "id": "6295YJTI_luuMjW6jiTFv", + "type": "arrow" + } + ], + "updated": 1745501341389, + "link": null, + "locked": false + }, + { + "id": "WZAHF-mghpkIWMtC_uK68", + "type": "text", + "x": -286.2823214864911, + "y": -707.0993217400235, + "width": 215.539794921875, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2X", + "roundness": null, + "seed": 497592174, + "version": 280, + "versionNonce": 528678766, + "isDeleted": false, + "boundElements": [], + "updated": 1745501341389, + "link": null, + "locked": false, + "text": "Network Configurations", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Pfd4hXHHlqc9N0rCD5dpc", + "originalText": "Network Configurations", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "9oqNbNK5LOT4l_C_RjlHK", + "type": "rectangle", + "x": 10.525082077961997, + "y": -715.4993213585537, + "width": 169.6875, + "height": 43.79999923706055, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#f8f9fa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2Y", + "roundness": { + "type": 3 + }, + "seed": 1771945778, + "version": 284, + "versionNonce": 899709934, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "rYiZwHWrNFhDc9sLI_FtQ" + }, + { + "id": "Ke3G9df5KHQa1nLLJEv7q", + "type": "arrow" + } + ], + "updated": 1745501341389, + "link": null, + "locked": false + }, + { + "id": "rYiZwHWrNFhDc9sLI_FtQ", + "type": "text", + "x": 31.508892502766685, + "y": -707.0993217400235, + "width": 127.71987915039062, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2Z", + "roundness": null, + "seed": 1417421806, + "version": 280, + "versionNonce": 1615253038, + "isDeleted": false, + "boundElements": [], + "updated": 1745501341389, + "link": null, + "locked": false, + "text": "Dependencies", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "9oqNbNK5LOT4l_C_RjlHK", + "originalText": "Dependencies", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "LXrFlbB2plD5M2EJ8mAIS", + "type": "rectangle", + "x": 230.212582077962, + "y": -715.4993213585537, + "width": 191.375, + "height": 43.79999923706055, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#f8f9fa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2a", + "roundness": { + "type": 3 + }, + "seed": 767756530, + "version": 282, + "versionNonce": 156211886, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "obRjnOUUckOBJj-uwfURC" + }, + { + "id": "Up65FRo7F3dVseQsDgK-m", + "type": "arrow" + } + ], + "updated": 1745501341389, + "link": null, + "locked": false + }, + { + "id": "obRjnOUUckOBJj-uwfURC", + "type": "text", + "x": 253.0301632547198, + "y": -707.0993217400235, + "width": 145.73983764648438, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2b", + "roundness": null, + "seed": 150634606, + "version": 280, + "versionNonce": 371463406, + "isDeleted": false, + "boundElements": [], + "updated": 1745501341389, + "link": null, + "locked": false, + "text": "Resource States", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "LXrFlbB2plD5M2EJ8mAIS", + "originalText": "Resource States", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "i1a5XqAxTmxRMJzqqhKpA", + "type": "arrow", + "x": -41.57142707731145, + "y": -1097.1346687560085, + "width": 7.105427357601002e-15, + "height": 78.6353472067201, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2c", + "roundness": { + "type": 2 + }, + "seed": 1511594674, + "version": 663, + "versionNonce": 127088818, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "7u8wU3kRSMqk3KnHQr5Qx" + } + ], + "updated": 1745501341454, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.105427357601002e-15, + 39.03534720671988 + ], + [ + 0, + 78.6353472067201 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "ZxrVMqF-8fe9qALVV2wdM", + "focus": -0.000006484753222574803, + "gap": 1 + }, + "endBinding": { + "elementId": "R5_NQ4VA4zKiX72QWaVlg", + "focus": 0.000002569140495176924, + "gap": 5.799999427795228 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "7u8wU3kRSMqk3KnHQr5Qx", + "type": "text", + "x": 91.51693427785995, + "y": -1457.2153595308712, + "width": 115.55986022949219, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2d", + "roundness": null, + "seed": 904641774, + "version": 8, + "versionNonce": 1014564206, + "isDeleted": false, + "boundElements": [], + "updated": 1745501006847, + "link": null, + "locked": false, + "text": "Delegates to", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "i1a5XqAxTmxRMJzqqhKpA", + "originalText": "Delegates to", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "EiTAFZc4PjFD0OgowMx7I", + "type": "arrow", + "x": -41.57142707731145, + "y": -967.8993228844326, + "width": 2.1316282072803006e-14, + "height": 78.00000133514413, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2e", + "roundness": { + "type": 2 + }, + "seed": 1028060274, + "version": 676, + "versionNonce": 1226716210, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "Nrj3aYJQ7H_yCEKrK5cT5" + } + ], + "updated": 1745501341454, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.105427357601002e-15, + 32.40000133514414 + ], + [ + 1.4210854715202004e-14, + 78.00000133514413 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "R5_NQ4VA4zKiX72QWaVlg", + "focus": -0.00000256914049505891, + "gap": 1 + }, + "endBinding": { + "elementId": "fr4605RRUmS5F2VZyDH1T", + "focus": 0.000005891738692422518, + "gap": 5.799999809265046 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "Nrj3aYJQ7H_yCEKrK5cT5", + "type": "text", + "x": 91.30693519338729, + "y": -1334.615359530871, + "width": 115.9798583984375, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2f", + "roundness": null, + "seed": 1142413678, + "version": 9, + "versionNonce": 664195186, + "isDeleted": false, + "boundElements": [], + "updated": 1745501006847, + "link": null, + "locked": false, + "text": "Orchestrates", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "EiTAFZc4PjFD0OgowMx7I", + "originalText": "Orchestrates", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "oP0sR-NJhZOmrGn_-9mvX", + "type": "arrow", + "x": -105.18429521085636, + "y": -851.5709218563416, + "width": 332.4641409385501, + "height": 130.27160030705272, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2g", + "roundness": { + "type": 2 + }, + "seed": 957584946, + "version": 863, + "versionNonce": 1908428722, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "0VH-KILwHPq-dWkVTe8yd" + } + ], + "updated": 1745501341454, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -207.98360543381324, + 55.729039114903344 + ], + [ + -332.4641409385501, + 130.27160030705272 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "fr4605RRUmS5F2VZyDH1T", + "focus": 0.16590021990824738, + "gap": 1 + }, + "endBinding": { + "elementId": "wp0-PvocCiXC1Gd6ZxRSo", + "focus": -0.6190849368485637, + "gap": 5.800000190735091 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "0VH-KILwHPq-dWkVTe8yd", + "type": "text", + "x": -275.59309623971814, + "y": -1200.0153595308714, + "width": 82.05992126464844, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2h", + "roundness": null, + "seed": 172414446, + "version": 21, + "versionNonce": 196905198, + "isDeleted": false, + "boundElements": [], + "updated": 1745501111651, + "link": null, + "locked": false, + "text": "Manages", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "oP0sR-NJhZOmrGn_-9mvX", + "originalText": "Manages", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "6295YJTI_luuMjW6jiTFv", + "type": "arrow", + "x": -91.48251001882227, + "y": -839.2993225029629, + "width": 94.20004100911999, + "height": 118.00000095367432, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2i", + "roundness": { + "type": 2 + }, + "seed": 1583742962, + "version": 832, + "versionNonce": 1043434290, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "bjSjC5DC47ogp8H4nl5zP" + } + ], + "updated": 1745501341454, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -46.07762913726441, + 46.077629137264466 + ], + [ + -94.20004100911999, + 118.00000095367432 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "fr4605RRUmS5F2VZyDH1T", + "focus": 0.31960615047781615, + "gap": 1 + }, + "endBinding": { + "elementId": "Pfd4hXHHlqc9N0rCD5dpc", + "focus": -0.16724432727449254, + "gap": 5.800000190734863 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "bjSjC5DC47ogp8H4nl5zP", + "type": "text", + "x": -22.26410020700331, + "y": -1200.0153595308711, + "width": 69.23992919921875, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2j", + "roundness": null, + "seed": 1296085614, + "version": 20, + "versionNonce": 291060526, + "isDeleted": false, + "boundElements": [], + "updated": 1745501111651, + "link": null, + "locked": false, + "text": "Applies", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "6295YJTI_luuMjW6jiTFv", + "originalText": "Applies", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "Ke3G9df5KHQa1nLLJEv7q", + "type": "arrow", + "x": 8.482894672313662, + "y": -839.2993225029629, + "width": 91.3595942194043, + "height": 118.00000095367432, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2k", + "roundness": { + "type": 2 + }, + "seed": 155529650, + "version": 804, + "versionNonce": 489285298, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "FpHSQBN4UHKUr0HhD6Ofe" + } + ], + "updated": 1745501341454, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 74.99378184209122, + 43.2976801340792 + ], + [ + 91.3595942194043, + 118.00000095367432 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "fr4605RRUmS5F2VZyDH1T", + "focus": -0.1033446581771814, + "gap": 1 + }, + "endBinding": { + "elementId": "9oqNbNK5LOT4l_C_RjlHK", + "focus": 0.11760367888297357, + "gap": 5.800000190734863 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "FpHSQBN4UHKUr0HhD6Ofe", + "type": "text", + "x": 60.89698249563344, + "y": -1136.0153595308711, + "width": 81.07991027832031, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2l", + "roundness": null, + "seed": 1070427886, + "version": 21, + "versionNonce": 489006446, + "isDeleted": false, + "boundElements": [], + "updated": 1745501111651, + "link": null, + "locked": false, + "text": "Resolves", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Ke3G9df5KHQa1nLLJEv7q", + "originalText": "Resolves", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "K6Wy00BDYKw9srpKya_li", + "type": "rectangle", + "x": 340.0937235333913, + "y": -2085.1935940765275, + "width": 306.5899792949148, + "height": 368.0506844592478, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f1ee", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2lV", + "roundness": { + "type": 3 + }, + "seed": 647864562, + "version": 389, + "versionNonce": 196093234, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "Z-JVAyLrfiN-BIE50YkuN" + }, + { + "id": "V6VNpMfX25HtNWa-hUI-K", + "type": "arrow" + } + ], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "Z-JVAyLrfiN-BIE50YkuN", + "type": "text", + "x": 417.34078532440344, + "y": -2041.5682518469034, + "width": 152.09585571289062, + "height": 280.8, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f9fa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2ll", + "roundness": null, + "seed": 996793458, + "version": 208, + "versionNonce": 1237545262, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "text": "Container network(s)\n\n\n\n\n\n\n\n\n\n\n\n", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "K6Wy00BDYKw9srpKya_li", + "originalText": "Container network(s)\n\n\n\n\n\n\n\n\n\n\n\n", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "Up65FRo7F3dVseQsDgK-m", + "type": "arrow", + "x": 22.04070326326473, + "y": -851.131700745369, + "width": 316.62654059606024, + "height": 129.8323791960804, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2m", + "roundness": { + "type": 2 + }, + "seed": 2094541682, + "version": 897, + "versionNonce": 794911282, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "OXYq4dhI0HBE3Sjy86Znt" + } + ], + "updated": 1745501341454, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 205.16136449231297, + 54.97282193378237 + ], + [ + 316.62654059606024, + 129.8323791960804 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "fr4605RRUmS5F2VZyDH1T", + "focus": -0.15454407874394574, + "gap": 1.0003561760851645 + }, + "endBinding": { + "elementId": "LXrFlbB2plD5M2EJ8mAIS", + "focus": 0.4209954728394532, + "gap": 5.800000190734863 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "OXYq4dhI0HBE3Sjy86Znt", + "type": "text", + "x": 476.9389083379185, + "y": -1200.0153595308711, + "width": 79.659912109375, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b2n", + "roundness": null, + "seed": 45419374, + "version": 20, + "versionNonce": 1080739758, + "isDeleted": false, + "boundElements": [], + "updated": 1745501111651, + "link": null, + "locked": false, + "text": "Monitors", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Up65FRo7F3dVseQsDgK-m", + "originalText": "Monitors", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "LzzBDDvnmAkulOg-okgEi", + "type": "rectangle", + "x": 196.64307342293625, + "y": -1983.2669987274276, + "width": 278.8892549064454, + "height": 251.80780853835986, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#e3fafc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "78RYG082072eIdysc9PQH", + "-rLxIBo6PfCkoVDbL45TL" + ], + "frameId": null, + "index": "b2t8", + "roundness": { + "type": 3 + }, + "seed": 965450926, + "version": 1843, + "versionNonce": 994705586, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "4DmmjQniD3A7rSS-ElopV" + }, + { + "id": "TcOtsAJeZOSaMklVqsOG0", + "type": "arrow" + } + ], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "4DmmjQniD3A7rSS-ElopV", + "type": "text", + "x": 242.7277765597527, + "y": -1943.7630944582477, + "width": 186.7198486328125, + "height": 172.8, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#e3fafc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "78RYG082072eIdysc9PQH", + "-rLxIBo6PfCkoVDbL45TL" + ], + "frameId": null, + "index": "b2tG", + "roundness": { + "type": 2 + }, + "seed": 596629230, + "version": 2027, + "versionNonce": 1077902766, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "text": "OCI — Container Runtime\n\n\n\n\n— or —\n\n", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "LzzBDDvnmAkulOg-okgEi", + "originalText": "OCI — Container Runtime\n\n\n\n\n— or —\n\n", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "tlyn3FpcOoOKEYVwIludE", + "type": "image", + "x": 257.82438651253875, + "y": -1882.2873034736174, + "width": 142.95032326091743, + "height": 32.56090696498675, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#e3fafc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "78RYG082072eIdysc9PQH", + "-rLxIBo6PfCkoVDbL45TL" + ], + "frameId": null, + "index": "b2tV", + "roundness": { + "type": 3 + }, + "seed": 764594478, + "version": 2203, + "versionNonce": 63110194, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "status": "saved", + "fileId": "b6ce742d04f3c3c6fed7786864ed7dfb536a6f06", + "scale": [ + 1, + 1 + ], + "crop": null + }, + { + "id": "bTMKKbCcIEHQpnb86T3uA", + "type": "image", + "x": 243.44864435352883, + "y": -1793.646740211652, + "width": 172.52026654284387, + "height": 37.941881220236624, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#e3fafc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "78RYG082072eIdysc9PQH", + "-rLxIBo6PfCkoVDbL45TL" + ], + "frameId": null, + "index": "b2td", + "roundness": { + "type": 3 + }, + "seed": 1459450734, + "version": 1957, + "versionNonce": 1260361710, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "status": "saved", + "fileId": "fd5b4b2e91d7868f78a68b6d59568fbf4f22d50a", + "scale": [ + 1, + 1 + ], + "crop": null + }, + { + "id": "Kj7wEjxgLCFxl18vW4bed", + "type": "rectangle", + "x": 446.87008388217873, + "y": -1924.4011818830736, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "-rLxIBo6PfCkoVDbL45TL" + ], + "frameId": null, + "index": "b2tl", + "roundness": { + "type": 3 + }, + "seed": 1890827694, + "version": 1354, + "versionNonce": 708355570, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "3-dPpV2NDLF0bOpB5X1nI" + } + ], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "3-dPpV2NDLF0bOpB5X1nI", + "type": "text", + "x": 489.87688593362566, + "y": -1918.3684449642142, + "width": 95.16789245605469, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "-rLxIBo6PfCkoVDbL45TL" + ], + "frameId": null, + "index": "b2u", + "roundness": { + "type": 2 + }, + "seed": 1661720558, + "version": 1275, + "versionNonce": 797076014, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "text": "Pull image(s)", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Kj7wEjxgLCFxl18vW4bed", + "originalText": "Pull image(s)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "vTZUof_UVL35kCCmolA0H", + "type": "rectangle", + "x": 446.87008388217873, + "y": -1871.290927641558, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "-rLxIBo6PfCkoVDbL45TL" + ], + "frameId": null, + "index": "b2uG", + "roundness": { + "type": 3 + }, + "seed": 2145823278, + "version": 1433, + "versionNonce": 1339234226, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "oOCyuDFaHSB33Xf5jzzko" + } + ], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "oOCyuDFaHSB33Xf5jzzko", + "type": "text", + "x": 468.9088988730788, + "y": -1865.2581907226986, + "width": 137.10386657714844, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "-rLxIBo6PfCkoVDbL45TL" + ], + "frameId": null, + "index": "b2uV", + "roundness": { + "type": 2 + }, + "seed": 1445803118, + "version": 1343, + "versionNonce": 475067502, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "text": "Create container(s)", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "vTZUof_UVL35kCCmolA0H", + "originalText": "Create container(s)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "xxu14yruo7U9owOC8g8Sp", + "type": "rectangle", + "x": 446.2580403972413, + "y": -1818.2019237530762, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#fff5f5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "-rLxIBo6PfCkoVDbL45TL" + ], + "frameId": null, + "index": "b2v", + "roundness": { + "type": 3 + }, + "seed": 799569582, + "version": 1417, + "versionNonce": 1152995698, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "vrLyMvaULST_aSN1rOOX_" + } + ], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "vrLyMvaULST_aSN1rOOX_", + "type": "text", + "x": 474.1448473315007, + "y": -1812.1691868342168, + "width": 125.40788269042969, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "-rLxIBo6PfCkoVDbL45TL" + ], + "frameId": null, + "index": "b2w", + "roundness": { + "type": 2 + }, + "seed": 889286894, + "version": 1331, + "versionNonce": 2069116590, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "text": "Start container(s)", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "xxu14yruo7U9owOC8g8Sp", + "originalText": "Start container(s)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "iGCLVEO4D_xwH83AqGG5j", + "type": "rectangle", + "x": -89.10335776285717, + "y": -2084.413984083744, + "width": 241.23666684903466, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f1ee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Nz3vZwJnPhYPvesCUCMAx" + ], + "frameId": null, + "index": "b33G", + "roundness": { + "type": 3 + }, + "seed": 731527026, + "version": 1459, + "versionNonce": 1009931058, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "QDjh3MrMVkcJbA_cmGQh5", + "type": "rectangle", + "x": -74.40169485906426, + "y": -2073.984418251563, + "width": 241.23666684903466, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Nz3vZwJnPhYPvesCUCMAx" + ], + "frameId": null, + "index": "b33V", + "roundness": { + "type": 3 + }, + "seed": 1685921070, + "version": 1564, + "versionNonce": 355807470, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "0KRhlCffm75ehEC0o9FoK", + "type": "rectangle", + "x": -60.870326673050386, + "y": -2063.9285679829395, + "width": 241.23666684903466, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f3f0ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Nz3vZwJnPhYPvesCUCMAx" + ], + "frameId": null, + "index": "b34", + "roundness": { + "type": 3 + }, + "seed": 1556315250, + "version": 1579, + "versionNonce": 1755651314, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "MZanoY-vB7rOdc914R56y", + "type": "rectangle", + "x": -46.89720761425133, + "y": -2054.2923843679264, + "width": 241.23666684903466, + "height": 38.89096940134323, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#d0bfff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Nz3vZwJnPhYPvesCUCMAx" + ], + "frameId": null, + "index": "b34V", + "roundness": { + "type": 3 + }, + "seed": 446168430, + "version": 1691, + "versionNonce": 2000194344, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "PZGLAlDUeLQ9qSszBR-gp" + }, + { + "id": "cdeBALZ94QXv9sIFG0pH_", + "type": "arrow" + } + ], + "updated": 1745863348530, + "link": null, + "locked": false + }, + { + "id": "PZGLAlDUeLQ9qSszBR-gp", + "type": "text", + "x": -14.686795027136341, + "y": -2045.6468996672547, + "width": 176.8158416748047, + "height": 21.6, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e3fafc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Nz3vZwJnPhYPvesCUCMAx" + ], + "frameId": null, + "index": "b35", + "roundness": null, + "seed": 1000692462, + "version": 695, + "versionNonce": 2013063000, + "isDeleted": false, + "boundElements": [], + "updated": 1745863329113, + "link": null, + "locked": false, + "text": "http(s)://127.0.0.1{:port}", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "MZanoY-vB7rOdc914R56y", + "originalText": "http(s)://127.0.0.1{:port}", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "cdeBALZ94QXv9sIFG0pH_", + "type": "arrow", + "x": -257.32239107464187, + "y": -1881.7477837099323, + "width": 311.3336100016401, + "height": 133.48784575243758, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#f8f1ee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b39", + "roundness": { + "type": 2 + }, + "seed": 1240655602, + "version": 1746, + "versionNonce": 1893254744, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "SSKKxeqkA0fqDOVVAOzTd" + } + ], + "updated": 1745863366568, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 226.08640420008805, + -74.65631389627379 + ], + [ + 311.3336100016401, + -133.48784575243758 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "YVDN2RHA9lOfI3vXoelTB", + "focus": 0.6589081904001715, + "gap": 1 + }, + "endBinding": { + "elementId": "MZanoY-vB7rOdc914R56y", + "focus": -0.05851629579043107, + "gap": 1 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "SSKKxeqkA0fqDOVVAOzTd", + "type": "text", + "x": -79.50518972060343, + "y": -1994.6116772637552, + "width": 71.83995056152344, + "height": 43.2, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#f8f1ee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3A", + "roundness": null, + "seed": 1954162030, + "version": 24, + "versionNonce": 328974766, + "isDeleted": false, + "boundElements": [], + "updated": 1745519120664, + "link": null, + "locked": false, + "text": "Allocate\nendpoints", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "cdeBALZ94QXv9sIFG0pH_", + "originalText": "Allocate\nendpoints", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "TcOtsAJeZOSaMklVqsOG0", + "type": "arrow", + "x": -257.1155566300183, + "y": -1825.7743110899064, + "width": 450.9031936248373, + "height": 62.8805349112215, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#f8f1ee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3B", + "roundness": { + "type": 2 + }, + "seed": 2125417582, + "version": 1180, + "versionNonce": 1993939822, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "RVB4G8YotbiDfMfadeanq" + } + ], + "updated": 1745519203978, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 285.3171433907129, + -26.385924408296432 + ], + [ + 450.9031936248373, + -62.8805349112215 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "GQWY1DbQuUDTf_VsWS2_4", + "focus": 0.4726020869857044, + "gap": 1.2111409214820696 + }, + "endBinding": { + "elementId": "LzzBDDvnmAkulOg-okgEi", + "focus": 0.39999614124144944, + "gap": 3.852131506024307 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "RVB4G8YotbiDfMfadeanq", + "type": "text", + "x": -18.022374115770276, + "y": -1862.9602354982028, + "width": 92.44792175292969, + "height": 21.6, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#f8f1ee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3C", + "roundness": null, + "seed": 359742126, + "version": 21, + "versionNonce": 1918065646, + "isDeleted": false, + "boundElements": [], + "updated": 1745519120664, + "link": null, + "locked": false, + "text": "Delegates to", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TcOtsAJeZOSaMklVqsOG0", + "originalText": "Delegates to", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "2AqLWW0ZLAzFOWHGvByHc", + "type": "rectangle", + "x": -39.63967848656853, + "y": -1588.7340641319986, + "width": 201.10295790195732, + "height": 129.6488238407578, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#343a40", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "d7Txjxr1ZSjoZ5TfBWDlw", + "8JE1LI150JiSerVrQhpYE" + ], + "frameId": null, + "index": "b3K", + "roundness": null, + "seed": 926294386, + "version": 563, + "versionNonce": 499412910, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "DMXqOzz00uA_Irs0mdACj", + "type": "rectangle", + "x": -38.89389948152626, + "y": -1588.6797772004375, + "width": 199.57749245746373, + "height": 12.530696588218461, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "d7Txjxr1ZSjoZ5TfBWDlw", + "8JE1LI150JiSerVrQhpYE" + ], + "frameId": null, + "index": "b3L", + "roundness": null, + "seed": 530652466, + "version": 557, + "versionNonce": 1656629810, + "isDeleted": false, + "boundElements": [ + { + "id": "-3Rm0x6uuZu8_uLAMVgsh", + "type": "arrow" + } + ], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "Cv88tmyDurpAhZrqftukK", + "type": "rectangle", + "x": -38.959167520031826, + "y": -1588.6797796900637, + "width": 14.097044865063395, + "height": 128.83124079139472, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "d7Txjxr1ZSjoZ5TfBWDlw", + "8JE1LI150JiSerVrQhpYE" + ], + "frameId": null, + "index": "b3M", + "roundness": null, + "seed": 745180466, + "version": 793, + "versionNonce": 569564206, + "isDeleted": false, + "boundElements": [ + { + "id": "6YLq2_QnbSLMTBf1s2h9C", + "type": "arrow" + } + ], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "3lyGsvS0PZitESBBjFFjS", + "type": "image", + "x": -38.76810548534155, + "y": -1588.0760777197747, + "width": 12.628591177098594, + "height": 12.628591177098594, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#343a40", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "d7Txjxr1ZSjoZ5TfBWDlw", + "8JE1LI150JiSerVrQhpYE" + ], + "frameId": null, + "index": "b3N", + "roundness": null, + "seed": 419350578, + "version": 652, + "versionNonce": 1947942770, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "status": "saved", + "fileId": "5109d7898f40c04fb3742ebcc66d520517f93c49", + "scale": [ + 1, + 1 + ], + "crop": null + }, + { + "id": "0SdKSdTvF70nGZlwz4yBK", + "type": "line", + "x": -38.91434431695876, + "y": -1572.957532438255, + "width": 0, + "height": 14.13742738005385, + "angle": 0, + "strokeColor": "#b9aaee", + "backgroundColor": "#343a40", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "d7Txjxr1ZSjoZ5TfBWDlw", + "8JE1LI150JiSerVrQhpYE" + ], + "frameId": null, + "index": "b3O", + "roundness": null, + "seed": 456290162, + "version": 505, + "versionNonce": 1573922990, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 14.13742738005385 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "e1Vtm-dueLvPml_04RFVz", + "type": "line", + "x": -19.282621627316416, + "y": -1528.9347689080262, + "width": 174.88678468091538, + "height": 0, + "angle": 0, + "strokeColor": "#868e96", + "backgroundColor": "#343a40", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "d7Txjxr1ZSjoZ5TfBWDlw", + "8JE1LI150JiSerVrQhpYE" + ], + "frameId": null, + "index": "b3P", + "roundness": null, + "seed": 563102510, + "version": 520, + "versionNonce": 1160151346, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 174.88678468091538, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "nBcpCLGG0hkzAnKepcymZ", + "type": "line", + "x": -18.282627659325044, + "y": -1498.4603876255649, + "width": 174.88678468091538, + "height": 0, + "angle": 0, + "strokeColor": "#868e96", + "backgroundColor": "#343a40", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "d7Txjxr1ZSjoZ5TfBWDlw", + "8JE1LI150JiSerVrQhpYE" + ], + "frameId": null, + "index": "b3Q", + "roundness": null, + "seed": 1148211442, + "version": 616, + "versionNonce": 1734533870, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 174.88678468091538, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "TX27Bg4n0HEohufMjzo35", + "type": "line", + "x": -18.863858387472646, + "y": -1514.387216992742, + "width": 174.88678468091538, + "height": 0, + "angle": 0, + "strokeColor": "#868e96", + "backgroundColor": "#343a40", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "d7Txjxr1ZSjoZ5TfBWDlw", + "8JE1LI150JiSerVrQhpYE" + ], + "frameId": null, + "index": "b3R", + "roundness": null, + "seed": 1269550638, + "version": 613, + "versionNonce": 1591970546, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 174.88678468091538, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "up0OUJz2DyvSsjE5xmLuL", + "type": "rectangle", + "x": 4.869859490260751, + "y": -1539.0706349786785, + "width": 116.60460732387739, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "8JE1LI150JiSerVrQhpYE" + ], + "frameId": null, + "index": "b3S", + "roundness": { + "type": 3 + }, + "seed": 310702258, + "version": 1579, + "versionNonce": 455365934, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "5gUP9ds3B3_oHfK9UuY5I" + } + ], + "updated": 1745519203978, + "link": null, + "locked": false + }, + { + "id": "5gUP9ds3B3_oHfK9UuY5I", + "type": "text", + "x": 23.492178105812727, + "y": -1533.037898059819, + "width": 79.35997009277344, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "8JE1LI150JiSerVrQhpYE" + ], + "frameId": null, + "index": "b3T", + "roundness": { + "type": 2 + }, + "seed": 1707608690, + "version": 1511, + "versionNonce": 1473862834, + "isDeleted": false, + "boundElements": [], + "updated": 1745519203978, + "link": null, + "locked": false, + "text": "Dashboard", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "up0OUJz2DyvSsjE5xmLuL", + "originalText": "Dashboard", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "OBY_RskMQeTr19CkR8LJ5", + "type": "rectangle", + "x": 230.1174458638577, + "y": -1690.6513186267764, + "width": 239.98818969062722, + "height": 153.67667220472595, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#fff5f5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XwAoXpf6AemiT8mi5bFWq" + ], + "frameId": null, + "index": "b3TG", + "roundness": { + "type": 3 + }, + "seed": 838549682, + "version": 521, + "versionNonce": 1240837464, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "KiGDlGfhgLNIEPirY3PP8" + }, + { + "id": "cBnHQM_2zbJyUAPe0KubE", + "type": "arrow" + }, + { + "id": "pSs3Noh01VcoaBoj_Z5jC", + "type": "arrow" + } + ], + "updated": 1745863430319, + "link": null, + "locked": false + }, + { + "id": "KiGDlGfhgLNIEPirY3PP8", + "type": "text", + "x": 297.1675862413979, + "y": -1624.6129825244134, + "width": 105.88790893554688, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#fff5f5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XwAoXpf6AemiT8mi5bFWq" + ], + "frameId": null, + "index": "b3TV", + "roundness": null, + "seed": 2076119858, + "version": 466, + "versionNonce": 998798376, + "isDeleted": false, + "boundElements": [], + "updated": 1745863430319, + "link": null, + "locked": false, + "text": "Target .exe file", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "OBY_RskMQeTr19CkR8LJ5", + "originalText": "Target .exe file", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "DN44YsXVx5alkfVmgz8cv", + "type": "rectangle", + "x": 446.15952796323285, + "y": -1655.8903647180834, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f0fc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XwAoXpf6AemiT8mi5bFWq" + ], + "frameId": null, + "index": "b3Tl", + "roundness": { + "type": 3 + }, + "seed": 1444614958, + "version": 1347, + "versionNonce": 1988510296, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "d8np0523wKsXrmIMfmLge" + } + ], + "updated": 1745863430319, + "link": null, + "locked": false + }, + { + "id": "d8np0523wKsXrmIMfmLge", + "type": "text", + "x": 486.5103241553048, + "y": -1649.857627799224, + "width": 100.47990417480469, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XwAoXpf6AemiT8mi5bFWq" + ], + "frameId": null, + "index": "b3U", + "roundness": { + "type": 2 + }, + "seed": 468483438, + "version": 1273, + "versionNonce": 1303883560, + "isDeleted": false, + "boundElements": [], + "updated": 1745863430319, + "link": null, + "locked": false, + "text": "With CLI args", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "DN44YsXVx5alkfVmgz8cv", + "originalText": "With CLI args", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "yyiCPxzXzxmyggwh1XktQ", + "type": "rectangle", + "x": 446.04376732161137, + "y": -1602.9224729654954, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ffc9c9", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XwAoXpf6AemiT8mi5bFWq" + ], + "frameId": null, + "index": "b3UV", + "roundness": { + "type": 3 + }, + "seed": 1888919470, + "version": 1472, + "versionNonce": 1312569176, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "1FnAPmghlBI_7NoLJdHMt" + } + ], + "updated": 1745863430319, + "link": null, + "locked": false + }, + { + "id": "1FnAPmghlBI_7NoLJdHMt", + "type": "text", + "x": 485.9625566777458, + "y": -1596.889736046636, + "width": 101.34391784667969, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XwAoXpf6AemiT8mi5bFWq" + ], + "frameId": null, + "index": "b3V", + "roundness": { + "type": 2 + }, + "seed": 1749187054, + "version": 1409, + "versionNonce": 1284149848, + "isDeleted": false, + "boundElements": [], + "updated": 1745863436933, + "link": null, + "locked": false, + "text": "With env vars", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "yyiCPxzXzxmyggwh1XktQ", + "originalText": "With env vars", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "NtliNpAdkMzDKsd1DqP6P", + "type": "rectangle", + "x": -441.0749823262919, + "y": -1686.8541120545258, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3Y", + "roundness": { + "type": 3 + }, + "seed": 1029390386, + "version": 1244, + "versionNonce": 975058030, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "G_wn8UhalRSFVxwF6SQ-G" + }, + { + "id": "3SiwxCYYhPtBLSTr42Bok", + "type": "arrow" + } + ], + "updated": 1745518999765, + "link": null, + "locked": false + }, + { + "id": "G_wn8UhalRSFVxwF6SQ-G", + "type": "text", + "x": -417.6761743544348, + "y": -1680.8213751356664, + "width": 134.38388061523438, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3Z", + "roundness": { + "type": 2 + }, + "seed": 271084018, + "version": 1149, + "versionNonce": 838711474, + "isDeleted": false, + "boundElements": [], + "updated": 1745517766707, + "link": null, + "locked": false, + "text": "Monitor Resources", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "NtliNpAdkMzDKsd1DqP6P", + "originalText": "Monitor Resources", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "e6V29U6qTYGRr6n9jQoR7", + "type": "rectangle", + "x": -440.5162309822093, + "y": -1740.0189241168334, + "width": 181.1814965589485, + "height": 33.665473837718764, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#fff9db", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3a", + "roundness": { + "type": 3 + }, + "seed": 1161184238, + "version": 1220, + "versionNonce": 988329010, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "zftGtAgkwtM-Xv-o81drs" + }, + { + "id": "-3Rm0x6uuZu8_uLAMVgsh", + "type": "arrow" + } + ], + "updated": 1745517766707, + "link": null, + "locked": false + }, + { + "id": "zftGtAgkwtM-Xv-o81drs", + "type": "text", + "x": -409.7414540772468, + "y": -1733.986187197974, + "width": 119.63194274902344, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3b", + "roundness": { + "type": 2 + }, + "seed": 165910062, + "version": 1131, + "versionNonce": 1676107250, + "isDeleted": false, + "boundElements": [], + "updated": 1745517766707, + "link": null, + "locked": false, + "text": "Start Dashboard", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "e6V29U6qTYGRr6n9jQoR7", + "originalText": "Start Dashboard", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "cBnHQM_2zbJyUAPe0KubE", + "type": "arrow", + "x": -257.28194271017344, + "y": -1774.1796763957054, + "width": 485.48151877707915, + "height": 168.35135279464066, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3c", + "roundness": { + "type": 2 + }, + "seed": 1850629102, + "version": 842, + "versionNonce": 1005771560, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "eaL7IpjPxZww4JKKrrrxg" + } + ], + "updated": 1745863430319, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 321.16936120017425, + 53.6708120813048 + ], + [ + 485.48151877707915, + 168.35135279464066 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "0-tMDv7vuQD55x75hCUf6", + "focus": -0.42160311467380607, + "gap": 1.6665873870764472 + }, + "endBinding": { + "elementId": "OBY_RskMQeTr19CkR8LJ5", + "focus": -0.5795740045488628, + "gap": 2.2843587096488704 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "eaL7IpjPxZww4JKKrrrxg", + "type": "text", + "x": 45.71943448121175, + "y": -1731.3088643144006, + "width": 36.335968017578125, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3d", + "roundness": null, + "seed": 198040562, + "version": 10, + "versionNonce": 1018765352, + "isDeleted": false, + "boundElements": [], + "updated": 1745863430319, + "link": null, + "locked": false, + "text": "Calls", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "cBnHQM_2zbJyUAPe0KubE", + "originalText": "Calls", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "-3Rm0x6uuZu8_uLAMVgsh", + "type": "arrow", + "x": -258.353166098512, + "y": -1722.599686118272, + "width": 315.42626997192184, + "height": 129.69782735244667, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3e", + "roundness": { + "type": 2 + }, + "seed": 12482606, + "version": 766, + "versionNonce": 1328957934, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "ppwb0__smuHuv-N-F2iVm" + } + ], + "updated": 1745519203978, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 232.3378935491312, + 34.935063524965926 + ], + [ + 315.42626997192184, + 129.69782735244667 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "e6V29U6qTYGRr6n9jQoR7", + "focus": -0.4328658056830364, + "gap": 1 + }, + "endBinding": { + "elementId": "DMXqOzz00uA_Irs0mdACj", + "focus": 0.05104069597779175, + "gap": 4.22208156538818 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "ppwb0__smuHuv-N-F2iVm", + "type": "text", + "x": -60.191244534244106, + "y": -1698.464622593306, + "width": 68.35194396972656, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#ebfbee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3f", + "roundness": null, + "seed": 1991595438, + "version": 12, + "versionNonce": 1919349998, + "isDeleted": false, + "boundElements": [], + "updated": 1745519120664, + "link": null, + "locked": false, + "text": "Launches", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "-3Rm0x6uuZu8_uLAMVgsh", + "originalText": "Launches", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "V6VNpMfX25HtNWa-hUI-K", + "type": "arrow", + "x": -256.89654611882133, + "y": -1827.6235646731448, + "width": 596.7756676323885, + "height": 216.1001679361989, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f9fa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3i", + "roundness": { + "type": 2 + }, + "seed": 1045408370, + "version": 402, + "versionNonce": 120737368, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "7nCHM4VRMs_YKhG0jVEwz" + } + ], + "updated": 1745863363248, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 338.55539765585826, + -124.38110047008149 + ], + [ + 596.7756676323885, + -216.1001679361989 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "GQWY1DbQuUDTf_VsWS2_4", + "focus": 0.7059132957684963, + "gap": 1.407413280569358 + }, + "endBinding": { + "elementId": "K6Wy00BDYKw9srpKya_li", + "focus": 0.8264237775492105, + "gap": 1 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "7nCHM4VRMs_YKhG0jVEwz", + "type": "text", + "x": 36.86548016426832, + "y": -1976.4313950873277, + "width": 55.51995849609375, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f9fa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3j", + "roundness": null, + "seed": 1580487598, + "version": 11, + "versionNonce": 265692974, + "isDeleted": false, + "boundElements": [], + "updated": 1745519120664, + "link": null, + "locked": false, + "text": "Creates", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "V6VNpMfX25HtNWa-hUI-K", + "originalText": "Creates", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "3SiwxCYYhPtBLSTr42Bok", + "type": "arrow", + "x": -255.90049144781528, + "y": -1666.3614838486092, + "width": 142.23384006323806, + "height": 9.094947017729282e-13, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f1ee", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3k", + "roundness": { + "type": 2 + }, + "seed": 432822642, + "version": 115, + "versionNonce": 905762344, + "isDeleted": false, + "boundElements": [], + "updated": 1745863319612, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 142.23384006323806, + 9.094947017729282e-13 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "NtliNpAdkMzDKsd1DqP6P", + "focus": 0.21742698794019732, + "gap": 4.089322471693606 + }, + "endBinding": { + "elementId": "Utd9X65PMFK9PkdM8QUDk", + "focus": -0.288815173304274, + "gap": 5.623769139358615 + }, + "startArrowhead": null, + "endArrowhead": "crowfoot_many", + "elbowed": false + }, + { + "id": "PQc1afZXnmtWbh-7sfPms", + "type": "arrow", + "x": -348.94023810975034, + "y": -1591.0725313219866, + "width": 316.85082056721956, + "height": 0, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f1ee", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3l", + "roundness": { + "type": 2 + }, + "seed": 622178290, + "version": 95, + "versionNonce": 1319423662, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "rL-t_PJsoj26qW1MuE6ia" + } + ], + "updated": 1745519096615, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -316.85082056721956, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "rL-t_PJsoj26qW1MuE6ia", + "type": "text", + "x": -559.1655980393562, + "y": -1601.8725313219866, + "width": 103.59989929199219, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f1ee", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3m", + "roundness": null, + "seed": 1037021682, + "version": 19, + "versionNonce": 354750830, + "isDeleted": false, + "boundElements": [], + "updated": 1745519120664, + "link": null, + "locked": false, + "text": "Log streaming", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "PQc1afZXnmtWbh-7sfPms", + "originalText": "Log streaming", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "6YLq2_QnbSLMTBf1s2h9C", + "type": "arrow", + "x": -669.7208338266744, + "y": -1560.8892849450792, + "width": 624.1377111179098, + "height": 0.5532045377462964, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f1ee", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3n", + "roundness": { + "type": 2 + }, + "seed": 373322354, + "version": 203, + "versionNonce": 473774382, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "Z9WHzRPFg-kyCMEXu15oC" + } + ], + "updated": 1745519222592, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 165.95123246448645, + 0.5532045377462964 + ], + [ + 624.1377111179098, + 0.5532045377462964 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "Cv88tmyDurpAhZrqftukK", + "focus": 0.5599871722321584, + "gap": 6.623955188732737 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "Z9WHzRPFg-kyCMEXu15oC", + "type": "text", + "x": -450.6512774760778, + "y": -1571.6892849450792, + "width": 186.94386291503906, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f8f1ee", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3o", + "roundness": null, + "seed": 1143959406, + "version": 34, + "versionNonce": 1544532974, + "isDeleted": false, + "boundElements": [], + "updated": 1745519165412, + "link": null, + "locked": false, + "text": "Stream logs to dashboard", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "6YLq2_QnbSLMTBf1s2h9C", + "originalText": "Stream logs to dashboard", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "c4_JwRpMle183Nbf0lSex", + "type": "rectangle", + "x": 286.8264343837891, + "y": -1518.3930244060632, + "width": 360.3598471362193, + "height": 76.80256368496293, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f3f0ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3oV", + "roundness": { + "type": 3 + }, + "seed": 758025330, + "version": 135, + "versionNonce": 710759726, + "isDeleted": false, + "boundElements": [ + { + "id": "pSs3Noh01VcoaBoj_Z5jC", + "type": "arrow" + }, + { + "type": "text", + "id": "SLzVD1VoZr3Jj5XAsEeId" + } + ], + "updated": 1745519572029, + "link": null, + "locked": false + }, + { + "id": "SLzVD1VoZr3Jj5XAsEeId", + "type": "text", + "x": 300.8945110280706, + "y": -1490.7917425635817, + "width": 332.22369384765625, + "height": 21.6, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f3f0ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3ol", + "roundness": null, + "seed": 1251642098, + "version": 70, + "versionNonce": 625127534, + "isDeleted": false, + "boundElements": [], + "updated": 1745519672703, + "link": null, + "locked": false, + "text": "dotnet run --project ./path/to/*.csproj ", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "c4_JwRpMle183Nbf0lSex", + "originalText": "dotnet run --project ./path/to/*.csproj ", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "QRdA8l6xsSt70qC54pi7l", + "type": "image", + "x": 581.0203442535566, + "y": -1504.3848277114594, + "width": 49.56597952005012, + "height": 49.56597952005012, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#f8f1ee", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3p", + "roundness": null, + "seed": 731762610, + "version": 295, + "versionNonce": 1756191854, + "isDeleted": false, + "boundElements": [], + "updated": 1745519512253, + "link": null, + "locked": false, + "status": "saved", + "fileId": "8cb884f0c50d9678d94f27faad2608e89d03638f", + "scale": [ + 1, + 1 + ], + "crop": null + }, + { + "id": "pSs3Noh01VcoaBoj_Z5jC", + "type": "arrow", + "x": 228.6678302614189, + "y": -1603.1424435557808, + "width": 78.38917592930414, + "height": 128.60660739323066, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f3f0ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3s", + "roundness": { + "type": 2 + }, + "seed": 1353229554, + "version": 309, + "versionNonce": 1111307816, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "0nMZUdnbAN4-9DbLzWP3M" + } + ], + "updated": 1745863430319, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -23.489895095279877, + 85.95802599182093 + ], + [ + 54.89928083402427, + 128.60660739323066 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "OBY_RskMQeTr19CkR8LJ5", + "focus": 0.8406710406630343, + "gap": 1.7253497162970746 + }, + "endBinding": { + "elementId": "c4_JwRpMle183Nbf0lSex", + "focus": -0.7715163794718621, + "gap": 3.3425748855311213 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "0nMZUdnbAN4-9DbLzWP3M", + "type": "text", + "x": 176.74595884777966, + "y": -1538.7844175639598, + "width": 56.86395263671875, + "height": 43.2, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#f3f0ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3t", + "roundness": null, + "seed": 435867506, + "version": 44, + "versionNonce": 688111854, + "isDeleted": false, + "boundElements": [], + "updated": 1745519645006, + "link": null, + "locked": false, + "text": "Is .NET\nproject?", + "fontSize": 16, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "pSs3Noh01VcoaBoj_Z5jC", + "originalText": "Is .NET\nproject?", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "go_epy9LJ5oU-8X9H8eqS", + "type": "rectangle", + "x": -930.6324017676193, + "y": -506.3943607376639, + "width": 274.1625061035156, + "height": 43.79999923706055, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3u", + "roundness": { + "type": 3 + }, + "seed": 1411786024, + "version": 115, + "versionNonce": 1933883224, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "yekJe5QfsHo4ZOydw7VG7" + } + ], + "updated": 1745587905464, + "link": null, + "locked": false + }, + { + "id": "yekJe5QfsHo4ZOydw7VG7", + "type": "text", + "x": -897.671029392131, + "y": -497.9943611191336, + "width": 208.23976135253906, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3v", + "roundness": null, + "seed": 1178444328, + "version": 113, + "versionNonce": 1155504936, + "isDeleted": false, + "boundElements": [], + "updated": 1745587696315, + "link": null, + "locked": false, + "text": "Dev-time orchestration", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "go_epy9LJ5oU-8X9H8eqS", + "originalText": "Dev-time orchestration", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "Qp5meNng3QGFMXfCJbrlu", + "type": "rectangle", + "x": -606.4698918494064, + "y": -520.7943613098685, + "width": 142.03750610351562, + "height": 91, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#61dafb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3w", + "roundness": { + "type": 3 + }, + "seed": 1232551976, + "version": 123, + "versionNonce": 564878168, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "AMns2hRyIDKGAESme-smg" + } + ], + "updated": 1745587738820, + "link": null, + "locked": false + }, + { + "id": "AMns2hRyIDKGAESme-smg", + "type": "text", + "x": -586.771069827922, + "y": -502.29436130986846, + "width": 102.63986206054688, + "height": 54, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3x", + "roundness": null, + "seed": 1913206824, + "version": 121, + "versionNonce": 261223976, + "isDeleted": false, + "boundElements": [], + "updated": 1745587696315, + "link": null, + "locked": false, + "text": "React app\n(npm start)", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Qp5meNng3QGFMXfCJbrlu", + "originalText": "React app\n(npm start)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "J7AYSVUHIuv9-1jHroc-Z", + "type": "rectangle", + "x": -684.1074078711349, + "y": -333.3943616913382, + "width": 298.9125061035156, + "height": 72.5999984741211, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "#512bd4", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3y", + "roundness": { + "type": 3 + }, + "seed": 1273821992, + "version": 160, + "versionNonce": 1159949400, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "Z-vkr_Lxa1DY1hCWh5-Uk" + }, + { + "id": "nOpz_4H1EzsHjZzZtO6rh", + "type": "arrow" + }, + { + "id": "dgBVDHGJ5RrwTc5xK3KbO", + "type": "arrow" + }, + { + "id": "ieJy0CRNfsVlT5cBBY1pj", + "type": "arrow" + }, + { + "id": "IJbAlU10ucG2T8xnGrCGr", + "type": "arrow" + } + ], + "updated": 1745587780976, + "link": null, + "locked": false + }, + { + "id": "Z-vkr_Lxa1DY1hCWh5-Uk", + "type": "text", + "x": -656.561036411174, + "y": -324.09436245427764, + "width": 243.81976318359375, + "height": 54, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3z", + "roundness": null, + "seed": 1147620904, + "version": 154, + "versionNonce": 576333096, + "isDeleted": false, + "boundElements": [], + "updated": 1745587780976, + "link": null, + "locked": false, + "text": "ASP.NET Core Minimal API\n(dotnet run)", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "J7AYSVUHIuv9-1jHroc-Z", + "originalText": "ASP.NET Core Minimal API\n(dotnet run)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "B5AwRRpozy0P9JKrEa8Yu", + "type": "rectangle", + "x": -904.4136365088302, + "y": -184.59435101018585, + "width": 205.8874969482422, + "height": 72.5999984741211, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b40", + "roundness": { + "type": 3 + }, + "seed": 234051112, + "version": 178, + "versionNonce": 703527000, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "faWtaWDfNxzfGMLBFIFEE" + }, + { + "id": "nOpz_4H1EzsHjZzZtO6rh", + "type": "arrow" + } + ], + "updated": 1745587897201, + "link": null, + "locked": false + }, + { + "id": "faWtaWDfNxzfGMLBFIFEE", + "type": "text", + "x": -877.6497967871505, + "y": -175.2943517731253, + "width": 152.3598175048828, + "height": 54, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b41", + "roundness": null, + "seed": 448259112, + "version": 182, + "versionNonce": 1230539816, + "isDeleted": false, + "boundElements": [], + "updated": 1745587696315, + "link": null, + "locked": false, + "text": "Cache\n(Redis container)", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "B5AwRRpozy0P9JKrEa8Yu", + "originalText": "Cache\n(Redis container)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "E2Zj0CPfVmDHHWN--K7Tx", + "type": "rectangle", + "x": -648.800949335591, + "y": -183.7943632172171, + "width": 226.14999389648438, + "height": 72.5999984741211, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b42", + "roundness": { + "type": 3 + }, + "seed": 343298344, + "version": 179, + "versionNonce": 1087082328, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "Z9XiBK388QY7k1WpRpE0v" + }, + { + "id": "dgBVDHGJ5RrwTc5xK3KbO", + "type": "arrow" + } + ], + "updated": 1745587878328, + "link": null, + "locked": false + }, + { + "id": "Z9XiBK388QY7k1WpRpE0v", + "type": "text", + "x": -619.7958605294386, + "y": -174.49436398015655, + "width": 168.1398162841797, + "height": 54, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b43", + "roundness": null, + "seed": 2052782632, + "version": 179, + "versionNonce": 1506068264, + "isDeleted": false, + "boundElements": [], + "updated": 1745587696315, + "link": null, + "locked": false, + "text": "AI Service\n(Ollama container)", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "E2Zj0CPfVmDHHWN--K7Tx", + "originalText": "AI Service\n(Ollama container)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "IVK6jKAZR8v0Eo5Qs2rAX", + "type": "rectangle", + "x": -372.3761532934982, + "y": -183.7943632172171, + "width": 239.77499389648438, + "height": 72.5999984741211, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "#336791", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b44", + "roundness": { + "type": 3 + }, + "seed": 1726082088, + "version": 179, + "versionNonce": 662360920, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "rTp1eBaHsxhulbh8P7PS1" + }, + { + "id": "ieJy0CRNfsVlT5cBBY1pj", + "type": "arrow" + } + ], + "updated": 1745587848441, + "link": null, + "locked": false + }, + { + "id": "rTp1eBaHsxhulbh8P7PS1", + "type": "text", + "x": -343.3485425146896, + "y": -174.49436398015655, + "width": 181.7197723388672, + "height": 54, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b45", + "roundness": null, + "seed": 280006696, + "version": 181, + "versionNonce": 1087417896, + "isDeleted": false, + "boundElements": [], + "updated": 1745587848441, + "link": null, + "locked": false, + "text": "Database\n(Postgres container)", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "IVK6jKAZR8v0Eo5Qs2rAX", + "originalText": "Database\n(Postgres container)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "IJbAlU10ucG2T8xnGrCGr", + "type": "arrow", + "x": -535.4514017676192, + "y": -419.4025098043909, + "width": 0.542306967278364, + "height": 85.63931160345396, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b46", + "roundness": { + "type": 2 + }, + "seed": 1059202856, + "version": 532, + "versionNonce": 1470496296, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "x5y0cxMpxi1qQ2eErdR9a" + } + ], + "updated": 1745587767741, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 38.31856959948749 + ], + [ + 0.542306967278364, + 85.63931160345396 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "J7AYSVUHIuv9-1jHroc-Z", + "focus": 0.0010828795498238604, + "gap": 1.5179366692552776 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "x5y0cxMpxi1qQ2eErdR9a", + "type": "text", + "x": -580.1513834570724, + "y": -422.29435940251983, + "width": 89.39996337890625, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b47", + "roundness": null, + "seed": 857253416, + "version": 11, + "versionNonce": 264969512, + "isDeleted": false, + "boundElements": [], + "updated": 1745587696315, + "link": null, + "locked": false, + "text": "HTTP/API", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "IJbAlU10ucG2T8xnGrCGr", + "originalText": "HTTP/API", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "nOpz_4H1EzsHjZzZtO6rh", + "type": "arrow", + "x": -681.4772701368154, + "y": -262.8502865187043, + "width": 119.99213163080424, + "height": 77.9181761699488, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b48", + "roundness": { + "type": 2 + }, + "seed": 966984232, + "version": 471, + "versionNonce": 2069351720, + "isDeleted": false, + "boundElements": [], + "updated": 1745587767741, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -119.99213163080387, + 27.055927116184478 + ], + [ + -119.99213163080424, + 77.9181761699488 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "J7AYSVUHIuv9-1jHroc-Z", + "focus": -0.01626403056700043, + "gap": 3.8440202358741495 + }, + "endBinding": { + "elementId": "B5AwRRpozy0P9JKrEa8Yu", + "focus": 0.000004723619419633657, + "gap": 1 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "dgBVDHGJ5RrwTc5xK3KbO", + "type": "arrow", + "x": -535.0156576430572, + "y": -260.55373495694414, + "width": 0.6989359591653965, + "height": 76.44858583497438, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b49", + "roundness": { + "type": 2 + }, + "seed": 89161000, + "version": 472, + "versionNonce": 1183969320, + "isDeleted": false, + "boundElements": [], + "updated": 1745587868716, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.6989359591653965, + 76.44858583497438 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "J7AYSVUHIuv9-1jHroc-Z", + "focus": 0.0002031393308510383, + "gap": 1 + }, + "endBinding": { + "elementId": "E2Zj0CPfVmDHHWN--K7Tx", + "focus": -0.0028513051591881246, + "gap": 1 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "ieJy0CRNfsVlT5cBBY1pj", + "type": "arrow", + "x": -386.536437277171, + "y": -264.41233285792157, + "width": 134.0480355095517, + "height": 80.323134027452, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4A", + "roundness": { + "type": 2 + }, + "seed": 328636456, + "version": 471, + "versionNonce": 2128691032, + "isDeleted": false, + "boundElements": [], + "updated": 1745587833900, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 134.0480355095517, + 28.61797345540171 + ], + [ + 134.04773736708833, + 80.323134027452 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "J7AYSVUHIuv9-1jHroc-Z", + "focus": 0.015561696633936124, + "gap": 3.376055592423458 + }, + "endBinding": { + "elementId": "IVK6jKAZR8v0Eo5Qs2rAX", + "focus": -0.0000021234711142587903, + "gap": 1 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "c06fUx97R-HqyehxW1zz-", + "type": "rectangle", + "x": 70.86558876731101, + "y": -509.7081950617413, + "width": 179.25711226687963, + "height": 43.79999923706055, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e6fcf5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4B", + "roundness": { + "type": 3 + }, + "seed": 801836328, + "version": 314, + "versionNonce": 1019693144, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "8jWzD_br_a1xbU9qxkUcE" + } + ], + "updated": 1745587925400, + "link": null, + "locked": false + }, + { + "id": "8jWzD_br_a1xbU9qxkUcE", + "type": "text", + "x": 126.74418304772348, + "y": -501.30819544321105, + "width": 67.49992370605469, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4C", + "roundness": null, + "seed": 809445416, + "version": 320, + "versionNonce": 274792024, + "isDeleted": false, + "boundElements": [], + "updated": 1745587921207, + "link": null, + "locked": false, + "text": "Publish", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "c06fUx97R-HqyehxW1zz-", + "originalText": "Publish", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "SY2lcd7wA7tCCUcSwGMkq", + "type": "rectangle", + "x": 312.5920505852124, + "y": -524.800925318878, + "width": 230.7081742201021, + "height": 91, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#61dafb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4D", + "roundness": { + "type": 3 + }, + "seed": 1635246888, + "version": 365, + "versionNonce": 966261336, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "LPkhnJ6YpGpWkWMcxMugU" + } + ], + "updated": 1745587750185, + "link": null, + "locked": false + }, + { + "id": "LPkhnJ6YpGpWkWMcxMugU", + "type": "text", + "x": 320.6862576293455, + "y": -506.30092531887794, + "width": 214.51976013183594, + "height": 54, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4E", + "roundness": null, + "seed": 31538728, + "version": 436, + "versionNonce": 208883544, + "isDeleted": false, + "boundElements": [], + "updated": 1745587573200, + "link": null, + "locked": false, + "text": "React app\n(Azure Static Web App)", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "SY2lcd7wA7tCCUcSwGMkq", + "originalText": "React app\n(Azure Static Web App)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "EjwPfIt7RbQXJhGobGCL4", + "type": "rectangle", + "x": 277.9044092519132, + "y": -337.4009257003476, + "width": 298.9125061035156, + "height": 72.5999984741211, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "#512bd4", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4F", + "roundness": { + "type": 3 + }, + "seed": 577190184, + "version": 264, + "versionNonce": 413619752, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "UCP1rbiUE2W_Ve3tuJW1G" + }, + { + "id": "Tt0z7v3Nf_aFnliNqk4Bk", + "type": "arrow" + }, + { + "id": "9LmQ82FQTwRSaOZyDKqLM", + "type": "arrow" + }, + { + "id": "lQelhSt378NsS1SoyIRhO", + "type": "arrow" + }, + { + "id": "6jsJhRUISW3Z7IVgjI5vU", + "type": "arrow" + } + ], + "updated": 1745587789401, + "link": null, + "locked": false + }, + { + "id": "UCP1rbiUE2W_Ve3tuJW1G", + "type": "text", + "x": 305.45078071187413, + "y": -328.10092646328707, + "width": 243.81976318359375, + "height": 54, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4G", + "roundness": null, + "seed": 1450562600, + "version": 279, + "versionNonce": 683573336, + "isDeleted": false, + "boundElements": [], + "updated": 1745587789401, + "link": null, + "locked": false, + "text": "ASP.NET Core Minimal API\n(Azure Container App)", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "EjwPfIt7RbQXJhGobGCL4", + "originalText": "ASP.NET Core Minimal API\n(Azure Container App)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "oEM7fIB0RNTDknRXPHOvz", + "type": "rectangle", + "x": 39.58694454655037, + "y": -187.9081853342633, + "width": 230.82613556900392, + "height": 91, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4H", + "roundness": { + "type": 3 + }, + "seed": 1677266728, + "version": 356, + "versionNonce": 452330280, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "5wTwysYcuJCDg2lONbaG8" + }, + { + "id": "Tt0z7v3Nf_aFnliNqk4Bk", + "type": "arrow" + } + ], + "updated": 1745587894960, + "link": null, + "locked": false + }, + { + "id": "5wTwysYcuJCDg2lONbaG8", + "type": "text", + "x": 48.95013134960702, + "y": -169.4081853342633, + "width": 212.09976196289062, + "height": 54, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4I", + "roundness": null, + "seed": 1935469096, + "version": 387, + "versionNonce": 1417061928, + "isDeleted": false, + "boundElements": [], + "updated": 1745587612795, + "link": null, + "locked": false, + "text": "Cache\n(Azure Cache for Redis)", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "oEM7fIB0RNTDknRXPHOvz", + "originalText": "Cache\n(Azure Cache for Redis)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "aKzXdx07x5cnNADj4NXiz", + "type": "rectangle", + "x": 313.2108677874571, + "y": -187.10819754129454, + "width": 226.14999389648438, + "height": 88.53299263510554, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4J", + "roundness": { + "type": 3 + }, + "seed": 1066231080, + "version": 309, + "versionNonce": 1764006952, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "6sgSqfpwtLFkl9z7-9X-M" + }, + { + "id": "9LmQ82FQTwRSaOZyDKqLM", + "type": "arrow" + } + ], + "updated": 1745587875409, + "link": null, + "locked": false + }, + { + "id": "6sgSqfpwtLFkl9z7-9X-M", + "type": "text", + "x": 356.0159367571837, + "y": -169.84170122374178, + "width": 140.53985595703125, + "height": 54, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4K", + "roundness": null, + "seed": 1173782568, + "version": 321, + "versionNonce": 815688488, + "isDeleted": false, + "boundElements": [], + "updated": 1745587630388, + "link": null, + "locked": false, + "text": "AI Service\n(Azure OpenAI)", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aKzXdx07x5cnNADj4NXiz", + "originalText": "AI Service\n(Azure OpenAI)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "ZZpaE8tifKO0KQ5-RSiLY", + "type": "rectangle", + "x": 564.6970780606753, + "y": -187.10819754129454, + "width": 320.1328000901126, + "height": 88.92175809331685, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "#336791", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4L", + "roundness": { + "type": 3 + }, + "seed": 1988377384, + "version": 401, + "versionNonce": 903773992, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "mDKy9nXZcnPk_EU67tLhF" + }, + { + "id": "lQelhSt378NsS1SoyIRhO", + "type": "arrow" + } + ], + "updated": 1745587855136, + "link": null, + "locked": false + }, + { + "id": "mDKy9nXZcnPk_EU67tLhF", + "type": "text", + "x": 574.0336502248722, + "y": -169.64731849463612, + "width": 301.45965576171875, + "height": 54, + "angle": 0, + "strokeColor": "#ffffff", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4M", + "roundness": null, + "seed": 1671599656, + "version": 425, + "versionNonce": 2091542360, + "isDeleted": false, + "boundElements": [], + "updated": 1745587855136, + "link": null, + "locked": false, + "text": "Database\n(Azure Database for PostgreSQL)", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ZZpaE8tifKO0KQ5-RSiLY", + "originalText": "Database\n(Azure Database for PostgreSQL)", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "6jsJhRUISW3Z7IVgjI5vU", + "type": "arrow", + "x": 426.56041535542886, + "y": -422.7163441284682, + "width": 0.5388142359665835, + "height": 84.94658191852199, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4N", + "roundness": { + "type": 2 + }, + "seed": 1916637480, + "version": 741, + "versionNonce": 1261205336, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "W_Zvw-QrA_DhGR3egGL63" + } + ], + "updated": 1745587577334, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 38.31856959948749 + ], + [ + 0.5388142359665835, + 84.94658191852199 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "EjwPfIt7RbQXJhGobGCL4", + "focus": 0.0010828795498242197, + "gap": 1.517936669255164 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "W_Zvw-QrA_DhGR3egGL63", + "type": "text", + "x": 381.86043366597573, + "y": -397.89777452898073, + "width": 89.39996337890625, + "height": 27, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4O", + "roundness": null, + "seed": 163654696, + "version": 117, + "versionNonce": 1968414808, + "isDeleted": false, + "boundElements": [], + "updated": 1745587441988, + "link": null, + "locked": false, + "text": "HTTP/API", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "6jsJhRUISW3Z7IVgjI5vU", + "originalText": "HTTP/API", + "autoResize": true, + "lineHeight": 1.35 + }, + { + "id": "Tt0z7v3Nf_aFnliNqk4Bk", + "type": "arrow", + "x": 280.96594016120997, + "y": -266.57082875023053, + "width": 123.33652180720972, + "height": 78.291701345814, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4P", + "roundness": { + "type": 2 + }, + "seed": 1142515496, + "version": 862, + "versionNonce": 243374424, + "isDeleted": false, + "boundElements": [], + "updated": 1745587891190, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -120.42352480578123, + 27.462635023633254 + ], + [ + -123.33652180720972, + 78.291701345814 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "EjwPfIt7RbQXJhGobGCL4", + "focus": -0.016264030566999266, + "gap": 3.84402023587423 + }, + "endBinding": { + "elementId": "oEM7fIB0RNTDknRXPHOvz", + "focus": 0.000004723619418637221, + "gap": 1 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "9LmQ82FQTwRSaOZyDKqLM", + "type": "arrow", + "x": 427.0135319277633, + "y": -264.5602989659536, + "width": 0.6659494541348749, + "height": 77.08326547548066, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4Q", + "roundness": { + "type": 2 + }, + "seed": 498221608, + "version": 810, + "versionNonce": 1133948968, + "isDeleted": false, + "boundElements": [], + "updated": 1745587630388, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.6659494541348749, + 77.08326547548066 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "EjwPfIt7RbQXJhGobGCL4", + "focus": 0.00020313933085139743, + "gap": 1 + }, + "endBinding": { + "elementId": "aKzXdx07x5cnNADj4NXiz", + "focus": -0.0028513051591885804, + "gap": 1 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + }, + { + "id": "lQelhSt378NsS1SoyIRhO", + "type": "arrow", + "x": 575.1614532834841, + "y": -268.12013802905324, + "width": 142.53444743350485, + "height": 80.74030379615172, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b4R", + "roundness": { + "type": 2 + }, + "seed": 628604200, + "version": 900, + "versionNonce": 965319208, + "isDeleted": false, + "boundElements": [], + "updated": 1745587660685, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 134.36196207194467, + 29.011944302455987 + ], + [ + 142.53444743350485, + 80.74030379615172 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "EjwPfIt7RbQXJhGobGCL4", + "focus": 0.015561696633936487, + "gap": 3.376055592423538 + }, + "endBinding": { + "elementId": "ZZpaE8tifKO0KQ5-RSiLY", + "focus": -0.0000021234711134558996, + "gap": 1 + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false + } + ], + "appState": { + "gridSize": 20, + "gridStep": 5, + "gridModeEnabled": false, + "viewBackgroundColor": "#ffffff" + }, + "files": { + "b6ce742d04f3c3c6fed7786864ed7dfb536a6f06": { + "mimeType": "image/png", + "id": "b6ce742d04f3c3c6fed7786864ed7dfb536a6f06", + "dataURL": "data:image/png;base64,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", + "created": 1745440986242, + "lastRetrieved": 1745519704514 + }, + "fd5b4b2e91d7868f78a68b6d59568fbf4f22d50a": { + "mimeType": "image/png", + "id": "fd5b4b2e91d7868f78a68b6d59568fbf4f22d50a", + "dataURL": "data:image/png;base64,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", + "created": 1745441009461, + "lastRetrieved": 1745519704514 + }, + "5109d7898f40c04fb3742ebcc66d520517f93c49": { + "mimeType": "image/png", + "id": "5109d7898f40c04fb3742ebcc66d520517f93c49", + "dataURL": "data:image/png;base64,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", + "created": 1745516735853, + "lastRetrieved": 1745519704514 + }, + "8cb884f0c50d9678d94f27faad2608e89d03638f": { + "mimeType": "image/png", + "id": "8cb884f0c50d9678d94f27faad2608e89d03638f", + "dataURL": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAWgCAYAAACooOTIAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3fuznHd92PHP7h5dj45k+kNDeolDE5ofWib/Qqf9A3qZabkEHC4haeMw0ybYuLYx5mYTktYwCTGXuJCmJYSQIWlaYnJhGoIDgdBAHVIaYunIkm3Jkm3Juuuc3e08K6/HHRt4ds/zefa5vM5PHbr72ed5fT9SpLfWu4N//g/+Yhp+CBAgQIAAAQIECBAgQIAAAQIECBAgQIBAxQIDAbpiUeMIECBAgAABAgQIECBAgAABAgQIECBAYCYgQFsEAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKB+dp1tAAAgAElEQVRTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIAAAQIECBAgQIAAAQIECBAgQIAAgRQBATqF1VACBAgQIECAAAECBAgQIECAAAECBAgQEKDtAAECBAgQIECAAAECBAgQIECAAAECBAikCAjQKayGEiBAgAABAgQIECBAgAABAgQIECBAgIAAbQcIECBAgAABAgQIECBAgAABAgQIECBAIEVAgE5hNZQAAQIECBAgQIAAAQIECBAgQIAAAQIEBGg7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIpAgJ0CquhBAgQIECAAAECBAgQIECAAAECBAgQICBA2wECBAgQIECAAAECBAgQIECAAAECBAgQSBEQoFNYDSVAgAABAgQIECBAgAABAgQIECBAgAABAdoOECBAgAABAgQIECBAgAABAgQIECBAgECKgACdwmooAQIECBAgQIAAAQIECBAgQIAAAQIECAjQdoAAAQIECBAgQIAAAQIECBAgQIAAAQIEUgQE6BRWQwkQIECAAAECBAgQIECAAAECBAgQIEBAgLYDBAgQIECAAAECBAgQIECAAAECBAgQIJAiIECnsBpKgAABAgQIECBAgAABAgQIECBAgAABAgK0HSBAgAABAgQIECBAgAABAgQIECBAgACBFAEBOoXVUAIECBAgQIAAAQIECBAgQIAAAQIECBAQoO0AAQIECBAgQIAAAQIECBAgQIAAAQIECKQICNAprIYSIECAAAECBAgQIECAAAECBAgQIECAgABtBwgQIECAAAECBAgQIECAAAECBAgQIEAgRUCATmE1lAABAgQIECBAgAABAgQIECBAgAABAgQEaDtAgAABAgQIECBAgAABAgQIECBAgAABAikCAnQKq6EECBAgQIAAAQIECBAgQIAAAQIECBAgIEDbAQIECBAgQIAAAQIECBAgQIAAAQIECBBIERCgU1gNJUCAAAECBAgQIECAAAECBAgQIECAAAEB2g4QIECAAAECBAgQIECAAAECBAgQIECAQIqAAJ3CaigBAgQIECBAgAABAgQIECBAgAABAgQICNB2gAABAgQIECBAgAABAgQIECBAgAABAgRSBAToFFZDCRAgQIAAAQIECBAgQIAAAQIECBAgQECAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgkCIgQKewGkqAAAECBAgQIECAAAECBAgQIECAAAECArQdIECAAAECBAgQIECAAAECBAgQIECAAIEUAQE6hdVQAgQIECBAgAABAgQIECBAgAABAgQIEBCg7QABAgQIECBAgAABAgQIECBAgAABAgQIpAgI0CmshhIgQIAAAQIECBAgQIAAAQIECBAgQICAAG0HCBAgQIAAAQIECBAgQIAAAQIECBAgQCBFQIBOYTWUAAECBAgQIECAAAECBAgQIECAAAECBARoO0CAAAECBAgQIECAAAECBAgQIECAAAECKQICdAqroQQIECBAgAABAgQIECBAgAABAgQIECAgQNsBAgQIECBAgAABAgQIECBAgAABAgQIEEgREKBTWA0lQIAAAQIECBAgQIAAAQIECBAgQIAAAQHaDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAioAAncJqKAECBAgQIECAAAECBAgQIECAAAECBAgI0HaAAAECBAgQIECAAAECBAgQIECAAAECBFIEBOgUVkMJECBAgAABAgQIECBAgAABAgQIECBAQIC2AwQIECBAgAABAgQIECBAgAABAgQIECCQIiBAp7AaSoAAAQIECBAgQIAAAQIECBAgQIAAAQICtB0gQIDAigUmk+ICpiu+ioa9/DRiMBzEcBgxRdOww3E5ywpMJ8Wv9O4v9CAGMRguq+R5hcBk0v09cdIEygqs6vcUfz4re0IeR4DANYFrf3fxQ4DACwsI0DaDAAECKxbYtbv4w8pglqUGK76WJrz83GF7expbV6cxGonQTTgX17AzgeIfUopf66NRd3+tz3/tFvF060rxr0g7M+vrsweDiN17/A22r+fvvp8vMB5PY3ur3n+UKX4dFr9nD4r/hx8CBAiUEJhOr/3dxZtn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BAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2QQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAECBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFNAAZ2pbzYBAgQIECBAgAABAgQIECBAgAABAgQKCyigC4drNQIECBAgQIAAAQIECBAgQIAAAQIECGQKKKAz9c0mQIAAAQIECBAgQIAAAQIECBAgQIBAYQEFdOFwrUaAAAECBAgQIECAAAECBAgQIECAAIFMAQV0pr7ZBAgQIECAAAECBAgQIECAAAECBAgQKCyggC4crtUIECBAgAABAgQIECBAgAABAgQIECCQKaCAztQ3mwABAgQIECBAgAABAgQIECBAgAABAoUFFNCFw7UaAQIECBAgQIAAAQIECBAgQIAAAQIEMgUU0Jn6ZhMgQIAAAQIECBAgQIAAAQIECBAgQKCwgAK6cLhWI0CAAAECBAgQIECAAAECBAgQIECAQKaAAjpT32wCBAgQIECAAAECBAgQIECAAAECBAgUFlBAFw7XagQIECBAgAABAgQIECBAgAABAgQIEMgUUEBn6ptNgAABAgQIECBAgAABAgQIECBAgACBwgIK6MLhWo0AAQIECBAgQIAAAQIECBAgQIAAAQKZAgroTH2zCRAgQIAAAQIECBAgQIAAAQIECBAgUFhAAV04XKsRIECAAAECBAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2QQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAECBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFNAAZ2pbzYBAgQIECBAgAABAgQIECBAgAABAgQKCyigC4drNQIECBAgQIAAAQIECBAgQIAAAQIECGQKKKAz9c0mQIAAAQIECBAgQIAAAQIECBAgQIBAYQEFdOFwrUaAAAECBAgQIECAAAECBAgQIECAAIFMAQV0pr7ZBAgQIECAAAECBAgQIECAAAECBAgQKCyggC4crtUIECBAgAABAgQIECBAgAABAgQIECCQKaCAztQ3mwABAgQIECBAgAABAgQIECBAgAABAoUFFNCFw7UaAQIECBAgQIAAAQIECBAgQIAAAQIEMgUU0Jn6ZhMgQIAAAQIECBAgQIAAAQIECBAgQKCwgAK6cLhWI0CAAAECBAgQIECAAAECBAgQIECAQKaAAjpT32wCBAgQIECAAAECBAgQIECAAAECBAgUFlBAFw7XagQIECBAgAABAgQIECBAgAABAgQIEMgUUEBn6ptNgAABAgQIECBAgAABAgQIECBAgACBwgIK6MLhWo0AAQIECBAgQIAAAQIECBAgQIAAAQKZAgroTH2zCRAgQIAAAQIECBAgQIAAAQIECBAgUFhAAV04XKsRIECAAAECBAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2QQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAHHH6opAAAgAElEQVQCBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFNAAZ2pbzYBAgQIECBAgAABAgQIECBAgAABAgQKCyigC4drNQIECBAgQIAAAQIECBAgQIAAAQIECGQKKKAz9c0mQIAAAQIECBAgQIAAAQIECBAgQIBAYQEFdOFwrUaAAAECBAgQIECAAAECBAgQIECAAIFMAQV0pr7ZBAgQIECAAAECBAgQIECAAAECBAgQKCyggC4crtUIECBAgAABAgQIECBAgAABAgQIECCQKaCAztQ3mwABAgQIECBAgAABAgQIECBAgAABAoUFFNCFw7UaAQIECBAgQIAAAQIECBAgQIAAAQIEMgUU0Jn6ZhMgQIAAAQIECBAgQIAAAQIECBAgQKCwgAK6cLhWI0CAAAECBAgQIECAAAECBAgQIECAQKaAAjpT32wCBAgQIECAAAECBAgQIECAAAECBAgUFlBAFw7XagQIECBAgAABAgQIECBAgAABAgQIEMgUUEBn6ptNgAABAgQIECBAgAABAgQIECBAgACBwgIK6MLhWo0AAQIECBAgQIAAAQIECBAgQIAAAQKZAgroTH2zCRAgQIAAAQIECBAgQIAAAQIECBAgUFhAAV04XKsRIECAAAECBAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2QQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAECBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFNAAZ2pbzYBAgQIECBAgAABAgQIECBAgAABAgQKCyigC4drNQIECBAgQIAAAQIECBAgQIAAAQIECGQKKKAz9c0mQIAAAQIECBAgQIAAAQIECBAgQIBAYQEFdOFwrUaAAAECBAgQIECAAAECBAgQIECAAIFMAQV0pr7ZBAgQIECAAAECBAgQIECAAAECBAgQKCyggC4crtUIECBAgAABAgQIECBAgAABAgQIECCQKaCAztQ3mwABAgQIECBAgAABAgQIECBAgAABAoUFFNCFw7UaAQIECBAgQIAAAQIECBAgQIAAAQIEMgUU0Jn6ZhMgQIAAAQIECBAgQIAAAQIECBAgQKCwgAK6cLhWI0CAAAECBAgQIECAAAECBAgQIECAQKaAAjpT32wCBAgQIECAAAECBAgQIECAAAECBAgUFlBAFw7XagQIECBAgAABAgQIECBAgAABAgQIEMgUUEBn6ptNgAABAgQIECBAgAABAgQIECBAgACBwgIK6MLhWo0AAQIECBAgQIAAAQIECBAgQIAAAQKZAgroTH2zCRAgQIAAAQIECBAgQIAAAQIECBAgUFhAAV04XKsRIECAAAECBAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2QQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAECBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFNAAZ2pbzYBAgQIECBAgAABAgQIECBAgAABAgQKCyigC4drNQIECBAgQIAAAQIECBAgQIAAAQIECGQKKKAz9c0mQIAAAQIECBAgQIAAAQIECBAgQIBAYQEFdOFwrUaAAAECBAgQIECAAAECBAgQIECAAIFMAQV0pr7ZBAgQIECAAAECBAgQIECAAAECBAgQKCyggC4crtUIECBAgAABAgQIECBAgAABAgQIECCQKaCAztQ3mwABAgQIECBAgAABAgQIECBAgAABAoUFFNCFw7UaAQIECBAgQIAAAQIECBAgQIAAAQIEMgUU0Jn6ZhMgQIAAAQIECBAgQIAAAQIECBAgQKCwgAK6cLhWI0CAAAECBAgQIECAAAECBAgQIECAQKaAAjpT32wCBAgQIECAAAECBAgQIECAAAECBAgUFlBAFw7XagQIECBAgAABAgQIECBAgAABAgQIEMgUUEBn6ptNgAABAgQIECBAgAABAgQIECBAgACBwgIK6MLhWo0AAQIECBAgQIAAAQIECBAgQIAAAQKZAgroTH2zCRAgQIAAAQIECBAgQIAAAQIECBAgUFhAAV04XKsRIECAAAECBAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2QQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAECBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFNAAZ2pbzYBAgQIECBAgAABAgQIECBAgAABAgQKCyigC4drNQIECBAgQIAAAQIECBAgQIAAAQIECGQKKKAz9c0mQIAAAQIECBAgQIAAAQIECBAgQIBAYQEFdOFwrUaAAAECBAgQIECAAAECBAgQIECAAIFMAQV0pr7ZBAgQIECAAAECBAgQIECAAAECBAgQKCyggC4crtUIECBAgAABAgQIECBAgAABAgQIECCQKaCAztQ3mwABAgQIECBAgAABAgQIECBAgAABAoUFFNCFw7UaAQIECBAgQIAAAQIECBAgQIAAAQIEMgUU0Jn6ZhMgQIAAAQIECBAgQIAAAQIECBAgQKCwgAK6cLhWI0CAAAECBAgQIECAAAECBAgQIECAQKaAAjpT32wCBAgQIECAAAECBAgQIECAAAECBAgUFlBAFw7XagQIECBAgAABAgQIECBAgAABAgQIEMgUUEBn6ptNgAABAgQIECBAgAABAgQIECBAgACBwgIK6MLhWo0AAQIECBAgQIAAAQIECBAgQIAAAQKZAgroTH2zCRAgQIAAAQIECBAgQIAAAQIECBAgUFhAAV04XKsRIECAAAECBAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2QQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAECBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFNAAZ2pbzYBAgQIECBAgAABAgQIECBAgAABAgQKCyigC4drNQIECBAgQIAAAQIECBAgQIAAAQIECGQKKKAz9c0mQIAAAQIECBAgQIAAAQIECBAgQIBAYQEFdOFwrUaAAAECBAgQIECAAAECBAgQIECAAIFMAQV0pr7ZBAgQIECAAAECBAgQIECAAAECBAgQKCyggC4crtUIECBAgAABAgQIECBAgAABAgQIECCQKaCAztQ3mwABAgQIECBAgAABAgQIECBAgAABAoUFFNCFw7UaAQIECBAgQIAAAQIECBAgQIAAAQIEMgUU0Jn6ZhMgQIAAAQIECBAgQIAAAQIECBAgQKCwgAK6cLhWI0CAAAECBAgQIECAAAECBAgQIECAQKaAAjpT32wCBAgQIECAAAECBAgQIECAAAECBAgUFlBAFw7XagQIECBAgAABAgQIECBAgAABAgQIEMgUUEBn6ptNgAABAgQIECBAgAABAgQIECBAgACBwgIK6MLhWo0AAQIECBAgQIAAAQIECBAgQIAAAQKZAgroTH2zCRAgQIAAAQIECBAgQIAAAQIECBAgUFhAAV04XKsRIECAAAECBAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2QQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAECBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFNAAZ2pbzYBAgQIECBAgAABAgQIECBAgAABAgQKCyigC4drNQIECBAgQIAAAQIECBAgQIAAAQIECGQKKKAz9c0mQIAAAQIECBAgQIAAAQIECBAgQIBAYQEFdOFwrUaAAAECBAgQIECAAAECBAgQIECAAIFMAQV0pr7ZBAgQIECAAAECBAgQIECAAAECBAgQKCyggC4crtUIECBAgAABAgQIECBAgAABAgQIECCQKaCAztQ3mwABAgQIECBAgAABAgQIECBAgAABAoUFFNCFw7UaAQIECBAgQIAAAQIECBAgQIAAAQIEMgUU0Jn6ZhMgQIAAAQIECBAgQIAAAQIECBAgQKCwgAK6cLhWI0CAAAECBAgQIECAAAECBAgQIECAQKaAAjpT32wCBAgQIECAAAECBAgQIECAAAECBAgUFlBAFw7XagQIECBAgAABAgQIECBAgAABAgQIEMgUUEBn6ptNgAABAgQIECBAgAABAgQIECBAgACBwgIK6MLhWo0AAQIECBAgQIAAAQIECBAgQIAAAQKZAgroTH2zCRAgQIAAAQIECBAgQIAAAQIECBAgUFhAAV04XKsRIECAAAECBAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2RU+WYEAAAwpSURBVAQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAECBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFNAAZ2pbzYBAgQIECBAgAABAgQIECBAgAABAgQKCyigC4drNQIECBAgQIAAAQIECBAgQIAAAQIECGQKKKAz9c0mQIAAAQIECBAgQIAAAQIECBAgQIBAYQEFdOFwrUaAAAECBAgQIECAAAECBAgQIECAAIFMAQV0pr7ZBAgQIECAAAECBAgQIECAAAECBAgQKCyggC4crtUIECBAgAABAgQIECBAgAABAgQIECCQKaCAztQ3mwABAgQIECBAgAABAgQIECBAgAABAoUFFNCFw7UaAQIECBAgQIAAAQIECBAgQIAAAQIEMgUU0Jn6ZhMgQIAAAQIECBAgQIAAAQIECBAgQKCwgAK6cLhWI0CAAAECBAgQIECAAAECBAgQIECAQKaAAjpT32wCBAgQIECAAAECBAgQIECAAAECBAgUFlBAFw7XagQIECBAgAABAgQIECBAgAABAgQIEMgUUEBn6ptNgAABAgQIECBAgAABAgQIECBAgACBwgIK6MLhWo0AAQIECBAgQIAAAQIECBAgQIAAAQKZAgroTH2zCRAgQIAAAQIECBAgQIAAAQIECBAgUFhAAV04XKsRIECAAAECBAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2QQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAECBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFNAAZ2pbzYBAgQIECBAgAABAgQIECBAgAABAgQKCyigC4drNQIECBAgQIAAAQIECBAgQIAAAQIECGQKKKAz9c0mQIAAAQIECBAgQIAAAQIECBAgQIBAYQEFdOFwrUaAAAECBAgQIECAAAECBAgQIECAAIFMAQV0pr7ZBAgQIECAAAECBAgQIECAAAECBAgQKCyggC4crtUIECBAgAABAgQIECBAgAABAgQIECCQKaCAztQ3mwABAgQIECBAgAABAgQIECBAgAABAoUFFNCFw7UaAQIECBAgQIAAAQIECBAgQIAAAQIEMgUU0Jn6ZhMgQIAAAQIECBAgQIAAAQIECBAgQKCwgAK6cLhWI0CAAAECBAgQIECAAAECBAgQIECAQKaAAjpT32wCBAgQIECAAAECBAgQIECAAAECBAgUFlBAFw7XagQIECBAgAABAgQIECBAgAABAgQIEMgUUEBn6ptNgAABAgQIECBAgAABAgQIECBAgACBwgIK6MLhWo0AAQIECBAgQIAAAQIECBAgQIAAAQKZAgroTH2zCRAgQIAAAQIECBAgQIAAAQIECBAgUFhAAV04XKsRIECAAAECBAgQIECAAAECBAgQIEAgU0ABnalvNgECBAgQIECAAAECBAgQIECAAAECBAoLKKALh2s1AgQIECBAgAABAgQIECBAgAABAgQIZAoooDP1zSZAgAABAgQIECBAgAABAgQIECBAgEBhAQV04XCtRoAAAQIECBAgQIAAAQIECBAgQIAAgUwBBXSmvtkECBAgQIAAAQIECBAgQIAAAQIECBAoLKCALhyu1QgQIECAAAECBAgQIECAAAECBAgQIJApoIDO1DebAAECBAgQIECAAAECBAgQIECAAAEChQUU0IXDtRoBAgQIECBAgAABAgQIECBAgAABAgQyBRTQmfpmEyBAgAABAgQIECBAgAABAgQIECBAoLCAArpwuFYjQIAAAQIECBAgQIAAAQIECBAgQIBApoACOlPfbAIECBAgQIAAAQIECBAgQIAAAQIECBQWUEAXDtdqBAgQIECAAAECBAgQIECAAAECBAgQyBRQQGfqm02AAAECBAgQIECAAAECBAgQIECAAIHCAgrowuFajQABAgQIECBAgAABAgQIECBAgAABApkCCuhMfbMJECBAgAABAgQIECBAgAABAgQIECBQWEABXThcqxEgQIAAAQIECBAgQIAAAQIECBAgQCBTQAGdqW82AQIECBAgQIAAAQIECBAgQIAAAQIECgsooAuHazUCBAgQIECAAAECBAgQIECAAAECBAhkCiigM/XNJkCAAAECBAgQIECAAAECBAgQIECAQGEBBXThcK1GgAABAgQIECBAgAABAgQIECBAgACBTAEFdKa+2QQIECBAgAABAgQIECBAgAABAgQIECgsoIAuHK7VCBAgQIAAAQIECBAgQIAAAQIECBAgkCmggM7UN5sAAQIECBAgQIAAAQIECBAgQIAAAQKFBRTQhcO1GgECBAgQIECAAAECBAgQIECAAAECBDIFFNCZ+mYTIECAAAECBAgQIECAAAECBAgQIECgsIACunC4ViNAgAABAgQIECBAgAABAgQIECBAgECmgAI6U99sAgQIECBAgAABAgQIECBAgAABAgQIFBZQQBcO12oECBAgQIAAAQIECBAgQIAAAQIECBDIFFBAZ+qbTYAAAQIECBAgQIAAAQIECBAgQIAAgcICCujC4VqNAAECBAgQIECAAAECBAgQIECAAAECmQIK6Ex9swkQIECAAAECBAgQIECAAAECBAgQIFBYQAFdOFyrESBAgAABAgQIECBAgAABAgQIECBAIFPg/wEfP1ufGMTE4AAAAABJRU5ErkJggg==", + "created": 1745519274991, + "lastRetrieved": 1745519704514 + } + } +} \ No newline at end of file diff --git a/docs/architecture/media/app-host-dcp-flow.png b/docs/architecture/media/app-host-dcp-flow.png new file mode 100644 index 0000000000..32e359ccc7 Binary files /dev/null and b/docs/architecture/media/app-host-dcp-flow.png differ diff --git a/docs/architecture/media/app-host-delegation-dcp-thumb.png b/docs/architecture/media/app-host-delegation-dcp-thumb.png new file mode 100644 index 0000000000..1d21f3f0e9 Binary files /dev/null and b/docs/architecture/media/app-host-delegation-dcp-thumb.png differ diff --git a/docs/architecture/media/app-host-delegation-dcp.png b/docs/architecture/media/app-host-delegation-dcp.png new file mode 100644 index 0000000000..c905182673 Binary files /dev/null and b/docs/architecture/media/app-host-delegation-dcp.png differ diff --git a/docs/architecture/media/dcp-architecture-thumb.png b/docs/architecture/media/dcp-architecture-thumb.png new file mode 100644 index 0000000000..9d5759341f Binary files /dev/null and b/docs/architecture/media/dcp-architecture-thumb.png differ diff --git a/docs/architecture/media/dcp-architecture.png b/docs/architecture/media/dcp-architecture.png new file mode 100644 index 0000000000..1678331a84 Binary files /dev/null and b/docs/architecture/media/dcp-architecture.png differ diff --git a/docs/architecture/media/local-app-topology-thumb.png b/docs/architecture/media/local-app-topology-thumb.png new file mode 100644 index 0000000000..5f7237650b Binary files /dev/null and b/docs/architecture/media/local-app-topology-thumb.png differ diff --git a/docs/architecture/media/local-app-topology.png b/docs/architecture/media/local-app-topology.png new file mode 100644 index 0000000000..73da0de5d5 Binary files /dev/null and b/docs/architecture/media/local-app-topology.png differ diff --git a/docs/architecture/media/publish-app-topology-thumb.png b/docs/architecture/media/publish-app-topology-thumb.png new file mode 100644 index 0000000000..49abbdc083 Binary files /dev/null and b/docs/architecture/media/publish-app-topology-thumb.png differ diff --git a/docs/architecture/media/publish-app-topology.png b/docs/architecture/media/publish-app-topology.png new file mode 100644 index 0000000000..39f5aae420 Binary files /dev/null and b/docs/architecture/media/publish-app-topology.png differ diff --git a/docs/architecture/overview.md b/docs/architecture/overview.md new file mode 100644 index 0000000000..096f4617a8 --- /dev/null +++ b/docs/architecture/overview.md @@ -0,0 +1,193 @@ +--- +title: .NET Aspire architecture overview +description: Learn about the overall architecture of .NET Aspire, including its integrations, orchestration, and networking capabilities. +ms.date: 05/09/2025 +--- + +# .NET Aspire architecture overview + +.NET Aspire brings together a powerful suite of tools and libraries, designed to deliver a seamless and intuitive experience for developers. Its modular and extensible architecture empowers you to define your application model with precision, orchestrating intricate systems composed of services, containers, and executables. Whether your components span different programming languages, platforms, stacks, or operating systems, .NET Aspire ensures they work harmoniously, simplifying the complexity of modern cloud-native app development. + +## App model architecture + +Resources are the building blocks of your app model. They're used to represent abstract concepts like services, containers, executables, and external integrations. Specific resources enable developers to define dependencies on concrete implementations of these concepts. For example, a `Redis` resource can be used to represent a Redis cache, while a `Postgres` resource can represent a PostgreSQL database. + +While the app model is often synonymous with a collection of resources, it's also a high level representation of your entire application topology. This is important, as it's architected for lowering. In this way, .NET Aspire can be thought of as a compiler for application topology. + +### Lowering the model + +In a traditional compiler, the process of "lowering" involves translating a high-level programming language into progressively simpler representations: + +- **Intermediate Representation (IR):** The first step abstracts away language-specific features, creating a platform-neutral representation. +- **Machine Code:** The IR is then transformed into machine-specific instructions tailored to a specific CPU architecture. + +Similarly, .NET Aspire applies this concept to applications, treating the app model as the high-level language: + +- **Intermediate constructs:** The app model is first lowered into intermediate constructs, such as cloud development kit (CDK)-style object graphs. These constructs might be platform-agnostic or partially tailored to specific targets. +- **Target runtime representation:** Finally, a publisher generates the deployment-ready artifacts—YAML, HCL, JSON, or other formats—required by the target platform. + +This layered approach unlocks several key benefits: + +- **Validation and enrichment:** Models can be validated and enriched during the transformation process, ensuring correctness and completeness. +- **Multi-target support:** .NET Aspire supports multiple deployment targets, enabling flexibility across diverse environments. +- **Customizable workflow:** Developers can hook into each phase of the process to customize behavior, tailoring the output to specific needs. +- **Clean and portable models:** The high-level app model remains expressive, portable, and free from platform-specific concerns. + +Most importantly, the translation process itself is highly extensible. You can define custom transformations, enrichments, and output formats, allowing .NET Aspire to seamlessly adapt to your unique infrastructure and deployment requirements. This extensibility ensures that .NET Aspire remains a powerful and versatile tool, capable of evolving alongside your application's needs. + +### Modality and extensibility + +.NET Aspire operates in two primary modes, each tailored to streamline your specific needs—detailed in the following section. Both modes use a robust set of familiar APIs and a rich ecosystem of [integrations](../fundamentals/integrations-overview.md). Each integration simplifies working with a common service, framework, or platform, such as Redis, PostgreSQL, Azure services, or Orleans, for example. These integrations work together like puzzle pieces, enabling you to define resources, express dependencies, and configure behavior effortlessly—whether you're running locally or deploying to production. + +Why is modality important when it comes to the app host's execution context? This is because it allows you to define your app model once and with the appropriate APIs, specify how resources operate in each mode. Consider the following collection of resources: + +- Database: PostgreSQL +- Cache: Redis +- AI service: Ollama or OpenAI +- Backend: ASP.NET Core minimal API +- Frontend: React app + +Depending on the mode, the app host might treat these resources differently. For example, in run mode, the app host might use a local PostgreSQL database and Redis cache—using containers, while in publish mode, it might generate deployment artifacts for Azure PostgreSQL and Redis Cache. + +#### Run mode + +The default mode is run mode, which is ideal for local development and testing. In this mode, the .NET Aspire app host orchestrates your application model, including processes, containers, and cloud emulators, to facilitate fast and iterative development. Resources behave like real runtime entities with lifecycles that mirror production. With a simple F5, the app host launches everything in your [app model](xref:Aspire.Hosting.ApplicationModel.DistributedApplicationModel)—storage, databases, caches, messaging, jobs, APIs, frontends—all fully configured and ready to debug locally. Let's considering the app model from the previous section—where app host would orchestrate the following resources locally: + + + +:::image type="content" source="media/local-app-topology-thumb.png" alt-text="Local app topology for dev-time orchestration" lightbox="media/local-app-topology.png"::: + +For more information on how run mode works, see [Dev-time orchestration](#dev-time-orchestration). + +#### Publish mode + +The publish mode generates deployment-ready artifacts tailored to your target environment. The .NET Aspire app host compiles your app model into outputs like Kubernetes manifests, Terraform configs, Bicep/ARM templates, Docker Compose files, or CDK constructs—ready for integration into any deployment pipeline. The output format depends on the chosen publisher, giving you flexibility across deployment scenarios. When you consider the app model from the previous section, the app host doesn't orchestrate anything—instead, it emits publish artifacts that can be used to deploy your application to a cloud provider. For example, let's assume you want to deploy to Azure—the app host would emit Bicep templates that define the following resources: + + + +:::image type="content" source="media/publish-app-topology-thumb.png" alt-text="Published app topology" lightbox="media/publish-app-topology.png"::: + +For more information on how to publish mode, [.NET Aspire deployments](../deployment/overview.md). + +## Dev-time orchestration + +In run mode, [the app host orchestrates](../fundamentals/app-host-overview.md) all resources defined in your app model. But how does it achieve this? + +> [!IMPORTANT] +> The app host isn't a production runtime. It's a development-time orchestration tool that simplifies the process of running and debugging your application locally. + +In this section, several key questions are answered to help you understand how the app host orchestrates your app model: + +- **What powers the orchestration?** + + Orchestration is delegated to the [Microsoft Developer Control Plane](#developer-control-plane) (DCP), which manages resource lifecycles, startup order, dependencies, and network configurations across your app topology. + +- **How is the app model used?** + + The app model defines all resources via implementations of , including containers, processes, databases, and external services—forming the blueprint for orchestration. + +- **What role does the app host play?** + + The app host provides a high-level declaration of the desired application state. It delegates execution to DCP, which interprets the app model and performs orchestration accordingly. + +- **What resources are monitored?** + + All declared resources—including containers, executables, and integrations—are monitored to ensure correct behavior and to support a fast and reliable development workflow. + +- **How are containers and executables managed?** + + Containers and processes are initialized with their configurations and launched concurrently, respecting the dependency graph defined in the app model. DCP ensures their readiness and connectivity during orchestration, starting resources as quickly as possible while maintaining the correct order dictated by their dependencies. + +- **How are resource dependencies handled?** + + Dependencies are defined in the app model and evaluated by DCP to determine correct startup sequencing, ensuring resources are available before dependents start. + +- **How is networking configured?** + + Networking—such as port bindings—is autoconfigured unless explicitly defined. DCP resolves conflicts and ensures availability, enabling seamless communication between services. + +The orchestration process follows a layered architecture. At its core, the app host represents the developer's desired view of the distributed application's resources. DCP ensures that this desired state is realized by orchestrating the resources and maintaining consistency. + +The [app model](../fundamentals/app-host-overview.md#define-the-app-model) serves as a blueprint for DCP to orchestrate your application. Under the hood, the app host is a .NET console application powered by the [📦 Aspire.Hosting.AppHost](https://www.nuget.org/packages/Aspire.Hosting.AppHost) NuGet package. This package includes build targets that register orchestration dependencies, enabling seamless dev-time orchestration. + +DCP is a Kubernetes-compatible API server, meaning it uses the same network protocols and conventions as Kubernetes. This compatibility allows the .NET Aspire app host to leverage existing Kubernetes libraries for communication. Specifically, the app host contains an implementation of the `k8s.KubernetesClient` (from the [📦 KubernetesClient](https://www.nuget.org/packages/KubernetesClient) NuGet package), which is a .NET client for Kubernetes. This client is used to communicate with the DCP API server, enabling the app host to delegate orchestration tasks to DCP. + +When you run the app host, it performs the first step of "lowering" by translating the general-purpose .NET Aspire app model into a DCP-specific model tailored for local execution in run mode. This DCP model is then handed off to DCP, which evaluates it and orchestrates the resources accordingly. This separation ensures that the app host focuses on adapting the .NET Aspire app model for local execution, while DCP specializes in executing the tailored model. The following diagram helps to visualize this orchestration process: + + + +:::image type="content" source="media/app-host-dcp-flow-thumb.png" alt-text="A flow diagram depicting how the app host delegates to DCP." lightbox="media/app-host-dcp-flow.png"::: + +For more information on the app host and APIs for building the app model, see [.NET Aspire orchestration overview](../fundamentals/app-host-overview.md). + +### Developer Control Plane + +DCP is at the core of the .NET Aspire app host orchestration functionality. It's responsible for orchestrating all resources defined in your app model, starting the developer dashboard, ensuring that everything is set up correctly for local development and testing. DCP manages the lifecycle of resources, applies network configurations, and resolves dependencies. + +DCP is written in Go, aligning with Kubernetes and its ecosystem, which are also Go-based. This choice enables deep, native integration with Kubernetes APIs, efficient concurrency, and access to mature tooling like Kubebuilder. DCP is delivered as two executables: + +- `dcp.exe`: API server that exposes a Kubernetes-like API endpoint for the app host to communicate with. Additionally, it exposes log streaming to the app host, which ultimately streams logs to the developer dashboard. +- `dcpctrl.exe`: Controller that monitors the API server for new objects and changes, ensuring that the real-world environment matches the specified model. + +> [!NOTE] +> DCP operates on the principle of "eventual consistency," meaning that changes to the model and the real-world environment are applied asynchronously. While this approach may introduce noticeable delays, DCP is designed to diligently synchronize both states. Unlike a "strongly consistent" system that might fail immediately on encountering issues, DCP persistently retries until the desired state is achieved or an error is conclusively determined, often resulting in a more robust alignment between the model and the real world. + +When the app host runs, it uses Kubernetes client libraries to communicate with DCP. It translates the app model into a format DCP can process by converting the model's resources into specifications. Specifically, this involves generating Kubernetes Custom Resource Definitions (CRDs) that represent the application's desired state. + +DCP performs the following tasks: + +- Prepares the resources for execution: + - Configures service endpoints. + - Assigns names and ports dynamically, unless explicitly set (DCP ensures that the ports are available and not in use by other processes). + - Initializes container networks. + - Pulls container images based on their applied [pull policy](xref:Aspire.Hosting.ApplicationModel.ImagePullPolicy). + - Creates and starts containers. + - Runs executables with the required arguments and environment variables. +- Monitors resources: + - Provides change notifications about objects managed within DCP, including process IDs, running status, and exit codes (the app host subscribes to these changes to manage the [application's lifecycle](../app-host/eventing.md) effectively). +- Starts the developer dashboard. + +Continuing from the [diagram in the previous](#app-host-dcp-flow) section, consider the following diagram that helps to visualize the responsibilities of DCP: + + + +:::image type="content" source="media/dcp-architecture-thumb.png" alt-text="A diagram depicting the architecture of the Developer Control Plane (DCP)." lightbox="media/dcp-architecture.png"::: + +DCP logs are streamed back to the app host, which then forwards them to the developer dashboard. While the developer dashboard exposes commands such as start, stop, and restart, these commands are not part of DCP itself. Instead, they are implemented by the app model runtime, specifically within its "dashboard service" component. These commands operate by manipulating DCP objects—creating new ones, deleting old ones, or updating their properties. For example, restarting a .NET project involves stopping and deleting the existing representing the project and creating a new one with the same specifications. For more information on commands, see [Custom resource commands in .NET Aspire](../fundamentals/custom-resource-commands.md). + +## Developer dashboard + +The [.NET Aspire developer dashboard](../fundamentals/dashboard/overview.md) is a powerful tool designed to simplify local development and resource management. It also supports a [standalone mode](../fundamentals/dashboard/standalone.md) and integrates seamlessly when publishing to Azure Container Apps. With its intuitive interface, the dashboard empowers developers to monitor, manage, and interact with application resources effortlessly. + +### Monitor and manage resources + +The dashboard provides a user-friendly interface for inspecting resource states, viewing logs, and executing commands. Whether you're debugging locally or deploying to the cloud, the dashboard ensures you have full visibility into your application's behavior. + +### Built-in and custom commands + +The dashboard provides a set of commands for managing resources, such as start, stop, and restart. While commands appear as intuitive actions in the dashboard UI, under the hood, they operate by manipulating DCP objects. For more information, see [Stop or Start a resource](../fundamentals/dashboard/explore.md#stop-or-start-a-resource). + +In addition to these built-in commands, you can define custom commands tailored to your application's needs. These custom commands are registered in the app model and seamlessly integrated into the dashboard, providing enhanced flexibility and control. Learn more about custom commands in [Custom resource commands in .NET Aspire](../fundamentals/custom-resource-commands.md). + +### Real-time log streaming + +Stay informed with the dashboard's [real-time log streaming](../fundamentals/dashboard/explore.md#console-logs-page) feature. Logs from all resources in your app model are streamed from DCP to the app host and displayed in the dashboard. With advanced filtering options—by resource type, severity, and more—you can quickly pinpoint relevant information and troubleshoot effectively. + +The developer dashboard is more than just a tool—it's your command center for building, debugging, and managing .NET Aspire applications with confidence and ease. + +## See also + +- [Orchestration overview](../fundamentals/app-host-overview.md) +- [Explore the .NET Aspire dashboard](../fundamentals/dashboard/explore.md) diff --git a/docs/authentication/snippets/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj b/docs/authentication/snippets/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj index ecf2b62c33..5c7c5a1168 100644 --- a/docs/authentication/snippets/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj +++ b/docs/authentication/snippets/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj @@ -17,7 +17,7 @@ - diff --git a/docs/azure/azure-app-configuration-integration.md b/docs/azure/azure-app-configuration-integration.md new file mode 100644 index 0000000000..27b0ec6e5e --- /dev/null +++ b/docs/azure/azure-app-configuration-integration.md @@ -0,0 +1,305 @@ +--- +title: Azure App Configuration integration +description: Learn how to use Azure App Configuration with .NET Aspire. +ms.date: 05/15/2025 +--- + +# .NET Aspire Azure App Configuration integration + +[!INCLUDE [includes-hosting-and-client](../includes/includes-hosting-and-client.md)] + +[Azure App Configuration](/azure/azure-app-configuration/overview) provides a service to centrally manage application settings and feature flags. Modern programs, especially programs running in a cloud, generally have many components that are distributed in nature. Spreading configuration settings across these components can lead to hard-to-troubleshoot errors during an application deployment. The .NET Aspire Azure App Configuration integration enables you to connect to existing App Configuration instances or create new instances all from your app host. + +## Hosting integration + +The .NET Aspire Azure App Configuration hosting integration models the App Configuration resource as the type. To access this type and APIs fro expressing the resource, add the [📦 Aspire.Hosting.Azure.AppConfiguration](https://www.nuget.org/packages/Aspire.Hosting.Azure.AppConfiguration) NuGet package in the [app host](xref:dotnet/aspire/app-host) project. + +### [.NET CLI](#tab/dotnet-cli) + +```dotnetcli +dotnet add package Aspire.Hosting.Azure.AppConfiguration +``` + +### [PackageReference](#tab/package-reference) + +```xml + +``` + +--- + +For more information, see [dotnet add package](/dotnet/core/tools/dotnet-add-package) or [Manage package dependencies in .NET applications](/dotnet/core/tools/dependencies). + +### Add Azure App Configuration resource + +In your app host project, call to add and return an Azure App Configuration resource builder. + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +var appConfig = builder.AddAzureAppConfiguration("config"); + +// After adding all resources, run the app... + +builder.Build().Run(); +``` + +When you add an to the app host, it exposes other useful APIs. + +> [!IMPORTANT] +> When you call , it implicitly calls —which adds support for generating Azure resources dynamically during app startup. The app must configure the appropriate subscription and location. For more information, see [Local provisioning: Configuration](local-provisioning.md#configuration). + +#### Provisioning-generated Bicep + +If you're new to [Bicep](/azure/azure-resource-manager/bicep/overview), it's a domain-specific language for defining Azure resources. With .NET Aspire, you don't need to write Bicep by-hand, instead the provisioning APIs generate Bicep for you. When you publish your app, the generated Bicep is output alongside the manifest file. When you add an Azure App Configuration resource, the following Bicep is generated: + +:::code language="bicep" source="../snippets/azure/AppHost/config.module.bicep"::: + +The preceding Bicep is a module that provisions an Azure App Configuration resource. Additionally, role assignments are created for the Azure resource in a separate module: + +:::code language="bicep" source="../snippets/azure/AppHost/config-roles.module.bicep"::: + +The generated Bicep is a starting point and is influenced by changes to the provisioning infrastructure in C#. Customizations to the Bicep file directly will be overwritten, so make changes through the C# provisioning APIs to ensure they're reflected in the generated files. + +#### Customize provisioning infrastructure + +All .NET Aspire Azure resources are subclasses of the type. This type enables the customization of the generated Bicep by providing a fluent API to configure the Azure resources—using the API. For example, you can configure the `sku`, purge protection, and more. The following example demonstrates how to customize the Azure App Configuration resource: + +:::code language="csharp" source="../snippets/azure/AppHost/Program.ConfigureAppConfigInfra.cs" id="configure"::: + +The preceding code: + +- Chains a call to the API: + - The `infra` parameter is an instance of the type. + - The provisionable resources are retrieved by calling the method. + - The single is retrieved. + - The is assigned to `Free`. + - A tag is added to the App Configuration store with a key of `ExampleKey` and a value of `Example value`. + +There are many more configuration options available to customize the Azure App Configuration resource. For more information, see . For more information, see [Azure.Provisioning customization](integrations-overview.md#azureprovisioning-customization). + +### Use existing Azure App Configuration resource + +You might have an existing Azure App Configuration store that you want to connect to. If you want to use an existing Azure App Configuration store, you can do so by calling the method. This method accepts the config store and resource group names as parameters, and uses it to connect to the existing Azure App Configuration store resource. + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +var configName = builder.AddParameter("configName"); +var configResourceGroupName = builder.AddParameter("configResourceGroupName"); + +var appConfig = builder.AddAzureAppConfiguration("config") + .AsExisting(configName, configResourceGroupName); + +// After adding all resources, run the app... + +builder.Build().Run(); +``` + +For more information, see [Use existing Azure resources](integrations-overview.md#use-existing-azure-resources). + +### Connect to an existing Azure App Configuration store + +An alternative approach to using the `*AsExisting` APIs enables the addition of a connection string instead, where the app host uses configuration to resolve the connection information. To add a connection to an existing Azure App Configuration store, call the method: + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +var config = builder.AddConnectionString("config"); + +builder.AddProject("web") + .WithReference(config); + +// After adding all resources, run the app... +``` + +[!INCLUDE [connection-strings-alert](../includes/connection-strings-alert.md)] + +The connection string is configured in the app host's configuration, typically under [User Secrets](/aspnet/core/security/app-secrets), under the `ConnectionStrings` section. The app host injects this connection string as an environment variable into all dependent resources, for example: + +```json +{ + "ConnectionStrings": { + "config": "https://{store_name}.azconfig.io" + } +} +``` + +The dependent resource can access the injected connection string by calling the method, and passing the connection name as the parameter, in this case `"config"`. The `GetConnectionString` API is shorthand for `IConfiguration.GetSection("ConnectionStrings")[name]`. + +## Client integration + +To get started with the .NET Aspire Azure App Configuration client integration, install the [📦 Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration](https://www.nuget.org/packages/Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration) NuGet package in the client-consuming project, that is, the project for the application that uses the App Configuration client. The App Configuration client integration registers a instance that you can use to interact with App Configuration. + +### [.NET CLI](#tab/dotnet-cli) + +```dotnetcli +dotnet add package Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration +``` + +### [PackageReference](#tab/package-reference) + +```xml + +``` + +--- + +In the :::no-loc text="Program.cs"::: file of your client-consuming project, call the `AddAzureAppConfiguration` extension method on any to register the required services to flow Azure App Configuration values into the instance for use via the dependency injection container. The method takes a connection name parameter. + +```csharp +builder.AddAzureAppConfiguration(connectionName: "config"); +``` + +> [!TIP] +> The `connectionName` parameter must match the name used when adding the App Configuration resource in the app host project. In other words, when you call `AddAzureAppConfiguration` in the app host and provide a name of `config` that same name should be used when calling `AddAzureAppConfiguration` in the client-consuming project. For more information, see [Add Azure App Configuration resource](#add-azure-app-configuration-resource). + +You can then retrieve the instance using dependency injection. For example, to retrieve the client from an example service: + +```csharp +public class ExampleService(IConfiguration configuration) +{ + private readonly string _someValue = configuration["SomeKey"]; +} +``` + +### Use feature flags + +To use feature flags, install the [📦 Microsoft.FeatureManagement](https://www.nuget.org/packages/Microsoft.FeatureManagement) NuGet package: + +### [.NET CLI](#tab/dotnet-cli) + +```dotnetcli +dotnet add package Microsoft.FeatureManagement +``` + +### [PackageReference](#tab/package-reference) + +```xml + +``` + +--- + +App Configuration doesn't load feature flags by default. To load feature flags, you pass the `Action configureOptions` delegate when calling `builder.AddAzureAppConfiguration`. + +```csharp +builder.AddAzureAppConfiguration( + "config", + configureOptions: options => options.UseFeatureFlags()); + +// Register feature management services +builder.Services.AddFeatureManagement(); +``` + +You can then use to evaluate feature flags in your app. Consider the following example ASP.NET Core Minimal API app: + +```csharp +using Microsoft.Extensions.Hosting; +using Microsoft.FeatureManagement; + +var builder = WebApplication.CreateBuilder(args); + +builder.AddAzureAppConfiguration( + "config", + configureOptions: options => options.UseFeatureFlags()); + +// Register feature management services +builder.Services.AddFeatureManagement(); + +var app = builder.Build(); + +app.MapGet("/", async (IFeatureManager featureManager) => +{ + if (await featureManager.IsEnabledAsync("NewFeature")) + { + return Results.Ok("New feature is enabled!"); + } + + return Results.Ok("Using standard implementation."); +}); + +app.Run(); +``` + +For more information, see [.NET Feature Management](/azure/azure-app-configuration/feature-management-dotnet-reference). + +### Configuration + +The .NET Aspire Azure App Configuration library provides multiple options to configure the Azure App Configuration connection based on the requirements and conventions of your project. The App Config endpoint is required to be supplied, either in `AzureAppConfigurationSettings.Endpoint` or using a connection string. + +#### Use a connection string + +When using a connection string from the `ConnectionStrings` configuration section, you can provide the name of the connection string when calling `builder.AddAzureAppConfiguration()`: + +```csharp +builder.AddAzureAppConfiguration("config"); +``` + +Then the App Configuration endpoint is retrieved from the `ConnectionStrings` configuration section. The App Configuration store URI works with the `AzureAppConfigurationSettings.Credential` property to establish a connection. If no credential is configured, the is used. + +```json +{ + "ConnectionStrings": { + "config": "https://{store_name}.azconfig.io" + } +} +``` + +#### Use configuration providers + +The .NET Aspire Azure App Configuration library supports . It loads the `AzureAppConfigurationSettings` from configuration by using the `Aspire:Microsoft:Extensions:Configuration:AzureAppConfiguration` key. Example _appsettings.json_ that configures some of the options: + +```json +{ + "Aspire": { + "Microsoft": { + "Extensions": { + "Configuration": { + "AzureAppConfiguration": { + "Endpoint": "YOUR_APPCONFIGURATION_ENDPOINT_URI" + } + } + } + } + } +} +``` + +For the complete App Configuration client integration JSON schema, see [./ConfigurationSchema.json](https://github.com/dotnet/aspire/blob/main/src/Components/Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration/ConfigurationSchema.json). + +#### Use inline delegates + +You can also pass the `Action configureSettings` delegate to set up some or all the options inline, for example to set App Configuration endpoint from code: + +```csharp +builder.AddAzureAppConfiguration( + "config", + configureSettings: settings => settings.Endpoint = "http://YOUR_URI"); +``` + +[!INCLUDE [integration-observability-and-telemetry](../includes/integration-observability-and-telemetry.md)] + +#### Logging + +The .NET Aspire Azure App Configuration integration uses the following log categories: + +- `Microsoft.Extensions.Configuration.AzureAppConfiguration.Refresh` + +#### Tracing + +The .NET Aspire Azure App Configuration integration doesn't make use any activity sources thus no tracing is available. + +#### Metrics + +The .NET Aspire Azure App Configuration integration currently doesn't support metrics. + +## See also + +- [Azure App Configuration documentation](/azure/azure-app-configuration/) +- [.NET Aspire integrations overview](../fundamentals/integrations-overview.md) +- [.NET Aspire Azure integrations overview](../azure/integrations-overview.md) +- [.NET Aspire GitHub repo](https://github.com/dotnet/aspire) diff --git a/docs/azure/container-registry-integration.md b/docs/azure/container-registry-integration.md new file mode 100644 index 0000000000..3bd988eb1e --- /dev/null +++ b/docs/azure/container-registry-integration.md @@ -0,0 +1,114 @@ +--- +title: Azure Container Registry integration (Preview) +description: Learn how to integrate Azure Container Registry with .NET Aspire for secure container image management. +ms.date: 05/09/2025 +--- + +# .NET Aspire Azure Container Registry integration (Preview) + +[!INCLUDE [includes-hosting](../includes/includes-hosting.md)] + +> [!IMPORTANT] +> The .NET Aspire Azure Functions integration is currently in preview and is subject to change. + +[Azure Container Registry (ACR)](/azure/container-registry) is a managed Docker container registry service that simplifies the storage, management, and deployment of container images. The .NET Aspire integration allows you to provision or reference an existing Azure Container Registry and seamlessly integrate it with your app's compute environments. + +## Overview + +.NET Aspire apps often build and run container images locally but require secure registries for staging and production environments. The Azure Container Registry integration provides the following capabilities: + +- Provision or reference an existing Azure Container Registry. +- Attach the registry to any compute-environment resource (for example, Azure Container Apps, Docker, Kubernetes) to ensure proper credential flow. +- Grant fine-grained ACR role assignments to other Azure resources. + +## Supported scenarios + +The Azure Container Registry integration supports the following scenarios: + +- **Provisioning a new registry**: Automatically create a new Azure Container Registry for your app. +- **Referencing an existing registry**: Use an existing Azure Container Registry by providing its name and resource group. +- **Credential management**: Automatically flow credentials to compute environments for secure image pulls. +- **Role assignments**: Assign specific roles (for example, `AcrPush`) to enable services to push images to the registry. + +## Hosting integration + +The Azure Container Registry integration is part of the .NET Aspire hosting model. It allows you to define and manage your app's resources in a declarative manner. The integration is available in the [📦 Aspire.Hosting.Azure.ContainerRegistry](https://www.nuget.org/packages/Aspire.Hosting.Azure.ContainerRegistry) NuGet package. + +### [.NET CLI](#tab/dotnet-cli) + +```dotnetcli +dotnet add package Aspire.Hosting.Azure.ContainerRegistry +``` + +### [PackageReference](#tab/package-reference) + +```xml + +``` + +--- + +For more information, see [dotnet add package](/dotnet/core/tools/dotnet-add-package) or [Manage package dependencies in .NET applications](/dotnet/core/tools/dependencies). + +### Provision a new container registry + +The following example demonstrates how to provision a new Azure Container Registry and attach it to a container app environment: + +:::code source="snippets/acr//AspireAcr.AppHost/AspireAcr.AppHost/Program.cs"::: + +The preceding code: + +- Creates a new Azure Container Registry named `my-acr`. +- Attaches the registry to an Azure Container Apps environment named `env`. +- Optionally grants the `AcrPush` role to a project resource named `api`, allowing it to push images to the registry. + +For more information, see [Configure Azure Container Apps environments](configure-aca-environments.md). + +> [!IMPORTANT] +> When you call `AddAzureContainerRegistry` or `AddAzureContainerAppEnvironment`, they implicitly call the idempotent —which adds support for generating Azure resources dynamically during app startup. The app must configure the appropriate subscription and location. For more information, see [Local provisioning: Configuration](local-provisioning.md#configuration). + +#### Provisioning-generated Bicep + +If you're new to [Bicep](/azure/azure-resource-manager/bicep/overview), it's a domain-specific language for defining Azure resources. With .NET Aspire, you don't need to write Bicep by-hand, instead the provisioning APIs generate Bicep for you. When you publish your app, the generated Bicep is output alongside the manifest file. When you add an Azure Container Registry resource, the following Bicep is generated: + +:::code language="bicep" source="snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/my-acr.module.bicep"::: + +The preceding Bicep provisions an Azure Container Registry resource. Additionally, the added Azure Container App environment resource is also generated: + +:::code language="bicep" source="snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/env.module.bicep"::: + +The generated Bicep is a starting point and is influenced by changes to the provisioning infrastructure in C#. Customizations to the Bicep file directly are overwritten, so make changes through the C# provisioning APIs to ensure they're reflected in the generated files. + +### Reference an existing container registry + +To reference an existing Azure Container Registry, use the method with the registry name and resource group: + +:::code source="snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/Program.Existing.cs" id="existing"::: + +The preceding code: + +- References an existing Azure Container Registry named `my-acr` in the specified resource group. +- Attaches the registry to an Azure Container Apps environment named `env`. +- Uses parameters to allow for dynamic configuration of the registry name and resource group. +- Optionally grants the `AcrPush` role to a project resource named `api`, allowing it to push images to the registry. + +### Key features + +**Automatic credential flow** + +When you attach an Azure Container Registry to a compute environment, Aspire automatically ensures that the correct credentials are available for secure image pulls. + +**Fine-grained role assignments** + +You can assign specific roles to Azure resources to control access to the container registry. For example, the `AcrPush` role allows a service to push images to the registry. + +```csharp +builder.AddProject("api", "../Api/Api.csproj") + .WithRoleAssignments(acr, ContainerRegistryBuiltInRole.AcrPush); +``` + +## See also + +- [Azure Container Registry documentation](/azure/container-registry) +- [.NET Aspire Azure integrations overview](integrations-overview.md) diff --git a/docs/azure/integrations-overview.md b/docs/azure/integrations-overview.md index 85bfae3535..5d1bceebf5 100644 --- a/docs/azure/integrations-overview.md +++ b/docs/azure/integrations-overview.md @@ -1,7 +1,7 @@ --- title: Azure integrations overview description: Overview of the Azure integrations available in the .NET Aspire. -ms.date: 04/10/2025 +ms.date: 05/09/2025 uid: dotnet/aspire/integrations/azure-overview --- @@ -323,6 +323,9 @@ The preceding code: To configure the Azure Container App environment, see [Configure Azure Container Apps environments](configure-aca-environments.md). For more information, see and . +> [!TIP] +> If you're working with Azure Container Apps, you might also be interested in the [.NET Aspire Azure Container Registry integration](container-registry-integration.md). + ## Infrastructure as code The Azure SDK for .NET provides the [📦 Azure.Provisioning](https://www.nuget.org/packages/Azure.Provisioning) NuGet package and a suite of service-specific [Azure provisioning packages](https://www.nuget.org/packages?q=owner%3A+azure-sdk+description%3A+declarative+resource+provisioning&sortby=relevance). These Azure provisioning libraries make it easy to declaratively specify Azure infrastructure natively in .NET. Their APIs enable you to write object-oriented infrastructure in C#, resulting in Bicep. [Bicep is a domain-specific language (DSL)](/azure/azure-resource-manager/bicep/overview) for deploying Azure resources declaratively. diff --git a/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/AspireAcr.AppHost.csproj b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/AspireAcr.AppHost.csproj new file mode 100644 index 0000000000..20092aa8d7 --- /dev/null +++ b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/AspireAcr.AppHost.csproj @@ -0,0 +1,20 @@ + + + + + + Exe + net9.0 + enable + enable + true + 4a4b5271-16e5-49fd-a7a1-ff2849aefc25 + + + + + + + + + diff --git a/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/Program.Existing.cs b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/Program.Existing.cs new file mode 100644 index 0000000000..88e3440599 --- /dev/null +++ b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/Program.Existing.cs @@ -0,0 +1,24 @@ +using Azure.Provisioning.ContainerRegistry; + +internal static partial class Program +{ + internal static void ReferenceExisting(string[] args) + { + // + var builder = DistributedApplication.CreateBuilder(args); + + var registryName = builder.AddParameter("registryName"); + var rgName = builder.AddParameter("rgName"); + + // Add (or reference) the registry + var acr = builder.AddAzureContainerRegistry("my-acr") + .PublishAsExisting(registryName, rgName); + + // Wire an environment to that registry + builder.AddAzureContainerAppEnvironment("env") + .WithAzureContainerRegistry(acr); + + builder.Build().Run(); + // + } +} \ No newline at end of file diff --git a/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/Program.cs b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/Program.cs new file mode 100644 index 0000000000..9c1f2a4314 --- /dev/null +++ b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/Program.cs @@ -0,0 +1,12 @@ +using Azure.Provisioning.ContainerRegistry; + +var builder = DistributedApplication.CreateBuilder(args); + +// Add (or reference) the registry +var acr = builder.AddAzureContainerRegistry("my-acr"); + +// Wire an environment to that registry +builder.AddAzureContainerAppEnvironment("env") + .WithAzureContainerRegistry(acr); + +builder.Build().Run(); diff --git a/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/Properties/launchSettings.json b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/Properties/launchSettings.json new file mode 100644 index 0000000000..4bdb81f981 --- /dev/null +++ b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/Properties/launchSettings.json @@ -0,0 +1,35 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:17190;http://localhost:15027", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "DOTNET_ENVIRONMENT": "Development", + "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21284", + "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22130" + } + }, + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:15027", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "DOTNET_ENVIRONMENT": "Development", + "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19098", + "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20225" + } + }, + "generate-manifest": { + "commandName": "Project", + "launchBrowser": false, + "dotnetRunMessages": true, + "commandLineArgs": "--publisher manifest --output-path aspire-manifest.json", + } + } +} diff --git a/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/api-identity.module.bicep b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/api-identity.module.bicep new file mode 100644 index 0000000000..0ff5902d5b --- /dev/null +++ b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/api-identity.module.bicep @@ -0,0 +1,15 @@ +@description('The location for the resource(s) to be deployed.') +param location string = resourceGroup().location + +resource api_identity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = { + name: take('api_identity-${uniqueString(resourceGroup().id)}', 128) + location: location +} + +output id string = api_identity.id + +output clientId string = api_identity.properties.clientId + +output principalId string = api_identity.properties.principalId + +output principalName string = api_identity.name \ No newline at end of file diff --git a/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/api-roles-my-acr.module.bicep b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/api-roles-my-acr.module.bicep new file mode 100644 index 0000000000..0c3c78e2f7 --- /dev/null +++ b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/api-roles-my-acr.module.bicep @@ -0,0 +1,20 @@ +@description('The location for the resource(s) to be deployed.') +param location string = resourceGroup().location + +param my_acr_outputs_name string + +param principalId string + +resource my_acr 'Microsoft.ContainerRegistry/registries@2023-07-01' existing = { + name: my_acr_outputs_name +} + +resource my_acr_AcrPush 'Microsoft.Authorization/roleAssignments@2022-04-01' = { + name: guid(my_acr.id, principalId, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8311e382-0749-4cb8-b61a-304f252e45ec')) + properties: { + principalId: principalId + roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8311e382-0749-4cb8-b61a-304f252e45ec') + principalType: 'ServicePrincipal' + } + scope: my_acr +} \ No newline at end of file diff --git a/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/api.module.bicep b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/api.module.bicep new file mode 100644 index 0000000000..7ca43d4278 --- /dev/null +++ b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/api.module.bicep @@ -0,0 +1,84 @@ +@description('The location for the resource(s) to be deployed.') +param location string = resourceGroup().location + +param api_identity_outputs_id string + +param api_identity_outputs_clientid string + +param api_containerport string + +param env_outputs_azure_container_apps_environment_default_domain string + +param env_outputs_azure_container_apps_environment_id string + +param env_outputs_azure_container_registry_endpoint string + +param env_outputs_azure_container_registry_managed_identity_id string + +param api_containerimage string + +resource api 'Microsoft.App/containerApps@2024-03-01' = { + name: 'api' + location: location + properties: { + configuration: { + activeRevisionsMode: 'Single' + ingress: { + external: false + targetPort: api_containerport + transport: 'http' + } + registries: [ + { + server: env_outputs_azure_container_registry_endpoint + identity: env_outputs_azure_container_registry_managed_identity_id + } + ] + } + environmentId: env_outputs_azure_container_apps_environment_id + template: { + containers: [ + { + image: api_containerimage + name: 'api' + env: [ + { + name: 'OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES' + value: 'true' + } + { + name: 'OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES' + value: 'true' + } + { + name: 'OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY' + value: 'in_memory' + } + { + name: 'ASPNETCORE_FORWARDEDHEADERS_ENABLED' + value: 'true' + } + { + name: 'HTTP_PORTS' + value: api_containerport + } + { + name: 'AZURE_CLIENT_ID' + value: api_identity_outputs_clientid + } + ] + } + ] + scale: { + minReplicas: 1 + } + } + } + identity: { + type: 'UserAssigned' + userAssignedIdentities: { + '${api_identity_outputs_id}': { } + '${env_outputs_azure_container_registry_managed_identity_id}': { } + } + } +} \ No newline at end of file diff --git a/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/aspire-manifest.json b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/aspire-manifest.json new file mode 100644 index 0000000000..53644a4020 --- /dev/null +++ b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/aspire-manifest.json @@ -0,0 +1,66 @@ +{ + "$schema": "https://json.schemastore.org/aspire-8.0.json", + "resources": { + "my-acr": { + "type": "azure.bicep.v0", + "path": "my-acr.module.bicep" + }, + "env": { + "type": "azure.bicep.v0", + "path": "env.module.bicep", + "params": { + "my_acr_outputs_name": "{my-acr.outputs.name}", + "userPrincipalId": "" + } + }, + "api": { + "type": "project.v1", + "path": "../Api/Api.csproj", + "deployment": { + "type": "azure.bicep.v0", + "path": "api.module.bicep", + "params": { + "api_identity_outputs_id": "{api-identity.outputs.id}", + "api_identity_outputs_clientid": "{api-identity.outputs.clientId}", + "api_containerport": "{api.containerPort}", + "env_outputs_azure_container_apps_environment_default_domain": "{env.outputs.AZURE_CONTAINER_APPS_ENVIRONMENT_DEFAULT_DOMAIN}", + "env_outputs_azure_container_apps_environment_id": "{env.outputs.AZURE_CONTAINER_APPS_ENVIRONMENT_ID}", + "env_outputs_azure_container_registry_endpoint": "{env.outputs.AZURE_CONTAINER_REGISTRY_ENDPOINT}", + "env_outputs_azure_container_registry_managed_identity_id": "{env.outputs.AZURE_CONTAINER_REGISTRY_MANAGED_IDENTITY_ID}", + "api_containerimage": "{api.containerImage}" + } + }, + "env": { + "OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES": "true", + "OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES": "true", + "OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY": "in_memory", + "ASPNETCORE_FORWARDEDHEADERS_ENABLED": "true", + "HTTP_PORTS": "{api.bindings.http.targetPort}" + }, + "bindings": { + "http": { + "scheme": "http", + "protocol": "tcp", + "transport": "http" + }, + "https": { + "scheme": "https", + "protocol": "tcp", + "transport": "http" + } + } + }, + "api-identity": { + "type": "azure.bicep.v0", + "path": "api-identity.module.bicep" + }, + "api-roles-my-acr": { + "type": "azure.bicep.v0", + "path": "api-roles-my-acr.module.bicep", + "params": { + "my_acr_outputs_name": "{my-acr.outputs.name}", + "principalId": "{api-identity.outputs.principalId}" + } + } + } +} \ No newline at end of file diff --git a/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/env.module.bicep b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/env.module.bicep new file mode 100644 index 0000000000..496963df9b --- /dev/null +++ b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/env.module.bicep @@ -0,0 +1,97 @@ +@description('The location for the resource(s) to be deployed.') +param location string = resourceGroup().location + +param userPrincipalId string + +param tags object = { } + +param my_acr_outputs_name string + +resource env_mi 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = { + name: take('env_mi-${uniqueString(resourceGroup().id)}', 128) + location: location + tags: tags +} + +resource my_acr 'Microsoft.ContainerRegistry/registries@2023-07-01' existing = { + name: my_acr_outputs_name +} + +resource my_acr_env_mi_AcrPull 'Microsoft.Authorization/roleAssignments@2022-04-01' = { + name: guid(my_acr.id, env_mi.id, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '7f951dda-4ed3-4680-a7ca-43fe172d538d')) + properties: { + principalId: env_mi.properties.principalId + roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '7f951dda-4ed3-4680-a7ca-43fe172d538d') + principalType: 'ServicePrincipal' + } + scope: my_acr +} + +resource env_law 'Microsoft.OperationalInsights/workspaces@2023-09-01' = { + name: take('envlaw-${uniqueString(resourceGroup().id)}', 63) + location: location + properties: { + sku: { + name: 'PerGB2018' + } + } + tags: tags +} + +resource env 'Microsoft.App/managedEnvironments@2024-03-01' = { + name: take('env${uniqueString(resourceGroup().id)}', 24) + location: location + properties: { + appLogsConfiguration: { + destination: 'log-analytics' + logAnalyticsConfiguration: { + customerId: env_law.properties.customerId + sharedKey: env_law.listKeys().primarySharedKey + } + } + workloadProfiles: [ + { + name: 'consumption' + workloadProfileType: 'Consumption' + } + ] + } + tags: tags +} + +resource aspireDashboard 'Microsoft.App/managedEnvironments/dotNetComponents@2024-10-02-preview' = { + name: 'aspire-dashboard' + properties: { + componentType: 'AspireDashboard' + } + parent: env +} + +resource env_Contributor 'Microsoft.Authorization/roleAssignments@2022-04-01' = { + name: guid(env.id, userPrincipalId, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')) + properties: { + principalId: userPrincipalId + roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') + } + scope: env +} + +output MANAGED_IDENTITY_NAME string = env_mi.name + +output MANAGED_IDENTITY_PRINCIPAL_ID string = env_mi.properties.principalId + +output AZURE_LOG_ANALYTICS_WORKSPACE_NAME string = env_law.name + +output AZURE_LOG_ANALYTICS_WORKSPACE_ID string = env_law.id + +output AZURE_CONTAINER_REGISTRY_NAME string = my_acr_outputs_name + +output AZURE_CONTAINER_REGISTRY_ENDPOINT string = my_acr.properties.loginServer + +output AZURE_CONTAINER_REGISTRY_MANAGED_IDENTITY_ID string = env_mi.id + +output AZURE_CONTAINER_APPS_ENVIRONMENT_NAME string = env.name + +output AZURE_CONTAINER_APPS_ENVIRONMENT_ID string = env.id + +output AZURE_CONTAINER_APPS_ENVIRONMENT_DEFAULT_DOMAIN string = env.properties.defaultDomain \ No newline at end of file diff --git a/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/my-acr.module.bicep b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/my-acr.module.bicep new file mode 100644 index 0000000000..72427e348a --- /dev/null +++ b/docs/azure/snippets/acr/AspireAcr.AppHost/AspireAcr.AppHost/my-acr.module.bicep @@ -0,0 +1,17 @@ +@description('The location for the resource(s) to be deployed.') +param location string = resourceGroup().location + +resource my_acr 'Microsoft.ContainerRegistry/registries@2023-07-01' = { + name: take('myacr${uniqueString(resourceGroup().id)}', 50) + location: location + sku: { + name: 'Basic' + } + tags: { + 'aspire-resource-name': 'my-acr' + } +} + +output name string = my_acr.name + +output loginServer string = my_acr.properties.loginServer \ No newline at end of file diff --git a/docs/azure/user-assigned-managed-identity.md b/docs/azure/user-assigned-managed-identity.md new file mode 100644 index 0000000000..6874894698 --- /dev/null +++ b/docs/azure/user-assigned-managed-identity.md @@ -0,0 +1,71 @@ +--- +title: User-assigned managed identities +description: Learn how to use user-assigned managed identities in your .NET Aspire applications to securely access Azure resources. +ms.date: 05/08/2025 +--- + +# User-assigned managed identities in .NET Aspire + +In this article, you learn how to add or reference user-assigned managed identities (UMIs). You can add UMIs in your .NET Aspire applications to securely access Azure resources. A UMI is a standalone Azure resource that you can assign to one or more service resources. UMIs give you more control over identity management and resource access. + +## Add a user-assigned managed identity + +To create a new user-assigned managed identity, use the `AddAzureUserAssignedIdentity` API in your distributed application builder: + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +var sharedMi = builder.AddAzureUserAssignedIdentity("custom-umi"); + +// After adding all resources, run the app... + +builder.Build().Run(); +``` + +The preceding code creates a new managed identity named "custom-umi" that you can use with other resources in your application. + +## Reference an existing managed identity + +If you already have a managed identity, you can reference it using the method. This is useful when you want to use an identity that was created outside of your .NET Aspire project. + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +var miName = builder.AddParameter("miName"); +var miResourceGroup = builder.AddParameter("miResourceGroup"); + +var sharedMi = builder.AddAzureUserAssignedIdentity("custom-umi") + .PublishAsExisting(miName, miResourceGroup); + +// After adding all resources, run the app... + +builder.Build().Run(); +``` + +In the preceding example, you use parameters to provide the name and resource group of the existing identity. This allows you to reference the managed identity without creating a new one. + +## Assign roles to managed identities + +You can grant Azure roles to your managed identity using the WithRoleAssignments API. This lets your identity access other Azure resources, such as Azure Key Vault. + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +var sharedMi = builder.AddAzureUserAssignedIdentity("custom-umi"); + +builder.AddAzureKeyVault("secrets") + .WithRoleAssignments(sharedMi, BuiltInRole.Reader); + +// After adding all resources, run the app... + +builder.Build().Run(); +``` + +In this example, you give the Reader role to the managed identity for the Key Vault resource. For more information about role assignments, see [Manage Azure role assignments](role-assignments.md). + +## See also + +- [Azure managed identities overview](/azure/active-directory/managed-identities-azure-resources/overview) +- [Azure Key Vault](/azure/key-vault/general/basic-concepts) +- [Manage Azure role assignments](role-assignments.md) +- [.NET Aspire Azure integrations overview](integrations-overview.md) diff --git a/docs/azureai/azureai-inference-integration.md b/docs/azureai/azureai-inference-integration.md new file mode 100644 index 0000000000..dd17ab472b --- /dev/null +++ b/docs/azureai/azureai-inference-integration.md @@ -0,0 +1,220 @@ +--- +title: .NET Aspire Azure AI Inference integration (Preview) +description: Learn how to use the .NET Aspire Azure AI Inference integration to deploy and manage machine learning models in the cloud. +ms.date: 05/14/2025 +titleSuffix: '' +--- + +# .NET Aspire Azure AI Inference integration (Preview) + +[!INCLUDE [includes-client](../includes/includes-client.md)] + +The .NET Aspire Azure AI Inference integration provides a seamless way to deploy and manage machine learning models in the cloud. This integration allows you to leverage the power of Azure's AI services while maintaining the flexibility and ease of use of the .NET Aspire. + +## Hosting integration + +Although the Azure AI Inference library doesn't currently offer direct hosting integration, you can still integrate it into your app host project. Simply add a connection string to establish a reference to an existing Azure AI Foundry resource. + +### Connect to an existing Azure AI Foundry service + +If you already have an [Azure AI Foundry](https://ai.azure.com/) service, you can easily connect to it by adding a connection string to your app host. This approach uses a simple, string-based configuration. To establish the connection, use the method: + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +var aiFoundry = builder.AddConnectionString("ai-foundry"); + +builder.AddProject() + .WithReference(aiFoundry); + +// After adding all resources, run the app... +``` + +[!INCLUDE [connection-strings-alert](../includes/connection-strings-alert.md)] + +The connection string is configured in the app host's configuration, typically under User Secrets, under the `ConnectionStrings` section: + +```json +{ + "ConnectionStrings": { + "ai-foundry": "Endpoint=https://{endpoint}/;DeploymentId={deploymentName}" + } +} +``` + +For more information, see [Add existing Azure resources with connection strings](../azure/integrations-overview.md#add-existing-azure-resources-with-connection-strings). + +## Client integration + +To get started with the .NET Aspire Azure AI Inference client integration, install the [📦 Aspire.Azure.AI.Inference](https://www.nuget.org/packages/Aspire.Azure.AI.Inference) NuGet package in the client-consuming project, that is, the project for the application that uses the Azure AI Inference client. + +### [.NET CLI](#tab/dotnet-cli) + +```dotnetcli +dotnet add package Aspire.Azure.AI.Inference +``` + +### [PackageReference](#tab/package-reference) + +```xml + +``` + +--- + +For more information, see [dotnet add package](/dotnet/core/tools/dotnet-add-package) or [Manage package dependencies in .NET applications](/dotnet/core/tools/dependencies). + +### Add an Azure AI Inference client + +In the _Program.cs_ file of your client-consuming project, use the `AddChatCompletionsClient` method on any to register an for dependency injection (DI). + +```csharp +builder.AddChatCompletionsClient(connectionName: "ai-foundry"); +``` + +> [!TIP] +> The `connectionName` parameter must match the name used when adding the Azure AI Inference resource in the app host project. For more information, see [Connect to an existing Azure AI Foundry service](#connect-to-an-existing-azure-ai-foundry-service). + +After adding the `ChatCompletionsClient`, you can retrieve the client instance using dependency injection: + +```csharp +public class ExampleService(ChatCompletionsClient client) +{ + // Use client... +} +``` + +For more information, see: + +- [What is Azure AI model inference?](/azure/ai-foundry/model-inference/overview) for details on Azure AI model interfence. +- [Dependency injection in .NET](/dotnet/core/extensions/dependency-injection) for details on dependency injection. +- [The Azure AI Foundry SDK: C#](/azure/ai-foundry/how-to/develop/sdk-overview?tabs=sync&pivots=programming-language-csharp). + +### Add keyed Azure AI Inference clients + +There might be situations where you want to register multiple `ChatCompletionsClient` instances with different connection names. To register keyed Azure AI Inference clients, call the `AddKeyedAzureChatCompletionsClient` method: + +```csharp +builder.AddKeyedAzureChatCompletionsClient(name: "chat"); +builder.AddKeyedAzureChatCompletionsClient(name: "code"); +``` + +> [!IMPORTANT] +> When using keyed services, ensure that your Azure AI Inference resource configures two named connections, one for `chat` and one for `code`. + +Then you can retrieve the client instances using dependency injection. For example, to retrieve the clients from a service: + +```csharp +public class ExampleService( + [KeyedService("chat")] ChatCompletionsClient chatClient, + [KeyedService("code")] ChatCompletionsClient codeClient) +{ + // Use clients... +} +``` + +For more information, see [Keyed services in .NET](/dotnet/core/extensions/dependency-injection#keyed-services). + +### Configuration + +The .NET Aspire Azure AI Inference library provides multiple options to configure the Azure AI Foundry Service based on the requirements and conventions of your project. + +> [!NOTE] +> Either an `Endpoint` and `DeploymentId`, or a `ConnectionString` is required to be supplied. + +#### Use a connection string + +A connection can be constructed from the `Keys`, `Deployment ID` and `Endpoint` tab with the format: + +```Plaintext +Endpoint={endpoint};Key={key};DeploymentId={deploymentId}` +``` + +You can provide the name of the connection string when calling `builder.AddChatCompletionsClient()`: + +```csharp +builder.AddChatCompletionsClient( + connectionName: "connection-string-name"); +``` + +The connection string is retrieved from the `ConnectionStrings` configuration section. Two connection formats are supported: + +##### Azure AI Foundry endpoint + +The recommended approach is to use an `Endpoint`, which works with the `ChatCompletionsClientSettings.Credential` property to establish a connection. If no credential is configured, is used. + +```json +{ + "ConnectionStrings": { + "connection-string-name": "Endpoint=https://{endpoint}/;DeploymentId={deploymentName}" + } +} +``` + +##### Connection string + +Alternatively, a custom connection string can be used. + +```json +{ + "ConnectionStrings": { + "connection-string-name": "Endpoint=https://{endpoint}/;Key={account_key};DeploymentId={deploymentName}" + } +} +``` + +#### Use configuration providers + +The .NET Aspire Azure AI Inference library supports . It loads the `ChatCompletionsClientSettings` and `AzureAIInferenceClientOptions` from configuration by using the `Aspire:Azure:AI:Inference` key. For example, consider an _appsettings.json_ that configures some of the options: + +```json +{ + "Aspire": { + "Azure": { + "AI": { + "Inference": { + "DisableTracing": false, + "ClientOptions": { + "UserAgentApplicationId": "myapp" + } + } + } + } + } +} +``` + +#### Use inline delegates + +You can also pass the `Action configureSettings` delegate to set up some or all the options inline, for example, to disable tracing from code: + +```csharp +builder.AddChatCompletionsClient( + connectionName: "connection-string-name", + static settings => settings.DisableTracing = true); +``` + +[!INCLUDE [integration-observability-and-telemetry](../includes/integration-observability-and-telemetry.md)] + +### Logging + +The .NET Aspire Azure AI Inference integration uses the following log categories: + +- `Azure.Core` +- `Azure.Identity` + +### Tracing + +The .NET Aspire Azure AI Inference integration emits tracing activities using OpenTelemetry for operations performed with the `OpenAIClient`. + +> [!IMPORTANT] +> Azure AI Inference telemetry support is experimental, and the shape of traces may change in the future without notice. It can be enabled by invoking: +> +> ```csharp +> AppContext.SetSwitch("Azure.Experimental.EnableActivitySource", true); +> ``` +> +> Alternatively, you can set the `AZURE_EXPERIMENTAL_ENABLE_ACTIVITY_SOURCE` environment variable to `"true"`. + +## See also diff --git a/docs/frameworks/dapr.md b/docs/community-toolkit/dapr.md similarity index 90% rename from docs/frameworks/dapr.md rename to docs/community-toolkit/dapr.md index 0c3d51f446..343dbdf061 100644 --- a/docs/frameworks/dapr.md +++ b/docs/community-toolkit/dapr.md @@ -1,12 +1,16 @@ --- title: NET Aspire Dapr integration description: Learn how to use the .NET Aspire Dapr integration, which can configure and orchestrate Dapr from a .NET Aspire app host project. -ms.date: 01/16/2025 +ms.date: 05/12/2025 uid: frameworks/dapr --- # .NET Aspire Dapr integration +[!INCLUDE [includes-hosting](../includes/includes-hosting.md)] + +[!INCLUDE [banner](includes/banner.md)] + [Distributed Application Runtime (Dapr)](https://docs.dapr.io/) offers developer APIs that serve as a conduit for interacting with other services and dependencies and abstract the application from the specifics of those services and dependencies. Dapr and .NET Aspire can work together to improve your local development experience. By using Dapr with .NET Aspire, you can focus on writing and implementing .NET-based distributed applications instead of local on-boarding. In this guide, you'll learn how to take advantage of Dapr's abstraction and .NET Aspire's opinionated configuration of cloud technologies to build simple, portable, resilient, and secured microservices at scale. @@ -30,9 +34,9 @@ At first sight Dapr and .NET Aspire may look like they have overlapping function Dapr provides many [built-in components](https://docs.dapr.io/concepts/components-concept), and when you use Dapr with .NET Aspire you can easily explore and configure these components. Don't confuse these components with .NET Aspire integrations. For example, consider the following: -- [Dapr—State stores](https://docs.dapr.io/concepts/components-concept/#state-stores): Call to add a configured state store to your .NET Aspire project. -- [Dapr—Pub Sub](https://docs.dapr.io/concepts/components-concept/#pubsub-brokers): Call to add a configured pub sub to your .NET Aspire project. -- Dapr—Components: Call to add a configured integration to your .NET Aspire project. +- [Dapr—State stores](https://docs.dapr.io/concepts/components-concept/#state-stores): Call `AddDaprStateStore` to add a configured state store to your .NET Aspire project. +- [Dapr—Pub Sub](https://docs.dapr.io/concepts/components-concept/#pubsub-brokers): Call `AddDaprPubSub` to add a configured pub sub to your .NET Aspire project. +- Dapr—Components: Call `AddDaprComponent` to add a configured integration to your .NET Aspire project. ## Install Dapr @@ -47,18 +51,18 @@ This integration requires Dapr version 1.13 or later. To install Dapr, see [Inst ## Hosting integration -In your .NET Aspire solution, to integrate Dapr and access its types and APIs, add the [📦 Aspire.Hosting.Dapr](https://www.nuget.org/packages/Aspire.Hosting.Dapr) NuGet package in the [app host](xref:dotnet/aspire/app-host) project. +In your .NET Aspire solution, to integrate Dapr and access its types and APIs, add the [📦 CommunityToolkit.Aspire.Hosting.Dapr](https://www.nuget.org/packages/CommunityToolkit.Aspire.Hosting.Dapr) NuGet package in the [app host](xref:dotnet/aspire/app-host) project. ### [.NET CLI](#tab/dotnet-cli) ```dotnetcli -dotnet add package Aspire.Hosting.Dapr +dotnet add package CommunityToolkit.Aspire.Hosting.Dapr ``` ### [PackageReference](#tab/package-reference) ```xml - ``` @@ -70,7 +74,7 @@ For more information, see [dotnet add package](/dotnet/core/tools/dotnet-add-pac Dapr uses the [sidecar pattern](https://docs.dapr.io/concepts/dapr-services/sidecar/). The Dapr sidecar runs alongside your app as a lightweight, portable, and stateless HTTP server that listens for incoming HTTP requests from your app. -To add a sidecar to a .NET Aspire resource, call the method on it. The `appId` parameter is the unique identifier for the Dapr application, but it's optional. If you don't provide an `appId`, the parent resource name is used instead. +To add a sidecar to a .NET Aspire resource, call the `WithDaprSidecar` method on it. The `appId` parameter is the unique identifier for the Dapr application, but it's optional. If you don't provide an `appId`, the parent resource name is used instead. :::code language="csharp" source="snippets/Dapr/Dapr.AppHost/Program.cs" range="1-7" highlight="7"::: diff --git a/docs/frameworks/media/aspire-dashboard-dapr-sidecar-resources.png b/docs/community-toolkit/media/aspire-dashboard-dapr-sidecar-resources.png similarity index 100% rename from docs/frameworks/media/aspire-dashboard-dapr-sidecar-resources.png rename to docs/community-toolkit/media/aspire-dashboard-dapr-sidecar-resources.png diff --git a/docs/frameworks/snippets/Dapr/Dapr.ApiService/Dapr.ApiService.csproj b/docs/community-toolkit/snippets/Dapr/Dapr.ApiService/Dapr.ApiService.csproj similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.ApiService/Dapr.ApiService.csproj rename to docs/community-toolkit/snippets/Dapr/Dapr.ApiService/Dapr.ApiService.csproj diff --git a/docs/frameworks/snippets/Dapr/Dapr.ApiService/Program.cs b/docs/community-toolkit/snippets/Dapr/Dapr.ApiService/Program.cs similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.ApiService/Program.cs rename to docs/community-toolkit/snippets/Dapr/Dapr.ApiService/Program.cs diff --git a/docs/frameworks/snippets/Dapr/Dapr.ApiService/Properties/launchSettings.json b/docs/community-toolkit/snippets/Dapr/Dapr.ApiService/Properties/launchSettings.json similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.ApiService/Properties/launchSettings.json rename to docs/community-toolkit/snippets/Dapr/Dapr.ApiService/Properties/launchSettings.json diff --git a/docs/frameworks/snippets/Dapr/Dapr.ApiService/appsettings.Development.json b/docs/community-toolkit/snippets/Dapr/Dapr.ApiService/appsettings.Development.json similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.ApiService/appsettings.Development.json rename to docs/community-toolkit/snippets/Dapr/Dapr.ApiService/appsettings.Development.json diff --git a/docs/frameworks/snippets/Dapr/Dapr.ApiService/appsettings.json b/docs/community-toolkit/snippets/Dapr/Dapr.ApiService/appsettings.json similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.ApiService/appsettings.json rename to docs/community-toolkit/snippets/Dapr/Dapr.ApiService/appsettings.json diff --git a/docs/frameworks/snippets/Dapr/Dapr.AppHost/Dapr.AppHost.csproj b/docs/community-toolkit/snippets/Dapr/Dapr.AppHost/Dapr.AppHost.csproj similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.AppHost/Dapr.AppHost.csproj rename to docs/community-toolkit/snippets/Dapr/Dapr.AppHost/Dapr.AppHost.csproj diff --git a/docs/frameworks/snippets/Dapr/Dapr.AppHost/Program.cs b/docs/community-toolkit/snippets/Dapr/Dapr.AppHost/Program.cs similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.AppHost/Program.cs rename to docs/community-toolkit/snippets/Dapr/Dapr.AppHost/Program.cs diff --git a/docs/frameworks/snippets/Dapr/Dapr.AppHost/Properties/launchSettings.json b/docs/community-toolkit/snippets/Dapr/Dapr.AppHost/Properties/launchSettings.json similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.AppHost/Properties/launchSettings.json rename to docs/community-toolkit/snippets/Dapr/Dapr.AppHost/Properties/launchSettings.json diff --git a/docs/frameworks/snippets/Dapr/Dapr.AppHost/appsettings.Development.json b/docs/community-toolkit/snippets/Dapr/Dapr.AppHost/appsettings.Development.json similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.AppHost/appsettings.Development.json rename to docs/community-toolkit/snippets/Dapr/Dapr.AppHost/appsettings.Development.json diff --git a/docs/frameworks/snippets/Dapr/Dapr.AppHost/appsettings.json b/docs/community-toolkit/snippets/Dapr/Dapr.AppHost/appsettings.json similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.AppHost/appsettings.json rename to docs/community-toolkit/snippets/Dapr/Dapr.AppHost/appsettings.json diff --git a/docs/frameworks/snippets/Dapr/Dapr.ServiceDefaults/Dapr.ServiceDefaults.csproj b/docs/community-toolkit/snippets/Dapr/Dapr.ServiceDefaults/Dapr.ServiceDefaults.csproj similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.ServiceDefaults/Dapr.ServiceDefaults.csproj rename to docs/community-toolkit/snippets/Dapr/Dapr.ServiceDefaults/Dapr.ServiceDefaults.csproj diff --git a/docs/frameworks/snippets/Dapr/Dapr.ServiceDefaults/Extensions.cs b/docs/community-toolkit/snippets/Dapr/Dapr.ServiceDefaults/Extensions.cs similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.ServiceDefaults/Extensions.cs rename to docs/community-toolkit/snippets/Dapr/Dapr.ServiceDefaults/Extensions.cs diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/App.razor b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/App.razor similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/App.razor rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/App.razor diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/Layout/MainLayout.razor b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Layout/MainLayout.razor similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/Layout/MainLayout.razor rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Layout/MainLayout.razor diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/Layout/MainLayout.razor.css b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Layout/MainLayout.razor.css similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/Layout/MainLayout.razor.css rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Layout/MainLayout.razor.css diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/Layout/NavMenu.razor b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Layout/NavMenu.razor similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/Layout/NavMenu.razor rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Layout/NavMenu.razor diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/Layout/NavMenu.razor.css b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Layout/NavMenu.razor.css similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/Layout/NavMenu.razor.css rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Layout/NavMenu.razor.css diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/Pages/Counter.razor b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Pages/Counter.razor similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/Pages/Counter.razor rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Pages/Counter.razor diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/Pages/Error.razor b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Pages/Error.razor similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/Pages/Error.razor rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Pages/Error.razor diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/Pages/Home.razor b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Pages/Home.razor similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/Pages/Home.razor rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Pages/Home.razor diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/Pages/Weather.razor b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Pages/Weather.razor similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/Pages/Weather.razor rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Pages/Weather.razor diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/Routes.razor b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Routes.razor similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/Routes.razor rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/Routes.razor diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Components/_Imports.razor b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/_Imports.razor similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Components/_Imports.razor rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Components/_Imports.razor diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Dapr.Web.csproj b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Dapr.Web.csproj similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Dapr.Web.csproj rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Dapr.Web.csproj diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Program.cs b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Program.cs similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Program.cs rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Program.cs diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/Properties/launchSettings.json b/docs/community-toolkit/snippets/Dapr/Dapr.Web/Properties/launchSettings.json similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/Properties/launchSettings.json rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/Properties/launchSettings.json diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/WeatherApiClient.cs b/docs/community-toolkit/snippets/Dapr/Dapr.Web/WeatherApiClient.cs similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/WeatherApiClient.cs rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/WeatherApiClient.cs diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/appsettings.Development.json b/docs/community-toolkit/snippets/Dapr/Dapr.Web/appsettings.Development.json similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/appsettings.Development.json rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/appsettings.Development.json diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/appsettings.json b/docs/community-toolkit/snippets/Dapr/Dapr.Web/appsettings.json similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/appsettings.json rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/appsettings.json diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/wwwroot/app.css b/docs/community-toolkit/snippets/Dapr/Dapr.Web/wwwroot/app.css similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/wwwroot/app.css rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/wwwroot/app.css diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/wwwroot/bootstrap/bootstrap.min.css b/docs/community-toolkit/snippets/Dapr/Dapr.Web/wwwroot/bootstrap/bootstrap.min.css similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/wwwroot/bootstrap/bootstrap.min.css rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/wwwroot/bootstrap/bootstrap.min.css diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/wwwroot/bootstrap/bootstrap.min.css.map b/docs/community-toolkit/snippets/Dapr/Dapr.Web/wwwroot/bootstrap/bootstrap.min.css.map similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/wwwroot/bootstrap/bootstrap.min.css.map rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/wwwroot/bootstrap/bootstrap.min.css.map diff --git a/docs/frameworks/snippets/Dapr/Dapr.Web/wwwroot/favicon.png b/docs/community-toolkit/snippets/Dapr/Dapr.Web/wwwroot/favicon.png similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.Web/wwwroot/favicon.png rename to docs/community-toolkit/snippets/Dapr/Dapr.Web/wwwroot/favicon.png diff --git a/docs/frameworks/snippets/Dapr/Dapr.sln b/docs/community-toolkit/snippets/Dapr/Dapr.sln similarity index 100% rename from docs/frameworks/snippets/Dapr/Dapr.sln rename to docs/community-toolkit/snippets/Dapr/Dapr.sln diff --git a/docs/compatibility/9.3/azure-sql-server-default-sku-changes.md b/docs/compatibility/9.3/azure-sql-server-default-sku-changes.md new file mode 100644 index 0000000000..4bea76708e --- /dev/null +++ b/docs/compatibility/9.3/azure-sql-server-default-sku-changes.md @@ -0,0 +1,57 @@ +--- +title: "Breaking change - Change the default SKU used for creating a new Azure SQL database" +description: "Learn about the breaking change in .NET Aspire 9.3 where the default SKU for Azure SQL database deployment now uses the free offer." +ms.date: 5/7/2025 +ai-usage: ai-assisted +ms.custom: https://github.com/dotnet/docs-aspire/issues/3144 +--- + +# Change the default SKU used for creating a new Azure SQL database + +The default SKU for deploying a new Azure SQL database has been updated to take advantage of the Azure SQL Database free offer. This change helps avoid unexpected monthly costs by pausing the database when free offer limits are reached. A new method, `WithSku`, has also been introduced to allow customization of the SKU during deployment. + +## Version introduced + +.NET Aspire 9.3 + +## Previous behavior + +The Azure SQL database was deployed with a default SKU that did not utilize the Azure SQL Database free offer. This could result in unexpected monthly costs if the database usage exceeded the free tier limits. + +## New behavior + +The Azure SQL database now deploys with the default SKU `GP_S_Gen5_2` (General Purpose Serverless) and the Azure SQL Database free offer enabled. The database pauses automatically when free offer limits are reached, preventing unexpected costs. Additionally, the `WithSku` method allows you to specify a different SKU if needed. + +Example usage of the new `WithSku` method: + +```csharp +var database = resourceBuilder + .AddDatabase("MyDatabase") + .WithSku("GP_S_Gen5_4"); +``` + +## Type of breaking change + +This is a [behavioral change](../categories.md#behavioral-change). + +## Reason for change + +This change ensures that deployments take advantage of the Azure SQL Database free offer, reducing the risk of incurring unexpected monthly costs. For more information, see the [Azure SQL Database free offer](/azure/azure-sql/database/free-offer). + +## Recommended action + +If you want to use a different SKU for your Azure SQL database deployment, use the new `WithSku` method to specify the desired SKU. For example: + +```csharp +var database = resourceBuilder + .AddDatabase("MyDatabase") + .WithSku("GP_S_Gen5_4"); +``` + +Review your existing deployments to ensure they align with the new default behavior. + +## Affected APIs + +- : Updated to use the free offer as the default deployment option. +- : Updated to use the free offer as the default deployment option. +- `public static IResourceBuilder WithSku`: Added to allow specifying the desired SKU. diff --git a/docs/compatibility/9.3/azure-sql-server-default-uami-admin.md b/docs/compatibility/9.3/azure-sql-server-default-uami-admin.md new file mode 100644 index 0000000000..0cc93a9a39 --- /dev/null +++ b/docs/compatibility/9.3/azure-sql-server-default-uami-admin.md @@ -0,0 +1,59 @@ +--- +title: "Breaking change - AddAzureSqlServer assigns a dedicated user-assigned managed identity as the administrator" +description: "Learn about the breaking change in .NET Aspire 9.3 where Azure SQL Server instances are assigned dedicated user managed identities as administrators." +ms.date: 5/12/2025 +ai-usage: ai-assisted +ms.custom: https://github.com/dotnet/docs-aspire/issues/3386 +--- + +# AddAzureSqlServer assigns a dedicated user-assigned managed identity as the administrator + +In .NET Aspire 9.3, Azure SQL Server instances are now assigned dedicated user managed identities as administrators. This change resolves issues with overlapping managed identities when using multiple app containers. Additionally, app containers and local users are granted the `db_owner` role for database access. + +## Version introduced + +.NET Aspire 9.3 + +## Previous behavior + +In Aspire 9.2, each container app was assigned its own managed identity as the administrator. However, when multiple app containers were used, the second container would overwrite the administrator role of the first, causing access issues. + +## New behavior + +In Aspire 9.3, each Azure SQL Server instance is assigned a dedicated user managed identity as its administrator. App containers using these SQL Server instances are granted the `db_owner` role during deployment. If an application isn't deployed as an app container, the current Entra ID user account is also added as a `db_owner` in the database, enabling data management. + +To prevent automatic configuration, the method can be used on the Azure SQL Server resource. Existing instances aren't reconfigured. + +## Type of breaking change + +This is a [behavioral change](../categories.md#behavioral-change). + +## Reason for change + +This change resolves a limitation where multiple app containers caused conflicts in administrator assignments for Azure SQL Server instances. It ensures each instance has a dedicated administrator and improves role assignment consistency. + +## Recommended action + +No recommended action is required if the new behavior aligns with your requirements. However, if you prefer the previous behavior, you can use the `AsExisting` method to prevent automatic configuration of the Azure SQL Server instance. For example: + +```csharp +var builder = DistributedApplication.CreateBuilder(); + +var existingSqlServerName = builder.AddParameter("existingSqlServerName"); +var existingSqlServerResourceGroup = builder.AddParameter("existingSqlServerResourceGroup"); + +var sql = builder.AddAzureSqlServer("sql") + .AsExisting(existingSqlServerName, existingSqlServerResourceGroup); + +// Use the existing SQL Server using WithReference... + +builder.Build().Run(); +``` + +## Affected APIs + +- +- +- +- +- diff --git a/docs/compatibility/9.3/index.md b/docs/compatibility/9.3/index.md new file mode 100644 index 0000000000..a6d7065cb7 --- /dev/null +++ b/docs/compatibility/9.3/index.md @@ -0,0 +1,24 @@ +--- +title: Breaking changes in .NET Aspire 9.3 +titleSuffix: "" +description: Navigate to the breaking changes in .NET Aspire 9.3. +ms.date: 05/12/2025 +--- + +# Breaking changes in .NET Aspire 9.3 + +If you're migrating an app to .NET Aspire 9.3, the breaking changes listed here might affect you. + +[!INCLUDE [binary-source-behavioral](../includes/binary-source-behavioral.md)] + +> [!NOTE] +> This article is a work in progress. It's not a complete list of breaking changes in .NET Aspire 9.3. + +## Breaking changes + +| Title | Type of change | Introduced version | +|--|--|--| +| [AddAzureSqlServer assigns a dedicated user-assigned managed identity as the administrator](azure-sql-server-default-uami-admin.md) | Behavioral change | 9.3 | +| [Change the default SKU used for creating a new Azure SQL database](azure-sql-server-default-sku-changes.md) | Behavioral change | 9.3 | +| [Remove publisher APIs](remove-publisher-apis.md) | Binary incompatible, source incompatible, and behavioral change | 9.3 | +| [Http(s) health checks changes in .NET Aspire 9.3](with-health-checks-changes.md) | Binary and source incompatible | 9.3 | diff --git a/docs/compatibility/9.3/remove-publisher-apis.md b/docs/compatibility/9.3/remove-publisher-apis.md new file mode 100644 index 0000000000..8fc346ba53 --- /dev/null +++ b/docs/compatibility/9.3/remove-publisher-apis.md @@ -0,0 +1,83 @@ +--- +title: "Breaking change - Removal of DockerComposePublisher, KubernetesPublisher, and AzurePublisher" +description: "Learn about the breaking change in .NET Aspire 9.3 where publisher APIs were removed in favor of new resource types." +ms.date: 5/12/2025 +ai-usage: ai-assisted +ms.custom: https://github.com/dotnet/docs-aspire/issues/3373 +--- + +# Removal of DockerComposePublisher, KubernetesPublisher, and AzurePublisher + +In .NET Aspire 9.3, the `AddDockerComposePublisher`, `AddKubernetesPublisher`, and `AddAzurePublisher` APIs were removed. These APIs are now replaced with new resource types that provide a more composable experience. + +## Version introduced + +.NET Aspire 9.3 + +## Previous behavior + +In .NET Aspire 9.2, the publisher API was introduced in preview, allowing the use of the following publishers: + +- DockerCompose +- Kubernetes +- Azure + +These publishers were added using the following methods: + +- +- +- + +Multiple publishers could be added, and the `aspire publish` CLI command allowed users to select one for publishing. + +## New behavior + +In .NET Aspire 9.3, the publishers are now replaced with new resource types: + + + +- `DockerComposeEnvironmentResource` +- `KubernetesEnvironmentResource` +- `AzureEnvironmentResource` (Automatically added when you use any Azure resource) + +These resources include a `PublisherCallbackAnnotation` that defines their publishing behavior. The default publisher now automatically processes all resources with this annotation to generate assets. The `aspire publish` command no longer requires selecting a publisher; it uses the default publisher to handle all annotated resources. + +Example: + +```csharp +builder.AddDockerComposeEnvironment("docker-compose"); + +builder.AddKubernetesEnvironment("kubernetes"); + +builder.AddAzureEnvironment("azure"); +``` + +## Type of breaking change + +This is a [binary incompatible](../categories.md#binary-compatibility), [source incompatible](../categories.md#source-compatibility), and [behavioral change](../categories.md#behavioral-change). + +## Reason for change + +The change simplifies the publishing process by consolidating functionality into resource types with a unified publishing mechanism. For more information, see the [GitHub issue](https://github.com/dotnet/aspire/issues/9089). + +## Recommended action + +Update your code to use the new resource APIs: + +- Replace `AddDockerComposePublisher` with `AddDockerComposeEnvironment("...")`. +- Replace `AddKubernetesPublisher` with `AddKubernetesEnvironment("...")`. +- Replace `AddAzurePublisher` with `AddAzureEnvironment("...")`. + +Example: + +```csharp +var dockerCompose = builder.AddDockerComposeEnvironment("docker-compose"); +var kubernetes = builder.AddKubernetesEnvironment("kubernetes"); +var azure = builder.AddAzureEnvironment("azure"); +``` + +## Affected APIs + +- +- +- diff --git a/docs/compatibility/9.3/with-health-checks-changes.md b/docs/compatibility/9.3/with-health-checks-changes.md new file mode 100644 index 0000000000..01170f27dd --- /dev/null +++ b/docs/compatibility/9.3/with-health-checks-changes.md @@ -0,0 +1,63 @@ +--- +title: "Breaking change - WithHttpsHealthCheck and WithHttpHealthCheck changes in .NET Aspire 9.3" +description: "Learn about the breaking change in .NET Aspire 9.3 where the WithHttpsHealthCheck method is marked obsolete and WithHttpHealthCheck behavior is updated." +ms.date: 5/7/2025 +ai-usage: ai-assisted +ms.custom: https://github.com/dotnet/docs-aspire/issues/3326 +--- + +# With HTTP/S health checks changes + +In .NET Aspire 9.3, the `WithHttpsHealthCheck` method is marked as obsolete and will be removed in a future update. The `WithHttpHealthCheck` method is updated to default to selecting an endpoint with an `https` scheme, improving usability and aligning with other endpoint selection behaviors. + +## Version introduced + +.NET Aspire 9.3 + +## Previous behavior + +Previously, the `WithHttpsHealthCheck` method was used to register a health check for an endpoint with an `https` scheme. The `WithHttpHealthCheck` method defaulted to using an endpoint named "http" if no name was specified. + +Example: + +```csharp +builder.WithHttpsHealthCheck(); +builder.WithHttpHealthCheck(); // Defaults to "http" endpoint +``` + +## New behavior + +The `WithHttpsHealthCheck` method is now obsolete. The `WithHttpHealthCheck` method defaults to selecting the first available endpoint with an `https` scheme. If no `https` endpoint is found, it falls back to an `http` endpoint. You can also specify a specific endpoint name or selector action. + +Example: + +```csharp +builder.WithHttpHealthCheck(); // Defaults to "https" endpoint if available +``` + +## Type of breaking change + +This is both a [source incompatible](../categories.md#source-compatibility) and [behavioral change](../categories.md#behavioral-change). + +## Reason for change + +In Aspire 9.2, the starter template included a call to `WithHttpsHealthCheck` by default. This caused issues when launching projects with an "http" profile, resulting in exceptions during startup. The change simplifies endpoint selection and aligns `WithHttpHealthCheck` behavior with the `WithHttpCommand` method, which offers a more user-friendly approach. + +## Recommended action + +Replace calls to the obsolete `WithHttpsHealthCheck` method with `WithHttpHealthCheck`. Ensure the behavior aligns with your expectations. + +Example: + +```csharp +// Replace this: +builder.WithHttpsHealthCheck(); + +// With this: +builder.WithHttpHealthCheck(); +``` + +## Affected APIs + +- +- diff --git a/docs/compatibility/toc.yml b/docs/compatibility/toc.yml index 5fe544f578..1dc0ede560 100644 --- a/docs/compatibility/toc.yml +++ b/docs/compatibility/toc.yml @@ -5,9 +5,25 @@ items: href: ../get-started/aspire-overview.md - name: Breaking changes href: breaking-changes.md -- name: .NET Aspire 9.2 +- name: .NET Aspire 9.3 expanded: true items: + - name: Overview + href: 9.3/index.md + - name: Breaking changes in 9.3 + expanded: true + items: + - name: With HTTP/S health checks changes + href: 9.3/with-health-checks-changes.md + - name: Azure SQL Server default SKU changes + href: 9.3/azure-sql-server-default-sku-changes.md + - name: Removal of publisher APIs + href: 9.3/remove-publisher-apis.md + - name: Azure SQL Server default user-assigned managed identity admin changes + href: 9.3/azure-sql-server-default-uami-admin.md +- name: .NET Aspire 9.2 + expanded: false + items: - name: Overview href: 9.2/index.md - name: Breaking changes in 9.2 @@ -25,7 +41,6 @@ items: href: 9.2/withauthentication-changes.md - name: WithCommand obsolete, use new overload href: 9.2/withcommand-obsolete.md - - name: .NET Aspire 9.1 expanded: false items: diff --git a/docs/database/azure-cosmos-db-integration.md b/docs/database/azure-cosmos-db-integration.md index 3c42820cec..3e072d19af 100644 --- a/docs/database/azure-cosmos-db-integration.md +++ b/docs/database/azure-cosmos-db-integration.md @@ -1,7 +1,7 @@ --- title: .NET Aspire Azure Cosmos DB integration description: Learn how to install and configure the .NET Aspire Azure Cosmos DB integration to connect to existing Cosmos DB instances or create new instances from .NET with the Azure Cosmos DB emulator. -ms.date: 04/10/2025 +ms.date: 05/15/2025 uid: dotnet/aspire/azure-cosmos-db-integration --- @@ -247,7 +247,7 @@ Then the connection string is retrieved from the `ConnectionStrings` configurati } ``` -For more information on how to format this connection string, see the ConnectionString documentation. +For more information, see the [ConnectionString documentation](/azure/cosmos-db/nosql/how-to-dotnet-get-started#connect-with-a-connection-string). #### Use configuration providers diff --git a/docs/fundamentals/app-host-overview.md b/docs/fundamentals/app-host-overview.md index fac202f40a..59a7b3e99d 100644 --- a/docs/fundamentals/app-host-overview.md +++ b/docs/fundamentals/app-host-overview.md @@ -1,7 +1,7 @@ --- title: .NET Aspire orchestration overview description: Learn the fundamental concepts of .NET Aspire orchestration and explore the various APIs for adding resources and expressing dependencies. -ms.date: 04/15/2025 +ms.date: 04/23/2025 ms.topic: overview uid: dotnet/aspire/app-host --- @@ -25,19 +25,22 @@ Before continuing, consider some common terminology used in .NET Aspire: ## Define the app model -.NET Aspire empowers you to seamlessly build, provision, deploy, configure, test, run, and observe your distributed applications. All of these capabilities are achieved through the utilization of an _app model_ that outlines the resources in your .NET Aspire solution and their relationships. These resources encompass projects, executables, containers, and external services and cloud resources that your app depends on. Within every .NET Aspire solution, there's a designated [App host project](#app-host-project), where the app model is precisely defined using methods available on the . This builder is obtained by invoking . +.NET Aspire enables you to efficiently build, provision, deploy, configure, test, run, and monitor your distributed applications. These capabilities are powered by an _app model_, which defines the resources in your .NET Aspire solution and their interconnections. + +The app model is more than just a list of resources—it represents the complete topology of your application. This includes the relationships between resources, their dependencies, and their configurations. Resources can include projects, executables, containers, external services, and cloud resources that your application relies on. + +In your [.NET Aspire app host project](#app-host-project), your `Program` file defines your app model: ```csharp -// Create a new app model builder var builder = DistributedApplication.CreateBuilder(args); -// TODO: -// Add resources to the app model -// Express dependencies between resources +// Add resources to the app model builder.Build().Run(); ``` +When you call , you get an instance of , which is used to configure your app model. This builder provides methods to add resources, define dependencies, and set up the overall structure of your application. After you've added resources, call `Build` to create the app model. The [templates](../fundamentals/aspire-sdk-templates.md) include code that chains a call to —which returns an instance, and then calls . + ## App host project The app host project handles running all of the projects that are part of the .NET Aspire project. In other words, it's responsible for orchestrating all apps within the app model. The project itself is a .NET executable project that references the [📦 Aspire.Hosting.AppHost](https://www.nuget.org/packages/Aspire.Hosting.AppHost) NuGet package, and uses the [.NET Aspire SDK](dotnet-aspire-sdk.md): diff --git a/docs/fundamentals/custom-resource-urls.md b/docs/fundamentals/custom-resource-urls.md index b53ccb6690..9c57819031 100644 --- a/docs/fundamentals/custom-resource-urls.md +++ b/docs/fundamentals/custom-resource-urls.md @@ -1,7 +1,7 @@ --- title: Define custom resource URLs description: Learn how to create custom URLs for .NET Aspire resources. -ms.date: 04/10/2025 +ms.date: 05/06/2025 ms.topic: how-to --- @@ -11,9 +11,9 @@ In .NET Aspire, resources that expose endpoints only configure host and port, wh ## Default endpoint behavior -By default, .NET Aspire project resources rely on existing configurations such as Kestrel or launch profiles to determine the host and port of a resource for a configured endpoint. +By default, .NET Aspire project resources rely on existing configurations such as Kestrel or launch profiles to determine the host and port of a resource for a configured endpoint—and the endpoints are always displayed on the dashboard. -Likewise, you can explicitly expose endpoints using the API. This API allows you to specify the host and port for a resource, which is then used to create the default URL for that resource. The default URL is typically in the format `http://:` or `https://:`, depending on the protocol used. To omit the host port, use one of the following methods: +Likewise, you can explicitly expose endpoints using the API. This API allows you to specify the host and port for a resource, which is then used to create the default URL for that resource. The default URL is typically in the format `://:`. To omit the host port, use one of the following methods: - - @@ -22,7 +22,7 @@ For more information, see [Endpoint extension methods](networking-overview.md#en ## Supported resource types -Currently, custom resource URLs are supported for the following resource types: +Custom resource URLs are supported for the following resource types: - - @@ -43,36 +43,35 @@ The preceding code assigns a project reference to the `api` variable, which is t ### Customize endpoint URL - - Both [Scalar](https://scalar.com/) and [Swagger](https://swagger.io/tools/swagger-ui/) are common API services that enhance the usability of endpoints. These services are accessed via URLs tied to declared endpoints. -To customize the URL for the first associated resource endpoint, use the `WithUrlForEndpoint` method. +To customize the URL for the first associated resource endpoint, use the method. -If you want to add a separate URL (even for the same endpoint) you need to call the `WithUrl` overload that takes a `ReferenceExpression` or interpolated string, or call `WithUrls` and add the URL to the `Urls` list on the context. +If you want to add a separate URL (even for the same endpoint) you need to call the `WithUrl` overload that takes a or interpolated string, or call `WithUrls` and add the URL to the `Urls` list on the context. :::code source="snippets/custom-urls/AspireApp.AppHost/Program.WithUrlForEndpoint.cs" id="withurlforendpoint"::: - - -The preceding example assumes that the `api` project resource has an `https` endpoint configured. The `WithUrlForEndpoint` method updates the `ResourceUrlAnnotation` associated with the endpoint. In this case, it assigns the display text to `Scalar (HTTPS)` and appends the `/scalar` path to the URL. +The preceding example assumes that the `api` project resource has an `https` endpoint configured. The `WithUrlForEndpoint` method updates the associated with the endpoint. In this case, it assigns the display text to `Scalar (HTTPS)` and assigns the relative `/scalar` path to the URL. When the resource is started, the URL is available in the dashboard as shown in the following screenshot: :::image type="content" source="dashboard/media/custom-urls/custom-url-scalar-https.png" alt-text=".NET Aspire dashboard with custom Scalar URL." lightbox="dashboard/media/custom-urls/custom-url-scalar-https.png"::: -### Customize multiple resource URLs +Alternatively, you could use the overload that accepts a `Func` as a callback. This allows you to specify deep-links on target instances. - +### Customize multiple resource URLs -To customize multiple URLs for a resource, use the `WithUrls` method. This method allows you to specify multiple URLs for a resource, each with its own display text. The following example demonstrates how to set multiple URLs for a project resource: +To customize multiple URLs for a resource, use the method. This method allows you to specify multiple URLs for a resource, each with its own display text. The following example demonstrates how to set multiple URLs for a project resource: :::code source="snippets/custom-urls/AspireApp.AppHost/Program.WithUrls.cs" id="withurls"::: -The preceding code iterates through the URLs defined for the `api` project resource and assigns a display text and order to each URL. The resulting URLs are available in the dashboard as shown in the following screenshot: +The preceding code iterates through the URLs defined for the `api` project resource and assigns a display text with scheme. The resulting URLs are available in the dashboard as shown in the following screenshot: :::image type="content" source="dashboard/media/custom-urls/custom-url-ordered.png" alt-text=".NET Aspire dashboard custom ordered and named URLs."::: +> [!TIP] +> The exposes an extension method that enables you to easily access the underlying resource named endpoints. Call the `GetEndpoint` API on a context instance to achieve this. + ## URL customization lifecycle URL customization callbacks run during the application model lifecycle, specifically during the event processing. URLs associated with endpoints become active and appear on the dashboard once the endpoint itself becomes active. URLs not associated with endpoints become active only when the resource enters the "Running" state. This ensures that all custom URLs are accurately represented and available when the application resources are fully operational. diff --git a/docs/fundamentals/dashboard/copilot.md b/docs/fundamentals/dashboard/copilot.md new file mode 100644 index 0000000000..08e4d8838e --- /dev/null +++ b/docs/fundamentals/dashboard/copilot.md @@ -0,0 +1,102 @@ +--- +title: GitHub Copilot in the .NET Aspire dashboard +description: Learn how to use GitHub Copilot in the .NET Aspire dashboard. +ms.date: 05/19/2025 +ms.topic: reference +--- + +# GitHub Copilot in the .NET Aspire dashboard + +Introducing GitHub Copilot in the .NET Aspire dashboard! GitHub Copilot is your new AI debugging assistant. + +GitHub Copilot supercharges the dashboard's OpenTelemetry debugging and diagnostics experience. With AI, you can: + +- Review hundreds of log messages with a single click +- Investigate the root cause of errors across multiple apps +- Highlight performance issues in traces +- Explain obscure error codes using AI's huge knowledge repository + +You'll have access to Copilot in the dashboard when you launch your app from VS Code or Visual Studio. + +## Requirements + +GitHub Copilot is only available when a .NET Aspire project is run from an IDE. + +> [!div class="checklist"] +> +> - VS Code and C# Dev Kit 1.19.63 or later. +> - Visual Studio 17.14 or later. + +You must also be logged into a GitHub account in the IDE that has a GitHub Copilot subscription. Copilot interactions in the .NET Aspire dashboard use the GitHub account associated with your IDE. + +If you don't have a Copilot subscription yet, you can use Copilot for free by signing up for the [Copilot Free plan](https://aka.ms/dotnet/aspire/copilot-free-signup), which includes a monthly limit of chat interactions. + +## Get started + +To get started, launch your .NET Aspire solution as usual in your IDE. + +1. Open your .NET Aspire solution in a supported version of Visual Studio or VS Code with the [C# Dev Kit extension](/visualstudio/subscriptions/vs-c-sharp-dev-kit) installed. +2. Ensure you're logged into the IDE with a GitHub account: + - For Visual Studio, see [Add your GitHub accounts to your Visual Studio keychain](https://aka.ms/dotnet/aspire/copilot-vs-login). + - For VS Code and C# Dev Kit, see [Set up GitHub Copilot in VS Code](https://aka.ms/dotnet/aspire/copilot-vscode-login). +3. Run the .NET Aspire app host. + +A GitHub Copilot button appears in the top-right corner of the dashboard. Selecting the button opens the Copilot UI. + +:::image type="content" source="media/copilot/copilot-headerbutton.png" lightbox="media/copilot/copilot-headerbutton.png" alt-text="A screenshot of the dashboard with the GitHub Copilot button highlighted."::: + +In the Copilot UI, you can either select a suggested question, such as **Summarize resources**, or enter your own question in the chat input field. Press Enter to submit. For example: `What health checks are configured in my app?` + +:::image type="content" source="media/copilot/copilot-chatquestion.png" lightbox="media/copilot/copilot-chatquestion.png" alt-text="A screenshot of the dashboard with GitHub Copilot open. It contains a chat question and answer."::: + +At the top of the Copilot UI are buttons to start a new conversation, expand the chat, or close the UI. + +## Analyze resources, console logs, and telemetry + +There are several options for analyzing resources, console logs, and telemetry in your app. Two were discussed above: + +- Select a suggested question. Copilot's suggested questions are contextual. For example, questions about resources appear on the resources page, and questions about distributed traces appear on the traces page. +- Enter your own question in the chat input field, such as `Why did the product cache fail to start?` or `What caused recent errors in the frontend?` + +The dashboard also includes a Copilot option in the context menus for resources, structured logs, traces, and spans. Select **Ask GitHub Copilot** to investigate the selected data. + +:::image type="content" source="media/copilot/resources-askcopilot.png" lightbox="media/copilot/resources-askcopilot.png" alt-text="A screenshot of the Ask GitHub Copilot option in the resource context menu page."::: + +If your app has structured logs or traces with errors, an **Explain errors** button appears on those pages. Selecting it makes all errors available to Copilot for investigation. + +:::image type="content" source="media/copilot/structuredlogs-explainerror.png" lightbox="media/copilot/structuredlogs-explainerror.png" alt-text="A screenshot of the structured logs page with an Explain errors button."::: + +On the trace details page, the **Explain trace** button is always visible. It provides a quick way to analyze the currently viewed trace. + +:::image type="content" source="media/copilot/tracedetails-explaintrace.png" lightbox="media/copilot/tracedetails-explaintrace.png" alt-text="A screenshot of the trace details page with an Explain trace button."::: + +## Troubleshooting + +### Copilot hangs on "Getting ready" + +A known issue can cause the Copilot UI to hang with a "Getting ready" message when it is first accessed. This occurs when the dashboard is not launched from a [supported version](#requirements) of Visual Studio or VS Code, or when no GitHub account is logged into the IDE. Closing and reopening the Copilot UI fixes the issue. Once fixed, the UI correctly displays a message with requirements for using the dashboard with GitHub Copilot. + +### Reached monthly limit of Copilot Free plan + +The GitHub Copilot Free plan includes a monthly limit on chat usage. When this limit is exceeded, Copilot will no longer function in the dashboard. [Upgrade your Copilot subscription](https://aka.ms/dotnet/aspire/copilot-pro) or wait for the limit to reset. + +## Limitations + +### Data size + +AI models have limits on how much data they can process at once. The .NET Aspire dashboard may limit the amount of data sent to GitHub Copilot when necessary. + +- Large data fields (e.g., long exception stack traces) may be truncated. +- Requests involving large collections of telemetry may be shortened by omitting older items. + +## Disable GitHub Copilot in the dashboard + +GitHub Copilot only accesses data when you explicitly interact with it. For example, submitting a chat query or selecting **Ask GitHub Copilot** from a context menu. + +If you prefer to disable the feature entirely, set the `ASPIRE_DASHBOARD_AI_DISABLED` environment variable to `true` in your app host's _launchSettings.json_ file. This hides all Copilot UI elements in the dashboard. + +:::code language="json" source="snippets/DisableAI/AspireApp/AspireApp.AppHost/Properties/launchSettings.json" highlight="14"::: + +## GitHub Copilot frequently asked questions + +For more information about GitHub Copilot, such as questions around plans, privacy and responsible AI usage, see the [GitHub Copilot frequently asked questions](https://github.com/features/copilot#faq). diff --git a/docs/fundamentals/dashboard/media/copilot/copilot-chatquestion.png b/docs/fundamentals/dashboard/media/copilot/copilot-chatquestion.png new file mode 100644 index 0000000000..d0406e3cc1 Binary files /dev/null and b/docs/fundamentals/dashboard/media/copilot/copilot-chatquestion.png differ diff --git a/docs/fundamentals/dashboard/media/copilot/copilot-headerbutton.png b/docs/fundamentals/dashboard/media/copilot/copilot-headerbutton.png new file mode 100644 index 0000000000..f3453c2c9e Binary files /dev/null and b/docs/fundamentals/dashboard/media/copilot/copilot-headerbutton.png differ diff --git a/docs/fundamentals/dashboard/media/copilot/resources-askcopilot.png b/docs/fundamentals/dashboard/media/copilot/resources-askcopilot.png new file mode 100644 index 0000000000..17e162000d Binary files /dev/null and b/docs/fundamentals/dashboard/media/copilot/resources-askcopilot.png differ diff --git a/docs/fundamentals/dashboard/media/copilot/structuredlogs-explainerror.png b/docs/fundamentals/dashboard/media/copilot/structuredlogs-explainerror.png new file mode 100644 index 0000000000..254b076e44 Binary files /dev/null and b/docs/fundamentals/dashboard/media/copilot/structuredlogs-explainerror.png differ diff --git a/docs/fundamentals/dashboard/media/copilot/tracedetails-explaintrace.png b/docs/fundamentals/dashboard/media/copilot/tracedetails-explaintrace.png new file mode 100644 index 0000000000..2db386c221 Binary files /dev/null and b/docs/fundamentals/dashboard/media/copilot/tracedetails-explaintrace.png differ diff --git a/docs/fundamentals/dashboard/media/custom-urls/custom-url-ordered.png b/docs/fundamentals/dashboard/media/custom-urls/custom-url-ordered.png index 9408b51322..068435753c 100644 Binary files a/docs/fundamentals/dashboard/media/custom-urls/custom-url-ordered.png and b/docs/fundamentals/dashboard/media/custom-urls/custom-url-ordered.png differ diff --git a/docs/fundamentals/dashboard/microsoft-collected-dashboard-telemetry.md b/docs/fundamentals/dashboard/microsoft-collected-dashboard-telemetry.md new file mode 100644 index 0000000000..286d00ddfc --- /dev/null +++ b/docs/fundamentals/dashboard/microsoft-collected-dashboard-telemetry.md @@ -0,0 +1,68 @@ +--- +title: Microsoft-collected dashboard telemetry +description: Learn about what telemetry the .NET Aspire dashboard sends and how to opt out. +ms.date: 05/08/2025 +--- + +# Microsoft-collected dashboard telemetry + +The .NET Aspire dashboard collects diagnostic data to help developers monitor and analyze their applications. Separately, when the dashboard is launched through Visual Studio or Visual Studio Code as part of a running .NET Aspire application, Microsoft collects usage data about the dashboard itself. This data helps the .NET Aspire team improve the product. Additionally, unhandled exception details from the dashboard are sent to Microsoft to assist in identifying and resolving issues. + +## Scope + +.NET Aspire dashboard usage telemetry is collected only when running the dashboard from Visual Studio or Visual Studio Code. Telemetry is gathered while the dashboard is open in the browser, unless you have [opted out](#how-to-opt-out) of telemetry collection. + +## How to opt-out + +Starting with .NET Aspire 9.3, dashboard usage telemetry is enabled by default. Dashboard usage telemetry isn't collected in early version. This feature aligns with the following IDE versions: + +- Visual Studio: 17.14 or later. +- C# Dev Kit: 1.18.25 or later. + +To opt-out of telemetry collection, set the `ASPIRE_DASHBOARD_TELEMETRY_OPTOUT` environment variable to `true`. This will apply to all users accessing the .NET Aspire dashboard: + +### [PowerShell](#tab/powershell) + +```powershell +$env:ASPIRE_DASHBOARD_TELEMETRY_OPTOUT= "true" +``` + +### [Bash](#tab/bash) + +```bash +export ASPIRE_DASHBOARD_TELEMETRY_OPTOUT=true +``` + +--- + +Alternatively, you can opt-out of telemetry collection by disabling telemetry collection in the host IDE. Learn how to opt out in [Visual Studio](/visualstudio/ide/visual-studio-experience-improvement-program) or [Visual Studio Code](https://code.visualstudio.com/docs/configure/telemetry#_disable-telemetry-reporting). + +## Disclosure + +When dashboard usage telemetry is enabled, there's a disclosure statement at the bottom of the settings panel, informing you that telemetry is enabled. This disclosure statement appears when usage telemetry is enabled. + +## Data points + +.NET Aspire dashboard usage telemetry doesn't collect personal data, such as, IP addresses or use browser fingerprinting. It doesn't scan your code and doesn't extract source code, authorship, or deployment configuration. The data is sent securely to Microsoft using [Azure Monitor](/azure/azure-monitor/) through existing telemetry APIs in Visual Studio and Visual Studio Code. + +Protecting your privacy is important to Microsoft. If you suspect that telemetry is collecting sensitive data or the data is being insecurely or inappropriately handled, file an issue in the :::image type="icon" source="../../media/github-mark.svg" border="false"::: [GitHub dotnet/aspire](https://github.com/dotnet/aspire) repository for investigation. + +The .NET Aspire dashboard doesn't collect telemetry on Visual Studio versions `< 17.14` or C# Dev Kit versions `< 1.18.25`. It collects the following data: + +| .NET Aspire dashboard versions | Data | Notes | +|--|--|--| +| 9.3 | Page navigation history. | Includes page settings. | +| 9.3 | Resource types being used. | Custom resource type names are not sent to Microsoft. | +| 9.3 | Request user agent. | — | +| 9.3 | Invoked dashboard commands. | Custom command names are not sent to Microsoft. | +| 9.3 | Request language and set dashboard language. | — | +| 9.3 | Resource restart times. | — | +| 9.3 | OTel data processing times. | — | +| 9.3 | Dashboard-related unhandled exceptions. | — | +| 9.3 | GitHub Copilot usage statistics. | — | +| 9.3 | GitHub Copilot help/unhelp feedback. | — | + +## See also + +- [.NET Aspire dashboard](overview.md) +- [.NET Aspire dashboard configuration](configuration.md) diff --git a/docs/fundamentals/dashboard/overview.md b/docs/fundamentals/dashboard/overview.md index e903298f62..7c527f4cf3 100644 --- a/docs/fundamentals/dashboard/overview.md +++ b/docs/fundamentals/dashboard/overview.md @@ -7,7 +7,16 @@ ms.topic: reference # .NET Aspire dashboard overview -[.NET Aspire](../../get-started/aspire-overview.md) project templates offer a sophisticated dashboard for comprehensive app monitoring and inspection, and it's also available in [standalone mode](#standalone-mode). This dashboard allows you to closely track various aspects of your app, including logs, traces, and environment configurations, in real-time. It's purpose-built to enhance the development experience, providing an insightful overview of your app's state and structure. The dashboard exposes the ability to [stop, start, and restart resources](explore.md#resource-actions), as well as view and interact with logs and telemetry. +[.NET Aspire](../../get-started/aspire-overview.md) project templates include a sophisticated dashboard for comprehensive app monitoring and inspection. The dashboard is also available in [standalone mode](#standalone-mode). + +The dashboard enables real-time tracking of key aspects of your app, including logs, traces, and environment configurations. It's designed to enhance the development experience by providing a clear and insightful view of your app's state and structure. + +Key features of the dashboard include: + +- Real-time tracking of logs, traces, and environment configurations. +- User interface to [stop, start, and restart resources](explore.md#resource-actions). +- Collects and displays logs and telemetry; [view structured logs, traces, and metrics](explore.md#monitoring-pages) in an intuitive UI. +- Enhanced debugging with [GitHub Copilot](copilot.md), your AI-powered assistant built into the dashboard. ## Use the dashboard with .NET Aspire projects diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/AspireApp.ApiService.csproj b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/AspireApp.ApiService.csproj new file mode 100644 index 0000000000..974997f690 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/AspireApp.ApiService.csproj @@ -0,0 +1,13 @@ + + + + net9.0 + enable + enable + + + + + + + diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/Program.cs b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/Program.cs new file mode 100644 index 0000000000..99cd82c206 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/Program.cs @@ -0,0 +1,39 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add service defaults & Aspire client integrations. +builder.AddServiceDefaults(); + +// Add services to the container. +builder.Services.AddProblemDetails(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +app.UseExceptionHandler(); + +var summaries = new[] +{ + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" +}; + +app.MapGet("/weatherforecast", () => +{ + var forecast = Enumerable.Range(1, 5).Select(index => + new WeatherForecast + ( + DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + Random.Shared.Next(-20, 55), + summaries[Random.Shared.Next(summaries.Length)] + )) + .ToArray(); + return forecast; +}); + +app.MapDefaultEndpoints(); + +app.Run(); + +record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary) +{ + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/Properties/launchSettings.json b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/Properties/launchSettings.json new file mode 100644 index 0000000000..9d3fc77ec7 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/Properties/launchSettings.json @@ -0,0 +1,25 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "weatherforecast", + "applicationUrl": "http://localhost:5523", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "weatherforecast", + "applicationUrl": "https://localhost:7391;http://localhost:5523", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/appsettings.Development.json b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/appsettings.Development.json new file mode 100644 index 0000000000..0c208ae918 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/appsettings.json b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/appsettings.json new file mode 100644 index 0000000000..10f68b8c8b --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ApiService/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj new file mode 100644 index 0000000000..c6a13230cb --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj @@ -0,0 +1,23 @@ + + + + + + Exe + net9.0 + enable + enable + 96e09729-6560-4674-add2-deb02f156d36 + + + + + + + + + + + + + diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/Program.cs b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/Program.cs new file mode 100644 index 0000000000..d8499a4bc7 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/Program.cs @@ -0,0 +1,14 @@ +var builder = DistributedApplication.CreateBuilder(args); + +var cache = builder.AddRedis("cache"); + +var apiService = builder.AddProject("apiservice"); + +builder.AddProject("webfrontend") + .WithExternalHttpEndpoints() + .WithReference(cache) + .WaitFor(cache) + .WithReference(apiService) + .WaitFor(apiService); + +builder.Build().Run(); diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/Properties/launchSettings.json b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/Properties/launchSettings.json new file mode 100644 index 0000000000..16786e951e --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/Properties/launchSettings.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:17129;http://localhost:15010", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "DOTNET_ENVIRONMENT": "Development", + "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21124", + "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22206", + "ASPIRE_DASHBOARD_AI_DISABLED": "true" + } + } + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/appsettings.Development.json b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/appsettings.Development.json new file mode 100644 index 0000000000..0c208ae918 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/appsettings.json b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/appsettings.json new file mode 100644 index 0000000000..31c092aa45 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.AppHost/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning", + "Aspire.Hosting.Dcp": "Warning" + } + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ServiceDefaults/AspireApp.ServiceDefaults.csproj b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ServiceDefaults/AspireApp.ServiceDefaults.csproj new file mode 100644 index 0000000000..9ecadf9806 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ServiceDefaults/AspireApp.ServiceDefaults.csproj @@ -0,0 +1,22 @@ + + + + net9.0 + enable + enable + true + + + + + + + + + + + + + + + diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ServiceDefaults/Extensions.cs b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ServiceDefaults/Extensions.cs new file mode 100644 index 0000000000..87808a3463 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.ServiceDefaults/Extensions.cs @@ -0,0 +1,118 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Diagnostics.HealthChecks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Diagnostics.HealthChecks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.ServiceDiscovery; +using OpenTelemetry; +using OpenTelemetry.Metrics; +using OpenTelemetry.Trace; + +namespace Microsoft.Extensions.Hosting; + +// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// This project should be referenced by each service project in your solution. +// To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults +public static class Extensions +{ + public static TBuilder AddServiceDefaults(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + builder.ConfigureOpenTelemetry(); + + builder.AddDefaultHealthChecks(); + + builder.Services.AddServiceDiscovery(); + + builder.Services.ConfigureHttpClientDefaults(http => + { + // Turn on resilience by default + http.AddStandardResilienceHandler(); + + // Turn on service discovery by default + http.AddServiceDiscovery(); + }); + + // Uncomment the following to restrict the allowed schemes for service discovery. + // builder.Services.Configure(options => + // { + // options.AllowedSchemes = ["https"]; + // }); + + return builder; + } + + public static TBuilder ConfigureOpenTelemetry(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + builder.Logging.AddOpenTelemetry(logging => + { + logging.IncludeFormattedMessage = true; + logging.IncludeScopes = true; + }); + + builder.Services.AddOpenTelemetry() + .WithMetrics(metrics => + { + metrics.AddAspNetCoreInstrumentation() + .AddHttpClientInstrumentation() + .AddRuntimeInstrumentation(); + }) + .WithTracing(tracing => + { + tracing.AddAspNetCoreInstrumentation() + // Uncomment the following line to enable gRPC instrumentation (requires the OpenTelemetry.Instrumentation.GrpcNetClient package) + //.AddGrpcClientInstrumentation() + .AddHttpClientInstrumentation(); + }); + + builder.AddOpenTelemetryExporters(); + + return builder; + } + + private static TBuilder AddOpenTelemetryExporters(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + var useOtlpExporter = !string.IsNullOrWhiteSpace(builder.Configuration["OTEL_EXPORTER_OTLP_ENDPOINT"]); + + if (useOtlpExporter) + { + builder.Services.AddOpenTelemetry().UseOtlpExporter(); + } + + // Uncomment the following lines to enable the Azure Monitor exporter (requires the Azure.Monitor.OpenTelemetry.AspNetCore package) + //if (!string.IsNullOrEmpty(builder.Configuration["APPLICATIONINSIGHTS_CONNECTION_STRING"])) + //{ + // builder.Services.AddOpenTelemetry() + // .UseAzureMonitor(); + //} + + return builder; + } + + public static TBuilder AddDefaultHealthChecks(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + builder.Services.AddHealthChecks() + // Add a default liveness check to ensure app is responsive + .AddCheck("self", () => HealthCheckResult.Healthy(), ["live"]); + + return builder; + } + + public static WebApplication MapDefaultEndpoints(this WebApplication app) + { + // Adding health checks endpoints to applications in non-development environments has security implications. + // See https://aka.ms/dotnet/aspire/healthchecks for details before enabling these endpoints in non-development environments. + if (app.Environment.IsDevelopment()) + { + // All health checks must pass for app to be considered ready to accept traffic after starting + app.MapHealthChecks("/health"); + + // Only health checks tagged with the "live" tag must pass for app to be considered alive + app.MapHealthChecks("/alive", new HealthCheckOptions + { + Predicate = r => r.Tags.Contains("live") + }); + } + + return app; + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/AspireApp.Web.csproj b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/AspireApp.Web.csproj new file mode 100644 index 0000000000..dd667752c0 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/AspireApp.Web.csproj @@ -0,0 +1,17 @@ + + + + net9.0 + enable + enable + + + + + + + + + + + diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/App.razor b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/App.razor new file mode 100644 index 0000000000..723f109e1d --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/App.razor @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/MainLayout.razor b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/MainLayout.razor new file mode 100644 index 0000000000..5a24bb1371 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/MainLayout.razor @@ -0,0 +1,23 @@ +@inherits LayoutComponentBase + +
+ + +
+
+ About +
+ +
+ @Body +
+
+
+ +
+ An unhandled error has occurred. + Reload + 🗙 +
diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/MainLayout.razor.css b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/MainLayout.razor.css new file mode 100644 index 0000000000..038baf178b --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/MainLayout.razor.css @@ -0,0 +1,96 @@ +.page { + position: relative; + display: flex; + flex-direction: column; +} + +main { + flex: 1; +} + +.sidebar { + background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); +} + +.top-row { + background-color: #f7f7f7; + border-bottom: 1px solid #d6d5d5; + justify-content: flex-end; + height: 3.5rem; + display: flex; + align-items: center; +} + + .top-row ::deep a, .top-row ::deep .btn-link { + white-space: nowrap; + margin-left: 1.5rem; + text-decoration: none; + } + + .top-row ::deep a:hover, .top-row ::deep .btn-link:hover { + text-decoration: underline; + } + + .top-row ::deep a:first-child { + overflow: hidden; + text-overflow: ellipsis; + } + +@media (max-width: 640.98px) { + .top-row { + justify-content: space-between; + } + + .top-row ::deep a, .top-row ::deep .btn-link { + margin-left: 0; + } +} + +@media (min-width: 641px) { + .page { + flex-direction: row; + } + + .sidebar { + width: 250px; + height: 100vh; + position: sticky; + top: 0; + } + + .top-row { + position: sticky; + top: 0; + z-index: 1; + } + + .top-row.auth ::deep a:first-child { + flex: 1; + text-align: right; + width: 0; + } + + .top-row, article { + padding-left: 2rem !important; + padding-right: 1.5rem !important; + } +} + +#blazor-error-ui { + background: lightyellow; + bottom: 0; + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); + display: none; + left: 0; + padding: 0.6rem 1.25rem 0.7rem 1.25rem; + position: fixed; + width: 100%; + z-index: 1000; +} + + #blazor-error-ui .dismiss { + cursor: pointer; + position: absolute; + right: 0.75rem; + top: 0.5rem; + } diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/NavMenu.razor b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/NavMenu.razor new file mode 100644 index 0000000000..3c56a9530c --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/NavMenu.razor @@ -0,0 +1,29 @@ + + + + + diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/NavMenu.razor.css b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/NavMenu.razor.css new file mode 100644 index 0000000000..95fcc36e0b --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Layout/NavMenu.razor.css @@ -0,0 +1,102 @@ +.navbar-toggler { + appearance: none; + cursor: pointer; + width: 3.5rem; + height: 2.5rem; + color: white; + position: absolute; + top: 0.5rem; + right: 1rem; + border: 1px solid rgba(255, 255, 255, 0.1); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1); +} + +.navbar-toggler:checked { + background-color: rgba(255, 255, 255, 0.5); +} + +.top-row { + height: 3.5rem; + background-color: rgba(0,0,0,0.4); +} + +.navbar-brand { + font-size: 1.1rem; +} + +.bi { + display: inline-block; + position: relative; + width: 1.25rem; + height: 1.25rem; + margin-right: 0.75rem; + top: -1px; + background-size: cover; +} + +.bi-house-door-fill { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E"); +} + +.bi-plus-square-fill { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E"); +} + +.bi-list-nested { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E"); +} + +.nav-item { + font-size: 0.9rem; + padding-bottom: 0.5rem; +} + + .nav-item:first-of-type { + padding-top: 1rem; + } + + .nav-item:last-of-type { + padding-bottom: 1rem; + } + + .nav-item ::deep a { + color: #d7d7d7; + border-radius: 4px; + height: 3rem; + display: flex; + align-items: center; + line-height: 3rem; + } + +.nav-item ::deep a.active { + background-color: rgba(255,255,255,0.37); + color: white; +} + +.nav-item ::deep a:hover { + background-color: rgba(255,255,255,0.1); + color: white; +} + +.nav-scrollable { + display: none; +} + +.navbar-toggler:checked ~ .nav-scrollable { + display: block; +} + +@media (min-width: 641px) { + .navbar-toggler { + display: none; + } + + .nav-scrollable { + /* Never collapse the sidebar for wide screens */ + display: block; + + /* Allow sidebar to scroll for tall menus */ + height: calc(100vh - 3.5rem); + overflow-y: auto; + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Counter.razor b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Counter.razor new file mode 100644 index 0000000000..1a4f8e7553 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Counter.razor @@ -0,0 +1,19 @@ +@page "/counter" +@rendermode InteractiveServer + +Counter + +

Counter

+ +

Current count: @currentCount

+ + + +@code { + private int currentCount = 0; + + private void IncrementCount() + { + currentCount++; + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Error.razor b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Error.razor new file mode 100644 index 0000000000..fcaa7c6ef6 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Error.razor @@ -0,0 +1,38 @@ +@page "/Error" +@using System.Diagnostics + +Error + +

Error.

+

An error occurred while processing your request.

+ +@if (ShowRequestId) +{ +

+ Request ID: @requestId +

+} + +

Development Mode

+

+ Swapping to Development environment will display more detailed information about the error that occurred. +

+

+ The Development environment shouldn't be enabled for deployed applications. + It can result in displaying sensitive information from exceptions to end users. + For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development + and restarting the app. +

+ +@code{ + [CascadingParameter] + public HttpContext? HttpContext { get; set; } + + private string? requestId; + private bool ShowRequestId => !string.IsNullOrEmpty(requestId); + + protected override void OnInitialized() + { + requestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Home.razor b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Home.razor new file mode 100644 index 0000000000..9001e0bd27 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Home.razor @@ -0,0 +1,7 @@ +@page "/" + +Home + +

Hello, world!

+ +Welcome to your new app. diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Weather.razor b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Weather.razor new file mode 100644 index 0000000000..77e18cde47 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Pages/Weather.razor @@ -0,0 +1,49 @@ +@page "/weather" +@attribute [StreamRendering(true)] +@attribute [OutputCache(Duration = 5)] + +@inject WeatherApiClient WeatherApi + +Weather + +

Weather

+ +

This component demonstrates showing data loaded from a backend API service.

+ +@if (forecasts == null) +{ +

Loading...

+} +else +{ + + + + + + + + + + + @foreach (var forecast in forecasts) + { + + + + + + + } + +
DateTemp. (C)Temp. (F)Summary
@forecast.Date.ToShortDateString()@forecast.TemperatureC@forecast.TemperatureF@forecast.Summary
+} + +@code { + private WeatherForecast[]? forecasts; + + protected override async Task OnInitializedAsync() + { + forecasts = await WeatherApi.GetWeatherAsync(); + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Routes.razor b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Routes.razor new file mode 100644 index 0000000000..d0df781615 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/Routes.razor @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/_Imports.razor b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/_Imports.razor new file mode 100644 index 0000000000..6744bc90b8 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Components/_Imports.razor @@ -0,0 +1,11 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.AspNetCore.OutputCaching +@using Microsoft.JSInterop +@using AspireApp.Web +@using AspireApp.Web.Components diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Program.cs b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Program.cs new file mode 100644 index 0000000000..2d3d65e140 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Program.cs @@ -0,0 +1,42 @@ +using AspireApp.Web; +using AspireApp.Web.Components; + +var builder = WebApplication.CreateBuilder(args); + +// Add service defaults & Aspire client integrations. +builder.AddServiceDefaults(); +builder.AddRedisOutputCache("cache"); + +// Add services to the container. +builder.Services.AddRazorComponents() + .AddInteractiveServerComponents(); + +builder.Services.AddHttpClient(client => + { + // This URL uses "https+http://" to indicate HTTPS is preferred over HTTP. + // Learn more about service discovery scheme resolution at https://aka.ms/dotnet/sdschemes. + client.BaseAddress = new("https+http://apiservice"); + }); + +var app = builder.Build(); + +if (!app.Environment.IsDevelopment()) +{ + app.UseExceptionHandler("/Error", createScopeForErrors: true); + // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. + app.UseHsts(); +} + +app.UseHttpsRedirection(); + +app.UseStaticFiles(); +app.UseAntiforgery(); + +app.UseOutputCache(); + +app.MapRazorComponents() + .AddInteractiveServerRenderMode(); + +app.MapDefaultEndpoints(); + +app.Run(); diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Properties/launchSettings.json b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Properties/launchSettings.json new file mode 100644 index 0000000000..e530e73791 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/Properties/launchSettings.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5121", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7248;http://localhost:5121", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/WeatherApiClient.cs b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/WeatherApiClient.cs new file mode 100644 index 0000000000..19e0a22ecd --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/WeatherApiClient.cs @@ -0,0 +1,29 @@ +namespace AspireApp.Web; + +public class WeatherApiClient(HttpClient httpClient) +{ + public async Task GetWeatherAsync(int maxItems = 10, CancellationToken cancellationToken = default) + { + List? forecasts = null; + + await foreach (var forecast in httpClient.GetFromJsonAsAsyncEnumerable("/weatherforecast", cancellationToken)) + { + if (forecasts?.Count >= maxItems) + { + break; + } + if (forecast is not null) + { + forecasts ??= []; + forecasts.Add(forecast); + } + } + + return forecasts?.ToArray() ?? []; + } +} + +public record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary) +{ + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/appsettings.Development.json b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/appsettings.Development.json new file mode 100644 index 0000000000..0c208ae918 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/appsettings.json b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/appsettings.json new file mode 100644 index 0000000000..10f68b8c8b --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/wwwroot/app.css b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/wwwroot/app.css new file mode 100644 index 0000000000..a5c222e7af --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/wwwroot/app.css @@ -0,0 +1,47 @@ +html, body { + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; +} + +a, .btn-link { + color: #006bb7; +} + +.btn-primary { + color: #fff; + background-color: #1b6ec2; + border-color: #1861ac; +} + +.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { + box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; +} + +.content { + padding-top: 1.1rem; +} + +h1:focus { + outline: none; +} + +.valid.modified:not([type=checkbox]) { + outline: 1px solid #26b050; +} + +.invalid { + outline: 1px solid #e51210; +} + +.validation-message { + color: #e51210; +} + +.blazor-error-boundary { + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121; + padding: 1rem 1rem 1rem 3.7rem; + color: white; +} + + .blazor-error-boundary::after { + content: "An error has occurred." + } diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/wwwroot/bootstrap/bootstrap.min.css b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/wwwroot/bootstrap/bootstrap.min.css new file mode 100644 index 0000000000..02ae65b5fe --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/wwwroot/bootstrap/bootstrap.min.css @@ -0,0 +1,7 @@ +@charset "UTF-8";/*! + * Bootstrap v5.1.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-rgb:33,37,41;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/wwwroot/bootstrap/bootstrap.min.css.map b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/wwwroot/bootstrap/bootstrap.min.css.map new file mode 100644 index 0000000000..afcd9e33e9 --- /dev/null +++ b/docs/fundamentals/dashboard/snippets/DisableAI/AspireApp/AspireApp.Web/wwwroot/bootstrap/bootstrap.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_accordion.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/mixins/_backdrop.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/_offcanvas.scss","../../scss/_placeholders.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"iBAAA;;;;;ACAA,MAQI,UAAA,QAAA,YAAA,QAAA,YAAA,QAAA,UAAA,QAAA,SAAA,QAAA,YAAA,QAAA,YAAA,QAAA,WAAA,QAAA,UAAA,QAAA,UAAA,QAAA,WAAA,KAAA,UAAA,QAAA,eAAA,QAIA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAIA,aAAA,QAAA,eAAA,QAAA,aAAA,QAAA,UAAA,QAAA,aAAA,QAAA,YAAA,QAAA,WAAA,QAAA,UAAA,QAIA,iBAAA,EAAA,CAAA,GAAA,CAAA,IAAA,mBAAA,GAAA,CAAA,GAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,GAAA,CAAA,GAAA,cAAA,EAAA,CAAA,GAAA,CAAA,IAAA,iBAAA,GAAA,CAAA,GAAA,CAAA,EAAA,gBAAA,GAAA,CAAA,EAAA,CAAA,GAAA,eAAA,GAAA,CAAA,GAAA,CAAA,IAAA,cAAA,EAAA,CAAA,EAAA,CAAA,GAGF,eAAA,GAAA,CAAA,GAAA,CAAA,IACA,eAAA,CAAA,CAAA,CAAA,CAAA,EACA,cAAA,EAAA,CAAA,EAAA,CAAA,GAMA,qBAAA,SAAA,CAAA,aAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,iBAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBACA,oBAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UACA,cAAA,2EAQA,sBAAA,0BACA,oBAAA,KACA,sBAAA,IACA,sBAAA,IACA,gBAAA,QAIA,aAAA,KClCF,EC+CA,QADA,SD3CE,WAAA,WAeE,8CANJ,MAOM,gBAAA,QAcN,KACE,OAAA,EACA,YAAA,2BEmPI,UAAA,yBFjPJ,YAAA,2BACA,YAAA,2BACA,MAAA,qBACA,WAAA,0BACA,iBAAA,kBACA,yBAAA,KACA,4BAAA,YAUF,GACE,OAAA,KAAA,EACA,MAAA,QACA,iBAAA,aACA,OAAA,EACA,QAAA,IAGF,eACE,OAAA,IAUF,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAGA,YAAA,IACA,YAAA,IAIF,IAAA,GEwMQ,UAAA,uBAlKJ,0BFtCJ,IAAA,GE+MQ,UAAA,QF1MR,IAAA,GEmMQ,UAAA,sBAlKJ,0BFjCJ,IAAA,GE0MQ,UAAA,MFrMR,IAAA,GE8LQ,UAAA,oBAlKJ,0BF5BJ,IAAA,GEqMQ,UAAA,SFhMR,IAAA,GEyLQ,UAAA,sBAlKJ,0BFvBJ,IAAA,GEgMQ,UAAA,QF3LR,IAAA,GEgLM,UAAA,QF3KN,IAAA,GE2KM,UAAA,KFhKN,EACE,WAAA,EACA,cAAA,KCmBF,6BDRA,YAEE,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,iCAAA,KAAA,yBAAA,KAMF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QAMF,GCIA,GDFE,aAAA,KCQF,GDLA,GCIA,GDDE,WAAA,EACA,cAAA,KAGF,MCKA,MACA,MAFA,MDAE,cAAA,EAGF,GACE,YAAA,IAKF,GACE,cAAA,MACA,YAAA,EAMF,WACE,OAAA,EAAA,EAAA,KAQF,ECNA,ODQE,YAAA,OAQF,OAAA,ME4EM,UAAA,OFrEN,MAAA,KACE,QAAA,KACA,iBAAA,QASF,ICpBA,IDsBE,SAAA,SEwDI,UAAA,MFtDJ,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAKN,EACE,MAAA,QACA,gBAAA,UAEA,QACE,MAAA,QAWF,2BAAA,iCAEE,MAAA,QACA,gBAAA,KCxBJ,KACA,ID8BA,IC7BA,KDiCE,YAAA,yBEcI,UAAA,IFZJ,UAAA,IACA,aAAA,cAOF,IACE,QAAA,MACA,WAAA,EACA,cAAA,KACA,SAAA,KEAI,UAAA,OFKJ,SELI,UAAA,QFOF,MAAA,QACA,WAAA,OAIJ,KEZM,UAAA,OFcJ,MAAA,QACA,UAAA,WAGA,OACE,MAAA,QAIJ,IACE,QAAA,MAAA,MExBI,UAAA,OF0BJ,MAAA,KACA,iBAAA,QG7SE,cAAA,MHgTF,QACE,QAAA,EE/BE,UAAA,IFiCF,YAAA,IASJ,OACE,OAAA,EAAA,EAAA,KAMF,ICjDA,IDmDE,eAAA,OAQF,MACE,aAAA,OACA,gBAAA,SAGF,QACE,YAAA,MACA,eAAA,MACA,MAAA,QACA,WAAA,KAOF,GAEE,WAAA,QACA,WAAA,qBCxDF,MAGA,GAFA,MAGA,GDuDA,MCzDA,GD+DE,aAAA,QACA,aAAA,MACA,aAAA,EAQF,MACE,QAAA,aAMF,OAEE,cAAA,EAQF,iCACE,QAAA,ECtEF,OD2EA,MCzEA,SADA,OAEA,SD6EE,OAAA,EACA,YAAA,QE9HI,UAAA,QFgIJ,YAAA,QAIF,OC5EA,OD8EE,eAAA,KAKF,cACE,OAAA,QAGF,OAGE,UAAA,OAGA,gBACE,QAAA,EAOJ,0CACE,QAAA,KClFF,cACA,aACA,cDwFA,OAIE,mBAAA,OCxFF,6BACA,4BACA,6BDyFI,sBACE,OAAA,QAON,mBACE,QAAA,EACA,aAAA,KAKF,SACE,OAAA,SAUF,SACE,UAAA,EACA,QAAA,EACA,OAAA,EACA,OAAA,EAQF,OACE,MAAA,KACA,MAAA,KACA,QAAA,EACA,cAAA,MEnNM,UAAA,sBFsNN,YAAA,QExXE,0BFiXJ,OExMQ,UAAA,QFiNN,SACE,MAAA,KChGJ,kCDuGA,uCCxGA,mCADA,+BAGA,oCAJA,6BAKA,mCD4GE,QAAA,EAGF,4BACE,OAAA,KASF,cACE,eAAA,KACA,mBAAA,UAmBF,4BACE,mBAAA,KAKF,+BACE,QAAA,EAMF,uBACE,KAAA,QAMF,6BACE,KAAA,QACA,mBAAA,OAKF,OACE,QAAA,aAKF,OACE,OAAA,EAOF,QACE,QAAA,UACA,OAAA,QAQF,SACE,eAAA,SAQF,SACE,QAAA,eInlBF,MFyQM,UAAA,QEvQJ,YAAA,IAKA,WFsQM,UAAA,uBEpQJ,YAAA,IACA,YAAA,IFiGA,0BEpGF,WF6QM,UAAA,ME7QN,WFsQM,UAAA,uBEpQJ,YAAA,IACA,YAAA,IFiGA,0BEpGF,WF6QM,UAAA,QE7QN,WFsQM,UAAA,uBEpQJ,YAAA,IACA,YAAA,IFiGA,0BEpGF,WF6QM,UAAA,ME7QN,WFsQM,UAAA,uBEpQJ,YAAA,IACA,YAAA,IFiGA,0BEpGF,WF6QM,UAAA,QE7QN,WFsQM,UAAA,uBEpQJ,YAAA,IACA,YAAA,IFiGA,0BEpGF,WF6QM,UAAA,ME7QN,WFsQM,UAAA,uBEpQJ,YAAA,IACA,YAAA,IFiGA,0BEpGF,WF6QM,UAAA,QEvPR,eCrDE,aAAA,EACA,WAAA,KDyDF,aC1DE,aAAA,EACA,WAAA,KD4DF,kBACE,QAAA,aAEA,mCACE,aAAA,MAUJ,YFsNM,UAAA,OEpNJ,eAAA,UAIF,YACE,cAAA,KF+MI,UAAA,QE5MJ,wBACE,cAAA,EAIJ,mBACE,WAAA,MACA,cAAA,KFqMI,UAAA,OEnMJ,MAAA,QAEA,2BACE,QAAA,KE9FJ,WCIE,UAAA,KAGA,OAAA,KDDF,eACE,QAAA,OACA,iBAAA,KACA,OAAA,IAAA,MAAA,QHGE,cAAA,OIRF,UAAA,KAGA,OAAA,KDcF,QAEE,QAAA,aAGF,YACE,cAAA,MACA,YAAA,EAGF,gBJ+PM,UAAA,OI7PJ,MAAA,QElCA,WPqmBF,iBAGA,cACA,cACA,cAHA,cADA,eQzmBE,MAAA,KACA,cAAA,0BACA,aAAA,0BACA,aAAA,KACA,YAAA,KCwDE,yBF5CE,WAAA,cACE,UAAA,OE2CJ,yBF5CE,WAAA,cAAA,cACE,UAAA,OE2CJ,yBF5CE,WAAA,cAAA,cAAA,cACE,UAAA,OE2CJ,0BF5CE,WAAA,cAAA,cAAA,cAAA,cACE,UAAA,QE2CJ,0BF5CE,WAAA,cAAA,cAAA,cAAA,cAAA,eACE,UAAA,QGfN,KCAA,cAAA,OACA,cAAA,EACA,QAAA,KACA,UAAA,KACA,WAAA,8BACA,aAAA,+BACA,YAAA,+BDHE,OCYF,YAAA,EACA,MAAA,KACA,UAAA,KACA,cAAA,8BACA,aAAA,8BACA,WAAA,mBA+CI,KACE,KAAA,EAAA,EAAA,GAGF,iBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,cACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,UAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,QAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,QAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,QAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,UAxDV,YAAA,YAwDU,UAxDV,YAAA,aAwDU,UAxDV,YAAA,IAwDU,UAxDV,YAAA,aAwDU,UAxDV,YAAA,aAwDU,UAxDV,YAAA,IAwDU,UAxDV,YAAA,aAwDU,UAxDV,YAAA,aAwDU,UAxDV,YAAA,IAwDU,WAxDV,YAAA,aAwDU,WAxDV,YAAA,aAmEM,KXusBR,MWrsBU,cAAA,EAGF,KXusBR,MWrsBU,cAAA,EAPF,KXitBR,MW/sBU,cAAA,QAGF,KXitBR,MW/sBU,cAAA,QAPF,KX2tBR,MWztBU,cAAA,OAGF,KX2tBR,MWztBU,cAAA,OAPF,KXquBR,MWnuBU,cAAA,KAGF,KXquBR,MWnuBU,cAAA,KAPF,KX+uBR,MW7uBU,cAAA,OAGF,KX+uBR,MW7uBU,cAAA,OAPF,KXyvBR,MWvvBU,cAAA,KAGF,KXyvBR,MWvvBU,cAAA,KFzDN,yBESE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,YAAA,EAwDU,aAxDV,YAAA,YAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAmEM,QX45BR,SW15BU,cAAA,EAGF,QX45BR,SW15BU,cAAA,EAPF,QXs6BR,SWp6BU,cAAA,QAGF,QXs6BR,SWp6BU,cAAA,QAPF,QXg7BR,SW96BU,cAAA,OAGF,QXg7BR,SW96BU,cAAA,OAPF,QX07BR,SWx7BU,cAAA,KAGF,QX07BR,SWx7BU,cAAA,KAPF,QXo8BR,SWl8BU,cAAA,OAGF,QXo8BR,SWl8BU,cAAA,OAPF,QX88BR,SW58BU,cAAA,KAGF,QX88BR,SW58BU,cAAA,MFzDN,yBESE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,YAAA,EAwDU,aAxDV,YAAA,YAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAmEM,QXinCR,SW/mCU,cAAA,EAGF,QXinCR,SW/mCU,cAAA,EAPF,QX2nCR,SWznCU,cAAA,QAGF,QX2nCR,SWznCU,cAAA,QAPF,QXqoCR,SWnoCU,cAAA,OAGF,QXqoCR,SWnoCU,cAAA,OAPF,QX+oCR,SW7oCU,cAAA,KAGF,QX+oCR,SW7oCU,cAAA,KAPF,QXypCR,SWvpCU,cAAA,OAGF,QXypCR,SWvpCU,cAAA,OAPF,QXmqCR,SWjqCU,cAAA,KAGF,QXmqCR,SWjqCU,cAAA,MFzDN,yBESE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,YAAA,EAwDU,aAxDV,YAAA,YAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAmEM,QXs0CR,SWp0CU,cAAA,EAGF,QXs0CR,SWp0CU,cAAA,EAPF,QXg1CR,SW90CU,cAAA,QAGF,QXg1CR,SW90CU,cAAA,QAPF,QX01CR,SWx1CU,cAAA,OAGF,QX01CR,SWx1CU,cAAA,OAPF,QXo2CR,SWl2CU,cAAA,KAGF,QXo2CR,SWl2CU,cAAA,KAPF,QX82CR,SW52CU,cAAA,OAGF,QX82CR,SW52CU,cAAA,OAPF,QXw3CR,SWt3CU,cAAA,KAGF,QXw3CR,SWt3CU,cAAA,MFzDN,0BESE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,YAAA,EAwDU,aAxDV,YAAA,YAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAmEM,QX2hDR,SWzhDU,cAAA,EAGF,QX2hDR,SWzhDU,cAAA,EAPF,QXqiDR,SWniDU,cAAA,QAGF,QXqiDR,SWniDU,cAAA,QAPF,QX+iDR,SW7iDU,cAAA,OAGF,QX+iDR,SW7iDU,cAAA,OAPF,QXyjDR,SWvjDU,cAAA,KAGF,QXyjDR,SWvjDU,cAAA,KAPF,QXmkDR,SWjkDU,cAAA,OAGF,QXmkDR,SWjkDU,cAAA,OAPF,QX6kDR,SW3kDU,cAAA,KAGF,QX6kDR,SW3kDU,cAAA,MFzDN,0BESE,SACE,KAAA,EAAA,EAAA,GAGF,qBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,cAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,YAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,YAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,YAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,cAxDV,YAAA,EAwDU,cAxDV,YAAA,YAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,IAwDU,eAxDV,YAAA,aAwDU,eAxDV,YAAA,aAmEM,SXgvDR,UW9uDU,cAAA,EAGF,SXgvDR,UW9uDU,cAAA,EAPF,SX0vDR,UWxvDU,cAAA,QAGF,SX0vDR,UWxvDU,cAAA,QAPF,SXowDR,UWlwDU,cAAA,OAGF,SXowDR,UWlwDU,cAAA,OAPF,SX8wDR,UW5wDU,cAAA,KAGF,SX8wDR,UW5wDU,cAAA,KAPF,SXwxDR,UWtxDU,cAAA,OAGF,SXwxDR,UWtxDU,cAAA,OAPF,SXkyDR,UWhyDU,cAAA,KAGF,SXkyDR,UWhyDU,cAAA,MCpHV,OACE,cAAA,YACA,qBAAA,YACA,yBAAA,QACA,sBAAA,oBACA,wBAAA,QACA,qBAAA,mBACA,uBAAA,QACA,oBAAA,qBAEA,MAAA,KACA,cAAA,KACA,MAAA,QACA,eAAA,IACA,aAAA,QAOA,yBACE,QAAA,MAAA,MACA,iBAAA,mBACA,oBAAA,IACA,WAAA,MAAA,EAAA,EAAA,EAAA,OAAA,0BAGF,aACE,eAAA,QAGF,aACE,eAAA,OAIF,uCACE,oBAAA,aASJ,aACE,aAAA,IAUA,4BACE,QAAA,OAAA,OAeF,gCACE,aAAA,IAAA,EAGA,kCACE,aAAA,EAAA,IAOJ,oCACE,oBAAA,EASF,yCACE,qBAAA,2BACA,MAAA,8BAQJ,cACE,qBAAA,0BACA,MAAA,6BAQA,4BACE,qBAAA,yBACA,MAAA,4BCxHF,eAME,cAAA,QACA,sBAAA,QACA,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KAEA,MAAA,KACA,aAAA,QAfF,iBAME,cAAA,QACA,sBAAA,QACA,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KAEA,MAAA,KACA,aAAA,QAfF,eAME,cAAA,QACA,sBAAA,QACA,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KAEA,MAAA,KACA,aAAA,QAfF,YAME,cAAA,QACA,sBAAA,QACA,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KAEA,MAAA,KACA,aAAA,QAfF,eAME,cAAA,QACA,sBAAA,QACA,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KAEA,MAAA,KACA,aAAA,QAfF,cAME,cAAA,QACA,sBAAA,QACA,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KAEA,MAAA,KACA,aAAA,QAfF,aAME,cAAA,QACA,sBAAA,QACA,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KAEA,MAAA,KACA,aAAA,QAfF,YAME,cAAA,QACA,sBAAA,QACA,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KAEA,MAAA,KACA,aAAA,QDgIA,kBACE,WAAA,KACA,2BAAA,MHvEF,4BGqEA,qBACE,WAAA,KACA,2BAAA,OHvEF,4BGqEA,qBACE,WAAA,KACA,2BAAA,OHvEF,4BGqEA,qBACE,WAAA,KACA,2BAAA,OHvEF,6BGqEA,qBACE,WAAA,KACA,2BAAA,OHvEF,6BGqEA,sBACE,WAAA,KACA,2BAAA,OE/IN,YACE,cAAA,MASF,gBACE,YAAA,oBACA,eAAA,oBACA,cAAA,EboRI,UAAA,QahRJ,YAAA,IAIF,mBACE,YAAA,kBACA,eAAA,kBb0QI,UAAA,QatQN,mBACE,YAAA,mBACA,eAAA,mBboQI,UAAA,QcjSN,WACE,WAAA,OdgSI,UAAA,Oc5RJ,MAAA,QCLF,cACE,QAAA,MACA,MAAA,KACA,QAAA,QAAA,Of8RI,UAAA,Ke3RJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,QACA,mBAAA,KAAA,gBAAA,KAAA,WAAA,KdGE,cAAA,OeHE,WAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIA,uCDhBN,cCiBQ,WAAA,MDGN,yBACE,SAAA,OAEA,wDACE,OAAA,QAKJ,oBACE,MAAA,QACA,iBAAA,KACA,aAAA,QACA,QAAA,EAKE,WAAA,EAAA,EAAA,EAAA,OAAA,qBAOJ,2CAEE,OAAA,MAIF,gCACE,MAAA,QAEA,QAAA,EAHF,2BACE,MAAA,QAEA,QAAA,EAQF,uBAAA,wBAEE,iBAAA,QAGA,QAAA,EAIF,oCACE,QAAA,QAAA,OACA,OAAA,SAAA,QACA,mBAAA,OAAA,kBAAA,OACA,MAAA,QE3EF,iBAAA,QF6EE,eAAA,KACA,aAAA,QACA,aAAA,MACA,aAAA,EACA,wBAAA,IACA,cAAA,ECtEE,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIA,uCDuDJ,oCCtDM,WAAA,MDqEN,yEACE,iBAAA,QAGF,0CACE,QAAA,QAAA,OACA,OAAA,SAAA,QACA,mBAAA,OAAA,kBAAA,OACA,MAAA,QE9FF,iBAAA,QFgGE,eAAA,KACA,aAAA,QACA,aAAA,MACA,aAAA,EACA,wBAAA,IACA,cAAA,ECzFE,mBAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAAA,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIA,uCD0EJ,0CCzEM,mBAAA,KAAA,WAAA,MDwFN,+EACE,iBAAA,QASJ,wBACE,QAAA,MACA,MAAA,KACA,QAAA,QAAA,EACA,cAAA,EACA,YAAA,IACA,MAAA,QACA,iBAAA,YACA,OAAA,MAAA,YACA,aAAA,IAAA,EAEA,wCAAA,wCAEE,cAAA,EACA,aAAA,EAWJ,iBACE,WAAA,0BACA,QAAA,OAAA,MfmJI,UAAA,QClRF,cAAA,McmIF,uCACE,QAAA,OAAA,MACA,OAAA,QAAA,OACA,mBAAA,MAAA,kBAAA,MAGF,6CACE,QAAA,OAAA,MACA,OAAA,QAAA,OACA,mBAAA,MAAA,kBAAA,MAIJ,iBACE,WAAA,yBACA,QAAA,MAAA,KfgII,UAAA,QClRF,cAAA,McsJF,uCACE,QAAA,MAAA,KACA,OAAA,OAAA,MACA,mBAAA,KAAA,kBAAA,KAGF,6CACE,QAAA,MAAA,KACA,OAAA,OAAA,MACA,mBAAA,KAAA,kBAAA,KAQF,sBACE,WAAA,2BAGF,yBACE,WAAA,0BAGF,yBACE,WAAA,yBAKJ,oBACE,MAAA,KACA,OAAA,KACA,QAAA,QAEA,mDACE,OAAA,QAGF,uCACE,OAAA,Md/LA,cAAA,OcmMF,0CACE,OAAA,MdpMA,cAAA,OiBdJ,aACE,QAAA,MACA,MAAA,KACA,QAAA,QAAA,QAAA,QAAA,OAEA,mBAAA,oBlB2RI,UAAA,KkBxRJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,iBAAA,KACA,iBAAA,gOACA,kBAAA,UACA,oBAAA,MAAA,OAAA,OACA,gBAAA,KAAA,KACA,OAAA,IAAA,MAAA,QjBFE,cAAA,OeHE,WAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YESJ,mBAAA,KAAA,gBAAA,KAAA,WAAA,KFLI,uCEfN,aFgBQ,WAAA,MEMN,mBACE,aAAA,QACA,QAAA,EAKE,WAAA,EAAA,EAAA,EAAA,OAAA,qBAIJ,uBAAA,mCAEE,cAAA,OACA,iBAAA,KAGF,sBAEE,iBAAA,QAKF,4BACE,MAAA,YACA,YAAA,EAAA,EAAA,EAAA,QAIJ,gBACE,YAAA,OACA,eAAA,OACA,aAAA,MlByOI,UAAA,QkBrON,gBACE,YAAA,MACA,eAAA,MACA,aAAA,KlBkOI,UAAA,QmBjSN,YACE,QAAA,MACA,WAAA,OACA,aAAA,MACA,cAAA,QAEA,8BACE,MAAA,KACA,YAAA,OAIJ,kBACE,MAAA,IACA,OAAA,IACA,WAAA,MACA,eAAA,IACA,iBAAA,KACA,kBAAA,UACA,oBAAA,OACA,gBAAA,QACA,OAAA,IAAA,MAAA,gBACA,mBAAA,KAAA,gBAAA,KAAA,WAAA,KACA,2BAAA,MAAA,aAAA,MAGA,iClBXE,cAAA,MkBeF,8BAEE,cAAA,IAGF,yBACE,OAAA,gBAGF,wBACE,aAAA,QACA,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,OAAA,qBAGF,0BACE,iBAAA,QACA,aAAA,QAEA,yCAII,iBAAA,8NAIJ,sCAII,iBAAA,sIAKN,+CACE,iBAAA,QACA,aAAA,QAKE,iBAAA,wNAIJ,2BACE,eAAA,KACA,OAAA,KACA,QAAA,GAOA,6CAAA,8CACE,QAAA,GAcN,aACE,aAAA,MAEA,+BACE,MAAA,IACA,YAAA,OACA,iBAAA,uJACA,oBAAA,KAAA,OlB9FA,cAAA,IeHE,WAAA,oBAAA,KAAA,YAIA,uCGyFJ,+BHxFM,WAAA,MGgGJ,qCACE,iBAAA,yIAGF,uCACE,oBAAA,MAAA,OAKE,iBAAA,sIAMR,mBACE,QAAA,aACA,aAAA,KAGF,WACE,SAAA,SACA,KAAA,cACA,eAAA,KAIE,yBAAA,0BACE,eAAA,KACA,OAAA,KACA,QAAA,IC9IN,YACE,MAAA,KACA,OAAA,OACA,QAAA,EACA,iBAAA,YACA,mBAAA,KAAA,gBAAA,KAAA,WAAA,KAEA,kBACE,QAAA,EAIA,wCAA0B,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,OAAA,qBAC1B,oCAA0B,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,OAAA,qBAG5B,8BACE,OAAA,EAGF,kCACE,MAAA,KACA,OAAA,KACA,WAAA,QHzBF,iBAAA,QG2BE,OAAA,EnBZA,cAAA,KeHE,mBAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAAA,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YImBF,mBAAA,KAAA,WAAA,KJfE,uCIMJ,kCJLM,mBAAA,KAAA,WAAA,MIgBJ,yCHjCF,iBAAA,QGsCA,2CACE,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,QACA,aAAA,YnB7BA,cAAA,KmBkCF,8BACE,MAAA,KACA,OAAA,KHnDF,iBAAA,QGqDE,OAAA,EnBtCA,cAAA,KeHE,gBAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAAA,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YI6CF,gBAAA,KAAA,WAAA,KJzCE,uCIiCJ,8BJhCM,gBAAA,KAAA,WAAA,MI0CJ,qCH3DF,iBAAA,QGgEA,8BACE,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,QACA,aAAA,YnBvDA,cAAA,KmB4DF,qBACE,eAAA,KAEA,2CACE,iBAAA,QAGF,uCACE,iBAAA,QCvFN,eACE,SAAA,SAEA,6BtB+iFF,4BsB7iFI,OAAA,mBACA,YAAA,KAGF,qBACE,SAAA,SACA,IAAA,EACA,KAAA,EACA,OAAA,KACA,QAAA,KAAA,OACA,eAAA,KACA,OAAA,IAAA,MAAA,YACA,iBAAA,EAAA,ELDE,WAAA,QAAA,IAAA,WAAA,CAAA,UAAA,IAAA,YAIA,uCKXJ,qBLYM,WAAA,MKCN,6BACE,QAAA,KAAA,OAEA,+CACE,MAAA,YADF,0CACE,MAAA,YAGF,0DAEE,YAAA,SACA,eAAA,QAHF,mCAAA,qDAEE,YAAA,SACA,eAAA,QAGF,8CACE,YAAA,SACA,eAAA,QAIJ,4BACE,YAAA,SACA,eAAA,QAMA,gEACE,QAAA,IACA,UAAA,WAAA,mBAAA,mBAFF,yCtBmjFJ,2DACA,kCsBnjFM,QAAA,IACA,UAAA,WAAA,mBAAA,mBAKF,oDACE,QAAA,IACA,UAAA,WAAA,mBAAA,mBCtDN,aACE,SAAA,SACA,QAAA,KACA,UAAA,KACA,YAAA,QACA,MAAA,KAEA,2BvB2mFF,0BuBzmFI,SAAA,SACA,KAAA,EAAA,EAAA,KACA,MAAA,GACA,UAAA,EAIF,iCvBymFF,gCuBvmFI,QAAA,EAMF,kBACE,SAAA,SACA,QAAA,EAEA,wBACE,QAAA,EAWN,kBACE,QAAA,KACA,YAAA,OACA,QAAA,QAAA,OtBsPI,UAAA,KsBpPJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,OACA,YAAA,OACA,iBAAA,QACA,OAAA,IAAA,MAAA,QrBpCE,cAAA,OFuoFJ,qBuBzlFA,8BvBulFA,6BACA,kCuBplFE,QAAA,MAAA,KtBgOI,UAAA,QClRF,cAAA,MFgpFJ,qBuBzlFA,8BvBulFA,6BACA,kCuBplFE,QAAA,OAAA,MtBuNI,UAAA,QClRF,cAAA,MqBgEJ,6BvBulFA,6BuBrlFE,cAAA,KvB0lFF,uEuB7kFI,8FrB/DA,wBAAA,EACA,2BAAA,EFgpFJ,iEuB3kFI,2FrBtEA,wBAAA,EACA,2BAAA,EqBgFF,0IACE,YAAA,KrBpEA,uBAAA,EACA,0BAAA,EsBzBF,gBACE,QAAA,KACA,MAAA,KACA,WAAA,OvByQE,UAAA,OuBtQF,MAAA,QAGF,eACE,SAAA,SACA,IAAA,KACA,QAAA,EACA,QAAA,KACA,UAAA,KACA,QAAA,OAAA,MACA,WAAA,MvB4PE,UAAA,QuBzPF,MAAA,KACA,iBAAA,mBtB1BA,cAAA,OFmsFJ,0BACA,yBwBrqFI,sCxBmqFJ,qCwBjqFM,QAAA,MA9CF,uBAAA,mCAoDE,aAAA,QAGE,cAAA,qBACA,iBAAA,2OACA,kBAAA,UACA,oBAAA,MAAA,wBAAA,OACA,gBAAA,sBAAA,sBAGF,6BAAA,yCACE,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,OAAA,oBAhEJ,2CAAA,+BAyEI,cAAA,qBACA,oBAAA,IAAA,wBAAA,MAAA,wBA1EJ,sBAAA,kCAiFE,aAAA,QAGE,kDAAA,gDAAA,8DAAA,4DAEE,cAAA,SACA,iBAAA,+NAAA,CAAA,2OACA,oBAAA,MAAA,OAAA,MAAA,CAAA,OAAA,MAAA,QACA,gBAAA,KAAA,IAAA,CAAA,sBAAA,sBAIJ,4BAAA,wCACE,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,OAAA,oBA/FJ,2BAAA,uCAsGE,aAAA,QAEA,mCAAA,+CACE,iBAAA,QAGF,iCAAA,6CACE,WAAA,EAAA,EAAA,EAAA,OAAA,oBAGF,6CAAA,yDACE,MAAA,QAKJ,qDACE,YAAA,KAvHF,oCxBwwFJ,mCwBxwFI,gDxBuwFJ,+CwBxoFQ,QAAA,EAIF,0CxB0oFN,yCwB1oFM,sDxByoFN,qDwBxoFQ,QAAA,EAjHN,kBACE,QAAA,KACA,MAAA,KACA,WAAA,OvByQE,UAAA,OuBtQF,MAAA,QAGF,iBACE,SAAA,SACA,IAAA,KACA,QAAA,EACA,QAAA,KACA,UAAA,KACA,QAAA,OAAA,MACA,WAAA,MvB4PE,UAAA,QuBzPF,MAAA,KACA,iBAAA,mBtB1BA,cAAA,OF4xFJ,8BACA,6BwB9vFI,0CxB4vFJ,yCwB1vFM,QAAA,MA9CF,yBAAA,qCAoDE,aAAA,QAGE,cAAA,qBACA,iBAAA,2TACA,kBAAA,UACA,oBAAA,MAAA,wBAAA,OACA,gBAAA,sBAAA,sBAGF,+BAAA,2CACE,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,OAAA,oBAhEJ,6CAAA,iCAyEI,cAAA,qBACA,oBAAA,IAAA,wBAAA,MAAA,wBA1EJ,wBAAA,oCAiFE,aAAA,QAGE,oDAAA,kDAAA,gEAAA,8DAEE,cAAA,SACA,iBAAA,+NAAA,CAAA,2TACA,oBAAA,MAAA,OAAA,MAAA,CAAA,OAAA,MAAA,QACA,gBAAA,KAAA,IAAA,CAAA,sBAAA,sBAIJ,8BAAA,0CACE,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,OAAA,oBA/FJ,6BAAA,yCAsGE,aAAA,QAEA,qCAAA,iDACE,iBAAA,QAGF,mCAAA,+CACE,WAAA,EAAA,EAAA,EAAA,OAAA,oBAGF,+CAAA,2DACE,MAAA,QAKJ,uDACE,YAAA,KAvHF,sCxBi2FJ,qCwBj2FI,kDxBg2FJ,iDwB/tFQ,QAAA,EAEF,4CxBmuFN,2CwBnuFM,wDxBkuFN,uDwBjuFQ,QAAA,ECtIR,KACE,QAAA,aAEA,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,OACA,gBAAA,KAEA,eAAA,OACA,OAAA,QACA,oBAAA,KAAA,iBAAA,KAAA,YAAA,KACA,iBAAA,YACA,OAAA,IAAA,MAAA,YC8GA,QAAA,QAAA,OzBsKI,UAAA,KClRF,cAAA,OeHE,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIA,uCQhBN,KRiBQ,WAAA,MQAN,WACE,MAAA,QAIF,sBAAA,WAEE,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,OAAA,qBAcF,cAAA,cAAA,uBAGE,eAAA,KACA,QAAA,IAYF,aCvCA,MAAA,KRhBA,iBAAA,QQkBA,aAAA,QAGA,mBACE,MAAA,KRtBF,iBAAA,QQwBE,aAAA,QAGF,8BAAA,mBAEE,MAAA,KR7BF,iBAAA,QQ+BE,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,OAAA,oBAIJ,+BAAA,gCAAA,oBAAA,oBAAA,mCAKE,MAAA,KACA,iBAAA,QAGA,aAAA,QAEA,qCAAA,sCAAA,0BAAA,0BAAA,yCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,oBAKN,sBAAA,sBAEE,MAAA,KACA,iBAAA,QAGA,aAAA,QDZF,eCvCA,MAAA,KRhBA,iBAAA,QQkBA,aAAA,QAGA,qBACE,MAAA,KRtBF,iBAAA,QQwBE,aAAA,QAGF,gCAAA,qBAEE,MAAA,KR7BF,iBAAA,QQ+BE,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,OAAA,qBAIJ,iCAAA,kCAAA,sBAAA,sBAAA,qCAKE,MAAA,KACA,iBAAA,QAGA,aAAA,QAEA,uCAAA,wCAAA,4BAAA,4BAAA,2CAKI,WAAA,EAAA,EAAA,EAAA,OAAA,qBAKN,wBAAA,wBAEE,MAAA,KACA,iBAAA,QAGA,aAAA,QDZF,aCvCA,MAAA,KRhBA,iBAAA,QQkBA,aAAA,QAGA,mBACE,MAAA,KRtBF,iBAAA,QQwBE,aAAA,QAGF,8BAAA,mBAEE,MAAA,KR7BF,iBAAA,QQ+BE,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,OAAA,oBAIJ,+BAAA,gCAAA,oBAAA,oBAAA,mCAKE,MAAA,KACA,iBAAA,QAGA,aAAA,QAEA,qCAAA,sCAAA,0BAAA,0BAAA,yCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,oBAKN,sBAAA,sBAEE,MAAA,KACA,iBAAA,QAGA,aAAA,QDZF,UCvCA,MAAA,KRhBA,iBAAA,QQkBA,aAAA,QAGA,gBACE,MAAA,KRtBF,iBAAA,QQwBE,aAAA,QAGF,2BAAA,gBAEE,MAAA,KR7BF,iBAAA,QQ+BE,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,OAAA,oBAIJ,4BAAA,6BAAA,iBAAA,iBAAA,gCAKE,MAAA,KACA,iBAAA,QAGA,aAAA,QAEA,kCAAA,mCAAA,uBAAA,uBAAA,sCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,oBAKN,mBAAA,mBAEE,MAAA,KACA,iBAAA,QAGA,aAAA,QDZF,aCvCA,MAAA,KRhBA,iBAAA,QQkBA,aAAA,QAGA,mBACE,MAAA,KRtBF,iBAAA,QQwBE,aAAA,QAGF,8BAAA,mBAEE,MAAA,KR7BF,iBAAA,QQ+BE,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,OAAA,mBAIJ,+BAAA,gCAAA,oBAAA,oBAAA,mCAKE,MAAA,KACA,iBAAA,QAGA,aAAA,QAEA,qCAAA,sCAAA,0BAAA,0BAAA,yCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,mBAKN,sBAAA,sBAEE,MAAA,KACA,iBAAA,QAGA,aAAA,QDZF,YCvCA,MAAA,KRhBA,iBAAA,QQkBA,aAAA,QAGA,kBACE,MAAA,KRtBF,iBAAA,QQwBE,aAAA,QAGF,6BAAA,kBAEE,MAAA,KR7BF,iBAAA,QQ+BE,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,OAAA,mBAIJ,8BAAA,+BAAA,mBAAA,mBAAA,kCAKE,MAAA,KACA,iBAAA,QAGA,aAAA,QAEA,oCAAA,qCAAA,yBAAA,yBAAA,wCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,mBAKN,qBAAA,qBAEE,MAAA,KACA,iBAAA,QAGA,aAAA,QDZF,WCvCA,MAAA,KRhBA,iBAAA,QQkBA,aAAA,QAGA,iBACE,MAAA,KRtBF,iBAAA,QQwBE,aAAA,QAGF,4BAAA,iBAEE,MAAA,KR7BF,iBAAA,QQ+BE,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,OAAA,qBAIJ,6BAAA,8BAAA,kBAAA,kBAAA,iCAKE,MAAA,KACA,iBAAA,QAGA,aAAA,QAEA,mCAAA,oCAAA,wBAAA,wBAAA,uCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,qBAKN,oBAAA,oBAEE,MAAA,KACA,iBAAA,QAGA,aAAA,QDZF,UCvCA,MAAA,KRhBA,iBAAA,QQkBA,aAAA,QAGA,gBACE,MAAA,KRtBF,iBAAA,QQwBE,aAAA,QAGF,2BAAA,gBAEE,MAAA,KR7BF,iBAAA,QQ+BE,aAAA,QAKE,WAAA,EAAA,EAAA,EAAA,OAAA,kBAIJ,4BAAA,6BAAA,iBAAA,iBAAA,gCAKE,MAAA,KACA,iBAAA,QAGA,aAAA,QAEA,kCAAA,mCAAA,uBAAA,uBAAA,sCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,kBAKN,mBAAA,mBAEE,MAAA,KACA,iBAAA,QAGA,aAAA,QDNF,qBCmBA,MAAA,QACA,aAAA,QAEA,2BACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,sCAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,OAAA,oBAGF,uCAAA,wCAAA,4BAAA,0CAAA,4BAKE,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,6CAAA,8CAAA,kCAAA,gDAAA,kCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,oBAKN,8BAAA,8BAEE,MAAA,QACA,iBAAA,YDvDF,uBCmBA,MAAA,QACA,aAAA,QAEA,6BACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,wCAAA,6BAEE,WAAA,EAAA,EAAA,EAAA,OAAA,qBAGF,yCAAA,0CAAA,8BAAA,4CAAA,8BAKE,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,+CAAA,gDAAA,oCAAA,kDAAA,oCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,qBAKN,gCAAA,gCAEE,MAAA,QACA,iBAAA,YDvDF,qBCmBA,MAAA,QACA,aAAA,QAEA,2BACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,sCAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,OAAA,mBAGF,uCAAA,wCAAA,4BAAA,0CAAA,4BAKE,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,6CAAA,8CAAA,kCAAA,gDAAA,kCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,mBAKN,8BAAA,8BAEE,MAAA,QACA,iBAAA,YDvDF,kBCmBA,MAAA,QACA,aAAA,QAEA,wBACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,mCAAA,wBAEE,WAAA,EAAA,EAAA,EAAA,OAAA,oBAGF,oCAAA,qCAAA,yBAAA,uCAAA,yBAKE,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,0CAAA,2CAAA,+BAAA,6CAAA,+BAKI,WAAA,EAAA,EAAA,EAAA,OAAA,oBAKN,2BAAA,2BAEE,MAAA,QACA,iBAAA,YDvDF,qBCmBA,MAAA,QACA,aAAA,QAEA,2BACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,sCAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,OAAA,mBAGF,uCAAA,wCAAA,4BAAA,0CAAA,4BAKE,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,6CAAA,8CAAA,kCAAA,gDAAA,kCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,mBAKN,8BAAA,8BAEE,MAAA,QACA,iBAAA,YDvDF,oBCmBA,MAAA,QACA,aAAA,QAEA,0BACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,qCAAA,0BAEE,WAAA,EAAA,EAAA,EAAA,OAAA,mBAGF,sCAAA,uCAAA,2BAAA,yCAAA,2BAKE,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,4CAAA,6CAAA,iCAAA,+CAAA,iCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,mBAKN,6BAAA,6BAEE,MAAA,QACA,iBAAA,YDvDF,mBCmBA,MAAA,QACA,aAAA,QAEA,yBACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,oCAAA,yBAEE,WAAA,EAAA,EAAA,EAAA,OAAA,qBAGF,qCAAA,sCAAA,0BAAA,wCAAA,0BAKE,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,2CAAA,4CAAA,gCAAA,8CAAA,gCAKI,WAAA,EAAA,EAAA,EAAA,OAAA,qBAKN,4BAAA,4BAEE,MAAA,QACA,iBAAA,YDvDF,kBCmBA,MAAA,QACA,aAAA,QAEA,wBACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,mCAAA,wBAEE,WAAA,EAAA,EAAA,EAAA,OAAA,kBAGF,oCAAA,qCAAA,yBAAA,uCAAA,yBAKE,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,0CAAA,2CAAA,+BAAA,6CAAA,+BAKI,WAAA,EAAA,EAAA,EAAA,OAAA,kBAKN,2BAAA,2BAEE,MAAA,QACA,iBAAA,YD3CJ,UACE,YAAA,IACA,MAAA,QACA,gBAAA,UAEA,gBACE,MAAA,QAQF,mBAAA,mBAEE,MAAA,QAWJ,mBAAA,QCuBE,QAAA,MAAA,KzBsKI,UAAA,QClRF,cAAA,MuByFJ,mBAAA,QCmBE,QAAA,OAAA,MzBsKI,UAAA,QClRF,cAAA,MyBnBJ,MVgBM,WAAA,QAAA,KAAA,OAIA,uCUpBN,MVqBQ,WAAA,MUlBN,iBACE,QAAA,EAMF,qBACE,QAAA,KAIJ,YACE,OAAA,EACA,SAAA,OVDI,WAAA,OAAA,KAAA,KAIA,uCULN,YVMQ,WAAA,MUDN,gCACE,MAAA,EACA,OAAA,KVNE,WAAA,MAAA,KAAA,KAIA,uCUAJ,gCVCM,WAAA,MjBs3GR,UADA,SAEA,W4B34GA,QAIE,SAAA,SAGF,iBACE,YAAA,OCqBE,wBACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAhCJ,WAAA,KAAA,MACA,aAAA,KAAA,MAAA,YACA,cAAA,EACA,YAAA,KAAA,MAAA,YAqDE,8BACE,YAAA,ED3CN,eACE,SAAA,SACA,QAAA,KACA,QAAA,KACA,UAAA,MACA,QAAA,MAAA,EACA,OAAA,E3B+QI,UAAA,K2B7QJ,MAAA,QACA,WAAA,KACA,WAAA,KACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,gB1BVE,cAAA,O0BcF,+BACE,IAAA,KACA,KAAA,EACA,WAAA,QAYA,qBACE,cAAA,MAEA,qCACE,MAAA,KACA,KAAA,EAIJ,mBACE,cAAA,IAEA,mCACE,MAAA,EACA,KAAA,KnBCJ,yBmBfA,wBACE,cAAA,MAEA,wCACE,MAAA,KACA,KAAA,EAIJ,sBACE,cAAA,IAEA,sCACE,MAAA,EACA,KAAA,MnBCJ,yBmBfA,wBACE,cAAA,MAEA,wCACE,MAAA,KACA,KAAA,EAIJ,sBACE,cAAA,IAEA,sCACE,MAAA,EACA,KAAA,MnBCJ,yBmBfA,wBACE,cAAA,MAEA,wCACE,MAAA,KACA,KAAA,EAIJ,sBACE,cAAA,IAEA,sCACE,MAAA,EACA,KAAA,MnBCJ,0BmBfA,wBACE,cAAA,MAEA,wCACE,MAAA,KACA,KAAA,EAIJ,sBACE,cAAA,IAEA,sCACE,MAAA,EACA,KAAA,MnBCJ,0BmBfA,yBACE,cAAA,MAEA,yCACE,MAAA,KACA,KAAA,EAIJ,uBACE,cAAA,IAEA,uCACE,MAAA,EACA,KAAA,MAUN,uCACE,IAAA,KACA,OAAA,KACA,WAAA,EACA,cAAA,QC9CA,gCACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAzBJ,WAAA,EACA,aAAA,KAAA,MAAA,YACA,cAAA,KAAA,MACA,YAAA,KAAA,MAAA,YA8CE,sCACE,YAAA,ED0BJ,wCACE,IAAA,EACA,MAAA,KACA,KAAA,KACA,WAAA,EACA,YAAA,QC5DA,iCACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAlBJ,WAAA,KAAA,MAAA,YACA,aAAA,EACA,cAAA,KAAA,MAAA,YACA,YAAA,KAAA,MAuCE,uCACE,YAAA,EDoCF,iCACE,eAAA,EAMJ,0CACE,IAAA,EACA,MAAA,KACA,KAAA,KACA,WAAA,EACA,aAAA,QC7EA,mCACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAWA,mCACE,QAAA,KAGF,oCACE,QAAA,aACA,aAAA,OACA,eAAA,OACA,QAAA,GA9BN,WAAA,KAAA,MAAA,YACA,aAAA,KAAA,MACA,cAAA,KAAA,MAAA,YAiCE,yCACE,YAAA,EDqDF,oCACE,eAAA,EAON,kBACE,OAAA,EACA,OAAA,MAAA,EACA,SAAA,OACA,WAAA,IAAA,MAAA,gBAMF,eACE,QAAA,MACA,MAAA,KACA,QAAA,OAAA,KACA,MAAA,KACA,YAAA,IACA,MAAA,QACA,WAAA,QACA,gBAAA,KACA,YAAA,OACA,iBAAA,YACA,OAAA,EAcA,qBAAA,qBAEE,MAAA,QVzJF,iBAAA,QU8JA,sBAAA,sBAEE,MAAA,KACA,gBAAA,KVjKF,iBAAA,QUqKA,wBAAA,wBAEE,MAAA,QACA,eAAA,KACA,iBAAA,YAMJ,oBACE,QAAA,MAIF,iBACE,QAAA,MACA,QAAA,MAAA,KACA,cAAA,E3B0GI,UAAA,Q2BxGJ,MAAA,QACA,YAAA,OAIF,oBACE,QAAA,MACA,QAAA,OAAA,KACA,MAAA,QAIF,oBACE,MAAA,QACA,iBAAA,QACA,aAAA,gBAGA,mCACE,MAAA,QAEA,yCAAA,yCAEE,MAAA,KVhNJ,iBAAA,sBUoNE,0CAAA,0CAEE,MAAA,KVtNJ,iBAAA,QU0NE,4CAAA,4CAEE,MAAA,QAIJ,sCACE,aAAA,gBAGF,wCACE,MAAA,QAGF,qCACE,MAAA,QE5OJ,W9B2rHA,oB8BzrHE,SAAA,SACA,QAAA,YACA,eAAA,O9B6rHF,yB8B3rHE,gBACE,SAAA,SACA,KAAA,EAAA,EAAA,K9BmsHJ,4CACA,0CAIA,gCADA,gCADA,+BADA,+B8BhsHE,mC9ByrHF,iCAIA,uBADA,uBADA,sBADA,sB8BprHI,QAAA,EAKJ,aACE,QAAA,KACA,UAAA,KACA,gBAAA,WAEA,0BACE,MAAA,K9BgsHJ,wC8B1rHE,kCAEE,YAAA,K9B4rHJ,4C8BxrHE,uD5BRE,wBAAA,EACA,2BAAA,EFqsHJ,6C8BrrHE,+B9BorHF,iCEvrHI,uBAAA,EACA,0BAAA,E4BqBJ,uBACE,cAAA,SACA,aAAA,SAEA,8BAAA,uCAAA,sCAGE,YAAA,EAGF,0CACE,aAAA,EAIJ,0CAAA,+BACE,cAAA,QACA,aAAA,QAGF,0CAAA,+BACE,cAAA,OACA,aAAA,OAoBF,oBACE,eAAA,OACA,YAAA,WACA,gBAAA,OAEA,yB9BmpHF,+B8BjpHI,MAAA,K9BqpHJ,iD8BlpHE,2CAEE,WAAA,K9BopHJ,qD8BhpHE,gE5BvFE,2BAAA,EACA,0BAAA,EF2uHJ,sD8BhpHE,8B5B1GE,uBAAA,EACA,wBAAA,E6BxBJ,KACE,QAAA,KACA,UAAA,KACA,aAAA,EACA,cAAA,EACA,WAAA,KAGF,UACE,QAAA,MACA,QAAA,MAAA,KAGA,MAAA,QACA,gBAAA,KdHI,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,YAIA,uCcPN,UdQQ,WAAA,McCN,gBAAA,gBAEE,MAAA,QAKF,mBACE,MAAA,QACA,eAAA,KACA,OAAA,QAQJ,UACE,cAAA,IAAA,MAAA,QAEA,oBACE,cAAA,KACA,WAAA,IACA,OAAA,IAAA,MAAA,Y7BlBA,uBAAA,OACA,wBAAA,O6BoBA,0BAAA,0BAEE,aAAA,QAAA,QAAA,QAEA,UAAA,QAGF,6BACE,MAAA,QACA,iBAAA,YACA,aAAA,Y/BixHN,mC+B7wHE,2BAEE,MAAA,QACA,iBAAA,KACA,aAAA,QAAA,QAAA,KAGF,yBAEE,WAAA,K7B5CA,uBAAA,EACA,wBAAA,E6BuDF,qBACE,WAAA,IACA,OAAA,E7BnEA,cAAA,O6BuEF,4B/BmwHF,2B+BjwHI,MAAA,KbxFF,iBAAA,QlB+1HF,oB+B5vHE,oBAEE,KAAA,EAAA,EAAA,KACA,WAAA,O/B+vHJ,yB+B1vHE,yBAEE,WAAA,EACA,UAAA,EACA,WAAA,OAMF,8B/BuvHF,mC+BtvHI,MAAA,KAUF,uBACE,QAAA,KAEF,qBACE,QAAA,MCxHJ,QACE,SAAA,SACA,QAAA,KACA,UAAA,KACA,YAAA,OACA,gBAAA,cACA,YAAA,MAEA,eAAA,MAOA,mBhCs2HF,yBAGA,sBADA,sBADA,sBAGA,sBACA,uBgC12HI,QAAA,KACA,UAAA,QACA,YAAA,OACA,gBAAA,cAoBJ,cACE,YAAA,SACA,eAAA,SACA,aAAA,K/B2OI,UAAA,Q+BzOJ,gBAAA,KACA,YAAA,OAaF,YACE,QAAA,KACA,eAAA,OACA,aAAA,EACA,cAAA,EACA,WAAA,KAEA,sBACE,cAAA,EACA,aAAA,EAGF,2BACE,SAAA,OASJ,aACE,YAAA,MACA,eAAA,MAYF,iBACE,WAAA,KACA,UAAA,EAGA,YAAA,OAIF,gBACE,QAAA,OAAA,O/B6KI,UAAA,Q+B3KJ,YAAA,EACA,iBAAA,YACA,OAAA,IAAA,MAAA,Y9BzGE,cAAA,OeHE,WAAA,WAAA,KAAA,YAIA,uCemGN,gBflGQ,WAAA,Me2GN,sBACE,gBAAA,KAGF,sBACE,gBAAA,KACA,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,OAMJ,qBACE,QAAA,aACA,MAAA,MACA,OAAA,MACA,eAAA,OACA,kBAAA,UACA,oBAAA,OACA,gBAAA,KAGF,mBACE,WAAA,6BACA,WAAA,KvB1FE,yBuBsGA,kBAEI,UAAA,OACA,gBAAA,WAEA,8BACE,eAAA,IAEA,6CACE,SAAA,SAGF,wCACE,cAAA,MACA,aAAA,MAIJ,qCACE,SAAA,QAGF,mCACE,QAAA,eACA,WAAA,KAGF,kCACE,QAAA,KAGF,oCACE,QAAA,KAGF,6BACE,SAAA,QACA,OAAA,EACA,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,aAAA,EACA,YAAA,EfhMJ,WAAA,KekMI,UAAA,KhC+yHV,oCgC7yHQ,iCAEE,OAAA,KACA,WAAA,EACA,cAAA,EAGF,kCACE,QAAA,KACA,UAAA,EACA,QAAA,EACA,WAAA,SvBhKN,yBuBsGA,kBAEI,UAAA,OACA,gBAAA,WAEA,8BACE,eAAA,IAEA,6CACE,SAAA,SAGF,wCACE,cAAA,MACA,aAAA,MAIJ,qCACE,SAAA,QAGF,mCACE,QAAA,eACA,WAAA,KAGF,kCACE,QAAA,KAGF,oCACE,QAAA,KAGF,6BACE,SAAA,QACA,OAAA,EACA,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,aAAA,EACA,YAAA,EfhMJ,WAAA,KekMI,UAAA,KhCo2HV,oCgCl2HQ,iCAEE,OAAA,KACA,WAAA,EACA,cAAA,EAGF,kCACE,QAAA,KACA,UAAA,EACA,QAAA,EACA,WAAA,SvBhKN,yBuBsGA,kBAEI,UAAA,OACA,gBAAA,WAEA,8BACE,eAAA,IAEA,6CACE,SAAA,SAGF,wCACE,cAAA,MACA,aAAA,MAIJ,qCACE,SAAA,QAGF,mCACE,QAAA,eACA,WAAA,KAGF,kCACE,QAAA,KAGF,oCACE,QAAA,KAGF,6BACE,SAAA,QACA,OAAA,EACA,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,aAAA,EACA,YAAA,EfhMJ,WAAA,KekMI,UAAA,KhCy5HV,oCgCv5HQ,iCAEE,OAAA,KACA,WAAA,EACA,cAAA,EAGF,kCACE,QAAA,KACA,UAAA,EACA,QAAA,EACA,WAAA,SvBhKN,0BuBsGA,kBAEI,UAAA,OACA,gBAAA,WAEA,8BACE,eAAA,IAEA,6CACE,SAAA,SAGF,wCACE,cAAA,MACA,aAAA,MAIJ,qCACE,SAAA,QAGF,mCACE,QAAA,eACA,WAAA,KAGF,kCACE,QAAA,KAGF,oCACE,QAAA,KAGF,6BACE,SAAA,QACA,OAAA,EACA,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,aAAA,EACA,YAAA,EfhMJ,WAAA,KekMI,UAAA,KhC88HV,oCgC58HQ,iCAEE,OAAA,KACA,WAAA,EACA,cAAA,EAGF,kCACE,QAAA,KACA,UAAA,EACA,QAAA,EACA,WAAA,SvBhKN,0BuBsGA,mBAEI,UAAA,OACA,gBAAA,WAEA,+BACE,eAAA,IAEA,8CACE,SAAA,SAGF,yCACE,cAAA,MACA,aAAA,MAIJ,sCACE,SAAA,QAGF,oCACE,QAAA,eACA,WAAA,KAGF,mCACE,QAAA,KAGF,qCACE,QAAA,KAGF,8BACE,SAAA,QACA,OAAA,EACA,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,aAAA,EACA,YAAA,EfhMJ,WAAA,KekMI,UAAA,KhCmgIV,qCgCjgIQ,kCAEE,OAAA,KACA,WAAA,EACA,cAAA,EAGF,mCACE,QAAA,KACA,UAAA,EACA,QAAA,EACA,WAAA,SA1DN,eAEI,UAAA,OACA,gBAAA,WAEA,2BACE,eAAA,IAEA,0CACE,SAAA,SAGF,qCACE,cAAA,MACA,aAAA,MAIJ,kCACE,SAAA,QAGF,gCACE,QAAA,eACA,WAAA,KAGF,+BACE,QAAA,KAGF,iCACE,QAAA,KAGF,0BACE,SAAA,QACA,OAAA,EACA,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,aAAA,EACA,YAAA,EfhMJ,WAAA,KekMI,UAAA,KhCujIV,iCgCrjIQ,8BAEE,OAAA,KACA,WAAA,EACA,cAAA,EAGF,+BACE,QAAA,KACA,UAAA,EACA,QAAA,EACA,WAAA,QAcR,4BACE,MAAA,eAEA,kCAAA,kCAEE,MAAA,eAKF,oCACE,MAAA,gBAEA,0CAAA,0CAEE,MAAA,eAGF,6CACE,MAAA,ehCqiIR,2CgCjiII,0CAEE,MAAA,eAIJ,8BACE,MAAA,gBACA,aAAA,eAGF,mCACE,iBAAA,4OAGF,2BACE,MAAA,gBAEA,6BhC8hIJ,mCADA,mCgC1hIM,MAAA,eAOJ,2BACE,MAAA,KAEA,iCAAA,iCAEE,MAAA,KAKF,mCACE,MAAA,sBAEA,yCAAA,yCAEE,MAAA,sBAGF,4CACE,MAAA,sBhCqhIR,0CgCjhII,yCAEE,MAAA,KAIJ,6BACE,MAAA,sBACA,aAAA,qBAGF,kCACE,iBAAA,kPAGF,0BACE,MAAA,sBACA,4BhC+gIJ,kCADA,kCgC3gIM,MAAA,KCvUN,MACE,SAAA,SACA,QAAA,KACA,eAAA,OACA,UAAA,EAEA,UAAA,WACA,iBAAA,KACA,gBAAA,WACA,OAAA,IAAA,MAAA,iB/BME,cAAA,O+BFF,SACE,aAAA,EACA,YAAA,EAGF,kBACE,WAAA,QACA,cAAA,QAEA,8BACE,iBAAA,E/BCF,uBAAA,mBACA,wBAAA,mB+BEA,6BACE,oBAAA,E/BUF,2BAAA,mBACA,0BAAA,mB+BJF,+BjCk1IF,+BiCh1II,WAAA,EAIJ,WAGE,KAAA,EAAA,EAAA,KACA,QAAA,KAAA,KAIF,YACE,cAAA,MAGF,eACE,WAAA,QACA,cAAA,EAGF,sBACE,cAAA,EAQA,sBACE,YAAA,KAQJ,aACE,QAAA,MAAA,KACA,cAAA,EAEA,iBAAA,gBACA,cAAA,IAAA,MAAA,iBAEA,yB/BpEE,cAAA,mBAAA,mBAAA,EAAA,E+ByEJ,aACE,QAAA,MAAA,KAEA,iBAAA,gBACA,WAAA,IAAA,MAAA,iBAEA,wB/B/EE,cAAA,EAAA,EAAA,mBAAA,mB+ByFJ,kBACE,aAAA,OACA,cAAA,OACA,YAAA,OACA,cAAA,EAUF,mBACE,aAAA,OACA,YAAA,OAIF,kBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,K/BnHE,cAAA,mB+BuHJ,UjCozIA,iBADA,ciChzIE,MAAA,KAGF,UjCmzIA,cEv6II,uBAAA,mBACA,wBAAA,mB+BwHJ,UjCozIA,iBE/5II,2BAAA,mBACA,0BAAA,mB+BuHF,kBACE,cAAA,OxBpGA,yBwBgGJ,YAQI,QAAA,KACA,UAAA,IAAA,KAGA,kBAEE,KAAA,EAAA,EAAA,GACA,cAAA,EAEA,wBACE,YAAA,EACA,YAAA,EAKA,mC/BpJJ,wBAAA,EACA,2BAAA,EF+7IJ,gDiCzyIU,iDAGE,wBAAA,EjC0yIZ,gDiCxyIU,oDAGE,2BAAA,EAIJ,oC/BrJJ,uBAAA,EACA,0BAAA,EF67IJ,iDiCtyIU,kDAGE,uBAAA,EjCuyIZ,iDiCryIU,qDAGE,0BAAA,GC7MZ,kBACE,SAAA,SACA,QAAA,KACA,YAAA,OACA,MAAA,KACA,QAAA,KAAA,QjC4RI,UAAA,KiC1RJ,MAAA,QACA,WAAA,KACA,iBAAA,KACA,OAAA,EhCKE,cAAA,EgCHF,gBAAA,KjBAI,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,WAAA,CAAA,cAAA,KAAA,KAIA,uCiBhBN,kBjBiBQ,WAAA,MiBFN,kCACE,MAAA,QACA,iBAAA,QACA,WAAA,MAAA,EAAA,KAAA,EAAA,iBAEA,yCACE,iBAAA,gRACA,UAAA,gBAKJ,yBACE,YAAA,EACA,MAAA,QACA,OAAA,QACA,YAAA,KACA,QAAA,GACA,iBAAA,gRACA,kBAAA,UACA,gBAAA,QjBvBE,WAAA,UAAA,IAAA,YAIA,uCiBWJ,yBjBVM,WAAA,MiBsBN,wBACE,QAAA,EAGF,wBACE,QAAA,EACA,aAAA,QACA,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,OAAA,qBAIJ,kBACE,cAAA,EAGF,gBACE,iBAAA,KACA,OAAA,IAAA,MAAA,iBAEA,8BhCnCE,uBAAA,OACA,wBAAA,OgCqCA,gDhCtCA,uBAAA,mBACA,wBAAA,mBgC0CF,oCACE,WAAA,EAIF,6BhClCE,2BAAA,OACA,0BAAA,OgCqCE,yDhCtCF,2BAAA,mBACA,0BAAA,mBgC0CA,iDhC3CA,2BAAA,OACA,0BAAA,OgCgDJ,gBACE,QAAA,KAAA,QASA,qCACE,aAAA,EAGF,iCACE,aAAA,EACA,YAAA,EhCxFA,cAAA,EgC2FA,6CAAgB,WAAA,EAChB,4CAAe,cAAA,EAEf,mDhC9FA,cAAA,EiCnBJ,YACE,QAAA,KACA,UAAA,KACA,QAAA,EAAA,EACA,cAAA,KAEA,WAAA,KAOA,kCACE,aAAA,MAEA,0CACE,MAAA,KACA,cAAA,MACA,MAAA,QACA,QAAA,kCAIJ,wBACE,MAAA,QCzBJ,YACE,QAAA,KhCGA,aAAA,EACA,WAAA,KgCAF,WACE,SAAA,SACA,QAAA,MACA,MAAA,QACA,gBAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,QnBKI,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIA,uCmBfN,WnBgBQ,WAAA,MmBPN,iBACE,QAAA,EACA,MAAA,QAEA,iBAAA,QACA,aAAA,QAGF,iBACE,QAAA,EACA,MAAA,QACA,iBAAA,QACA,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,OAAA,qBAKF,wCACE,YAAA,KAGF,6BACE,QAAA,EACA,MAAA,KlBlCF,iBAAA,QkBoCE,aAAA,QAGF,+BACE,MAAA,QACA,eAAA,KACA,iBAAA,KACA,aAAA,QC3CF,WACE,QAAA,QAAA,OAOI,kCnCqCJ,uBAAA,OACA,0BAAA,OmChCI,iCnCiBJ,wBAAA,OACA,2BAAA,OmChCF,0BACE,QAAA,OAAA,OpCgSE,UAAA,QoCzRE,iDnCqCJ,uBAAA,MACA,0BAAA,MmChCI,gDnCiBJ,wBAAA,MACA,2BAAA,MmChCF,0BACE,QAAA,OAAA,MpCgSE,UAAA,QoCzRE,iDnCqCJ,uBAAA,MACA,0BAAA,MmChCI,gDnCiBJ,wBAAA,MACA,2BAAA,MoC/BJ,OACE,QAAA,aACA,QAAA,MAAA,MrC8RI,UAAA,MqC5RJ,YAAA,IACA,YAAA,EACA,MAAA,KACA,WAAA,OACA,YAAA,OACA,eAAA,SpCKE,cAAA,OoCAF,aACE,QAAA,KAKJ,YACE,SAAA,SACA,IAAA,KCvBF,OACE,SAAA,SACA,QAAA,KAAA,KACA,cAAA,KACA,OAAA,IAAA,MAAA,YrCWE,cAAA,OqCNJ,eAEE,MAAA,QAIF,YACE,YAAA,IAQF,mBACE,cAAA,KAGA,8BACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,QAAA,EACA,QAAA,QAAA,KAeF,eClDA,MAAA,QtBEA,iBAAA,QsBAA,aAAA,QAEA,2BACE,MAAA,QD6CF,iBClDA,MAAA,QtBEA,iBAAA,QsBAA,aAAA,QAEA,6BACE,MAAA,QD6CF,eClDA,MAAA,QtBEA,iBAAA,QsBAA,aAAA,QAEA,2BACE,MAAA,QD6CF,YClDA,MAAA,QtBEA,iBAAA,QsBAA,aAAA,QAEA,wBACE,MAAA,QD6CF,eClDA,MAAA,QtBEA,iBAAA,QsBAA,aAAA,QAEA,2BACE,MAAA,QD6CF,cClDA,MAAA,QtBEA,iBAAA,QsBAA,aAAA,QAEA,0BACE,MAAA,QD6CF,aClDA,MAAA,QtBEA,iBAAA,QsBAA,aAAA,QAEA,yBACE,MAAA,QD6CF,YClDA,MAAA,QtBEA,iBAAA,QsBAA,aAAA,QAEA,wBACE,MAAA,QCHF,wCACE,GAAK,sBAAA,MADP,gCACE,GAAK,sBAAA,MAKT,UACE,QAAA,KACA,OAAA,KACA,SAAA,OxCwRI,UAAA,OwCtRJ,iBAAA,QvCIE,cAAA,OuCCJ,cACE,QAAA,KACA,eAAA,OACA,gBAAA,OACA,SAAA,OACA,MAAA,KACA,WAAA,OACA,YAAA,OACA,iBAAA,QxBZI,WAAA,MAAA,IAAA,KAIA,uCwBAN,cxBCQ,WAAA,MwBWR,sBvBYE,iBAAA,iKuBVA,gBAAA,KAAA,KAIA,uBACE,kBAAA,GAAA,OAAA,SAAA,qBAAA,UAAA,GAAA,OAAA,SAAA,qBAGE,uCAJJ,uBAKM,kBAAA,KAAA,UAAA,MCvCR,YACE,QAAA,KACA,eAAA,OAGA,aAAA,EACA,cAAA,ExCSE,cAAA,OwCLJ,qBACE,gBAAA,KACA,cAAA,QAEA,gCAEE,QAAA,uBAAA,KACA,kBAAA,QAUJ,wBACE,MAAA,KACA,MAAA,QACA,WAAA,QAGA,8BAAA,8BAEE,QAAA,EACA,MAAA,QACA,gBAAA,KACA,iBAAA,QAGF,+BACE,MAAA,QACA,iBAAA,QASJ,iBACE,SAAA,SACA,QAAA,MACA,QAAA,MAAA,KACA,MAAA,QACA,gBAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,iBAEA,6BxCrCE,uBAAA,QACA,wBAAA,QwCwCF,4BxC3BE,2BAAA,QACA,0BAAA,QwC8BF,0BAAA,0BAEE,MAAA,QACA,eAAA,KACA,iBAAA,KAIF,wBACE,QAAA,EACA,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,kCACE,iBAAA,EAEA,yCACE,WAAA,KACA,iBAAA,IAcF,uBACE,eAAA,IAGE,oDxCrCJ,0BAAA,OAZA,wBAAA,EwCsDI,mDxCtDJ,wBAAA,OAYA,0BAAA,EwC+CI,+CACE,WAAA,EAGF,yDACE,iBAAA,IACA,kBAAA,EAEA,gEACE,YAAA,KACA,kBAAA,IjCpER,yBiC4CA,0BACE,eAAA,IAGE,uDxCrCJ,0BAAA,OAZA,wBAAA,EwCsDI,sDxCtDJ,wBAAA,OAYA,0BAAA,EwC+CI,kDACE,WAAA,EAGF,4DACE,iBAAA,IACA,kBAAA,EAEA,mEACE,YAAA,KACA,kBAAA,KjCpER,yBiC4CA,0BACE,eAAA,IAGE,uDxCrCJ,0BAAA,OAZA,wBAAA,EwCsDI,sDxCtDJ,wBAAA,OAYA,0BAAA,EwC+CI,kDACE,WAAA,EAGF,4DACE,iBAAA,IACA,kBAAA,EAEA,mEACE,YAAA,KACA,kBAAA,KjCpER,yBiC4CA,0BACE,eAAA,IAGE,uDxCrCJ,0BAAA,OAZA,wBAAA,EwCsDI,sDxCtDJ,wBAAA,OAYA,0BAAA,EwC+CI,kDACE,WAAA,EAGF,4DACE,iBAAA,IACA,kBAAA,EAEA,mEACE,YAAA,KACA,kBAAA,KjCpER,0BiC4CA,0BACE,eAAA,IAGE,uDxCrCJ,0BAAA,OAZA,wBAAA,EwCsDI,sDxCtDJ,wBAAA,OAYA,0BAAA,EwC+CI,kDACE,WAAA,EAGF,4DACE,iBAAA,IACA,kBAAA,EAEA,mEACE,YAAA,KACA,kBAAA,KjCpER,0BiC4CA,2BACE,eAAA,IAGE,wDxCrCJ,0BAAA,OAZA,wBAAA,EwCsDI,uDxCtDJ,wBAAA,OAYA,0BAAA,EwC+CI,mDACE,WAAA,EAGF,6DACE,iBAAA,IACA,kBAAA,EAEA,oEACE,YAAA,KACA,kBAAA,KAcZ,kBxC9HI,cAAA,EwCiIF,mCACE,aAAA,EAAA,EAAA,IAEA,8CACE,oBAAA,ECpJJ,yBACE,MAAA,QACA,iBAAA,QAGE,sDAAA,sDAEE,MAAA,QACA,iBAAA,QAGF,uDACE,MAAA,KACA,iBAAA,QACA,aAAA,QAdN,2BACE,MAAA,QACA,iBAAA,QAGE,wDAAA,wDAEE,MAAA,QACA,iBAAA,QAGF,yDACE,MAAA,KACA,iBAAA,QACA,aAAA,QAdN,yBACE,MAAA,QACA,iBAAA,QAGE,sDAAA,sDAEE,MAAA,QACA,iBAAA,QAGF,uDACE,MAAA,KACA,iBAAA,QACA,aAAA,QAdN,sBACE,MAAA,QACA,iBAAA,QAGE,mDAAA,mDAEE,MAAA,QACA,iBAAA,QAGF,oDACE,MAAA,KACA,iBAAA,QACA,aAAA,QAdN,yBACE,MAAA,QACA,iBAAA,QAGE,sDAAA,sDAEE,MAAA,QACA,iBAAA,QAGF,uDACE,MAAA,KACA,iBAAA,QACA,aAAA,QAdN,wBACE,MAAA,QACA,iBAAA,QAGE,qDAAA,qDAEE,MAAA,QACA,iBAAA,QAGF,sDACE,MAAA,KACA,iBAAA,QACA,aAAA,QAdN,uBACE,MAAA,QACA,iBAAA,QAGE,oDAAA,oDAEE,MAAA,QACA,iBAAA,QAGF,qDACE,MAAA,KACA,iBAAA,QACA,aAAA,QAdN,sBACE,MAAA,QACA,iBAAA,QAGE,mDAAA,mDAEE,MAAA,QACA,iBAAA,QAGF,oDACE,MAAA,KACA,iBAAA,QACA,aAAA,QCbR,WACE,WAAA,YACA,MAAA,IACA,OAAA,IACA,QAAA,MAAA,MACA,MAAA,KACA,WAAA,YAAA,0TAAA,MAAA,CAAA,IAAA,KAAA,UACA,OAAA,E1COE,cAAA,O0CLF,QAAA,GAGA,iBACE,MAAA,KACA,gBAAA,KACA,QAAA,IAGF,iBACE,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,OAAA,qBACA,QAAA,EAGF,oBAAA,oBAEE,eAAA,KACA,oBAAA,KAAA,iBAAA,KAAA,YAAA,KACA,QAAA,IAIJ,iBACE,OAAA,UAAA,gBAAA,iBCtCF,OACE,MAAA,MACA,UAAA,K5CmSI,UAAA,Q4ChSJ,eAAA,KACA,iBAAA,sBACA,gBAAA,YACA,OAAA,IAAA,MAAA,eACA,WAAA,EAAA,MAAA,KAAA,gB3CUE,cAAA,O2CPF,eACE,QAAA,EAGF,kBACE,QAAA,KAIJ,iBACE,MAAA,oBAAA,MAAA,iBAAA,MAAA,YACA,UAAA,KACA,eAAA,KAEA,mCACE,cAAA,OAIJ,cACE,QAAA,KACA,YAAA,OACA,QAAA,MAAA,OACA,MAAA,QACA,iBAAA,sBACA,gBAAA,YACA,cAAA,IAAA,MAAA,gB3CVE,uBAAA,mBACA,wBAAA,mB2CYF,yBACE,aAAA,SACA,YAAA,OAIJ,YACE,QAAA,OACA,UAAA,WC1CF,OACE,SAAA,MACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,MAAA,KACA,OAAA,KACA,WAAA,OACA,WAAA,KAGA,QAAA,EAOF,cACE,SAAA,SACA,MAAA,KACA,OAAA,MAEA,eAAA,KAGA,0B7BlBI,WAAA,UAAA,IAAA,S6BoBF,UAAA,mB7BhBE,uC6BcJ,0B7BbM,WAAA,M6BiBN,0BACE,UAAA,KAIF,kCACE,UAAA,YAIJ,yBACE,OAAA,kBAEA,wCACE,WAAA,KACA,SAAA,OAGF,qCACE,WAAA,KAIJ,uBACE,QAAA,KACA,YAAA,OACA,WAAA,kBAIF,eACE,SAAA,SACA,QAAA,KACA,eAAA,OACA,MAAA,KAGA,eAAA,KACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,e5C3DE,cAAA,M4C+DF,QAAA,EAIF,gBCpFE,SAAA,MACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,MAAA,MACA,OAAA,MACA,iBAAA,KAGA,qBAAS,QAAA,EACT,qBAAS,QAAA,GDgFX,cACE,QAAA,KACA,YAAA,EACA,YAAA,OACA,gBAAA,cACA,QAAA,KAAA,KACA,cAAA,IAAA,MAAA,Q5CtEE,uBAAA,kBACA,wBAAA,kB4CwEF,yBACE,QAAA,MAAA,MACA,OAAA,OAAA,OAAA,OAAA,KAKJ,aACE,cAAA,EACA,YAAA,IAKF,YACE,SAAA,SAGA,KAAA,EAAA,EAAA,KACA,QAAA,KAIF,cACE,QAAA,KACA,UAAA,KACA,YAAA,EACA,YAAA,OACA,gBAAA,SACA,QAAA,OACA,WAAA,IAAA,MAAA,Q5CzFE,2BAAA,kBACA,0BAAA,kB4C8FF,gBACE,OAAA,OrC3EA,yBqCkFF,cACE,UAAA,MACA,OAAA,QAAA,KAGF,yBACE,OAAA,oBAGF,uBACE,WAAA,oBAOF,UAAY,UAAA,OrCnGV,yBqCuGF,U9CywKF,U8CvwKI,UAAA,OrCzGA,0BqC8GF,UAAY,UAAA,QASV,kBACE,MAAA,MACA,UAAA,KACA,OAAA,KACA,OAAA,EAEA,iCACE,OAAA,KACA,OAAA,E5C3KJ,cAAA,E4C+KE,gC5C/KF,cAAA,E4CmLE,8BACE,WAAA,KAGF,gC5CvLF,cAAA,EOyDA,4BqC0GA,0BACE,MAAA,MACA,UAAA,KACA,OAAA,KACA,OAAA,EAEA,yCACE,OAAA,KACA,OAAA,E5C3KJ,cAAA,E4C+KE,wC5C/KF,cAAA,E4CmLE,sCACE,WAAA,KAGF,wC5CvLF,cAAA,GOyDA,4BqC0GA,0BACE,MAAA,MACA,UAAA,KACA,OAAA,KACA,OAAA,EAEA,yCACE,OAAA,KACA,OAAA,E5C3KJ,cAAA,E4C+KE,wC5C/KF,cAAA,E4CmLE,sCACE,WAAA,KAGF,wC5CvLF,cAAA,GOyDA,4BqC0GA,0BACE,MAAA,MACA,UAAA,KACA,OAAA,KACA,OAAA,EAEA,yCACE,OAAA,KACA,OAAA,E5C3KJ,cAAA,E4C+KE,wC5C/KF,cAAA,E4CmLE,sCACE,WAAA,KAGF,wC5CvLF,cAAA,GOyDA,6BqC0GA,0BACE,MAAA,MACA,UAAA,KACA,OAAA,KACA,OAAA,EAEA,yCACE,OAAA,KACA,OAAA,E5C3KJ,cAAA,E4C+KE,wC5C/KF,cAAA,E4CmLE,sCACE,WAAA,KAGF,wC5CvLF,cAAA,GOyDA,6BqC0GA,2BACE,MAAA,MACA,UAAA,KACA,OAAA,KACA,OAAA,EAEA,0CACE,OAAA,KACA,OAAA,E5C3KJ,cAAA,E4C+KE,yC5C/KF,cAAA,E4CmLE,uCACE,WAAA,KAGF,yC5CvLF,cAAA,G8ClBJ,SACE,SAAA,SACA,QAAA,KACA,QAAA,MACA,OAAA,ECJA,YAAA,0BAEA,WAAA,OACA,YAAA,IACA,YAAA,IACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,KhDsRI,UAAA,Q+C1RJ,UAAA,WACA,QAAA,EAEA,cAAS,QAAA,GAET,wBACE,SAAA,SACA,QAAA,MACA,MAAA,MACA,OAAA,MAEA,gCACE,SAAA,SACA,QAAA,GACA,aAAA,YACA,aAAA,MAKN,6CAAA,gBACE,QAAA,MAAA,EAEA,4DAAA,+BACE,OAAA,EAEA,oEAAA,uCACE,IAAA,KACA,aAAA,MAAA,MAAA,EACA,iBAAA,KAKN,+CAAA,gBACE,QAAA,EAAA,MAEA,8DAAA,+BACE,KAAA,EACA,MAAA,MACA,OAAA,MAEA,sEAAA,uCACE,MAAA,KACA,aAAA,MAAA,MAAA,MAAA,EACA,mBAAA,KAKN,gDAAA,mBACE,QAAA,MAAA,EAEA,+DAAA,kCACE,IAAA,EAEA,uEAAA,0CACE,OAAA,KACA,aAAA,EAAA,MAAA,MACA,oBAAA,KAKN,8CAAA,kBACE,QAAA,EAAA,MAEA,6DAAA,iCACE,MAAA,EACA,MAAA,MACA,OAAA,MAEA,qEAAA,yCACE,KAAA,KACA,aAAA,MAAA,EAAA,MAAA,MACA,kBAAA,KAqBN,eACE,UAAA,MACA,QAAA,OAAA,MACA,MAAA,KACA,WAAA,OACA,iBAAA,K9C7FE,cAAA,OgDnBJ,SACE,SAAA,SACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,MACA,UAAA,MDLA,YAAA,0BAEA,WAAA,OACA,YAAA,IACA,YAAA,IACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,KhDsRI,UAAA,QiDzRJ,UAAA,WACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,ehDIE,cAAA,MgDAF,wBACE,SAAA,SACA,QAAA,MACA,MAAA,KACA,OAAA,MAEA,+BAAA,gCAEE,SAAA,SACA,QAAA,MACA,QAAA,GACA,aAAA,YACA,aAAA,MAMJ,4DAAA,+BACE,OAAA,mBAEA,oEAAA,uCACE,OAAA,EACA,aAAA,MAAA,MAAA,EACA,iBAAA,gBAGF,mEAAA,sCACE,OAAA,IACA,aAAA,MAAA,MAAA,EACA,iBAAA,KAMJ,8DAAA,+BACE,KAAA,mBACA,MAAA,MACA,OAAA,KAEA,sEAAA,uCACE,KAAA,EACA,aAAA,MAAA,MAAA,MAAA,EACA,mBAAA,gBAGF,qEAAA,sCACE,KAAA,IACA,aAAA,MAAA,MAAA,MAAA,EACA,mBAAA,KAMJ,+DAAA,kCACE,IAAA,mBAEA,uEAAA,0CACE,IAAA,EACA,aAAA,EAAA,MAAA,MAAA,MACA,oBAAA,gBAGF,sEAAA,yCACE,IAAA,IACA,aAAA,EAAA,MAAA,MAAA,MACA,oBAAA,KAKJ,wEAAA,2CACE,SAAA,SACA,IAAA,EACA,KAAA,IACA,QAAA,MACA,MAAA,KACA,YAAA,OACA,QAAA,GACA,cAAA,IAAA,MAAA,QAKF,6DAAA,iCACE,MAAA,mBACA,MAAA,MACA,OAAA,KAEA,qEAAA,yCACE,MAAA,EACA,aAAA,MAAA,EAAA,MAAA,MACA,kBAAA,gBAGF,oEAAA,wCACE,MAAA,IACA,aAAA,MAAA,EAAA,MAAA,MACA,kBAAA,KAqBN,gBACE,QAAA,MAAA,KACA,cAAA,EjDuJI,UAAA,KiDpJJ,iBAAA,QACA,cAAA,IAAA,MAAA,ehDtHE,uBAAA,kBACA,wBAAA,kBgDwHF,sBACE,QAAA,KAIJ,cACE,QAAA,KAAA,KACA,MAAA,QC/IF,UACE,SAAA,SAGF,wBACE,aAAA,MAGF,gBACE,SAAA,SACA,MAAA,KACA,SAAA,OCtBA,uBACE,QAAA,MACA,MAAA,KACA,QAAA,GDuBJ,eACE,SAAA,SACA,QAAA,KACA,MAAA,KACA,MAAA,KACA,aAAA,MACA,4BAAA,OAAA,oBAAA,OlClBI,WAAA,UAAA,IAAA,YAIA,uCkCQN,elCPQ,WAAA,MjBgzLR,oBACA,oBmDhyLA,sBAGE,QAAA,MnDmyLF,0BmD/xLA,8CAEE,UAAA,iBnDkyLF,4BmD/xLA,4CAEE,UAAA,kBAWA,8BACE,QAAA,EACA,oBAAA,QACA,UAAA,KnD0xLJ,uDACA,qDmDxxLE,qCAGE,QAAA,EACA,QAAA,EnDyxLJ,yCmDtxLE,2CAEE,QAAA,EACA,QAAA,ElC/DE,WAAA,QAAA,GAAA,IAIA,uCjBq1LN,yCmD7xLE,2ClCvDM,WAAA,MjB01LR,uBmDtxLA,uBAEE,SAAA,SACA,IAAA,EACA,OAAA,EACA,QAAA,EAEA,QAAA,KACA,YAAA,OACA,gBAAA,OACA,MAAA,IACA,QAAA,EACA,MAAA,KACA,WAAA,OACA,WAAA,IACA,OAAA,EACA,QAAA,GlCzFI,WAAA,QAAA,KAAA,KAIA,uCjB82LN,uBmDzyLA,uBlCpEQ,WAAA,MjBm3LR,6BADA,6BmD1xLE,6BAAA,6BAEE,MAAA,KACA,gBAAA,KACA,QAAA,EACA,QAAA,GAGJ,uBACE,KAAA,EAGF,uBACE,MAAA,EnD8xLF,4BmDzxLA,4BAEE,QAAA,aACA,MAAA,KACA,OAAA,KACA,kBAAA,UACA,oBAAA,IACA,gBAAA,KAAA,KAWF,4BACE,iBAAA,wPAEF,4BACE,iBAAA,yPAQF,qBACE,SAAA,SACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,EACA,QAAA,KACA,gBAAA,OACA,QAAA,EAEA,aAAA,IACA,cAAA,KACA,YAAA,IACA,WAAA,KAEA,sCACE,WAAA,YACA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,OAAA,IACA,QAAA,EACA,aAAA,IACA,YAAA,IACA,YAAA,OACA,OAAA,QACA,iBAAA,KACA,gBAAA,YACA,OAAA,EAEA,WAAA,KAAA,MAAA,YACA,cAAA,KAAA,MAAA,YACA,QAAA,GlC5KE,WAAA,QAAA,IAAA,KAIA,uCkCwJJ,sClCvJM,WAAA,MkC2KN,6BACE,QAAA,EASJ,kBACE,SAAA,SACA,MAAA,IACA,OAAA,QACA,KAAA,IACA,YAAA,QACA,eAAA,QACA,MAAA,KACA,WAAA,OnDoxLF,2CmD9wLE,2CAEE,OAAA,UAAA,eAGF,qDACE,iBAAA,KAGF,iCACE,MAAA,KE7NJ,kCACE,GAAK,UAAA,gBADP,0BACE,GAAK,UAAA,gBAIP,gBACE,QAAA,aACA,MAAA,KACA,OAAA,KACA,eAAA,QACA,OAAA,MAAA,MAAA,aACA,mBAAA,YAEA,cAAA,IACA,kBAAA,KAAA,OAAA,SAAA,eAAA,UAAA,KAAA,OAAA,SAAA,eAGF,mBACE,MAAA,KACA,OAAA,KACA,aAAA,KAQF,gCACE,GACE,UAAA,SAEF,IACE,QAAA,EACA,UAAA,MANJ,wBACE,GACE,UAAA,SAEF,IACE,QAAA,EACA,UAAA,MAKJ,cACE,QAAA,aACA,MAAA,KACA,OAAA,KACA,eAAA,QACA,iBAAA,aAEA,cAAA,IACA,QAAA,EACA,kBAAA,KAAA,OAAA,SAAA,aAAA,UAAA,KAAA,OAAA,SAAA,aAGF,iBACE,MAAA,KACA,OAAA,KAIA,uCACE,gBrDo/LJ,cqDl/LM,2BAAA,KAAA,mBAAA,MCjEN,WACE,SAAA,MACA,OAAA,EACA,QAAA,KACA,QAAA,KACA,eAAA,OACA,UAAA,KAEA,WAAA,OACA,iBAAA,KACA,gBAAA,YACA,QAAA,ErCKI,WAAA,UAAA,IAAA,YAIA,uCqCpBN,WrCqBQ,WAAA,MqCLR,oBPdE,SAAA,MACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,MAAA,MACA,OAAA,MACA,iBAAA,KAGA,yBAAS,QAAA,EACT,yBAAS,QAAA,GOQX,kBACE,QAAA,KACA,YAAA,OACA,gBAAA,cACA,QAAA,KAAA,KAEA,6BACE,QAAA,MAAA,MACA,WAAA,OACA,aAAA,OACA,cAAA,OAIJ,iBACE,cAAA,EACA,YAAA,IAGF,gBACE,UAAA,EACA,QAAA,KAAA,KACA,WAAA,KAGF,iBACE,IAAA,EACA,KAAA,EACA,MAAA,MACA,aAAA,IAAA,MAAA,eACA,UAAA,kBAGF,eACE,IAAA,EACA,MAAA,EACA,MAAA,MACA,YAAA,IAAA,MAAA,eACA,UAAA,iBAGF,eACE,IAAA,EACA,MAAA,EACA,KAAA,EACA,OAAA,KACA,WAAA,KACA,cAAA,IAAA,MAAA,eACA,UAAA,kBAGF,kBACE,MAAA,EACA,KAAA,EACA,OAAA,KACA,WAAA,KACA,WAAA,IAAA,MAAA,eACA,UAAA,iBAGF,gBACE,UAAA,KCjFF,aACE,QAAA,aACA,WAAA,IACA,eAAA,OACA,OAAA,KACA,iBAAA,aACA,QAAA,GAEA,yBACE,QAAA,aACA,QAAA,GAKJ,gBACE,WAAA,KAGF,gBACE,WAAA,KAGF,gBACE,WAAA,MAKA,+BACE,kBAAA,iBAAA,GAAA,YAAA,SAAA,UAAA,iBAAA,GAAA,YAAA,SAIJ,oCACE,IACE,QAAA,IAFJ,4BACE,IACE,QAAA,IAIJ,kBACE,mBAAA,8DAAA,WAAA,8DACA,kBAAA,KAAA,KAAA,UAAA,KAAA,KACA,kBAAA,iBAAA,GAAA,OAAA,SAAA,UAAA,iBAAA,GAAA,OAAA,SAGF,oCACE,KACE,sBAAA,MAAA,GAAA,cAAA,MAAA,IAFJ,4BACE,KACE,sBAAA,MAAA,GAAA,cAAA,MAAA,IH9CF,iBACE,QAAA,MACA,MAAA,KACA,QAAA,GIJF,cACE,MAAA,QAGE,oBAAA,oBAEE,MAAA,QANN,gBACE,MAAA,QAGE,sBAAA,sBAEE,MAAA,QANN,cACE,MAAA,QAGE,oBAAA,oBAEE,MAAA,QANN,WACE,MAAA,QAGE,iBAAA,iBAEE,MAAA,QANN,cACE,MAAA,QAGE,oBAAA,oBAEE,MAAA,QANN,aACE,MAAA,QAGE,mBAAA,mBAEE,MAAA,QANN,YACE,MAAA,QAGE,kBAAA,kBAEE,MAAA,QANN,WACE,MAAA,QAGE,iBAAA,iBAEE,MAAA,QCLR,OACE,SAAA,SACA,MAAA,KAEA,eACE,QAAA,MACA,YAAA,uBACA,QAAA,GAGF,SACE,SAAA,SACA,IAAA,EACA,KAAA,EACA,MAAA,KACA,OAAA,KAKF,WACE,kBAAA,KADF,WACE,kBAAA,mBADF,YACE,kBAAA,oBADF,YACE,kBAAA,oBCrBJ,WACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,KAAA,EACA,QAAA,KAGF,cACE,SAAA,MACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KAQE,YACE,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,KjDqCF,yBiDxCA,eACE,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,MjDqCF,yBiDxCA,eACE,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,MjDqCF,yBiDxCA,eACE,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,MjDqCF,0BiDxCA,eACE,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,MjDqCF,0BiDxCA,gBACE,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,MCzBN,QACE,QAAA,KACA,eAAA,IACA,YAAA,OACA,WAAA,QAGF,QACE,QAAA,KACA,KAAA,EAAA,EAAA,KACA,eAAA,OACA,WAAA,QCRF,iB5Dk4MA,0D6D93ME,SAAA,mBACA,MAAA,cACA,OAAA,cACA,QAAA,YACA,OAAA,eACA,SAAA,iBACA,KAAA,wBACA,YAAA,iBACA,OAAA,YCXA,uBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,EACA,QAAA,GCRJ,eCAE,SAAA,OACA,cAAA,SACA,YAAA,OCNF,IACE,QAAA,aACA,WAAA,QACA,MAAA,IACA,WAAA,IACA,iBAAA,aACA,QAAA,ICyDM,gBAOI,eAAA,mBAPJ,WAOI,eAAA,cAPJ,cAOI,eAAA,iBAPJ,cAOI,eAAA,iBAPJ,mBAOI,eAAA,sBAPJ,gBAOI,eAAA,mBAPJ,aAOI,MAAA,eAPJ,WAOI,MAAA,gBAPJ,YAOI,MAAA,eAPJ,WAOI,QAAA,YAPJ,YAOI,QAAA,cAPJ,YAOI,QAAA,aAPJ,YAOI,QAAA,cAPJ,aAOI,QAAA,YAPJ,eAOI,SAAA,eAPJ,iBAOI,SAAA,iBAPJ,kBAOI,SAAA,kBAPJ,iBAOI,SAAA,iBAPJ,UAOI,QAAA,iBAPJ,gBAOI,QAAA,uBAPJ,SAOI,QAAA,gBAPJ,QAOI,QAAA,eAPJ,SAOI,QAAA,gBAPJ,aAOI,QAAA,oBAPJ,cAOI,QAAA,qBAPJ,QAOI,QAAA,eAPJ,eAOI,QAAA,sBAPJ,QAOI,QAAA,eAPJ,QAOI,WAAA,EAAA,MAAA,KAAA,0BAPJ,WAOI,WAAA,EAAA,QAAA,OAAA,2BAPJ,WAOI,WAAA,EAAA,KAAA,KAAA,2BAPJ,aAOI,WAAA,eAPJ,iBAOI,SAAA,iBAPJ,mBAOI,SAAA,mBAPJ,mBAOI,SAAA,mBAPJ,gBAOI,SAAA,gBAPJ,iBAOI,SAAA,yBAAA,SAAA,iBAPJ,OAOI,IAAA,YAPJ,QAOI,IAAA,cAPJ,SAOI,IAAA,eAPJ,UAOI,OAAA,YAPJ,WAOI,OAAA,cAPJ,YAOI,OAAA,eAPJ,SAOI,KAAA,YAPJ,UAOI,KAAA,cAPJ,WAOI,KAAA,eAPJ,OAOI,MAAA,YAPJ,QAOI,MAAA,cAPJ,SAOI,MAAA,eAPJ,kBAOI,UAAA,+BAPJ,oBAOI,UAAA,2BAPJ,oBAOI,UAAA,2BAPJ,QAOI,OAAA,IAAA,MAAA,kBAPJ,UAOI,OAAA,YAPJ,YAOI,WAAA,IAAA,MAAA,kBAPJ,cAOI,WAAA,YAPJ,YAOI,aAAA,IAAA,MAAA,kBAPJ,cAOI,aAAA,YAPJ,eAOI,cAAA,IAAA,MAAA,kBAPJ,iBAOI,cAAA,YAPJ,cAOI,YAAA,IAAA,MAAA,kBAPJ,gBAOI,YAAA,YAPJ,gBAOI,aAAA,kBAPJ,kBAOI,aAAA,kBAPJ,gBAOI,aAAA,kBAPJ,aAOI,aAAA,kBAPJ,gBAOI,aAAA,kBAPJ,eAOI,aAAA,kBAPJ,cAOI,aAAA,kBAPJ,aAOI,aAAA,kBAPJ,cAOI,aAAA,eAPJ,UAOI,aAAA,cAPJ,UAOI,aAAA,cAPJ,UAOI,aAAA,cAPJ,UAOI,aAAA,cAPJ,UAOI,aAAA,cAPJ,MAOI,MAAA,cAPJ,MAOI,MAAA,cAPJ,MAOI,MAAA,cAPJ,OAOI,MAAA,eAPJ,QAOI,MAAA,eAPJ,QAOI,UAAA,eAPJ,QAOI,MAAA,gBAPJ,YAOI,UAAA,gBAPJ,MAOI,OAAA,cAPJ,MAOI,OAAA,cAPJ,MAOI,OAAA,cAPJ,OAOI,OAAA,eAPJ,QAOI,OAAA,eAPJ,QAOI,WAAA,eAPJ,QAOI,OAAA,gBAPJ,YAOI,WAAA,gBAPJ,WAOI,KAAA,EAAA,EAAA,eAPJ,UAOI,eAAA,cAPJ,aAOI,eAAA,iBAPJ,kBAOI,eAAA,sBAPJ,qBAOI,eAAA,yBAPJ,aAOI,UAAA,YAPJ,aAOI,UAAA,YAPJ,eAOI,YAAA,YAPJ,eAOI,YAAA,YAPJ,WAOI,UAAA,eAPJ,aAOI,UAAA,iBAPJ,mBAOI,UAAA,uBAPJ,OAOI,IAAA,YAPJ,OAOI,IAAA,iBAPJ,OAOI,IAAA,gBAPJ,OAOI,IAAA,eAPJ,OAOI,IAAA,iBAPJ,OAOI,IAAA,eAPJ,uBAOI,gBAAA,qBAPJ,qBAOI,gBAAA,mBAPJ,wBAOI,gBAAA,iBAPJ,yBAOI,gBAAA,wBAPJ,wBAOI,gBAAA,uBAPJ,wBAOI,gBAAA,uBAPJ,mBAOI,YAAA,qBAPJ,iBAOI,YAAA,mBAPJ,oBAOI,YAAA,iBAPJ,sBAOI,YAAA,mBAPJ,qBAOI,YAAA,kBAPJ,qBAOI,cAAA,qBAPJ,mBAOI,cAAA,mBAPJ,sBAOI,cAAA,iBAPJ,uBAOI,cAAA,wBAPJ,sBAOI,cAAA,uBAPJ,uBAOI,cAAA,kBAPJ,iBAOI,WAAA,eAPJ,kBAOI,WAAA,qBAPJ,gBAOI,WAAA,mBAPJ,mBAOI,WAAA,iBAPJ,qBAOI,WAAA,mBAPJ,oBAOI,WAAA,kBAPJ,aAOI,MAAA,aAPJ,SAOI,MAAA,YAPJ,SAOI,MAAA,YAPJ,SAOI,MAAA,YAPJ,SAOI,MAAA,YAPJ,SAOI,MAAA,YAPJ,SAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,KAOI,OAAA,YAPJ,KAOI,OAAA,iBAPJ,KAOI,OAAA,gBAPJ,KAOI,OAAA,eAPJ,KAOI,OAAA,iBAPJ,KAOI,OAAA,eAPJ,QAOI,OAAA,eAPJ,MAOI,aAAA,YAAA,YAAA,YAPJ,MAOI,aAAA,iBAAA,YAAA,iBAPJ,MAOI,aAAA,gBAAA,YAAA,gBAPJ,MAOI,aAAA,eAAA,YAAA,eAPJ,MAOI,aAAA,iBAAA,YAAA,iBAPJ,MAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,MAOI,WAAA,YAAA,cAAA,YAPJ,MAOI,WAAA,iBAAA,cAAA,iBAPJ,MAOI,WAAA,gBAAA,cAAA,gBAPJ,MAOI,WAAA,eAAA,cAAA,eAPJ,MAOI,WAAA,iBAAA,cAAA,iBAPJ,MAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,MAOI,WAAA,YAPJ,MAOI,WAAA,iBAPJ,MAOI,WAAA,gBAPJ,MAOI,WAAA,eAPJ,MAOI,WAAA,iBAPJ,MAOI,WAAA,eAPJ,SAOI,WAAA,eAPJ,MAOI,aAAA,YAPJ,MAOI,aAAA,iBAPJ,MAOI,aAAA,gBAPJ,MAOI,aAAA,eAPJ,MAOI,aAAA,iBAPJ,MAOI,aAAA,eAPJ,SAOI,aAAA,eAPJ,MAOI,cAAA,YAPJ,MAOI,cAAA,iBAPJ,MAOI,cAAA,gBAPJ,MAOI,cAAA,eAPJ,MAOI,cAAA,iBAPJ,MAOI,cAAA,eAPJ,SAOI,cAAA,eAPJ,MAOI,YAAA,YAPJ,MAOI,YAAA,iBAPJ,MAOI,YAAA,gBAPJ,MAOI,YAAA,eAPJ,MAOI,YAAA,iBAPJ,MAOI,YAAA,eAPJ,SAOI,YAAA,eAPJ,KAOI,QAAA,YAPJ,KAOI,QAAA,iBAPJ,KAOI,QAAA,gBAPJ,KAOI,QAAA,eAPJ,KAOI,QAAA,iBAPJ,KAOI,QAAA,eAPJ,MAOI,cAAA,YAAA,aAAA,YAPJ,MAOI,cAAA,iBAAA,aAAA,iBAPJ,MAOI,cAAA,gBAAA,aAAA,gBAPJ,MAOI,cAAA,eAAA,aAAA,eAPJ,MAOI,cAAA,iBAAA,aAAA,iBAPJ,MAOI,cAAA,eAAA,aAAA,eAPJ,MAOI,YAAA,YAAA,eAAA,YAPJ,MAOI,YAAA,iBAAA,eAAA,iBAPJ,MAOI,YAAA,gBAAA,eAAA,gBAPJ,MAOI,YAAA,eAAA,eAAA,eAPJ,MAOI,YAAA,iBAAA,eAAA,iBAPJ,MAOI,YAAA,eAAA,eAAA,eAPJ,MAOI,YAAA,YAPJ,MAOI,YAAA,iBAPJ,MAOI,YAAA,gBAPJ,MAOI,YAAA,eAPJ,MAOI,YAAA,iBAPJ,MAOI,YAAA,eAPJ,MAOI,cAAA,YAPJ,MAOI,cAAA,iBAPJ,MAOI,cAAA,gBAPJ,MAOI,cAAA,eAPJ,MAOI,cAAA,iBAPJ,MAOI,cAAA,eAPJ,MAOI,eAAA,YAPJ,MAOI,eAAA,iBAPJ,MAOI,eAAA,gBAPJ,MAOI,eAAA,eAPJ,MAOI,eAAA,iBAPJ,MAOI,eAAA,eAPJ,MAOI,aAAA,YAPJ,MAOI,aAAA,iBAPJ,MAOI,aAAA,gBAPJ,MAOI,aAAA,eAPJ,MAOI,aAAA,iBAPJ,MAOI,aAAA,eAPJ,gBAOI,YAAA,mCAPJ,MAOI,UAAA,iCAPJ,MAOI,UAAA,gCAPJ,MAOI,UAAA,8BAPJ,MAOI,UAAA,gCAPJ,MAOI,UAAA,kBAPJ,MAOI,UAAA,eAPJ,YAOI,WAAA,iBAPJ,YAOI,WAAA,iBAPJ,UAOI,YAAA,cAPJ,YAOI,YAAA,kBAPJ,WAOI,YAAA,cAPJ,SAOI,YAAA,cAPJ,WAOI,YAAA,iBAPJ,MAOI,YAAA,YAPJ,OAOI,YAAA,eAPJ,SAOI,YAAA,cAPJ,OAOI,YAAA,YAPJ,YAOI,WAAA,eAPJ,UAOI,WAAA,gBAPJ,aAOI,WAAA,iBAPJ,sBAOI,gBAAA,eAPJ,2BAOI,gBAAA,oBAPJ,8BAOI,gBAAA,uBAPJ,gBAOI,eAAA,oBAPJ,gBAOI,eAAA,oBAPJ,iBAOI,eAAA,qBAPJ,WAOI,YAAA,iBAPJ,aAOI,YAAA,iBAPJ,YAOI,UAAA,qBAAA,WAAA,qBAPJ,cAIQ,kBAAA,EAGJ,MAAA,6DAPJ,gBAIQ,kBAAA,EAGJ,MAAA,+DAPJ,cAIQ,kBAAA,EAGJ,MAAA,6DAPJ,WAIQ,kBAAA,EAGJ,MAAA,0DAPJ,cAIQ,kBAAA,EAGJ,MAAA,6DAPJ,aAIQ,kBAAA,EAGJ,MAAA,4DAPJ,YAIQ,kBAAA,EAGJ,MAAA,2DAPJ,WAIQ,kBAAA,EAGJ,MAAA,0DAPJ,YAIQ,kBAAA,EAGJ,MAAA,2DAPJ,YAIQ,kBAAA,EAGJ,MAAA,2DAPJ,WAIQ,kBAAA,EAGJ,MAAA,0DAPJ,YAIQ,kBAAA,EAGJ,MAAA,kBAPJ,eAIQ,kBAAA,EAGJ,MAAA,yBAPJ,eAIQ,kBAAA,EAGJ,MAAA,+BAPJ,YAIQ,kBAAA,EAGJ,MAAA,kBAjBJ,iBACE,kBAAA,KADF,iBACE,kBAAA,IADF,iBACE,kBAAA,KADF,kBACE,kBAAA,EASF,YAIQ,gBAAA,EAGJ,iBAAA,2DAPJ,cAIQ,gBAAA,EAGJ,iBAAA,6DAPJ,YAIQ,gBAAA,EAGJ,iBAAA,2DAPJ,SAIQ,gBAAA,EAGJ,iBAAA,wDAPJ,YAIQ,gBAAA,EAGJ,iBAAA,2DAPJ,WAIQ,gBAAA,EAGJ,iBAAA,0DAPJ,UAIQ,gBAAA,EAGJ,iBAAA,yDAPJ,SAIQ,gBAAA,EAGJ,iBAAA,wDAPJ,UAIQ,gBAAA,EAGJ,iBAAA,yDAPJ,UAIQ,gBAAA,EAGJ,iBAAA,yDAPJ,SAIQ,gBAAA,EAGJ,iBAAA,wDAPJ,gBAIQ,gBAAA,EAGJ,iBAAA,sBAjBJ,eACE,gBAAA,IADF,eACE,gBAAA,KADF,eACE,gBAAA,IADF,eACE,gBAAA,KADF,gBACE,gBAAA,EASF,aAOI,iBAAA,6BAPJ,iBAOI,oBAAA,cAAA,iBAAA,cAAA,YAAA,cAPJ,kBAOI,oBAAA,eAAA,iBAAA,eAAA,YAAA,eAPJ,kBAOI,oBAAA,eAAA,iBAAA,eAAA,YAAA,eAPJ,SAOI,eAAA,eAPJ,SAOI,eAAA,eAPJ,SAOI,cAAA,iBAPJ,WAOI,cAAA,YAPJ,WAOI,cAAA,gBAPJ,WAOI,cAAA,iBAPJ,WAOI,cAAA,gBAPJ,gBAOI,cAAA,cAPJ,cAOI,cAAA,gBAPJ,aAOI,uBAAA,iBAAA,wBAAA,iBAPJ,aAOI,wBAAA,iBAAA,2BAAA,iBAPJ,gBAOI,2BAAA,iBAAA,0BAAA,iBAPJ,eAOI,0BAAA,iBAAA,uBAAA,iBAPJ,SAOI,WAAA,kBAPJ,WAOI,WAAA,iBzDPR,yByDAI,gBAOI,MAAA,eAPJ,cAOI,MAAA,gBAPJ,eAOI,MAAA,eAPJ,aAOI,QAAA,iBAPJ,mBAOI,QAAA,uBAPJ,YAOI,QAAA,gBAPJ,WAOI,QAAA,eAPJ,YAOI,QAAA,gBAPJ,gBAOI,QAAA,oBAPJ,iBAOI,QAAA,qBAPJ,WAOI,QAAA,eAPJ,kBAOI,QAAA,sBAPJ,WAOI,QAAA,eAPJ,cAOI,KAAA,EAAA,EAAA,eAPJ,aAOI,eAAA,cAPJ,gBAOI,eAAA,iBAPJ,qBAOI,eAAA,sBAPJ,wBAOI,eAAA,yBAPJ,gBAOI,UAAA,YAPJ,gBAOI,UAAA,YAPJ,kBAOI,YAAA,YAPJ,kBAOI,YAAA,YAPJ,cAOI,UAAA,eAPJ,gBAOI,UAAA,iBAPJ,sBAOI,UAAA,uBAPJ,UAOI,IAAA,YAPJ,UAOI,IAAA,iBAPJ,UAOI,IAAA,gBAPJ,UAOI,IAAA,eAPJ,UAOI,IAAA,iBAPJ,UAOI,IAAA,eAPJ,0BAOI,gBAAA,qBAPJ,wBAOI,gBAAA,mBAPJ,2BAOI,gBAAA,iBAPJ,4BAOI,gBAAA,wBAPJ,2BAOI,gBAAA,uBAPJ,2BAOI,gBAAA,uBAPJ,sBAOI,YAAA,qBAPJ,oBAOI,YAAA,mBAPJ,uBAOI,YAAA,iBAPJ,yBAOI,YAAA,mBAPJ,wBAOI,YAAA,kBAPJ,wBAOI,cAAA,qBAPJ,sBAOI,cAAA,mBAPJ,yBAOI,cAAA,iBAPJ,0BAOI,cAAA,wBAPJ,yBAOI,cAAA,uBAPJ,0BAOI,cAAA,kBAPJ,oBAOI,WAAA,eAPJ,qBAOI,WAAA,qBAPJ,mBAOI,WAAA,mBAPJ,sBAOI,WAAA,iBAPJ,wBAOI,WAAA,mBAPJ,uBAOI,WAAA,kBAPJ,gBAOI,MAAA,aAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,eAOI,MAAA,YAPJ,QAOI,OAAA,YAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,gBAPJ,QAOI,OAAA,eAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,eAPJ,WAOI,OAAA,eAPJ,SAOI,aAAA,YAAA,YAAA,YAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,gBAAA,YAAA,gBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,YAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,WAAA,YAAA,cAAA,YAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,gBAAA,cAAA,gBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,YAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,YAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,gBAPJ,SAOI,WAAA,eAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,eAPJ,YAOI,WAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,YAOI,aAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,YAOI,cAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,YAOI,YAAA,eAPJ,QAOI,QAAA,YAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,gBAPJ,QAOI,QAAA,eAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,eAPJ,SAOI,cAAA,YAAA,aAAA,YAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,gBAAA,aAAA,gBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,YAAA,YAAA,eAAA,YAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,gBAAA,eAAA,gBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,SAOI,eAAA,YAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,gBAPJ,SAOI,eAAA,eAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,eAOI,WAAA,eAPJ,aAOI,WAAA,gBAPJ,gBAOI,WAAA,kBzDPR,yByDAI,gBAOI,MAAA,eAPJ,cAOI,MAAA,gBAPJ,eAOI,MAAA,eAPJ,aAOI,QAAA,iBAPJ,mBAOI,QAAA,uBAPJ,YAOI,QAAA,gBAPJ,WAOI,QAAA,eAPJ,YAOI,QAAA,gBAPJ,gBAOI,QAAA,oBAPJ,iBAOI,QAAA,qBAPJ,WAOI,QAAA,eAPJ,kBAOI,QAAA,sBAPJ,WAOI,QAAA,eAPJ,cAOI,KAAA,EAAA,EAAA,eAPJ,aAOI,eAAA,cAPJ,gBAOI,eAAA,iBAPJ,qBAOI,eAAA,sBAPJ,wBAOI,eAAA,yBAPJ,gBAOI,UAAA,YAPJ,gBAOI,UAAA,YAPJ,kBAOI,YAAA,YAPJ,kBAOI,YAAA,YAPJ,cAOI,UAAA,eAPJ,gBAOI,UAAA,iBAPJ,sBAOI,UAAA,uBAPJ,UAOI,IAAA,YAPJ,UAOI,IAAA,iBAPJ,UAOI,IAAA,gBAPJ,UAOI,IAAA,eAPJ,UAOI,IAAA,iBAPJ,UAOI,IAAA,eAPJ,0BAOI,gBAAA,qBAPJ,wBAOI,gBAAA,mBAPJ,2BAOI,gBAAA,iBAPJ,4BAOI,gBAAA,wBAPJ,2BAOI,gBAAA,uBAPJ,2BAOI,gBAAA,uBAPJ,sBAOI,YAAA,qBAPJ,oBAOI,YAAA,mBAPJ,uBAOI,YAAA,iBAPJ,yBAOI,YAAA,mBAPJ,wBAOI,YAAA,kBAPJ,wBAOI,cAAA,qBAPJ,sBAOI,cAAA,mBAPJ,yBAOI,cAAA,iBAPJ,0BAOI,cAAA,wBAPJ,yBAOI,cAAA,uBAPJ,0BAOI,cAAA,kBAPJ,oBAOI,WAAA,eAPJ,qBAOI,WAAA,qBAPJ,mBAOI,WAAA,mBAPJ,sBAOI,WAAA,iBAPJ,wBAOI,WAAA,mBAPJ,uBAOI,WAAA,kBAPJ,gBAOI,MAAA,aAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,eAOI,MAAA,YAPJ,QAOI,OAAA,YAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,gBAPJ,QAOI,OAAA,eAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,eAPJ,WAOI,OAAA,eAPJ,SAOI,aAAA,YAAA,YAAA,YAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,gBAAA,YAAA,gBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,YAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,WAAA,YAAA,cAAA,YAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,gBAAA,cAAA,gBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,YAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,YAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,gBAPJ,SAOI,WAAA,eAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,eAPJ,YAOI,WAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,YAOI,aAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,YAOI,cAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,YAOI,YAAA,eAPJ,QAOI,QAAA,YAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,gBAPJ,QAOI,QAAA,eAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,eAPJ,SAOI,cAAA,YAAA,aAAA,YAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,gBAAA,aAAA,gBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,YAAA,YAAA,eAAA,YAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,gBAAA,eAAA,gBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,SAOI,eAAA,YAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,gBAPJ,SAOI,eAAA,eAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,eAOI,WAAA,eAPJ,aAOI,WAAA,gBAPJ,gBAOI,WAAA,kBzDPR,yByDAI,gBAOI,MAAA,eAPJ,cAOI,MAAA,gBAPJ,eAOI,MAAA,eAPJ,aAOI,QAAA,iBAPJ,mBAOI,QAAA,uBAPJ,YAOI,QAAA,gBAPJ,WAOI,QAAA,eAPJ,YAOI,QAAA,gBAPJ,gBAOI,QAAA,oBAPJ,iBAOI,QAAA,qBAPJ,WAOI,QAAA,eAPJ,kBAOI,QAAA,sBAPJ,WAOI,QAAA,eAPJ,cAOI,KAAA,EAAA,EAAA,eAPJ,aAOI,eAAA,cAPJ,gBAOI,eAAA,iBAPJ,qBAOI,eAAA,sBAPJ,wBAOI,eAAA,yBAPJ,gBAOI,UAAA,YAPJ,gBAOI,UAAA,YAPJ,kBAOI,YAAA,YAPJ,kBAOI,YAAA,YAPJ,cAOI,UAAA,eAPJ,gBAOI,UAAA,iBAPJ,sBAOI,UAAA,uBAPJ,UAOI,IAAA,YAPJ,UAOI,IAAA,iBAPJ,UAOI,IAAA,gBAPJ,UAOI,IAAA,eAPJ,UAOI,IAAA,iBAPJ,UAOI,IAAA,eAPJ,0BAOI,gBAAA,qBAPJ,wBAOI,gBAAA,mBAPJ,2BAOI,gBAAA,iBAPJ,4BAOI,gBAAA,wBAPJ,2BAOI,gBAAA,uBAPJ,2BAOI,gBAAA,uBAPJ,sBAOI,YAAA,qBAPJ,oBAOI,YAAA,mBAPJ,uBAOI,YAAA,iBAPJ,yBAOI,YAAA,mBAPJ,wBAOI,YAAA,kBAPJ,wBAOI,cAAA,qBAPJ,sBAOI,cAAA,mBAPJ,yBAOI,cAAA,iBAPJ,0BAOI,cAAA,wBAPJ,yBAOI,cAAA,uBAPJ,0BAOI,cAAA,kBAPJ,oBAOI,WAAA,eAPJ,qBAOI,WAAA,qBAPJ,mBAOI,WAAA,mBAPJ,sBAOI,WAAA,iBAPJ,wBAOI,WAAA,mBAPJ,uBAOI,WAAA,kBAPJ,gBAOI,MAAA,aAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,eAOI,MAAA,YAPJ,QAOI,OAAA,YAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,gBAPJ,QAOI,OAAA,eAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,eAPJ,WAOI,OAAA,eAPJ,SAOI,aAAA,YAAA,YAAA,YAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,gBAAA,YAAA,gBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,YAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,WAAA,YAAA,cAAA,YAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,gBAAA,cAAA,gBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,YAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,YAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,gBAPJ,SAOI,WAAA,eAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,eAPJ,YAOI,WAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,YAOI,aAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,YAOI,cAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,YAOI,YAAA,eAPJ,QAOI,QAAA,YAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,gBAPJ,QAOI,QAAA,eAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,eAPJ,SAOI,cAAA,YAAA,aAAA,YAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,gBAAA,aAAA,gBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,YAAA,YAAA,eAAA,YAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,gBAAA,eAAA,gBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,SAOI,eAAA,YAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,gBAPJ,SAOI,eAAA,eAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,eAOI,WAAA,eAPJ,aAOI,WAAA,gBAPJ,gBAOI,WAAA,kBzDPR,0ByDAI,gBAOI,MAAA,eAPJ,cAOI,MAAA,gBAPJ,eAOI,MAAA,eAPJ,aAOI,QAAA,iBAPJ,mBAOI,QAAA,uBAPJ,YAOI,QAAA,gBAPJ,WAOI,QAAA,eAPJ,YAOI,QAAA,gBAPJ,gBAOI,QAAA,oBAPJ,iBAOI,QAAA,qBAPJ,WAOI,QAAA,eAPJ,kBAOI,QAAA,sBAPJ,WAOI,QAAA,eAPJ,cAOI,KAAA,EAAA,EAAA,eAPJ,aAOI,eAAA,cAPJ,gBAOI,eAAA,iBAPJ,qBAOI,eAAA,sBAPJ,wBAOI,eAAA,yBAPJ,gBAOI,UAAA,YAPJ,gBAOI,UAAA,YAPJ,kBAOI,YAAA,YAPJ,kBAOI,YAAA,YAPJ,cAOI,UAAA,eAPJ,gBAOI,UAAA,iBAPJ,sBAOI,UAAA,uBAPJ,UAOI,IAAA,YAPJ,UAOI,IAAA,iBAPJ,UAOI,IAAA,gBAPJ,UAOI,IAAA,eAPJ,UAOI,IAAA,iBAPJ,UAOI,IAAA,eAPJ,0BAOI,gBAAA,qBAPJ,wBAOI,gBAAA,mBAPJ,2BAOI,gBAAA,iBAPJ,4BAOI,gBAAA,wBAPJ,2BAOI,gBAAA,uBAPJ,2BAOI,gBAAA,uBAPJ,sBAOI,YAAA,qBAPJ,oBAOI,YAAA,mBAPJ,uBAOI,YAAA,iBAPJ,yBAOI,YAAA,mBAPJ,wBAOI,YAAA,kBAPJ,wBAOI,cAAA,qBAPJ,sBAOI,cAAA,mBAPJ,yBAOI,cAAA,iBAPJ,0BAOI,cAAA,wBAPJ,yBAOI,cAAA,uBAPJ,0BAOI,cAAA,kBAPJ,oBAOI,WAAA,eAPJ,qBAOI,WAAA,qBAPJ,mBAOI,WAAA,mBAPJ,sBAOI,WAAA,iBAPJ,wBAOI,WAAA,mBAPJ,uBAOI,WAAA,kBAPJ,gBAOI,MAAA,aAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,eAOI,MAAA,YAPJ,QAOI,OAAA,YAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,gBAPJ,QAOI,OAAA,eAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,eAPJ,WAOI,OAAA,eAPJ,SAOI,aAAA,YAAA,YAAA,YAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,gBAAA,YAAA,gBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,YAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,WAAA,YAAA,cAAA,YAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,gBAAA,cAAA,gBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,YAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,YAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,gBAPJ,SAOI,WAAA,eAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,eAPJ,YAOI,WAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,YAOI,aAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,YAOI,cAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,YAOI,YAAA,eAPJ,QAOI,QAAA,YAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,gBAPJ,QAOI,QAAA,eAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,eAPJ,SAOI,cAAA,YAAA,aAAA,YAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,gBAAA,aAAA,gBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,YAAA,YAAA,eAAA,YAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,gBAAA,eAAA,gBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,SAOI,eAAA,YAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,gBAPJ,SAOI,eAAA,eAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,eAOI,WAAA,eAPJ,aAOI,WAAA,gBAPJ,gBAOI,WAAA,kBzDPR,0ByDAI,iBAOI,MAAA,eAPJ,eAOI,MAAA,gBAPJ,gBAOI,MAAA,eAPJ,cAOI,QAAA,iBAPJ,oBAOI,QAAA,uBAPJ,aAOI,QAAA,gBAPJ,YAOI,QAAA,eAPJ,aAOI,QAAA,gBAPJ,iBAOI,QAAA,oBAPJ,kBAOI,QAAA,qBAPJ,YAOI,QAAA,eAPJ,mBAOI,QAAA,sBAPJ,YAOI,QAAA,eAPJ,eAOI,KAAA,EAAA,EAAA,eAPJ,cAOI,eAAA,cAPJ,iBAOI,eAAA,iBAPJ,sBAOI,eAAA,sBAPJ,yBAOI,eAAA,yBAPJ,iBAOI,UAAA,YAPJ,iBAOI,UAAA,YAPJ,mBAOI,YAAA,YAPJ,mBAOI,YAAA,YAPJ,eAOI,UAAA,eAPJ,iBAOI,UAAA,iBAPJ,uBAOI,UAAA,uBAPJ,WAOI,IAAA,YAPJ,WAOI,IAAA,iBAPJ,WAOI,IAAA,gBAPJ,WAOI,IAAA,eAPJ,WAOI,IAAA,iBAPJ,WAOI,IAAA,eAPJ,2BAOI,gBAAA,qBAPJ,yBAOI,gBAAA,mBAPJ,4BAOI,gBAAA,iBAPJ,6BAOI,gBAAA,wBAPJ,4BAOI,gBAAA,uBAPJ,4BAOI,gBAAA,uBAPJ,uBAOI,YAAA,qBAPJ,qBAOI,YAAA,mBAPJ,wBAOI,YAAA,iBAPJ,0BAOI,YAAA,mBAPJ,yBAOI,YAAA,kBAPJ,yBAOI,cAAA,qBAPJ,uBAOI,cAAA,mBAPJ,0BAOI,cAAA,iBAPJ,2BAOI,cAAA,wBAPJ,0BAOI,cAAA,uBAPJ,2BAOI,cAAA,kBAPJ,qBAOI,WAAA,eAPJ,sBAOI,WAAA,qBAPJ,oBAOI,WAAA,mBAPJ,uBAOI,WAAA,iBAPJ,yBAOI,WAAA,mBAPJ,wBAOI,WAAA,kBAPJ,iBAOI,MAAA,aAPJ,aAOI,MAAA,YAPJ,aAOI,MAAA,YAPJ,aAOI,MAAA,YAPJ,aAOI,MAAA,YAPJ,aAOI,MAAA,YAPJ,aAOI,MAAA,YAPJ,gBAOI,MAAA,YAPJ,SAOI,OAAA,YAPJ,SAOI,OAAA,iBAPJ,SAOI,OAAA,gBAPJ,SAOI,OAAA,eAPJ,SAOI,OAAA,iBAPJ,SAOI,OAAA,eAPJ,YAOI,OAAA,eAPJ,UAOI,aAAA,YAAA,YAAA,YAPJ,UAOI,aAAA,iBAAA,YAAA,iBAPJ,UAOI,aAAA,gBAAA,YAAA,gBAPJ,UAOI,aAAA,eAAA,YAAA,eAPJ,UAOI,aAAA,iBAAA,YAAA,iBAPJ,UAOI,aAAA,eAAA,YAAA,eAPJ,aAOI,aAAA,eAAA,YAAA,eAPJ,UAOI,WAAA,YAAA,cAAA,YAPJ,UAOI,WAAA,iBAAA,cAAA,iBAPJ,UAOI,WAAA,gBAAA,cAAA,gBAPJ,UAOI,WAAA,eAAA,cAAA,eAPJ,UAOI,WAAA,iBAAA,cAAA,iBAPJ,UAOI,WAAA,eAAA,cAAA,eAPJ,aAOI,WAAA,eAAA,cAAA,eAPJ,UAOI,WAAA,YAPJ,UAOI,WAAA,iBAPJ,UAOI,WAAA,gBAPJ,UAOI,WAAA,eAPJ,UAOI,WAAA,iBAPJ,UAOI,WAAA,eAPJ,aAOI,WAAA,eAPJ,UAOI,aAAA,YAPJ,UAOI,aAAA,iBAPJ,UAOI,aAAA,gBAPJ,UAOI,aAAA,eAPJ,UAOI,aAAA,iBAPJ,UAOI,aAAA,eAPJ,aAOI,aAAA,eAPJ,UAOI,cAAA,YAPJ,UAOI,cAAA,iBAPJ,UAOI,cAAA,gBAPJ,UAOI,cAAA,eAPJ,UAOI,cAAA,iBAPJ,UAOI,cAAA,eAPJ,aAOI,cAAA,eAPJ,UAOI,YAAA,YAPJ,UAOI,YAAA,iBAPJ,UAOI,YAAA,gBAPJ,UAOI,YAAA,eAPJ,UAOI,YAAA,iBAPJ,UAOI,YAAA,eAPJ,aAOI,YAAA,eAPJ,SAOI,QAAA,YAPJ,SAOI,QAAA,iBAPJ,SAOI,QAAA,gBAPJ,SAOI,QAAA,eAPJ,SAOI,QAAA,iBAPJ,SAOI,QAAA,eAPJ,UAOI,cAAA,YAAA,aAAA,YAPJ,UAOI,cAAA,iBAAA,aAAA,iBAPJ,UAOI,cAAA,gBAAA,aAAA,gBAPJ,UAOI,cAAA,eAAA,aAAA,eAPJ,UAOI,cAAA,iBAAA,aAAA,iBAPJ,UAOI,cAAA,eAAA,aAAA,eAPJ,UAOI,YAAA,YAAA,eAAA,YAPJ,UAOI,YAAA,iBAAA,eAAA,iBAPJ,UAOI,YAAA,gBAAA,eAAA,gBAPJ,UAOI,YAAA,eAAA,eAAA,eAPJ,UAOI,YAAA,iBAAA,eAAA,iBAPJ,UAOI,YAAA,eAAA,eAAA,eAPJ,UAOI,YAAA,YAPJ,UAOI,YAAA,iBAPJ,UAOI,YAAA,gBAPJ,UAOI,YAAA,eAPJ,UAOI,YAAA,iBAPJ,UAOI,YAAA,eAPJ,UAOI,cAAA,YAPJ,UAOI,cAAA,iBAPJ,UAOI,cAAA,gBAPJ,UAOI,cAAA,eAPJ,UAOI,cAAA,iBAPJ,UAOI,cAAA,eAPJ,UAOI,eAAA,YAPJ,UAOI,eAAA,iBAPJ,UAOI,eAAA,gBAPJ,UAOI,eAAA,eAPJ,UAOI,eAAA,iBAPJ,UAOI,eAAA,eAPJ,UAOI,aAAA,YAPJ,UAOI,aAAA,iBAPJ,UAOI,aAAA,gBAPJ,UAOI,aAAA,eAPJ,UAOI,aAAA,iBAPJ,UAOI,aAAA,eAPJ,gBAOI,WAAA,eAPJ,cAOI,WAAA,gBAPJ,iBAOI,WAAA,kBCnDZ,0BD4CQ,MAOI,UAAA,iBAPJ,MAOI,UAAA,eAPJ,MAOI,UAAA,kBAPJ,MAOI,UAAA,kBChCZ,aDyBQ,gBAOI,QAAA,iBAPJ,sBAOI,QAAA,uBAPJ,eAOI,QAAA,gBAPJ,cAOI,QAAA,eAPJ,eAOI,QAAA,gBAPJ,mBAOI,QAAA,oBAPJ,oBAOI,QAAA,qBAPJ,cAOI,QAAA,eAPJ,qBAOI,QAAA,sBAPJ,cAOI,QAAA","sourcesContent":["/*!\n * Bootstrap v5.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"accordion\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"offcanvas\";\n@import \"placeholders\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n",":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-rgb: #{to-rgb($body-color)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n font-size: var(--#{$variable-prefix}-root-font-size);\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$variable-prefix}body-font-family);\n @include font-size(var(--#{$variable-prefix}body-font-size));\n font-weight: var(--#{$variable-prefix}body-font-weight);\n line-height: var(--#{$variable-prefix}body-line-height);\n color: var(--#{$variable-prefix}body-color);\n text-align: var(--#{$variable-prefix}body-text-align);\n background-color: var(--#{$variable-prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`