* New single-file samples for the website * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Delete public/kcl-samples/piston directory * More * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * move another test Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com> Co-authored-by: Jess Frazelle <github@jessfraz.com>
		
			
				
	
	
		
			6157 lines
		
	
	
		
			207 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			6157 lines
		
	
	
		
			207 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ---
 | |
| source: kcl-lib/src/simulation_tests.rs
 | |
| description: Result of parsing hammer.kcl
 | |
| ---
 | |
| {
 | |
|   "Ok": {
 | |
|     "body": [
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "headSideProfile",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "startSketchOn",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "XZ",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name",
 | |
|                   "type": "Name"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "at",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "0.33",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.33,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "11.26",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 11.26,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "startProfile",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "0.1",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.1,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "yLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "0.95",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.95,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "11.92",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 11.92,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "2.72",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 2.72,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "11.26",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 11.26,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg01"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angle",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "callee": {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": "tangentToEnd",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name"
 | |
|                         },
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "start": 0,
 | |
|                         "type": "CallExpressionKw",
 | |
|                         "type": "CallExpressionKw",
 | |
|                         "unlabeled": {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": "seg01",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         }
 | |
|                       },
 | |
|                       "operator": "+",
 | |
|                       "right": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "90",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 90.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": ".2",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.2,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "angledLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angle",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "callee": {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": "tangentToEnd",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name"
 | |
|                         },
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "start": 0,
 | |
|                         "type": "CallExpressionKw",
 | |
|                         "type": "CallExpressionKw",
 | |
|                         "unlabeled": {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": "seg01",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         }
 | |
|                       },
 | |
|                       "operator": "-",
 | |
|                       "right": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "10",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 10.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "argument": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "0.5",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 0.5,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "angledLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "0.91",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 0.91,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "12.78",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 12.78,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg03"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "1.67",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 1.67,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "12.85",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 12.85,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "argument": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": ".25",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 0.25,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "xLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angle",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "90",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 90.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": ".05",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.05,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "argument": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "1.125",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 1.125,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg02"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "yLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angle",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "90",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 90.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": ".05",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.05,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": ".25",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.25,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg04"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "xLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angle",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "23",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 23.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "0.1",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.1,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "angledLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "0.33",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 0.33,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         },
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartY",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "callee": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "profileStartX",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "unlabeled": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "start": 0,
 | |
|                         "type": "PipeSubstitution",
 | |
|                         "type": "PipeSubstitution"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "xLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "close",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "3",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 3.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "symmetric",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "true",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": true
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "extrude",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "nonCodeMeta": {
 | |
|               "nonCodeNodes": {
 | |
|                 "18": [
 | |
|                   {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "start": 0,
 | |
|                     "type": "NonCodeNode",
 | |
|                     "value": {
 | |
|                       "type": "newLineBlockComment",
 | |
|                       "value": "Sketch the top profile of the hammer head",
 | |
|                       "style": "line"
 | |
|                     }
 | |
|                   }
 | |
|                 ]
 | |
|               },
 | |
|               "startNodes": []
 | |
|             },
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "preComments": [
 | |
|           "// Sketch the side profile of the hammer head"
 | |
|         ],
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "headTopProfile",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "callee": {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": "startSketchOn",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name"
 | |
|             },
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "CallExpressionKw",
 | |
|             "type": "CallExpressionKw",
 | |
|             "unlabeled": {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "offset",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "13",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": {
 | |
|                       "value": 13.0,
 | |
|                       "suffix": "None"
 | |
|                     }
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "offsetPlane",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "XY",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name",
 | |
|                 "type": "Name"
 | |
|               }
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "leftSideCut",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "at",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "4",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 4.0,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         },
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "1.6",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 1.6,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "startProfile",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "headTopProfile",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name",
 | |
|                   "type": "Name"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "segEndX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "seg02",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name",
 | |
