github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/design/accepted/diagrams/routerFS-by_lakefs.excalidraw (about)

     1  {
     2    "type": "excalidraw",
     3    "version": 2,
     4    "source": "https://excalidraw.com",
     5    "elements": [
     6      {
     7        "type": "rectangle",
     8        "version": 991,
     9        "versionNonce": 888832966,
    10        "isDeleted": false,
    11        "id": "Wd0rSWBOZmJnVFw3WuSgT",
    12        "fillStyle": "solid",
    13        "strokeWidth": 1,
    14        "strokeStyle": "solid",
    15        "roughness": 0,
    16        "opacity": 100,
    17        "angle": 0,
    18        "x": -536.0681357686151,
    19        "y": 9586.7848052735,
    20        "strokeColor": "#000000",
    21        "backgroundColor": "transparent",
    22        "width": 621.5894886363639,
    23        "height": 449.0092329545447,
    24        "seed": 1174698422,
    25        "groupIds": [],
    26        "strokeSharpness": "sharp",
    27        "boundElements": [
    28          {
    29            "id": "5FNCDX-Av5HcmTO6cjjNk",
    30            "type": "arrow"
    31          }
    32        ],
    33        "updated": 1645964081840,
    34        "link": null
    35      },
    36      {
    37        "type": "text",
    38        "version": 247,
    39        "versionNonce": 280298394,
    40        "isDeleted": false,
    41        "id": "UzJMI1PF43dflUdUCS2kk",
    42        "fillStyle": "solid",
    43        "strokeWidth": 1,
    44        "strokeStyle": "solid",
    45        "roughness": 0,
    46        "opacity": 100,
    47        "angle": 0,
    48        "x": -508.30180054134235,
    49        "y": 9623.14347004623,
    50        "strokeColor": "#000000",
    51        "backgroundColor": "transparent",
    52        "width": 92.98295454545455,
    53        "height": 42.264979338842956,
    54        "seed": 1709286570,
    55        "groupIds": [],
    56        "strokeSharpness": "sharp",
    57        "boundElements": [],
    58        "updated": 1645964081840,
    59        "link": null,
    60        "fontSize": 33.81198347107439,
    61        "fontFamily": 1,
    62        "text": "Spark",
    63        "baseline": 29.264979338842956,
    64        "textAlign": "center",
    65        "verticalAlign": "top",
    66        "containerId": null,
    67        "originalText": "Spark"
    68      },
    69      {
    70        "type": "rectangle",
    71        "version": 1896,
    72        "versionNonce": 1136794374,
    73        "isDeleted": false,
    74        "id": "q3UowiCzk_1BKTq1JRn6v",
    75        "fillStyle": "solid",
    76        "strokeWidth": 1,
    77        "strokeStyle": "dashed",
    78        "roughness": 0,
    79        "opacity": 100,
    80        "angle": 0,
    81        "x": -209.57310735952433,
    82        "y": 9774.565488933908,
    83        "strokeColor": "#495057",
    84        "backgroundColor": "transparent",
    85        "width": 281.368597307614,
    86        "height": 240.02812862106552,
    87        "seed": 502780662,
    88        "groupIds": [
    89          "QikfeP3h50qKL5oP1VqQ7"
    90        ],
    91        "strokeSharpness": "sharp",
    92        "boundElements": [
    93          {
    94            "id": "CrSVndb4oaVxhZXiBrr0e",
    95            "type": "arrow"
    96          },
    97          {
    98            "id": "XQJSHZ90m60vcBHVeEE2k",
    99            "type": "arrow"
   100          },
   101          {
   102            "id": "7Vyll8J0hMKw1dMRKCs86",
   103            "type": "arrow"
   104          }
   105        ],
   106        "updated": 1645964081840,
   107        "link": null
   108      },
   109      {
   110        "type": "text",
   111        "version": 443,
   112        "versionNonce": 1699053658,
   113        "isDeleted": false,
   114        "id": "31T36-_Sl-1CX2lRCNlTt",
   115        "fillStyle": "solid",
   116        "strokeWidth": 1,
   117        "strokeStyle": "dashed",
   118        "roughness": 0,
   119        "opacity": 100,
   120        "angle": 0,
   121        "x": -189.69603997817512,
   122        "y": 9795.243670431508,
   123        "strokeColor": "#0b7285",
   124        "backgroundColor": "transparent",
   125        "width": 168,
   126        "height": 26,
   127        "seed": 1012629354,
   128        "groupIds": [
   129          "QikfeP3h50qKL5oP1VqQ7"
   130        ],
   131        "strokeSharpness": "sharp",
   132        "boundElements": [
   133          {
   134            "id": "Yir9f-7fFgYRiq7gwte06",
   135            "type": "arrow"
   136          },
   137          {
   138            "id": "0jTyJi6wQ19NRfsFmUpE0",
   139            "type": "arrow"
   140          }
   141        ],
   142        "updated": 1645964081841,
   143        "link": null,
   144        "fontSize": 20.14515099363079,
   145        "fontFamily": 1,
   146        "text": "RouterFileSystem",
   147        "baseline": 18,
   148        "textAlign": "center",
   149        "verticalAlign": "top",
   150        "containerId": null,
   151        "originalText": "RouterFileSystem"
   152      },
   153      {
   154        "type": "rectangle",
   155        "version": 2789,
   156        "versionNonce": 471124550,
   157        "isDeleted": false,
   158        "id": "bgfgO6OVkf1Bx0lNmz8m5",
   159        "fillStyle": "solid",
   160        "strokeWidth": 2,
   161        "strokeStyle": "solid",
   162        "roughness": 0,
   163        "opacity": 100,
   164        "angle": 0,
   165        "x": -147.80196443994328,
   166        "y": 10222.49626178574,
   167        "strokeColor": "#495057",
   168        "backgroundColor": "transparent",
   169        "width": 219.39950284090912,
   170        "height": 154.09910402097873,
   171        "seed": 1756234806,
   172        "groupIds": [],
   173        "strokeSharpness": "sharp",
   174        "boundElements": [
   175          {
   176            "id": "8yCvhNAcrKHcKfgCGGUbL",
   177            "type": "text"
   178          },
   179          {
   180            "id": "XQJSHZ90m60vcBHVeEE2k",
   181            "type": "arrow"
   182          },
   183          {
   184            "id": "Fuiz28ro6kddH8Z6FeJIE",
   185            "type": "arrow"
   186          },
   187          {
   188            "id": "fGFOrIt4odl5MKaC9cLIP",
   189            "type": "arrow"
   190          },
   191          {
   192            "id": "8yCvhNAcrKHcKfgCGGUbL",
   193            "type": "text"
   194          },
   195          {
   196            "id": "8yCvhNAcrKHcKfgCGGUbL",
   197            "type": "text"
   198          },
   199          {
   200            "id": "mqKjNbjjYx9UZIa68bJ1Y",
   201            "type": "arrow"
   202          },
   203          {
   204            "id": "eSiMXO-nHP25ajUzkUni0",
   205            "type": "arrow"
   206          },
   207          {
   208            "type": "text",
   209            "id": "8yCvhNAcrKHcKfgCGGUbL"
   210          }
   211        ],
   212        "updated": 1645964081841,
   213        "link": null
   214      },
   215      {
   216        "type": "text",
   217        "version": 2697,
   218        "versionNonce": 1948804378,
   219        "isDeleted": false,
   220        "id": "8yCvhNAcrKHcKfgCGGUbL",
   221        "fillStyle": "solid",
   222        "strokeWidth": 1,
   223        "strokeStyle": "solid",
   224        "roughness": 0,
   225        "opacity": 100,
   226        "angle": 0,
   227        "x": -142.80196443994328,
   228        "y": 10279.545813796229,
   229        "strokeColor": "#495057",
   230        "backgroundColor": "transparent",
   231        "width": 209.39950284090912,
   232        "height": 40,
   233        "seed": 1145831978,
   234        "groupIds": [],
   235        "strokeSharpness": "sharp",
   236        "boundElements": [],
   237        "updated": 1645964081841,
   238        "link": null,
   239        "fontSize": 16,
   240        "fontFamily": 1,
   241        "text": "Underlying\nFileSystem",
   242        "baseline": 34,
   243        "textAlign": "center",
   244        "verticalAlign": "middle",
   245        "containerId": "bgfgO6OVkf1Bx0lNmz8m5",
   246        "originalText": "Underlying\nFileSystem"
   247      },
   248      {
   249        "type": "text",
   250        "version": 2362,
   251        "versionNonce": 214929798,
   252        "isDeleted": false,
   253        "id": "ReFxMRhTp-2njui4pkhBW",
   254        "fillStyle": "solid",
   255        "strokeWidth": 1,
   256        "strokeStyle": "solid",
   257        "roughness": 0,
   258        "opacity": 100,
   259        "angle": 0,
   260        "x": -1200.5873119049786,
   261        "y": 9533.065730511464,
   262        "strokeColor": "#0b7285",
   263        "backgroundColor": "transparent",
   264        "width": 552,
   265        "height": 40,
   266        "seed": 2014055798,
   267        "groupIds": [],
   268        "strokeSharpness": "sharp",
   269        "boundElements": [
   270          {
   271            "id": "CrSVndb4oaVxhZXiBrr0e",
   272            "type": "arrow"
   273          }
   274        ],
   275        "updated": 1645964081841,
   276        "link": null,
   277        "fontSize": 31.895900106837598,
   278        "fontFamily": 1,
   279        "text": "Read an object managed by lakeFS",
   280        "baseline": 28,
   281        "textAlign": "left",
   282        "verticalAlign": "top",
   283        "containerId": null,
   284        "originalText": "Read an object managed by lakeFS"
   285      },
   286      {
   287        "type": "text",
   288        "version": 1803,
   289        "versionNonce": 2144231132,
   290        "isDeleted": false,
   291        "id": "4qOzKwAw-pzrcsXL1WC0r",
   292        "fillStyle": "solid",
   293        "strokeWidth": 1,
   294        "strokeStyle": "solid",
   295        "roughness": 0,
   296        "opacity": 100,
   297        "angle": 0,
   298        "x": -924.8195562231604,
   299        "y": 9664.491165753305,
   300        "strokeColor": "#000000",
   301        "backgroundColor": "transparent",
   302        "width": 275,
   303        "height": 40,
   304        "seed": 1755196650,
   305        "groupIds": [],
   306        "strokeSharpness": "sharp",
   307        "boundElements": [
   308          {
   309            "id": "CrSVndb4oaVxhZXiBrr0e",
   310            "type": "arrow"
   311          }
   312        ],
   313        "updated": 1646560970125,
   314        "link": null,
   315        "fontSize": 16,
   316        "fontFamily": 1,
   317        "text": "(1) spark.read.parquet\n(\"s3a://bucket/prefix/foo.parquet\")",
   318        "baseline": 34,
   319        "textAlign": "left",
   320        "verticalAlign": "top",
   321        "containerId": null,
   322        "originalText": "(1) spark.read.parquet\n(\"s3a://bucket/prefix/foo.parquet\")"
   323      },
   324      {
   325        "type": "rectangle",
   326        "version": 528,
   327        "versionNonce": 19886278,
   328        "isDeleted": false,
   329        "id": "VxENWKfTP6WNcJfvqLatp",
   330        "fillStyle": "solid",
   331        "strokeWidth": 1,
   332        "strokeStyle": "solid",
   333        "roughness": 0,
   334        "opacity": 100,
   335        "angle": 0,
   336        "x": -1068.2343289504333,
   337        "y": 9727.139918909872,
   338        "strokeColor": "#000000",
   339        "backgroundColor": "transparent",
   340        "width": 165,
   341        "height": 139.90767045454598,
   342        "seed": 425127606,
   343        "groupIds": [],
   344        "strokeSharpness": "sharp",
   345        "boundElements": [
   346          {
   347            "id": "CvB0Yr4NWn6GBs4MzUGJ2",
   348            "type": "text"
   349          },
   350          {
   351            "id": "5FNCDX-Av5HcmTO6cjjNk",
   352            "type": "arrow"
   353          },
   354          {
   355            "type": "text",
   356            "id": "CvB0Yr4NWn6GBs4MzUGJ2"
   357          }
   358        ],
   359        "updated": 1645964081841,
   360        "link": null
   361      },
   362      {
   363        "type": "text",
   364        "version": 426,
   365        "versionNonce": 5334682,
   366        "isDeleted": false,
   367        "id": "CvB0Yr4NWn6GBs4MzUGJ2",
   368        "fillStyle": "solid",
   369        "strokeWidth": 1,
   370        "strokeStyle": "solid",
   371        "roughness": 0,
   372        "opacity": 100,
   373        "angle": 0,
   374        "x": -1063.2343289504333,
   375        "y": 9784.593754137144,
   376        "strokeColor": "#000000",
   377        "backgroundColor": "transparent",
   378        "width": 155,
   379        "height": 25,
   380        "seed": 2128412586,
   381        "groupIds": [],
   382        "strokeSharpness": "sharp",
   383        "boundElements": [],
   384        "updated": 1645964081841,
   385        "link": null,
   386        "fontSize": 20,
   387        "fontFamily": 1,
   388        "text": "Spark client",
   389        "baseline": 18,
   390        "textAlign": "center",
   391        "verticalAlign": "middle",
   392        "containerId": "VxENWKfTP6WNcJfvqLatp",
   393        "originalText": "Spark client"
   394      },
   395      {
   396        "type": "arrow",
   397        "version": 355,
   398        "versionNonce": 1959880710,
   399        "isDeleted": false,
   400        "id": "5FNCDX-Av5HcmTO6cjjNk",
   401        "fillStyle": "solid",
   402        "strokeWidth": 1,
   403        "strokeStyle": "solid",
   404        "roughness": 0,
   405        "opacity": 100,
   406        "angle": 0,
   407        "x": -901.6647266777059,
   408        "y": 9799.689634818962,
   409        "strokeColor": "#000000",
   410        "backgroundColor": "transparent",
   411        "width": 360.938193260278,
   412        "height": 0.12462023666921596,
   413        "seed": 691251190,
   414        "groupIds": [],
   415        "strokeSharpness": "round",
   416        "boundElements": [],
   417        "updated": 1645964081841,
   418        "link": null,
   419        "startBinding": {
   420          "elementId": "VxENWKfTP6WNcJfvqLatp",
   421          "focus": 0.03667860947903231,
   422          "gap": 1.5696022727274794
   423        },
   424        "endBinding": {
   425          "elementId": "Wd0rSWBOZmJnVFw3WuSgT",
   426          "focus": 0.05060395181513596,
   427          "gap": 4.658397648812752
   428        },
   429        "lastCommittedPoint": null,
   430        "startArrowhead": null,
   431        "endArrowhead": "arrow",
   432        "points": [
   433          [
   434            0,
   435            0
   436          ],
   437          [
   438            360.938193260278,
   439            0.12462023666921596
   440          ]
   441        ]
   442      },
   443      {
   444        "type": "arrow",
   445        "version": 1319,
   446        "versionNonce": 157123418,
   447        "isDeleted": false,
   448        "id": "7Vyll8J0hMKw1dMRKCs86",
   449        "fillStyle": "solid",
   450        "strokeWidth": 1,
   451        "strokeStyle": "solid",
   452        "roughness": 0,
   453        "opacity": 100,
   454        "angle": 0,
   455        "x": -447.6692189419282,
   456        "y": 9684.600493186326,
   457        "strokeColor": "#000000",
   458        "backgroundColor": "transparent",
   459        "width": 226.78526694383834,
   460        "height": 112.57526653117111,
   461        "seed": 1932753514,
   462        "groupIds": [],
   463        "strokeSharpness": "round",
   464        "boundElements": [],
   465        "updated": 1645964081841,
   466        "link": null,
   467        "startBinding": null,
   468        "endBinding": {
   469          "elementId": "q3UowiCzk_1BKTq1JRn6v",
   470          "focus": 0.1156393505796209,
   471          "gap": 11.310844638565527
   472        },
   473        "lastCommittedPoint": null,
   474        "startArrowhead": null,
   475        "endArrowhead": "arrow",
   476        "points": [
   477          [
   478            0,
   479            0
   480          ],
   481          [
   482            226.78526694383834,
   483            112.57526653117111
   484          ]
   485        ]
   486      },
   487      {
   488        "type": "text",
   489        "version": 2373,
   490        "versionNonce": 1739749190,
   491        "isDeleted": false,
   492        "id": "HWrIIk-q9eoDU7wARUnpW",
   493        "fillStyle": "solid",
   494        "strokeWidth": 1,
   495        "strokeStyle": "solid",
   496        "roughness": 0,
   497        "opacity": 100,
   498        "angle": 0,
   499        "x": -382.18200887467606,
   500        "y": 9702.105591258358,
   501        "strokeColor": "#000000",
   502        "backgroundColor": "transparent",
   503        "width": 371,
   504        "height": 20,
   505        "seed": 665270582,
   506        "groupIds": [],
   507        "strokeSharpness": "sharp",
   508        "boundElements": [
   509          {
   510            "id": "CrSVndb4oaVxhZXiBrr0e",
   511            "type": "arrow"
   512          }
   513        ],
   514        "updated": 1645964081841,
   515        "link": null,
   516        "fontSize": 16,
   517        "fontFamily": 1,
   518        "text": "(2) fs.open(\"s3a://bucket/prefix/foo.parquet\")\")",
   519        "baseline": 14,
   520        "textAlign": "left",
   521        "verticalAlign": "top",
   522        "containerId": null,
   523        "originalText": "(2) fs.open(\"s3a://bucket/prefix/foo.parquet\")\")"
   524      },
   525      {
   526        "type": "text",
   527        "version": 2290,
   528        "versionNonce": 675606500,
   529        "isDeleted": false,
   530        "id": "HvFuAM11TQRQdg2-oeN18",
   531        "fillStyle": "solid",
   532        "strokeWidth": 1,
   533        "strokeStyle": "solid",
   534        "roughness": 0,
   535        "opacity": 100,
   536        "angle": 0,
   537        "x": 100.86620159541053,
   538        "y": 9919.743651548763,
   539        "strokeColor": "#000000",
   540        "backgroundColor": "transparent",
   541        "width": 809,
   542        "height": 100,
   543        "seed": 1953275178,
   544        "groupIds": [],
   545        "strokeSharpness": "sharp",
   546        "boundElements": [],
   547        "updated": 1646038045034,
   548        "link": null,
   549        "fontSize": 16,
   550        "fontFamily": 1,
   551        "text": "\n(4) get the right underlying file system that interacts with the right object storage\n4.1 translatedPath = \"lakefs://example-repo/dev/prefix/foo.parquet\"\n4.2 underlyingFS = translatedPath.getFileSystem() // S3AFileSystem according to Spark configurations\n",
   552        "baseline": 94,
   553        "textAlign": "left",
   554        "verticalAlign": "top",
   555        "containerId": null,
   556        "originalText": "\n(4) get the right underlying file system that interacts with the right object storage\n4.1 translatedPath = \"lakefs://example-repo/dev/prefix/foo.parquet\"\n4.2 underlyingFS = translatedPath.getFileSystem() // S3AFileSystem according to Spark configurations\n"
   557      },
   558      {
   559        "type": "text",
   560        "version": 2346,
   561        "versionNonce": 568042084,
   562        "isDeleted": false,
   563        "id": "ilA1XsFmJYqk5LNb7dHII",
   564        "fillStyle": "solid",
   565        "strokeWidth": 1,
   566        "strokeStyle": "solid",
   567        "roughness": 0,
   568        "opacity": 100,
   569        "angle": 0,
   570        "x": -1199.8054305918477,
   571        "y": 9890.656169586282,
   572        "strokeColor": "#a61e4d",
   573        "backgroundColor": "transparent",
   574        "width": 533,
   575        "height": 537,
   576        "seed": 536045546,
   577        "groupIds": [],
   578        "strokeSharpness": "sharp",
   579        "boundElements": [],
   580        "updated": 1646042534232,
   581        "link": null,
   582        "fontSize": 14.914062500000005,
   583        "fontFamily": 1,
   584        "text": "Spark Configurations = { \n        //\n        // File system configurations\n        //\n\n        // Any fs operation first reaching RouterFS \n        fs.s3a.impl=RouterFileSystem\n        \n        // Configuration of a file system that accesses lakefs\n        fs.lakefs.impl=S3AFileSystem\n        fs.lakefs.access.key='AKIAlakefs12345EXAMPLE' \n        fs.lakefs.secret.key='abc/lakefs/1234567bPxRfiCYEXAMPLEKEY' \n        fs.lakefs.endpoint='https://lakefs.example.com'\n        \n        \n        //\n        // Path mapping configurations \n        //\n        routerfs.mapping.1.lakefs.replace = '^s3a://bucket/prefix'\n        routerfs.mapping.1.lakefs.with = 'lakefs://example-repo/dev/prefix'\n        routerfs.mapping.2.lakefs.replace = '^s3a://another-bucket'\n        routerfs.mapping.2.lakefs.with = 'lakefs://another-repo/main'\n\n        // Default mapping, should be applied last \n        routerfs.mapping.default.replace = '^s3a://'\n        routerfs.mapping.default.with = 's3a-wrapped://'\n}\n    \n",
   585        "baseline": 531,
   586        "textAlign": "left",
   587        "verticalAlign": "top",
   588        "containerId": null,
   589        "originalText": "Spark Configurations = { \n        //\n        // File system configurations\n        //\n\n        // Any fs operation first reaching RouterFS \n        fs.s3a.impl=RouterFileSystem\n        \n        // Configuration of a file system that accesses lakefs\n        fs.lakefs.impl=S3AFileSystem\n        fs.lakefs.access.key='AKIAlakefs12345EXAMPLE' \n        fs.lakefs.secret.key='abc/lakefs/1234567bPxRfiCYEXAMPLEKEY' \n        fs.lakefs.endpoint='https://lakefs.example.com'\n        \n        \n        //\n        // Path mapping configurations \n        //\n        routerfs.mapping.1.lakefs.replace = '^s3a://bucket/prefix'\n        routerfs.mapping.1.lakefs.with = 'lakefs://example-repo/dev/prefix'\n        routerfs.mapping.2.lakefs.replace = '^s3a://another-bucket'\n        routerfs.mapping.2.lakefs.with = 'lakefs://another-repo/main'\n\n        // Default mapping, should be applied last \n        routerfs.mapping.default.replace = '^s3a://'\n        routerfs.mapping.default.with = 's3a-wrapped://'\n}\n    \n"
   590      },
   591      {
   592        "type": "rectangle",
   593        "version": 2040,
   594        "versionNonce": 1627649242,
   595        "isDeleted": false,
   596        "id": "c5ilVyY7Qkxj3q0U_CFVY",
   597        "fillStyle": "solid",
   598        "strokeWidth": 1,
   599        "strokeStyle": "dashed",
   600        "roughness": 0,
   601        "opacity": 100,
   602        "angle": 0,
   603        "x": -193.16153065497883,
   604        "y": 9914.041006103938,
   605        "strokeColor": "#000000",
   606        "backgroundColor": "transparent",
   607        "width": 251.18963068181827,
   608        "height": 87.39100743006965,
   609        "seed": 424076214,
   610        "groupIds": [],
   611        "strokeSharpness": "sharp",
   612        "boundElements": [
   613          {
   614            "id": "aPX6mC498oio9ppJHREf4",
   615            "type": "text"
   616          },
   617          {
   618            "id": "XQJSHZ90m60vcBHVeEE2k",
   619            "type": "arrow"
   620          },
   621          {
   622            "id": "Fuiz28ro6kddH8Z6FeJIE",
   623            "type": "arrow"
   624          },
   625          {
   626            "id": "fGFOrIt4odl5MKaC9cLIP",
   627            "type": "arrow"
   628          },
   629          {
   630            "id": "aPX6mC498oio9ppJHREf4",
   631            "type": "text"
   632          },
   633          {
   634            "id": "aPX6mC498oio9ppJHREf4",
   635            "type": "text"
   636          },
   637          {
   638            "id": "aPX6mC498oio9ppJHREf4",
   639            "type": "text"
   640          },
   641          {
   642            "id": "Yir9f-7fFgYRiq7gwte06",
   643            "type": "arrow"
   644          },
   645          {
   646            "id": "0jTyJi6wQ19NRfsFmUpE0",
   647            "type": "arrow"
   648          },
   649          {
   650            "id": "mqKjNbjjYx9UZIa68bJ1Y",
   651            "type": "arrow"
   652          },
   653          {
   654            "type": "text",
   655            "id": "aPX6mC498oio9ppJHREf4"
   656          }
   657        ],
   658        "updated": 1645964081841,
   659        "link": null
   660      },
   661      {
   662        "type": "text",
   663        "version": 1984,
   664        "versionNonce": 419814854,
   665        "isDeleted": false,
   666        "id": "aPX6mC498oio9ppJHREf4",
   667        "fillStyle": "solid",
   668        "strokeWidth": 1,
   669        "strokeStyle": "solid",
   670        "roughness": 0,
   671        "opacity": 100,
   672        "angle": 0,
   673        "x": -188.16153065497883,
   674        "y": 9947.736509818971,
   675        "strokeColor": "#000000",
   676        "backgroundColor": "transparent",
   677        "width": 241.18963068181827,
   678        "height": 20,
   679        "seed": 768793258,
   680        "groupIds": [],
   681        "strokeSharpness": "sharp",
   682        "boundElements": [],
   683        "updated": 1645964081841,
   684        "link": null,
   685        "fontSize": 16,
   686        "fontFamily": 1,
   687        "text": "Path Mapper",
   688        "baseline": 14,
   689        "textAlign": "center",
   690        "verticalAlign": "middle",
   691        "containerId": "c5ilVyY7Qkxj3q0U_CFVY",
   692        "originalText": "Path Mapper"
   693      },
   694      {
   695        "type": "arrow",
   696        "version": 431,
   697        "versionNonce": 1227114906,
   698        "isDeleted": false,
   699        "id": "Yir9f-7fFgYRiq7gwte06",
   700        "fillStyle": "solid",
   701        "strokeWidth": 1,
   702        "strokeStyle": "solid",
   703        "roughness": 0,
   704        "opacity": 100,
   705        "angle": 0,
   706        "x": -175.73697110327566,
   707        "y": 9824.455259818968,
   708        "strokeColor": "#000000",
   709        "backgroundColor": "transparent",
   710        "width": 12.90893349308908,
   711        "height": 74.44957386363694,
   712        "seed": 1901919478,
   713        "groupIds": [],
   714        "strokeSharpness": "round",
   715        "boundElements": [],
   716        "updated": 1645964081841,
   717        "link": null,
   718        "startBinding": {
   719          "elementId": "31T36-_Sl-1CX2lRCNlTt",
   720          "focus": 0.8446194733014142,
   721          "gap": 3.211589387459753
   722        },
   723        "endBinding": {
   724          "elementId": "c5ilVyY7Qkxj3q0U_CFVY",
   725          "focus": -0.6387294666791961,
   726          "gap": 15.136172421332958
   727        },
   728        "lastCommittedPoint": null,
   729        "startArrowhead": null,
   730        "endArrowhead": "arrow",
   731        "points": [
   732          [
   733            0,
   734            0
   735          ],
   736          [
   737            12.90893349308908,
   738            74.44957386363694
   739          ]
   740        ]
   741      },
   742      {
   743        "type": "text",
   744        "version": 832,
   745        "versionNonce": 229768284,
   746        "isDeleted": false,
   747        "id": "T_6UDO4vYefvS5YMEy_6G",
   748        "fillStyle": "solid",
   749        "strokeWidth": 1,
   750        "strokeStyle": "solid",
   751        "roughness": 0,
   752        "opacity": 100,
   753        "angle": 0,
   754        "x": -618.6816143039692,
   755        "y": 9932.253042331595,
   756        "strokeColor": "#000000",
   757        "backgroundColor": "transparent",
   758        "width": 377,
   759        "height": 38,
   760        "seed": 481686890,
   761        "groupIds": [],
   762        "strokeSharpness": "sharp",
   763        "boundElements": [],
   764        "updated": 1646560992176,
   765        "link": null,
   766        "fontSize": 15.293389050777972,
   767        "fontFamily": 1,
   768        "text": "(3) mapPath(\"s3a://bucket/prefix/foo.parquet\") =\n    \"lakefs://example-repo/dev/prefix/foo.parquet\"",
   769        "baseline": 33,
   770        "textAlign": "left",
   771        "verticalAlign": "top",
   772        "containerId": null,
   773        "originalText": "(3) mapPath(\"s3a://bucket/prefix/foo.parquet\") =\n    \"lakefs://example-repo/dev/prefix/foo.parquet\""
   774      },
   775      {
   776        "type": "text",
   777        "version": 354,
   778        "versionNonce": 103533540,
   779        "isDeleted": false,
   780        "id": "tSqzXLq0S_tyrJS38z5Nu",
   781        "fillStyle": "solid",
   782        "strokeWidth": 1,
   783        "strokeStyle": "solid",
   784        "roughness": 0,
   785        "opacity": 100,
   786        "angle": 0,
   787        "x": -25.18887440497906,
   788        "y": 10119.632816637151,
   789        "strokeColor": "#000000",
   790        "backgroundColor": "transparent",
   791        "width": 550,
   792        "height": 60,
   793        "seed": 702410294,
   794        "groupIds": [],
   795        "strokeSharpness": "sharp",
   796        "boundElements": [],
   797        "updated": 1646038099675,
   798        "link": null,
   799        "fontSize": 16,
   800        "fontFamily": 1,
   801        "text": "(5) Use the underlying file system to read \n    underlyingFS.open(\"lakefs://example-repo/dev/prefix/foo.parquet\")  \n",
   802        "baseline": 54,
   803        "textAlign": "left",
   804        "verticalAlign": "top",
   805        "containerId": null,
   806        "originalText": "(5) Use the underlying file system to read \n    underlyingFS.open(\"lakefs://example-repo/dev/prefix/foo.parquet\")  \n"
   807      },
   808      {
   809        "type": "arrow",
   810        "version": 2141,
   811        "versionNonce": 613524550,
   812        "isDeleted": false,
   813        "id": "mqKjNbjjYx9UZIa68bJ1Y",
   814        "fillStyle": "solid",
   815        "strokeWidth": 1,
   816        "strokeStyle": "solid",
   817        "roughness": 0,
   818        "opacity": 100,
   819        "angle": 0,
   820        "x": -45.37399476756764,
   821        "y": 10005.194310025945,
   822        "strokeColor": "#000000",
   823        "backgroundColor": "transparent",
   824        "width": 0.6455749537642532,
   825        "height": 216.4010428563779,
   826        "seed": 1575467050,
   827        "groupIds": [],
   828        "strokeSharpness": "round",
   829        "boundElements": [],
   830        "updated": 1645964081841,
   831        "link": null,
   832        "startBinding": {
   833          "elementId": "c5ilVyY7Qkxj3q0U_CFVY",
   834          "focus": -0.17539163361673055,
   835          "gap": 3.762296491937377
   836        },
   837        "endBinding": {
   838          "elementId": "bgfgO6OVkf1Bx0lNmz8m5",
   839          "focus": -0.05816142191400054,
   840          "gap": 1
   841        },
   842        "lastCommittedPoint": null,
   843        "startArrowhead": null,
   844        "endArrowhead": "arrow",
   845        "points": [
   846          [
   847            0,
   848            0
   849          ],
   850          [
   851            0.6455749537642532,
   852            216.4010428563779
   853          ]
   854        ]
   855      },
   856      {
   857        "type": "rectangle",
   858        "version": 2890,
   859        "versionNonce": 1644047130,
   860        "isDeleted": false,
   861        "id": "8gxzJ4tsdyg-_9JtHQmak",
   862        "fillStyle": "solid",
   863        "strokeWidth": 1,
   864        "strokeStyle": "solid",
   865        "roughness": 0,
   866        "opacity": 100,
   867        "angle": 0,
   868        "x": 652.7827529260232,
   869        "y": 10248.916035652108,
   870        "strokeColor": "#495057",
   871        "backgroundColor": "transparent",
   872        "width": 101.87890625,
   873        "height": 87.77133413461634,
   874        "seed": 531543926,
   875        "groupIds": [],
   876        "strokeSharpness": "sharp",
   877        "boundElements": [
   878          {
   879            "id": "G1L2PKGel-qUDiYWasE1L",
   880            "type": "text"
   881          },
   882          {
   883            "id": "XQJSHZ90m60vcBHVeEE2k",
   884            "type": "arrow"
   885          },
   886          {
   887            "id": "G1L2PKGel-qUDiYWasE1L",
   888            "type": "text"
   889          },
   890          {
   891            "id": "eSiMXO-nHP25ajUzkUni0",
   892            "type": "arrow"
   893          },
   894          {
   895            "id": "69b3B2KQTTgYvLd4feQl9",
   896            "type": "arrow"
   897          },
   898          {
   899            "id": "G1L2PKGel-qUDiYWasE1L",
   900            "type": "text"
   901          },
   902          {
   903            "id": "G1L2PKGel-qUDiYWasE1L",
   904            "type": "text"
   905          },
   906          {
   907            "type": "text",
   908            "id": "G1L2PKGel-qUDiYWasE1L"
   909          }
   910        ],
   911        "updated": 1645964081841,
   912        "link": null
   913      },
   914      {
   915        "type": "text",
   916        "version": 2823,
   917        "versionNonce": 1688284038,
   918        "isDeleted": false,
   919        "id": "G1L2PKGel-qUDiYWasE1L",
   920        "fillStyle": "solid",
   921        "strokeWidth": 1,
   922        "strokeStyle": "solid",
   923        "roughness": 0,
   924        "opacity": 100,
   925        "angle": 0,
   926        "x": 657.7827529260232,
   927        "y": 10272.801702719416,
   928        "strokeColor": "#495057",
   929        "backgroundColor": "transparent",
   930        "width": 91.87890625,
   931        "height": 40,
   932        "seed": 22225642,
   933        "groupIds": [],
   934        "strokeSharpness": "sharp",
   935        "boundElements": [],
   936        "updated": 1645964081841,
   937        "link": null,
   938        "fontSize": 16,
   939        "fontFamily": 1,
   940        "text": "S3 \nGateway",
   941        "baseline": 34,
   942        "textAlign": "center",
   943        "verticalAlign": "top",
   944        "containerId": "8gxzJ4tsdyg-_9JtHQmak",
   945        "originalText": "S3 Gateway"
   946      },
   947      {
   948        "type": "ellipse",
   949        "version": 2451,
   950        "versionNonce": 301840346,
   951        "isDeleted": false,
   952        "id": "CAjLx9Xo8tP8rvW1jC8jG",
   953        "fillStyle": "solid",
   954        "strokeWidth": 2,
   955        "strokeStyle": "solid",
   956        "roughness": 0,
   957        "opacity": 100,
   958        "angle": 0,
   959        "x": 707.5600166906495,
   960        "y": 10514.18741674242,
   961        "strokeColor": "#fe4b4b",
   962        "backgroundColor": "#fe4b4b",
   963        "width": 74.05101102941174,
   964        "height": 76.09604779411757,
   965        "seed": 1259624630,
   966        "groupIds": [
   967          "iQ_wjr06U0UO8iE9qImS4"
   968        ],
   969        "strokeSharpness": "sharp",
   970        "boundElements": [
   971          {
   972            "id": "fGFOrIt4odl5MKaC9cLIP",
   973            "type": "arrow"
   974          },
   975          {
   976            "id": "69b3B2KQTTgYvLd4feQl9",
   977            "type": "arrow"
   978          }
   979        ],
   980        "updated": 1645964081841,
   981        "link": null
   982      },
   983      {
   984        "type": "line",
   985        "version": 2684,
   986        "versionNonce": 1606273734,
   987        "isDeleted": false,
   988        "id": "axjhMVluF6FQCXmZDmMIc",
   989        "fillStyle": "solid",
   990        "strokeWidth": 2,
   991        "strokeStyle": "solid",
   992        "roughness": 0,
   993        "opacity": 100,
   994        "angle": 0,
   995        "x": 725.349512972936,
   996        "y": 10536.748580505175,
   997        "strokeColor": "#fff",
   998        "backgroundColor": "#fe4b4b",
   999        "width": 38.57263165181928,
  1000        "height": 41.261250243036045,
  1001        "seed": 1635988906,
  1002        "groupIds": [
  1003          "iQ_wjr06U0UO8iE9qImS4"
  1004        ],
  1005        "strokeSharpness": "round",
  1006        "boundElements": [],
  1007        "updated": 1645964081841,
  1008        "link": null,
  1009        "startBinding": null,
  1010        "endBinding": null,
  1011        "lastCommittedPoint": null,
  1012        "startArrowhead": null,
  1013        "endArrowhead": null,
  1014        "points": [
  1015          [
  1016            0,
  1017            0
  1018          ],
  1019          [
  1020            3.8452774439103905,
  1021            32.14685684595355
  1022          ],
  1023          [
  1024            6.768312737880933,
  1025            37.98883103590748
  1026          ],
  1027          [
  1028            20.34867663261207,
  1029            40.48662140675077
  1030          ],
  1031          [
  1032            32.537268066406114,
  1033            38.400380608974274
  1034          ],
  1035          [
  1036            35.36686823918285,
  1037            31.944173177083314
  1038          ],
  1039          [
  1040            38.295773237179446,
  1041            0.09767190004004078
  1042          ],
  1043          [
  1044            37.42304967359553,
  1045            -0.7746288362852738
  1046          ],
  1047          [
  1048            -0.2768584146398325,
  1049            0.06636381077350961
  1050          ]
  1051        ]
  1052      },
  1053      {
  1054        "type": "ellipse",
  1055        "version": 1661,
  1056        "versionNonce": 1542302874,
  1057        "isDeleted": false,
  1058        "id": "M9xTZ9DcvRqHYTRCrwE6A",
  1059        "fillStyle": "solid",
  1060        "strokeWidth": 2,
  1061        "strokeStyle": "solid",
  1062        "roughness": 0,
  1063        "opacity": 100,
  1064        "angle": 0,
  1065        "x": 724.699776703729,
  1066        "y": 10531.536472750415,
  1067        "strokeColor": "#fff",
  1068        "backgroundColor": "#fe4b4b",
  1069        "width": 39.10563151041674,
  1070        "height": 10.753995455228363,
  1071        "seed": 1404293622,
  1072        "groupIds": [
  1073          "iQ_wjr06U0UO8iE9qImS4"
  1074        ],
  1075        "strokeSharpness": "round",
  1076        "boundElements": [],
  1077        "updated": 1645964081841,
  1078        "link": null
  1079      },
  1080      {
  1081        "type": "ellipse",
  1082        "version": 1670,
  1083        "versionNonce": 1686405638,
  1084        "isDeleted": false,
  1085        "id": "jUAis8PmXDmT87m54ID1L",
  1086        "fillStyle": "solid",
  1087        "strokeWidth": 1,
  1088        "strokeStyle": "solid",
  1089        "roughness": 0,
  1090        "opacity": 100,
  1091        "angle": 0,
  1092        "x": 741.8279812059329,
  1093        "y": 10547.677439977664,
  1094        "strokeColor": "#fff",
  1095        "backgroundColor": "#fff",
  1096        "width": 4.69818115234375,
  1097        "height": 4.69818115234375,
  1098        "seed": 1336078442,
  1099        "groupIds": [
  1100          "iQ_wjr06U0UO8iE9qImS4"
  1101        ],
  1102        "strokeSharpness": "round",
  1103        "boundElements": [],
  1104        "updated": 1645964081841,
  1105        "link": null
  1106      },
  1107      {
  1108        "type": "line",
  1109        "version": 1677,
  1110        "versionNonce": 1971390810,
  1111        "isDeleted": false,
  1112        "id": "hx3g6TV7vl5l5q3ubVGKg",
  1113        "fillStyle": "solid",
  1114        "strokeWidth": 2,
  1115        "strokeStyle": "solid",
  1116        "roughness": 0,
  1117        "opacity": 100,
  1118        "angle": 0,
  1119        "x": 743.7886472053553,
  1120        "y": 10551.239576668891,
  1121        "strokeColor": "#fff",
  1122        "backgroundColor": "transparent",
  1123        "width": 21.691176470588175,
  1124        "height": 10.480238970588175,
  1125        "seed": 613557046,
  1126        "groupIds": [
  1127          "iQ_wjr06U0UO8iE9qImS4"
  1128        ],
  1129        "strokeSharpness": "round",
  1130        "boundElements": [],
  1131        "updated": 1645964081841,
  1132        "link": null,
  1133        "startBinding": null,
  1134        "endBinding": null,
  1135        "lastCommittedPoint": null,
  1136        "startArrowhead": null,
  1137        "endArrowhead": null,
  1138        "points": [
  1139          [
  1140            0,
  1141            0
  1142          ],
  1143          [
  1144            -10.181525735294144,
  1145            7.120863970588175
  1146          ],
  1147          [
  1148            -21.691176470588175,
  1149            10.480238970588175
  1150          ],
  1151          [
  1152            -20.045955882352928,
  1153            3.120404411764639
  1154          ]
  1155        ]
  1156      },
  1157      {
  1158        "type": "arrow",
  1159        "version": 2181,
  1160        "versionNonce": 1710379334,
  1161        "isDeleted": false,
  1162        "id": "eSiMXO-nHP25ajUzkUni0",
  1163        "fillStyle": "solid",
  1164        "strokeWidth": 1,
  1165        "strokeStyle": "solid",
  1166        "roughness": 0,
  1167        "opacity": 100,
  1168        "angle": 0,
  1169        "x": 74.2432844985924,
  1170        "y": 10298.878550044228,
  1171        "strokeColor": "#495057",
  1172        "backgroundColor": "transparent",
  1173        "width": 576.9943821572027,
  1174        "height": 0.328049323778032,
  1175        "seed": 1065177898,
  1176        "groupIds": [],
  1177        "strokeSharpness": "round",
  1178        "boundElements": [],
  1179        "updated": 1645964081841,
  1180        "link": null,
  1181        "startBinding": {
  1182          "elementId": "bgfgO6OVkf1Bx0lNmz8m5",
  1183          "focus": -0.009481512157583742,
  1184          "gap": 2.6457460976265565
  1185        },
  1186        "endBinding": {
  1187          "elementId": "8gxzJ4tsdyg-_9JtHQmak",
  1188          "focus": -0.14652831778353873,
  1189          "gap": 1.5450862702281256
  1190        },
  1191        "lastCommittedPoint": null,
  1192        "startArrowhead": null,
  1193        "endArrowhead": "arrow",
  1194        "points": [
  1195          [
  1196            0,
  1197            0
  1198          ],
  1199          [
  1200            576.9943821572027,
  1201            0.328049323778032
  1202          ]
  1203        ]
  1204      },
  1205      {
  1206        "type": "arrow",
  1207        "version": 3520,
  1208        "versionNonce": 1711984154,
  1209        "isDeleted": false,
  1210        "id": "69b3B2KQTTgYvLd4feQl9",
  1211        "fillStyle": "solid",
  1212        "strokeWidth": 1,
  1213        "strokeStyle": "solid",
  1214        "roughness": 0,
  1215        "opacity": 100,
  1216        "angle": 0,
  1217        "x": 728.627345566536,
  1218        "y": 10380.15923970299,
  1219        "strokeColor": "#495057",
  1220        "backgroundColor": "transparent",
  1221        "width": 2.251968125132862,
  1222        "height": 137.43896194868466,
  1223        "seed": 1330294,
  1224        "groupIds": [],
  1225        "strokeSharpness": "round",
  1226        "boundElements": [],
  1227        "updated": 1645964081841,
  1228        "link": null,
  1229        "startBinding": {
  1230          "elementId": "qadKe1NF9Wxnrrfbdg60C",
  1231          "focus": 0.2276185203667748,
  1232          "gap": 4.148858356240453
  1233        },
  1234        "endBinding": {
  1235          "elementId": "CAjLx9Xo8tP8rvW1jC8jG",
  1236          "focus": -0.5070834861866774,
  1237          "gap": 1.3126886834753861
  1238        },
  1239        "lastCommittedPoint": null,
  1240        "startArrowhead": null,
  1241        "endArrowhead": "arrow",
  1242        "points": [
  1243          [
  1244            0,
  1245            0
  1246          ],
  1247          [
  1248            -2.251968125132862,
  1249            137.43896194868466
  1250          ]
  1251        ]
  1252      },
  1253      {
  1254        "type": "text",
  1255        "version": 1897,
  1256        "versionNonce": 1247623524,
  1257        "isDeleted": false,
  1258        "id": "g5ou16pR2eih_1o2Fg_Yo",
  1259        "fillStyle": "solid",
  1260        "strokeWidth": 1,
  1261        "strokeStyle": "solid",
  1262        "roughness": 0,
  1263        "opacity": 100,
  1264        "angle": 0,
  1265        "x": 91.1736237739251,
  1266        "y": 10319.897020379185,
  1267        "strokeColor": "#000000",
  1268        "backgroundColor": "transparent",
  1269        "width": 414,
  1270        "height": 20,
  1271        "seed": 1937595882,
  1272        "groupIds": [],
  1273        "strokeSharpness": "sharp",
  1274        "boundElements": [
  1275          {
  1276            "id": "eSiMXO-nHP25ajUzkUni0",
  1277            "type": "arrow"
  1278          }
  1279        ],
  1280        "updated": 1646038276144,
  1281        "link": null,
  1282        "fontSize": 16,
  1283        "fontFamily": 1,
  1284        "text": "(6) getObject(\"example-repo/dev/prefix/foo.parquet\")",
  1285        "baseline": 14,
  1286        "textAlign": "left",
  1287        "verticalAlign": "top",
  1288        "containerId": null,
  1289        "originalText": "(6) getObject(\"example-repo/dev/prefix/foo.parquet\")"
  1290      },
  1291      {
  1292        "type": "rectangle",
  1293        "version": 506,
  1294        "versionNonce": 1383987930,
  1295        "isDeleted": false,
  1296        "id": "qadKe1NF9Wxnrrfbdg60C",
  1297        "fillStyle": "solid",
  1298        "strokeWidth": 2,
  1299        "strokeStyle": "solid",
  1300        "roughness": 0,
  1301        "opacity": 100,
  1302        "angle": 0,
  1303        "x": 637.6196404308794,
  1304        "y": 10225.36975634675,
  1305        "strokeColor": "#000000",
  1306        "backgroundColor": "transparent",
  1307        "width": 239.75390624999991,
  1308        "height": 150.640625,
  1309        "seed": 335498678,
  1310        "groupIds": [],
  1311        "strokeSharpness": "sharp",
  1312        "boundElements": [
  1313          {
  1314            "id": "69b3B2KQTTgYvLd4feQl9",
  1315            "type": "arrow"
  1316          }
  1317        ],
  1318        "updated": 1645964081841,
  1319        "link": null
  1320      },
  1321      {
  1322        "type": "text",
  1323        "version": 1821,
  1324        "versionNonce": 152266596,
  1325        "isDeleted": false,
  1326        "id": "CX0zMdfSJILBh8x_PePUW",
  1327        "fillStyle": "solid",
  1328        "strokeWidth": 1,
  1329        "strokeStyle": "solid",
  1330        "roughness": 0,
  1331        "opacity": 100,
  1332        "angle": 0,
  1333        "x": 747.4767481668939,
  1334        "y": 10427.7459574664,
  1335        "strokeColor": "#000000",
  1336        "backgroundColor": "transparent",
  1337        "width": 299,
  1338        "height": 20,
  1339        "seed": 682496170,
  1340        "groupIds": [],
  1341        "strokeSharpness": "sharp",
  1342        "boundElements": [],
  1343        "updated": 1646038280326,
  1344        "link": null,
  1345        "fontSize": 16,
  1346        "fontFamily": 1,
  1347        "text": "(7) getObject(\"some-physical-address\")",
  1348        "baseline": 14,
  1349        "textAlign": "left",
  1350        "verticalAlign": "top",
  1351        "containerId": null,
  1352        "originalText": "(7) getObject(\"some-physical-address\")"
  1353      },
  1354      {
  1355        "type": "text",
  1356        "version": 240,
  1357        "versionNonce": 1231916954,
  1358        "isDeleted": false,
  1359        "id": "Wf-yd7Ln3mgosuWpN-gGC",
  1360        "fillStyle": "solid",
  1361        "strokeWidth": 2,
  1362        "strokeStyle": "solid",
  1363        "roughness": 0,
  1364        "opacity": 100,
  1365        "angle": 0,
  1366        "x": 777.7212029308794,
  1367        "y": 10323.26428759675,
  1368        "strokeColor": "#000000",
  1369        "backgroundColor": "transparent",
  1370        "width": 89,
  1371        "height": 35,
  1372        "seed": 225978102,
  1373        "groupIds": [],
  1374        "strokeSharpness": "sharp",
  1375        "boundElements": [],
  1376        "updated": 1645964081841,
  1377        "link": null,
  1378        "fontSize": 28,
  1379        "fontFamily": 1,
  1380        "text": "lakeFS",
  1381        "baseline": 25,
  1382        "textAlign": "left",
  1383        "verticalAlign": "top",
  1384        "containerId": null,
  1385        "originalText": "lakeFS"
  1386      },
  1387      {
  1388        "type": "text",
  1389        "version": 272,
  1390        "versionNonce": 2041073414,
  1391        "isDeleted": false,
  1392        "id": "gAvT-rA_eEA893HVdqbkI",
  1393        "fillStyle": "solid",
  1394        "strokeWidth": 2,
  1395        "strokeStyle": "solid",
  1396        "roughness": 0,
  1397        "opacity": 100,
  1398        "angle": 0,
  1399        "x": -516.1386060968982,
  1400        "y": 9881.073749402305,
  1401        "strokeColor": "#5c940d",
  1402        "backgroundColor": "transparent",
  1403        "width": 237,
  1404        "height": 25,
  1405        "seed": 1119513450,
  1406        "groupIds": [],
  1407        "strokeSharpness": "sharp",
  1408        "boundElements": [],
  1409        "updated": 1645964081841,
  1410        "link": null,
  1411        "fontSize": 20,
  1412        "fontFamily": 1,
  1413        "text": "Path has mapping config",
  1414        "baseline": 18,
  1415        "textAlign": "left",
  1416        "verticalAlign": "top",
  1417        "containerId": null,
  1418        "originalText": "Path has mapping config"
  1419      },
  1420      {
  1421        "type": "arrow",
  1422        "version": 407,
  1423        "versionNonce": 252480602,
  1424        "isDeleted": false,
  1425        "id": "hFPh2kpNsqSRVea-o7kBg",
  1426        "fillStyle": "solid",
  1427        "strokeWidth": 2,
  1428        "strokeStyle": "dotted",
  1429        "roughness": 0,
  1430        "opacity": 100,
  1431        "angle": 0,
  1432        "x": -168.00585430008334,
  1433        "y": 9982.09777460734,
  1434        "strokeColor": "#495057",
  1435        "backgroundColor": "transparent",
  1436        "width": 410.44537927350416,
  1437        "height": 293.07725694444525,
  1438        "seed": 2132703316,
  1439        "groupIds": [],
  1440        "strokeSharpness": "round",
  1441        "boundElements": [],
  1442        "updated": 1645964081841,
  1443        "link": null,
  1444        "startBinding": null,
  1445        "endBinding": null,
  1446        "lastCommittedPoint": null,
  1447        "startArrowhead": null,
  1448        "endArrowhead": "arrow",
  1449        "points": [
  1450          [
  1451            0,
  1452            0
  1453          ],
  1454          [
  1455            -410.44537927350416,
  1456            293.07725694444525
  1457          ]
  1458        ]
  1459      }
  1460    ],
  1461    "appState": {
  1462      "gridSize": null,
  1463      "viewBackgroundColor": "#ffffff"
  1464    },
  1465    "files": {}
  1466  }