Source: https://developers.woosmap.com/api-reference/distance-api/get-distance-tolls-json/

> For clean Markdown of any page, append `.md` to the page URL.

> For a complete documentation index, see https://developers.woosmap.com/llms.txt

# Find Tolls



# Find Tolls

 GET 
https://api.woosmap.com/distance/tolls/json

Get distance, duration and tolls for an origin,destination pair, based on the recommended route between those two points for a specified travel mode.

**Rate limit** : `5/1s`

**Ratelimit:** 5/1s

### Authorization

[`key`](#authorization-distance-publicapikey)
apiKeyquery

Public key of the project usually starts with `woos-`

[`private_key`](#authorization-distance-privateapikey)
apiKeyquery

Private key with or without write permission.

[`X-Api-Key`](#authorization-distance-privateapikeyheader)
apiKeyheader

Private key with or without write permission.

### Query Parameters

[`arrival_time`](#query-arrival-time)
object

Specify your desired arrival time.

By using this parameter, Distance will calculate the duration with **traffic**. Valid values are a UNIX timestamp (e.g. `1600799173` for the date: `22/09/2020 20:26:13`) or `now`.

Use either `arrival_time` or `departure_time`, not both.

Example:`1600799173`

[`departure_time`](#query-departure-time)
object

Specify your desired departure time.

By using this parameter, Distance will calculate the duration with **traffic**. Valid values are a UNIX timestamp (e.g. `1600799173` for the date: `22/09/2020 20:26:13`) or `now`.

Use either `arrival_time` or `departure_time`, not both.

Example:`1600799173`

[`waypoints`](#query-waypoints)
object

A list of points by which the route should pass (the route response is divided into legs, one leg corresponding to a route between two waypoints). Waypoints should be separated by | character.

Optionally, you may pass 'optimize:true' as the first argument within the waypoints parameter. This way the provided route is optimized by rearranging the waypoints in a more efficient order based on distance or time according to the method parameter. The route start point and end point order is not changed, their position is considered fixed.

`alternatives` and `waypoints` can not be used at the same time.

Example:`optimize:true|48.850077,3.311124|48.850077,3.411124`

[`mode`](#query-mode)
stringDefaults to `driving`

# Show 4 enum values Hide 4 enum values 

`driving`

`walking`

`cycling`

`truck`

[`method`](#query-method)
stringDefaults to `time`

Available options:`time`, `distance`

[`units`](#query-units)
stringDefaults to `metric`

Available options:`metric`, `imperial`

[`language`](#query-language)
stringDefaults to `en`

The language code, indicating in the language the response should be in.

If not defined the header `Accept-Language` of the request will be checked before defaulting to `en`.

# Show 20 enum values Hide 20 enum values 

`en`

`fr`

`ca`

`da`

`de`

`es`

`et`

`fi`

`he`

`it`

`ja`

`nb`

`nl`

`pl`

`pt`

`ro`

`ru`

`sv`

`uk`

`zh`

[`origin`](#query-origin)
stringrequired

The starting point. It should be supplied in the form of `latitude,longitude` coordinates. Ensure that no space exists between the latitude and longitude values.

Example:`48.709,2.403`

[`destination`](#query-destination)
stringrequired

The ending point for the route. It should be supplied in the form of `latitude,longitude` coordinates. Ensure that no space exists between the latitude and longitude values.

Example:`48.768,2.338`

[`alternatives`](#query-alternatives)
booleanDefaults to `false`

Specifies if alternative routes should be returned. Depending on the calculated route, alternatives may not be provided. `alternatives` and `waypoints` can not be used at the same time.

### Header Parameters

[`accept-language`](#header-accept-language)
object

### Response

200application/json

Successful Response

[`status`](#resp-200-status)
stringrequired

[`routes`](#resp-200-routes)
object[]required

#Show 3 propertiesHide 3 properties

routes.[`overview_polyline`](#resp-200-routes-overview-polyline)
objectrequired

Show 1 propertiesHide 1 properties

routes.overview\_polyline.[`points`](#resp-200-routes-overview-polyline-points)
stringrequired

routes.[`bounds`](#resp-200-routes-bounds)
objectrequired

Show 2 propertiesHide 2 properties

routes.bounds.[`northeast`](#resp-200-routes-bounds-northeast)
objectrequired

Show 2 propertiesHide 2 properties

routes.bounds.northeast.[`lat`](#resp-200-routes-bounds-northeast-lat)
numberrequired

The latitude of the point in decimal degrees, range is [-90, 90].

routes.bounds.northeast.[`lng`](#resp-200-routes-bounds-northeast-lng)
numberrequired

The longitude of the point in decimal degrees, range is [-180, 180].

routes.bounds.[`southwest`](#resp-200-routes-bounds-southwest)
objectrequired

Show 2 propertiesHide 2 properties

routes.bounds.southwest.[`lat`](#resp-200-routes-bounds-southwest-lat)
numberrequired

The latitude of the point in decimal degrees, range is [-90, 90].

routes.bounds.southwest.[`lng`](#resp-200-routes-bounds-southwest-lng)
numberrequired

The longitude of the point in decimal degrees, range is [-180, 180].

routes.[`legs`](#resp-200-routes-legs)
object[]required

Show 6 propertiesHide 6 properties

routes.legs.[`distance`](#resp-200-routes-legs-distance)
objectrequired

Show 2 propertiesHide 2 properties

routes.legs.distance.[`value`](#resp-200-routes-legs-distance-value)
integerrequired

routes.legs.distance.[`text`](#resp-200-routes-legs-distance-text)
stringrequired

routes.legs.[`duration`](#resp-200-routes-legs-duration)
objectrequired

Show 2 propertiesHide 2 properties

routes.legs.duration.[`value`](#resp-200-routes-legs-duration-value)
integerrequired

routes.legs.duration.[`text`](#resp-200-routes-legs-duration-text)
stringrequired

routes.legs.[`start_location`](#resp-200-routes-legs-start-location)
objectrequired

Show 2 propertiesHide 2 properties

routes.legs.start\_location.[`lat`](#resp-200-routes-legs-start-location-lat)
numberrequired

The latitude of the point in decimal degrees, range is [-90, 90].

routes.legs.start\_location.[`lng`](#resp-200-routes-legs-start-location-lng)
numberrequired

The longitude of the point in decimal degrees, range is [-180, 180].

routes.legs.[`end_location`](#resp-200-routes-legs-end-location)
objectrequired

Show 2 propertiesHide 2 properties

routes.legs.end\_location.[`lat`](#resp-200-routes-legs-end-location-lat)
numberrequired

The latitude of the point in decimal degrees, range is [-90, 90].

routes.legs.end\_location.[`lng`](#resp-200-routes-legs-end-location-lng)
numberrequired

The longitude of the point in decimal degrees, range is [-180, 180].

routes.legs.[`tolls`](#resp-200-routes-legs-tolls)
object[]required

routes.legs.[`tollSystems`](#resp-200-routes-legs-tollsystems)
object[]required

### Errors

#401

Unable to locate credentials.

 

`application/json`

[`detail`](#err-401-detail)
stringrequired

#402

Out of free quota.

 

`application/json`

[`detail`](#err-402-detail)
stringrequired

#403

Credentials found, but not matching.

 

`application/json`

[`detail`](#err-403-detail)
stringrequired

#422

Validation Error

 

`application/json`

[`detail`](#err-422-detail)
object[]

Show 3 propertiesHide 3 properties

detail.[`loc`](#err-422-detail-loc)
any[]required

detail.[`msg`](#err-422-detail-msg)
stringrequired

detail.[`type`](#err-422-detail-type)
stringrequired

#429

Rate limit reached

 

`application/json`

[`details`](#err-429-details)
stringrequired

```shell
curl -L 'https://api.woosmap.com/distance/tolls/json?origin=43.70386%2C%204.12200&destination=45.71971%2C%204.84891&mode=driving&private_key=YOUR_PRIVATE_API_KEY'
```

```javascript
const requestOptions = {
  method: "GET",
  redirect: "follow"
};

fetch("https://api.woosmap.com/distance/tolls/json?origin=43.70386%2C%204.12200&destination=45.71971%2C%204.84891&mode=driving&private_key=YOUR_PRIVATE_API_KEY", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
```

```python
import requests

url = "https://api.woosmap.com/distance/tolls/json?origin=43.70386%2C%204.12200&destination=45.71971%2C%204.84891&mode=driving&private_key=YOUR_PRIVATE_API_KEY"

payload = {}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
```

```json
{
  "status": "OK",
  "routes": [
    {
      "legs": [
        {
          "distance": {
            "value": 272304,
            "text": "272 km"
          },
          "duration": {
            "value": 8834,
            "text": "2 hours 27 mins"
          },
          "start_location": {
            "lat": 43.7037562,
            "lng": 4.1217688
          },
          "end_location": {
            "lat": 45.7196995,
            "lng": 4.848819
          },
          "tolls": [
            {
              "countryCode": "FRA",
              "tollSystemRef": 0,
              "tollSystem": "ASF",
              "tollSystems": [
                0
              ],
              "fares": [
                {
                  "id": "e4626716-1e29-4f9a-905a-19f0376cfb38",
                  "name": "ASF",
                  "price": {
                    "type": "value",
                    "currency": "EUR",
                    "value": 28.9
                  },
                  "reason": "toll",
                  "paymentMethods": [
                    "cash",
                    "bankCard",
                    "creditCard",
                    "transponder",
                    "travelCard"
                  ],
                  "transponders": [
                    {
                      "system": "BipandGo"
                    },
                    {
                      "system": "BipandGo"
                    },
                    {
                      "system": "BipandGo IDVROOM carpoorling"
                    },
                    {
                      "system": "Cito30"
                    },
                    {
                      "system": "Easytrip pass"
                    },
                    {
                      "system": "Liane 30"
                    },
                    {
                      "system": "Liber-t"
                    },
                    {
                      "system": "Liber-t mobilitis"
                    },
                    {
                      "system": "Pass Pont-Pont"
                    },
                    {
                      "system": "Progressivi'T Maurienne"
                    },
                    {
                      "system": "TopEurop"
                    },
                    {
                      "system": "Tunnel Pass+"
                    },
                    {
                      "system": "Ulys"
                    },
                    {
                      "system": "Ulys Europe"
                    },
                    {
                      "system": "VIA-T"
                    },
                    {
                      "system": "Viaduc-t 30"
                    }
                  ]
                }
              ],
              "tollCollectionLocations": [
                {
                  "name": "MONTPELLIER (M.EST)",
                  "location": {
                    "lat": 43.70291,
                    "lng": 4.11982
                  }
                },
                {
                  "name": "VIENNE",
                  "location": {
                    "lat": 45.4761,
                    "lng": 4.83378
                  }
                }
              ]
            }
          ],
          "tollSystems": [
            {
              "id": 7607,
              "name": "ASF"
            }
          ]
        }
      ],
      "bounds": {
        "northeast": {
          "lat": 45.7197,
          "lng": 4.89669
        },
        "southwest": {
          "lat": 43.7022,
          "lng": 4.11696
        }
      },
      "overview_polyline": {
        "points": "m{viG_`dXDGLUDU@a@C]GUGMOOOEQCQDMFMPGPGf@@\H\HPJHNF\@N?RFTNNTVh@Rh@Nl@^zBXlAb@|A\~@\t@Rx@RhADl@?VCd@EZGTKRUZUL]FM?MCQISOcAaA]WwF{HcDoEgA}AkBoCeCyDuE_IqEkIoEiI_@s@gBiDmCkFkC_FmRw^sB_Ea@w@c@y@sDcHuH{NyDwH}AeD{AoDy@uBmBuFiAuDeA{DiAcFOq@w@eEk@cDs@iFo@}Fo@iI[oGSaHGmFCyEGaXGmHG}DKkEKmDWqG_@qHa@wGi@aHMsAMsAk@mGK}@i@yEKu@_@uCAKWgBU}ASoAUwAWaBgAkGm@iDWoAy@cDaAkDiAeDcAgCeAaCoAcCmAuBaCqDsAcB}@eA_BaBq@m@aCoBgBoAgBeAaAg@iBy@w@[}Bu@sM}D_Cy@gEiBmCuAaBaAwDcCs@i@sBcByAsAiBeBwB_CiBwBqCwDoAiBoCsEgAqBoBgEqAyCmA_DiAcDgAeDc@{Aq@aCu@}CQw@_AwEc@gCy@oFi@{EUgCUyCWsEOkDO{GAkHBsEB_BFoBLiDNsCf@{Hx@qLTsCdI{iAj@}INeEFcGAkDGyCUiFSqCk@cFQqA]uBw@}Dq@mCoAoEa@mAi@wAyAkDm@qAWe@}AmCw@iAgBcCoA{A_C_CwKyJaEkDiL_KsHwGwC_CsE_D_DkBmBcAmEcCeBkAwBcByAqAq@o@}AgB}AoBuAsBk@_AyAmCaAqBuAiDq@sB{@{CeDmL{@sCmB{FuBwF{BaFuAqC{@_BuBmDaBeCqBqCw@cAwAeBgAmA{CyCgD_D_BsAoC_CyG{FyByBuB_CmCaDcByBgCuDoBcDcIsNk@_A_BgCu@eAcByBmB{BaEmE_GiG_DcDwD}DmBmBsAuAcB}AoCcCcA}@s@k@}CcCgDeC{FcEuAeAmAiAmAiAuAyAiAsAe@o@sAoB}@{Au@uAw@_Bq@}AoAgDa@oAiAeEm@sCa@wB]yBUiBi@wEYuCg@{EEe@K_AGk@y@uHYeCGe@}AcMi@qDOaAeBoK{AcIwDiQwC}LqD}NkAaF}@_EuAmGo@sC_ByIWaBq@oD]oB[yBw@cFo@oDi@uDcBiKkB_LSqAw@yEc@_CcAyFo@iDiA{Fm@aDmA_GsDuPGYoCeL_CcJqAwEw@sC_DuKoC}ImCmIgAcDmAiDyDmKaDqIeDiI_@{@Ui@eAkCeEwJuSoe@iFyLmCsGkDwI}FsOSk@kE_MoHoTgDsJSi@]}@gBgEyA_Ds@uA_BsCq@gAaCkD{BqCe@k@cDeDaB{AgA_AyBcBoAy@mBgAsBiAiEyBm@YsB{@aD}As@[eFaC_Bw@gCuA{B{AqCuBwBgByLsKmC_C_EoDgB_B_Ay@qO_NyFkFoAiAyE_E{I_IOMkSsQyDoDi@g@s@s@qCuCyBgCaDcEcCkDuBeDqBmDeC{EsAuCkBsEWq@{@}BgA{CmAqDcLg^wDuLiBaGe@wAuAmEwAsEwAwEgAyDgBgHw@uDq@wDqA{JW_CUaC_@iFc@}JQiH_@}RMeEWuGI}AWuD}@mK[_DeA{Im@qEeAmH}@sFs@cEeAsFkCaM_@cB{B_J_AmDiC_JcAcDuCuIwCcImAcDmCmG}BgFcCiFyCcGwCmFiB_DcDiFsEcHuHgLwC}EwAkCiBwDuBeF{AmEe@yAoAmE_BwG_AsEy@wEc@qCIk@w@iG{@_Ji@kHa@gG}@uOm@qJ_@cH]eGGoAi@qJGaAg@kIqAyUIuAEs@e@wHiAuO_@sEUyBi@_Fk@iEgAcHy@uEs@sDEQwAiGkAsEiA_Eu@cCwDaL{AaEuCmHeEwIkCkFiCuEcBuCkAmBsFoIgNyRiCqDeD_F_A}AkGaLuAcCy@{AcEsH}AsC[k@_Tc`@{@yAyFiKkDiGmCqE}A_CcDsEuBkCuBcC{BcCaAeA}BcCa@c@c@e@s@w@yAaBsD}EgBkC}AgC}C_GgA{BqBiE}AoD}BcF}BaFiA}B{Pg[aD}Fu@oAmIcOmB{CoAcByAeBuCwC_Aw@uAcAeBeAqDsBgFmCoCyAeC{AkCgBy@o@q@g@}AqA_EuDsCuC}CeDmEcF_D{D}CaEuEsGsCkEwDiGwD{G_@o@u@yAmA}BuAgCgBoDcAmBuAqCqBuDy@}A_BuC{CaFoBcDuFqIgK}NuB_DeA_BwBkDaAeBmCeF{AaDaCqF{ByFwBwFyBgGoAcD_C{FyAcD_AqByA_DcDyGaDaHwCaH{BaGsB{FiBuFmA_E}GmUqC{IaD_JoBcFqCuGaAyBmEiJoCmF_ByCcEmHyC_FcEqGkBuC_AsAsAoBm@y@eEwFeBcCqC_EiAeBkCiEm@eAm@gAuBgEkAyB_BiDmAuCyGuPeBiEm@yA]w@aCaFg@eA}AqCgB}CgCaEwCgEeEoFkByBqFcGwHkIsCkDmBgCcCiDeBoCw@mAcDmFyCqFsB}D}AcD_AuBy@wB}@mCq@_C_AcEe@gC[oB_@kCeAiIy@kFkAyFi@qBc@sAkBaFe@eAsAmCmAuBoBwCu@cAwCyDoFmHiBgCgAaBgDmFqBeDgB_DmCeFoB}D}B}E}AoDaA_CeEyKkAcDqBeGoBsGkBsG_E_OiBsGiBuFoAiDk@sAuAyC}AsCeBiCmCqDoAwAqBqBaA{@kCoBkBmAcCqAcAe@cAa@cA[gA[gAWkCe@kAOkCOmAEeA?oCHmAHkCViCZgFh@qBLaBFkBD}@CaAEeAK{@KiASmAYy@Y{Bw@aAc@c@QiCqAmE{BeEiBo@SqCm@cAO{AMw@Iu@C{A?yBD_AF}BVaCh@gAZeCx@cAb@uDzAgC`AeA\eCp@cARyC`@w@FmADmC@}@CmCQqAQ{@OcAUiCs@oDsA{@]cBq@o@WsAm@iGgC_IcDi@S{@a@kQsH_FcCuBeA_CsAqD_CeCeB}BgB_CmB{BuBMMoBiBe@c@mAyAaBiB_AgAyEgG}KgO{BwCaCwC_@e@qCcDwBaCwA{A_DoCiCqBiBoAyA_A}BoAiAi@aBw@wCiAgCy@QGy@SwCs@}Cm@sB[iH}@cAIkBQ{D[}He@sCMo@?uE?aCDkF^u@HqBXkDn@iAViCn@mAb@y@PqBd@cDr@gC^cBR}ADmBB}BAeBKo@E}@MyAUuA[oBk@yAi@qCkA}DmBgG{CmB_AoBy@q@WgE}AqBm@sCs@{Be@mASiDa@oAIwAE_A?eBFuARiBd@k@RiB~@]Pu@j@]Tk@f@e@f@gAvAgA~Aa@p@wCxFcEbJkCnFq@rAcAjBs@hA{CzE}@fAgAnAyAxAYXo@j@_BrA}BbB}@l@cBbAsHjEkEbCoKjGoBbA}BbAq@XwChAoCjAm@VgHnCgBp@a@NcBf@c@TiGfCqDpAsLtEuJpDuDxAmAh@aBv@q@^yFlDmAz@eAt@qBnAmBpAmBlAmBpAkD|B{HdF{E~CaLpHeDtBmMxI{DhC[TmGdEuc@xYiAv@{FtDeGlEyBdBwD`DgE|DsDpDiBnBqElFqE|FmBlCiCxDqEjHcBvCaCnEIN{ChGaDhHuElLqBjFk@zAgCxGkBrEqArC}BtEq@nAiCbEkBdCmAvAeAfAkAdAgCpBqBjAmAn@gAf@{Bz@kBh@oB`@gAPiCVyCL_B@kC?yIMkCFyADwBNkAL_ANuB`@q@N{@RmA\aAZoAf@kBx@{BlAsAx@wCrBwAhAmAfAeC`CmAnAaAbAiBrB}AfBcJzKuCfDsD|DuDnD{@r@uAhAwDrCiBnAiBhAoAr@}Ax@}HrDmJdEiDvA}Ap@kDrAyC`AgAXsCj@sATeBNsCPyDFqBEkCMqBOiSuBiBSiHu@mDg@uAYeBa@wBm@sBs@{CsAkBcAmAu@gMgIkTwN_SoMwDgC_C}Aa_@mVez@mj@yIgGsFcEcG_F{FiFyBuBsIqIwNeOm@m@}@_AkHqH{GaHqFqFwBoB{BeBw@k@aC}AeCuA_CgAaDoAaA[gAYkEaAeAOuBYgBOaFUiAEaGOgACw@Ac@Ac@?iEM_Sa@iCCmC@eBFoBHqALwAPeBZwAVwA^iA\wAf@eBp@aBt@sDfBwJhF{FtCoFjCmD|AmBt@iBp@mDfAsA^cEdAiB\mEt@{C`@kBR}@JoDZaDPmQnAaEV_OdAyG^oI`@_FRoDJgGRwGLoDDeJHiC@wX?iGCkMBoAByBFuCDiCFsBFa@BiADiHb@mBLsBN{Iz@iD`@mDd@iGbAcF|@qLbC{M|CgKxBoEv@uDl@uEn@gIz@sE`@gk@vEcCPmDXmD\i`@`DcCT{Jv@oFd@gIl@gHf@_CNqJf@qELgB@yDD_HEaBCwDKwBKsBGsAKcEYkBQmBQgCYaH_AiEs@kAUk@Ki@Ke@I]ImCi@mEiAaHmBaEoAyHsC_DqAuDaBkAk@{F{CcHeEm@[oBoAyAeAsB{AyHoG}AuA_CuBeIcIiHeIkC{CcBuBk@q@yBiCmBuBqBsBsBsBgD}CgDoCyAiAaBkAgAw@mD{BoBiAeEwB}As@cCcAeE{AiCy@yC{@mCo@mE{@y@UcF_A_F_AkN{CuD{@oGgBcAY_AYUGqDiAwE_BeA]aBk@eEcBeBs@sEoBsDaBkFmCk@[gIkE{SuLqDmByCyAqCoAyEgBuFiB}Bk@mBe@{E_AuB[iEi@aCSaDSqEQwAEwCC}CCoIIeHIsJMoDGaLI{FIuDGaCEkX[mACuHW_Fa@iBSaEk@kASiDq@kAW_EkAiCy@aC{@w@YyAm@yCsAqBcAeFsCwDeC{AeAiFgE}AsAyAuAqCqC}@_Ao@u@oAwAsD{Ek@s@_@k@_AsAyBgDwC_Fs@kAwFiKaIsOgBeDmD_HwB{D}CqFaBmCiCaEyAyBcGeIaCyC{AgBeCqC_DgDeCeC{GiGwFsEqDkCmCkB_DqB_JiFo@]gFeCcCeA_CaAq@YqAg@_C_AsB{@cRyGkPqFu@UoImCQGoBm@uHyBkA]cMiDgHeBqEw@iCc@aEe@cDW{AIgEM_DGeD?wEFmCDgGTeFVwE\sALwLlAuG|@_BVcKhByE`AsFrAyCt@eGdB{IpCe[rKgQhGWHq@VcLzDuE`B]Jg@PuAh@kAb@mHtC_Ab@aEbBiKvEsAp@sCtAeItDcEfB{DzAiDnAuBr@yDjA{Bl@{EhAeCn@aCd@qIxAsBZqBVsDb@aGj@oDXqDVmGZeFPwDHcEDmIBcHAoNCa@?uMCgQLaNRkJTsJZ_Md@yOx@mIXiCH_@?c@@oGBaCAkEIcFQsE[kHs@_@CwB[iC]{E{@oFiASESC{Bi@iEgAcJsBmGsAkFeAkDm@kEq@yGy@uCYsFc@uCWaJg@s@AsG[iE]q@EYA{@?wC?mCM_S{@s@CcGO}BMcBIkDMgEKmBC}B?yCDgAD_EVeBPkBVqB\uDv@iCr@_Cv@mBr@gBt@mAj@yAt@cAj@{CfBsSdN}D~BiGfDsEtBwB|@}Aj@wFjBu@VeCr@}Bh@gCj@yDv@oEv@aJxAqHpA_MtBy@LkC\uGx@kFh@cAHwF\oDPqHLuDB{GGeEIgGWw@GwCOoSwA{Jw@yDa@gDi@y@MkCm@{Aa@qA[aCu@cEoAeF}AuAc@qFsAmEy@{B]aAKeCUyAKcEOoDC}B?aCFy@D_Kl@gBNmIf@sCJcEFcA?mFIoDQsAKcCWeC]sB[kBa@_B_@{Cw@sBo@qBq@}B_AsF_C_Bo@aGoCw@]qFeCkAg@yBaAeAc@u@[cNkGqAm@eCiAy@[kGqC_DuAm@[gJmEkDgB{CaBq@_@kBeAUMwBsAgFiDoA}@wDuCqF{EoBoBgAiA{@aAmCaD{CeEeBiCgEkH_B_Dy@gBwCeHuAyDQg@cAaDgBiGkB_IyAuHmAgH_Fc\sA}HcAiF}@{DgA_E]kAaBiFa@kA_AcCu@iBs@_BaAwBkA_CeB_DoAwBoAmBmBmC_CwCY]]a@yB_C_B}AmFwEsD{CiUwQoQ{NuMmKcNsKaGiEoFmDcF{CuDqBqCuAkAi@o@[_EeBsAi@iE}A_IiC}MgE{FcBsEoAwBi@cBc@eDs@gEy@cCe@uQuCoFw@_m@iJs]gFkC]oWqDwFw@qC_@gd@gGgGw@yGw@uEc@iCSeDQeBGaCG{CEkA?{FFkDJwDRYBkE\eBPg@FcH|@_QfCuDd@cEb@g@BsCRcDL}BB}E?yDKaCK}@G_CScCWuCa@qF_AsCm@YKUGiF{Ae@OsFiBgIuCg@Q{h@aRoE}AmG{ByCcA_A[s@Ww@Y_Cw@cA]mC_AiDaAyAc@oKoCsDo@mB]{AUkDe@qB[aBWmC[oB[wAU{B]oIoAeC]gBUwAQcAK}@KyCWuEUgCKgEEmBBcGHwDL{G^}CLoCHsA?aCCgAE}C[oASwB_@iAWkA[gC{@uAi@u@[yBkAcBeAeCaByBcBiCsBiByAi@_@iG}E]YcIkGcBoAo@i@mDgDs@y@wE_Gm@o@cB}Aw@o@w@k@yEiCeBq@iA]cAWaAQuC[cI]gFUaFYuBWgASwFoAsBa@}@MaAIgACy@?aBHsAL}@Lc@LeBf@aA`@]RcDjBsAn@cBl@wBj@q@LuAP{O~AcAH_BRmBPaBViB\}LrCkBd@mBh@s@RyAh@aA`@oB|@eBz@wBlAi@TmAd@gAZuAXgAL{AHqB@oCQ_AIiAUkDu@sEaAuA[oAU_B[s@MkB]y@KeAImACu@Ci@?g@@yADeBNaC^qBd@YHoAf@q@Tu@\yB|@qIlD_DlAsBr@QD[H}@XeB^uB`@aBT_CX_BN_AFuAFaCDeIFqGLaBL_CZoAPyBd@k@LiAZcBf@uBx@mB|@{PlJwDjBuD`Bs@VcA`@}Ah@yEvAyDz@iB\w@LkDh@eAPsCV{CTqBJo@BaGJyDAmR]iJQoEIsIMgC?uA@kELcBJg@BaY~AyAFmFXmCL}BFsCFmEBuC?o@A{CCiAEoHWkIo@{Eg@yEk@mGeAuN}CuGyAwDs@wB]iAOyEg@uF[mEKuCAiA@mFL{CLoBJeDTkY|AsWzAa@BiBL{BR_D`@uDp@wCn@sDbA{DrAqDzA_ErB}@d@iAn@aCzAyAbAsAbAcDrC}ApAsDhD{@z@{@t@[RiAx@mAr@o@Z]Pq@^y@X{@XiDr@cCV_DLuEM_Dc@iBc@qA_@_A_@]O{Aw@m@]w@g@wB_ByAuAuA{AcBuBqGwI}@oAgD{Dk@m@gDyCoAeAkBsAkAs@{@i@kAo@mAm@{B_AqBq@cBk@yAa@wA[{AWgBUeEa@cCOeCIcCBeBJkD^oARcK`C_BPmANyALyABsBAgBG}AKsDg@qDcAoDuAiDkBwEgDqB{AeL}IgHuFwJsHsJuHyAsAiBgBiAmAqCcDiC_DuCuDiDgEgBuBiAmAsAoAgCyBoCkBeC}AQKSKiDwA{B{@{Cw@wB]_Ca@yE[kBE_DBsEZeFr@sq@rOaOhDyDdA}Af@yAh@_C`AaBv@wEdC_HzDkB|@{B|@kBl@_AVmAXyB`@aCZkAJcBHiCDsB?sCCo@C_BAcDIgLYiHMk@AiGO{BGmBCk@CoFMO?Y?a^s@iJWaEG}BAeE@}AD{BLiBPgCZwAToAVyCv@}Br@yBx@oBx@mB~@{@f@yAz@uDfCiBzA[XUR}ArA}ApAmAbA_BhAsBpAu@^cBv@uAd@mAZsCd@wAPwCd@qAV_AViA^}An@}Av@cAl@sBxAuAjAyEjEgF|EuBdBeAv@y@h@w@d@}Ar@eA^]Lo@Rm@PwAZ{@LsBPoBHwA@yBK_AGu@MgB[mBe@wBs@y@[}Ae@uBi@}AYkBUeCKgBBu@@aBJqBVkAT_Bb@y@Xm@RyBbAiAn@aAn@sAbA{BtBy@~@q@z@qAhBe@r@W`@qAdCm@tAaAbCs@xBaAjDi@dCiA~Es@lC]tAg@xA_BzDe@`As@tAo@dA}AxBk@r@iBnBw@r@w@p@mBrA}BpAgAd@aA^w@VkBh@_Cp@yN~D}CdA_C|@uBz@aDxAgCrAqDtBoAv@eBjAa@VqCrBeCtBmAlA_BfBqA`BwBtCsDbFwAhBgAjAcAdAyArA_Av@kBvAo@b@yCdB}BhAsCnA}VjKeBv@uAr@g@ZQH}AbA_Ar@u@l@u@r@aBjBmA|A_AtAw@pAmA~B_AnBsCnFsAxBcAzA{@fAmCtCkBbBkA`ASLyAdAe@XuCzAoBx@eCx@sCp@}@RiCZeBLkCDwCEqBKcBMcZiCcIs@cCQkCMuAEiCCiA@oDL}DXyDj@qCj@qBh@sC|@wChAk@ViB~@gBbAaB`AgAr@eBrAk@^oB|AwE`EuBjBqAhA{BnBqC~BoNzLwEdEkGjF{F`FiA~@eAr@_@VeAn@q@\mBx@qBn@iBb@s@LiBRy@FsBF{BEgCSmBYaCi@oBc@kPiEoE_A}@MwAK}@Cs@Cg@?cCFmBNgBVwBd@gBh@iBt@i@VmAp@{AbAmA~@{AxAyA|Aq@x@iA|AsB`D_FlHoBxCmCxD{AjBiApAmDfDy@r@qCpBmAv@sAt@ULsB`AqAd@}Ah@eAZ{A^aBZ_CZ_DXsAFc@?oB?eCE_IYeACoLe@oO]oACyB@qD?aFFcJH}@B_IZS@iCNkEVwJx@{Db@wKtAuHlA_[tFyB^iJdBmJbBk`@bHmB`@]Hk@JgFbA{J|AcCZkAJeAJcEN{C@kBCkCKqAIcCSoBWmRwBqDe@_Eo@qFkAaB]oMsCcGkAaBQkACgBDg@FsARuA\aBl@}Az@kA|@g@f@oErEsAjAc@ZgAp@cBv@{@V_APaALmAHaA?aAGyAKy@McC]oBW_Fs@sAOwG{@qBQiBIgBIqAAsAAmA@aBDsFXqABgCAcDMoBO_AKyB[aBYyA[aBe@_EkA}@[yB_A}@a@qCwAwBsAqA{@cBmA{AmAo@i@yBuBwZgYuDiDyBqBiG{F_EwDwCoCkEaEaA{@gAgA_A}@sCmCg@e@_FsEaQ_PSQmAcA{CsBk@c@qAo@kAi@cAc@{@[s@UyBm@wBa@{AS_CSiAGoC?kA@u@BuBLiBToB\aCj@mA`@kBt@mAh@_A`@c@Tk@V_@PmAh@oLfFq@VaDdAkCn@wB`@{C`@wBL}@BiBDgA?iAGqDY_BQoASqEy@eEaAeIcBwIkBgLeCqQsDgCm@_B[oGsA{D}@aCe@aDs@mLcCgDs@kNyCcHwA{GyAiE_AcEy@qCe@qFw@_Ee@}AOuKu@w@EiGU{BIoDA{BAq@@iCB{@BmCH{BF_@@_@@qDKeCMcAKo@KkBa@aAMs@Ko@Ai@Ck@BmALwCf@_AL}APc@@W?oFE_BIaAIs@MyA]iA[qFeBi@QsA]uAYmAMk@Ck@?iADe@DgAPc@JkA`@oAl@mGbDeBx@wAj@g@Pg@He@FkAHkA@qAIgAQeAYe@QcAe@iAs@a@[iAcAiAoAkAyAeFiHq@_AqC{Du@cAy@}@u@s@s@i@k@[eAa@cA[]Im@K[EmAMeAC}ABkBFgERwDHq@BoBDu@AoBKiB]_CeASKm@a@m@e@k@k@oA}Ae@q@]m@c@}@q@}ASi@[_AcAuCg@qAs@}Ak@eAw@oAg@o@}@cAkAkAgAaA_D_DqDcDwAwAu@cA]i@g@_Ac@}@{@wBqAaEoB}G]uA_EaN}@cCy@kBg@_Ai@{@kA{Ak@m@o@q@e@a@_BgA{@c@s@]s@Uy@W}AYuAKgHYoBQeAO_@KyAa@q@UaNkFyBu@eBc@m@M}AY}AOm@EeCCyA@_AF}ANaC`@}A`@qAd@aCdAeBbA{B~AuBbBoBdBuC|BoBnAeB`AaC`AuG|BoC`A{HhCaEvAc@TUJi@Xk@^a@Zu@r@w@`Ak@|@mAbCi@|Aa@~AQx@WfBIz@K|AIbC@tBPpFRjFBrA?fBE|AGdAMrAc@bDc@`Cg@~BqAfFs@hC{@lCu@rBy@zBoA~CKXKR}AtDa@x@qB`E}@bBGHeAjBiBzCiDdF{FzHcEfFoEdFyB`CkClCkDjDsElEuEfEyKtJa@Z{AlA{AlAoDrCyFhEyEfDqCfBqBjAuBdAkE`BkCfAeDdBgBhAm@b@wBbBo@j@yCxCuA|Ao@v@_@d@yAtBm@`Am@bAkAxBaApB{ApDi@tAiA`DeAtCu@fBiAxB_A|Ak@z@}BzCuBrBiA~@kAz@iAr@cAh@qAn@sDjBeHjDsHbDoDxAsEhBa@Rq@Tw@Ze@RwFnBgA`@sDnA}EzAwCr@cFpAqE`AoB^g@JgBVkEp@iEj@{AP_Ed@mAJoCPmCPkCLeC@cBIyBS{@Qy@Q}@WaBo@e@UoAs@_@WkByAwAsA_CcCmC_D{AoB{AuBiHmKyEgGqDiEwCaDcCcCeE{D{DcDeCiBsDeCkBiA_FuCsGmDwGcDeEqBuCoAyFyB}JuD_UmIiEeB_Aa@kIuDgB{@mHuDiBcAs@_@qAw@cEcCkAs@kFqD}CyB{DaDi@c@s@m@WUaCqB}AuAq@o@iBgBmDmDyPaR_EeEw@w@qCwCoJcJiC}BkJgIyGsFiF{DgDaCoCgBaBaAaFgCgEkBeCeAgGuBwHuBsF}AiIiCyK{DeHsCgVmKkBs@mA_@eAWyBi@{Bc@gDi@_AKo@CWEkESi@AmBC{ABu@@}AFcEVs@FwKt@kHf@{BPuE\c@FmAJy@Js@HqBV_Fr@o@J{PfCcBXu@LQBwAHo@J_AZ_A^g@RoAd@oAZoB`@eANcAHmADkAAsAMq@Mm@Qa@MqE{AcA]q@MuB[eAIqBIyA?_CJuBVmAT[DcAVcAZkG|BeCp@}AVcAH_@DsAFeK`@aHXiCHu@DwDToAHi@DaGRsCDiABoA?WAqAAe@?]KQGQKQOQUUk@I_@MiAKeBIsBKmEOmDE_AKwBUsFEs@MuCMoCSuD@W@sA?cAB]PaAKuBS]OYSQ[MOUc@c@]@_@Fa@V}@L}@HkBLS?gAFFxFLnL@rAB`C@n@BhA?RAl@yA`@QD"
      }
    }
  ]
}
```