|                             "type": "Name"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "left": {
 | |
|                             "argument": {
 | |
|                               "callee": {
 | |
|                                 "abs_path": false,
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": {
 | |
|                                   "commentStart": 0,
 | |
|                                   "end": 0,
 | |
|                                   "name": "segLen",
 | |
|                                   "start": 0,
 | |
|                                   "type": "Identifier"
 | |
|                                 },
 | |
|                                 "path": [],
 | |
|                                 "start": 0,
 | |
|                                 "type": "Name"
 | |
|                               },
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "start": 0,
 | |
|                               "type": "CallExpressionKw",
 | |
|                               "type": "CallExpressionKw",
 | |
|                               "unlabeled": {
 | |
|                                 "abs_path": false,
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": {
 | |
|                                   "commentStart": 0,
 | |
|                                   "end": 0,
 | |
|                                   "name": "seg02",
 | |
|                                   "start": 0,
 | |
|                                   "type": "Identifier"
 | |
|                                 },
 | |
|                                 "path": [],
 | |
|                                 "start": 0,
 | |
|                                 "type": "Name",
 | |
|                                 "type": "Name"
 | |
|                               }
 | |
|                             },
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "operator": "-",
 | |
|                             "start": 0,
 | |
|                             "type": "UnaryExpression",
 | |
|                             "type": "UnaryExpression"
 | |
|                           },
 | |
|                           "operator": "/",
 | |
|                           "right": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "2",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 2.0,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "start": 0,
 | |
|                           "type": "BinaryExpression",
 | |
|                           "type": "BinaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "line",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angleStart",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "180",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 180.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angleEnd",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "270",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 270.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": ".05",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.05,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "arc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "PipeSubstitution",
 | |
|                   "type": "PipeSubstitution"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "callee": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "segEndX",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "unlabeled": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "seg04",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "xLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "interiorAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "left": {
 | |
|                             "callee": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "segEndX",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name"
 | |
|                             },
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "unlabeled": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "seg03",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name",
 | |
|                               "type": "Name"
 | |
|                             }
 | |
|                           },
 | |
|                           "operator": "-",
 | |
|                           "right": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": ".1",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 0.1,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "start": 0,
 | |
|                           "type": "BinaryExpression",
 | |
|                           "type": "BinaryExpression"
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "left": {
 | |
|                             "callee": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "lastSegY",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name"
 | |
|                             },
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "unlabeled": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "start": 0,
 | |
|                               "type": "PipeSubstitution",
 | |
|                               "type": "PipeSubstitution"
 | |
|                             }
 | |
|                           },
 | |
|                           "operator": "+",
 | |
|                           "right": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": ".03",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 0.03,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "start": 0,
 | |
|                           "type": "BinaryExpression",
 | |
|                           "type": "BinaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "segEndX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "seg03",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name",
 | |
|                             "type": "Name"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "lastSegY",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "arc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "3.39",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 3.39,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "1.15",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 1.15,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "callee": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "profileStartY",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "unlabeled": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "start": 0,
 | |
|                         "type": "PipeSubstitution",
 | |
|                         "type": "PipeSubstitution"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "yLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartY",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "line",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "close",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "argument": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "14",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 14.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "extrude",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "rearCut",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "at",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "3.39",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 3.39,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "0.56",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 0.56,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "startProfile",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "headTopProfile",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name",
 | |
|                   "type": "Name"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angle",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "177",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 177.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "0.1",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.1,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "angledLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "1.86",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 1.86,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "0.37",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 0.37,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "lastSegX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "callee": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "lastSegY",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name"
 | |
|                             },
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "unlabeled": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "start": 0,
 | |
|                               "type": "PipeSubstitution",
 | |
|                               "type": "PipeSubstitution"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "callee": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "profileStartY",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name"
 | |
|                             },
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "unlabeled": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "start": 0,
 | |
|                               "type": "PipeSubstitution",
 | |
|                               "type": "PipeSubstitution"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartY",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "line",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "close",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "argument": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "14",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 14.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "extrude",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "rightSideCut",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "at",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "4",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 4.0,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "1.6",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 1.6,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "startProfile",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "headTopProfile",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name",
 | |
|                   "type": "Name"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "segEndX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "seg02",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name",
 | |
|                             "type": "Name"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "left": {
 | |
|                             "callee": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "segLen",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name"
 | |
|                             },
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "unlabeled": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "seg02",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name",
 | |
|                               "type": "Name"
 | |
|                             }
 | |
|                           },
 | |
|                           "operator": "/",
 | |
|                           "right": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "2",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 2.0,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "start": 0,
 | |
|                           "type": "BinaryExpression",
 | |
|                           "type": "BinaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "line",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angleStart",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "argument": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "180",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 180.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angleEnd",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "argument": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "270",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 270.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": ".05",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.05,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "arc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "PipeSubstitution",
 | |
|                   "type": "PipeSubstitution"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "callee": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "segEndX",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "unlabeled": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "seg04",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "xLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "interiorAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "left": {
 | |
|                             "callee": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "segEndX",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name"
 | |
|                             },
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "unlabeled": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "seg03",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name",
 | |
|                               "type": "Name"
 | |
|                             }
 | |
|                           },
 | |
|                           "operator": "-",
 | |
|                           "right": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": ".1",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 0.1,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "start": 0,
 | |
|                           "type": "BinaryExpression",
 | |
|                           "type": "BinaryExpression"
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "left": {
 | |
|                             "callee": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "lastSegY",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name"
 | |
|                             },
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "unlabeled": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "start": 0,
 | |
|                               "type": "PipeSubstitution",
 | |
|                               "type": "PipeSubstitution"
 | |
|                             }
 | |
|                           },
 | |
|                           "operator": "-",
 | |
|                           "right": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": ".03",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 0.03,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "start": 0,
 | |
|                           "type": "BinaryExpression",
 | |
|                           "type": "BinaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "segEndX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "seg03",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name",
 | |
|                             "type": "Name"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "lastSegY",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "arc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "3.39",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 3.39,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "1.15",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 1.15,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "callee": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "profileStartY",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "unlabeled": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "start": 0,
 | |
|                         "type": "PipeSubstitution",
 | |
|                         "type": "PipeSubstitution"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "yLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartY",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "line",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "close",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "argument": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "14",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 14.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "extrude",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "nonCodeMeta": {
 | |
|               "nonCodeNodes": {
 | |
|                 "9": [
 | |
|                   {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "start": 0,
 | |
|                     "type": "NonCodeNode",
 | |
|                     "value": {
 | |
|                       "type": "newLineBlockComment",
 | |
|                       "value": "Subtract the top profiles from the side profile to create a CSG hammer shape",
 | |
|                       "style": "line"
 | |
|                     }
 | |
|                   }
 | |
|                 ]
 | |
|               },
 | |
|               "startNodes": []
 | |
|             },
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "firstProfiles",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "arguments": [
 | |
|               {
 | |
|                 "type": "LabeledArg",
 | |
|                 "label": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "tools",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "arg": {
 | |
|                   "commentStart": 0,
 | |
|                   "elements": [
 | |
|                     {
 | |
|                       "callee": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "union",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "unlabeled": {
 | |
|                         "commentStart": 0,
 | |
|                         "elements": [
 | |
|                           {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "leftSideCut",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name",
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           {
 | |
|                             "callee": {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "union",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name"
 | |
|                             },
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "type": "CallExpressionKw",
 | |
|                             "unlabeled": {
 | |
|                               "commentStart": 0,
 | |
|                               "elements": [
 | |
|                                 {
 | |
|                                   "abs_path": false,
 | |
|                                   "commentStart": 0,
 | |
|                                   "end": 0,
 | |
|                                   "name": {
 | |
|                                     "commentStart": 0,
 | |
|                                     "end": 0,
 | |
|                                     "name": "rearCut",
 | |
|                                     "start": 0,
 | |
|                                     "type": "Identifier"
 | |
|                                   },
 | |
|                                   "path": [],
 | |
|                                   "start": 0,
 | |
|                                   "type": "Name",
 | |
|                                   "type": "Name"
 | |
|                                 },
 | |
|                                 {
 | |
|                                   "abs_path": false,
 | |
|                                   "commentStart": 0,
 | |
|                                   "end": 0,
 | |
|                                   "name": {
 | |
|                                     "commentStart": 0,
 | |
|                                     "end": 0,
 | |
|                                     "name": "rightSideCut",
 | |
|                                     "start": 0,
 | |
|                                     "type": "Identifier"
 | |
|                                   },
 | |
|                                   "path": [],
 | |
|                                   "start": 0,
 | |
|                                   "type": "Name",
 | |
|                                   "type": "Name"
 | |
|                                 }
 | |
|                               ],
 | |
|                               "end": 0,
 | |
|                               "start": 0,
 | |
|                               "type": "ArrayExpression",
 | |
|                               "type": "ArrayExpression"
 | |
|                             }
 | |
|                           }
 | |
|                         ],
 | |
|                         "end": 0,
 | |
|                         "start": 0,
 | |
|                         "type": "ArrayExpression",
 | |
|                         "type": "ArrayExpression"
 | |
|                       }
 | |
|                     }
 | |
|                   ],
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "ArrayExpression",
 | |
|                   "type": "ArrayExpression"
 | |
|                 }
 | |
|               }
 | |
|             ],
 | |
|             "callee": {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": "subtract",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name"
 | |
|             },
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "CallExpressionKw",
 | |
|             "type": "CallExpressionKw",
 | |
|             "unlabeled": {
 | |
|               "commentStart": 0,
 | |
|               "elements": [
 | |
|                 {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "headSideProfile",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name",
 | |
|                   "type": "Name"
 | |
|                 }
 | |
|               ],
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "ArrayExpression",
 | |
|               "type": "ArrayExpression"
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "handleHole",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "startSketchOn",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "XY",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name",
 | |
|                   "type": "Name"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": ".28",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.28,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "numSides",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "10",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 10.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "center",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "0",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "0",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "polygon",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "PipeSubstitution",
 | |
|                   "type": "PipeSubstitution"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "14",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 14.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "extrude",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "nonCodeMeta": {
 | |
|               "nonCodeNodes": {
 | |
|                 "2": [
 | |
|                   {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "start": 0,
 | |
|                     "type": "NonCodeNode",
 | |
|                     "value": {
 | |
|                       "type": "newLineBlockComment",
 | |
|                       "value": "Add an additional fillet feature to support the handle, and union it to the rest of the head",
 | |
|                       "style": "line"
 | |
|                     }
 | |
|                   }
 | |
|                 ]
 | |
|               },
 | |
|               "startNodes": []
 | |
|             },
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "preComments": [
 | |
|           "",
 | |
|           "",
 | |
|           "// Extrude a polygon through the center of the hammer head to create the mounting hole for the handle"
 | |
|         ],
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "baseSupport",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "startSketchOn",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "arguments": [
 | |
|                     {
 | |
|                       "type": "LabeledArg",
 | |
|                       "label": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "offset",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "arg": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "11.5",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 11.5,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       }
 | |
|                     }
 | |
|                   ],
 | |
|                   "callee": {
 | |
|                     "abs_path": false,
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "offsetPlane",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "path": [],
 | |
|                     "start": 0,
 | |
|                     "type": "Name"
 | |
|                   },
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "CallExpressionKw",
 | |
|                   "type": "CallExpressionKw",
 | |
|                   "unlabeled": {
 | |
|                     "abs_path": false,
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "XY",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "path": [],
 | |
|                     "start": 0,
 | |
|                     "type": "Name",
 | |
|                     "type": "Name"
 | |
|                   }
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "center",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "0",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "0",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": ".45",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.45,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg05"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "circle",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "1",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 1.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "tagStart",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "capStart001"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "extrude",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": ".05",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.05,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "tags",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "arguments": [
 | |
|                             {
 | |
|                               "type": "LabeledArg",
 | |
|                               "label": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "end": 0,
 | |
|                                 "name": "faces",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "arg": {
 | |
|                                 "commentStart": 0,
 | |
|                                 "elements": [
 | |
|                                   {
 | |
|                                     "abs_path": false,
 | |
|                                     "commentStart": 0,
 | |
|                                     "end": 0,
 | |
|                                     "name": {
 | |
|                                       "commentStart": 0,
 | |
|                                       "end": 0,
 | |
|                                       "name": "seg05",
 | |
|                                       "start": 0,
 | |
|                                       "type": "Identifier"
 | |
|                                     },
 | |
|                                     "path": [],
 | |
|                                     "start": 0,
 | |
|                                     "type": "Name",
 | |
|                                     "type": "Name"
 | |
|                                   },
 | |
|                                   {
 | |
|                                     "abs_path": false,
 | |
|                                     "commentStart": 0,
 | |
|                                     "end": 0,
 | |
|                                     "name": {
 | |
|                                       "commentStart": 0,
 | |
|                                       "end": 0,
 | |
|                                       "name": "capStart001",
 | |
|                                       "start": 0,
 | |
|                                       "type": "Identifier"
 | |
|                                     },
 | |
|                                     "path": [],
 | |
|                                     "start": 0,
 | |
|                                     "type": "Name",
 | |
|                                     "type": "Name"
 | |
|                                   }
 | |
|                                 ],
 | |
|                                 "end": 0,
 | |
|                                 "start": 0,
 | |
|                                 "type": "ArrayExpression",
 | |
|                                 "type": "ArrayExpression"
 | |
|                               }
 | |
|                             }
 | |
|                           ],
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "getCommonEdge",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": null
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "fillet",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "nonCodeMeta": {
 | |
|               "nonCodeNodes": {
 | |
|                 "3": [
 | |
|                   {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "start": 0,
 | |
|                     "type": "NonCodeNode",
 | |
|                     "value": {
 | |
|                       "type": "newLineBlockComment",
 | |
|                       "value": "Union all pieces into a single solid, then cut the handle hole",
 | |
|                       "style": "line"
 | |
|                     }
 | |
|                   }
 | |
|                 ]
 | |
|               },
 | |
|               "startNodes": []
 | |
|             },
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "hammerHead",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "union",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "commentStart": 0,
 | |
|                   "elements": [
 | |
|                     {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "firstProfiles",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     },
 | |
|                     {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "baseSupport",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     }
 | |
|                   ],
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "ArrayExpression",
 | |
|                   "type": "ArrayExpression"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "tools",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": "handleHole",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "subtract",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "nonCodeMeta": {
 | |
|               "nonCodeNodes": {
 | |
|                 "1": [
 | |
|                   {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "start": 0,
 | |
|                     "type": "NonCodeNode",
 | |
|                     "value": {
 | |
|                       "type": "newLineBlockComment",
 | |
|                       "value": "Draw a profile for the handle, then revolve around the center axis",
 | |
|                       "style": "line"
 | |
|                     }
 | |
|                   }
 | |
|                 ]
 | |
|               },
 | |
|               "startNodes": []
 | |
|             },
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "handleSketch",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "startSketchOn",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "XZ",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name",
 | |
|                   "type": "Name"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "at",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "0.01",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.01,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "0",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "startProfile",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "1.125",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 1.125,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "operator": "/",
 | |
|                       "right": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "2",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 2.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "xLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angle",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "90",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 90.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "0.05",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.05,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "0.38",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.38,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "left": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "12.8",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 12.8,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "operator": "/",
 | |
|                           "right": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "raw": "1.612",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 1.612,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "start": 0,
 | |
|                           "type": "BinaryExpression",
 | |
|                           "type": "BinaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "0.28",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.28,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "12.8",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 12.8,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "tangentialArc",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "callee": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "profileStartX",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "type": "CallExpressionKw",
 | |
|                       "unlabeled": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "start": 0,
 | |
|                         "type": "PipeSubstitution",
 | |
|                         "type": "PipeSubstitution"
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "xLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 0,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartY",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "type": "CallExpressionKw",
 | |
|                           "unlabeled": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "start": 0,
 | |
|                             "type": "PipeSubstitution",
 | |
|                             "type": "PipeSubstitution"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "line",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "close",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "handle",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "angle",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "360",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 360.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "axis",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "Y",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "revolve",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "handleSketch",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name",
 | |
|                   "type": "Name"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "color",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "\"#f14f04\"",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": "#f14f04"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "appearance",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       }
 | |
|     ],
 | |
|     "commentStart": 0,
 | |
|     "end": 0,
 | |
|     "innerAttrs": [
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "name": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "name": "settings",
 | |
|           "start": 0,
 | |
|           "type": "Identifier"
 | |
|         },
 | |
|         "preComments": [
 | |
|           "// Claw Hammer",
 | |
|           "// Often used in construction, a claw hammer is a levered metal hand tool that is used to strike and extract nails",
 | |
|           "",
 | |
|           "",
 | |
|           "// Set units"
 | |
|         ],
 | |
|         "properties": [
 | |
|           {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "key": {
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": "defaultLengthUnit",
 | |
|               "start": 0,
 | |
|               "type": "Identifier"
 | |
|             },
 | |
|             "start": 0,
 | |
|             "type": "ObjectProperty",
 | |
|             "value": {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": "in",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name",
 | |
|               "type": "Name"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "start": 0,
 | |
|         "type": "Annotation"
 | |
|       }
 | |
|     ],
 | |
|     "nonCodeMeta": {
 | |
|       "nonCodeNodes": {
 | |
|         "2": [
 | |
|           {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "newLine"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "3": [
 | |
|           {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "newLine"
 | |
|             }
 | |
|           }
 | |
|         ]
 | |
|       },
 | |
|       "startNodes": [
 | |
|         {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "start": 0,
 | |
|           "type": "NonCodeNode",
 | |
|           "value": {
 | |
|             "type": "newLine"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     "start": 0
 | |
|   }
 | |
| }
 |