From 8daf9e1c4a65ea999a4d11ca38ebcc6960b999a9 Mon Sep 17 00:00:00 2001 From: bastieb Date: Mon, 12 Aug 2019 13:47:33 +0200 Subject: [PATCH 1/3] changed the basic setting for tetrapix, it is runnable and should work --- ardublock-master/ardublock-master/pom.xml | 37 + .../block/output/NeopixelColorBlock.java | 14 +- .../block/output/NeopixelInitBlock.java | 24 +- .../com/ardublock/block/ardublock.xml | 40 +- .../ardublock/block/ardublock_de.properties | 4 + .../ardublock/block/ardublock_en.properties | 4 + .../openblocks-master/bin/.gitignore | 9 + .../openblocks-master/bin/LICENSE.MIT | 26 + .../openblocks-master/bin/LICENSE.jfree | 165 + .../openblocks-master/bin/README.md | 57 + .../bin/doc/Front End Redesign MDD.graffle | 3334 ++++++++++++ .../bin/doc/Front End Redesign MDD.pdf | Bin 0 -> 32671 bytes .../bin/doc/Stack Structure Diagram.graffle | 4725 +++++++++++++++++ .../bin/doc/Stack Structure Diagram.pdf | Bin 0 -> 67865 bytes .../bin/doc/lang_def_spec.pdf | Bin 0 -> 176707 bytes .../openblocks-master/bin/doc/redesignV4.doc | Bin 0 -> 119808 bytes .../openblocks-master/bin/pom.xml | 150 + .../blocks/codeblocks/Block$BlockState.class | Bin 0 -> 5156 bytes .../edu/mit/blocks/codeblocks/Block.class | Bin 0 -> 16504 bytes .../BlockConnector$BlockConnectorState.class | Bin 0 -> 5426 bytes .../BlockConnector$DefArgument.class | Bin 0 -> 5245 bytes .../BlockConnector$PositionType.class | Bin 0 -> 4878 bytes .../blocks/codeblocks/BlockConnector.class | Bin 0 -> 9950 bytes .../codeblocks/BlockConnectorShape.class | Bin 0 -> 13333 bytes .../mit/blocks/codeblocks/BlockGenus.class | Bin 0 -> 11433 bytes .../edu/mit/blocks/codeblocks/BlockLink.class | Bin 0 -> 8015 bytes .../blocks/codeblocks/BlockLinkChecker.class | Bin 0 -> 8402 bytes .../mit/blocks/codeblocks/BlockShape.class | Bin 0 -> 10329 bytes .../edu/mit/blocks/codeblocks/BlockStub.class | Bin 0 -> 10276 bytes .../mit/blocks/codeblocks/CommandRule.class | Bin 0 -> 3131 bytes .../codeblocks/CompilerException$Error.class | Bin 0 -> 1440 bytes .../blocks/codeblocks/CompilerException.class | Bin 0 -> 2130 bytes .../edu/mit/blocks/codeblocks/Constants.class | Bin 0 -> 828 bytes ...CustomBlockShapeSet$CustomBlockShape.class | Bin 0 -> 2329 bytes .../codeblocks/CustomBlockShapeSet.class | Bin 0 -> 3229 bytes .../blocks/codeblocks/InfixBlockShape.class | Bin 0 -> 11063 bytes .../edu/mit/blocks/codeblocks/InfixRule.class | Bin 0 -> 5623 bytes .../codeblocks/JComponentDragHandler.class | Bin 0 -> 8829 bytes .../edu/mit/blocks/codeblocks/LinkRule.class | Bin 0 -> 745 bytes .../edu/mit/blocks/codeblocks/ParamRule.class | Bin 0 -> 1427 bytes .../edu/mit/blocks/codeblocks/PolyRule.class | Bin 0 -> 16266 bytes .../ProcedureOutputManager$OutputInfo.class | Bin 0 -> 5756 bytes .../ProcedureOutputManager$RuntimeType.class | Bin 0 -> 6185 bytes .../codeblocks/ProcedureOutputManager.class | Bin 0 -> 11819 bytes .../SLBlockProperties$RuntimeType.class | Bin 0 -> 5648 bytes .../blocks/codeblocks/SLBlockProperties.class | Bin 0 -> 10351 bytes .../SLBlockShapeSet$ProcedureBlock.class | Bin 0 -> 1351 bytes .../blocks/codeblocks/SLBlockShapeSet.class | Bin 0 -> 1175 bytes .../mit/blocks/codeblocks/SocketRule.class | Bin 0 -> 1513 bytes .../edu/mit/blocks/codeblocks/StackRule.class | Bin 0 -> 9587 bytes .../codeblocks/Variable$VariableScope.class | Bin 0 -> 3562 bytes .../codeblocks/Variable$VariableType.class | Bin 0 -> 3593 bytes .../edu/mit/blocks/codeblocks/Variable.class | Bin 0 -> 7927 bytes .../codeblocks/rendering/BevelIterator.class | Bin 0 -> 3136 bytes .../BlockShapeUtil$BevelCacheKey.class | Bin 0 -> 5431 bytes .../codeblocks/rendering/BlockShapeUtil.class | Bin 0 -> 9063 bytes .../codeblocks/rendering/ShapeBevel.class | Bin 0 -> 2358 bytes .../CArrowButton$Direction.class | Bin 0 -> 3479 bytes .../blocks/codeblockutil/CArrowButton.class | Bin 0 -> 6129 bytes .../codeblockutil/CBarGraph$BarData.class | Bin 0 -> 5218 bytes .../mit/blocks/codeblockutil/CBarGraph.class | Bin 0 -> 9197 bytes .../codeblockutil/CBorderlessButton.class | Bin 0 -> 4220 bytes .../mit/blocks/codeblockutil/CButton.class | Bin 0 -> 8592 bytes .../CColorChooser$ColorPicker.class | Bin 0 -> 7882 bytes .../blocks/codeblockutil/CColorChooser.class | Bin 0 -> 8399 bytes .../blocks/codeblockutil/CFileHandler.class | Bin 0 -> 5889 bytes .../codeblockutil/CGlassScrollPane.class | Bin 0 -> 7562 bytes .../mit/blocks/codeblockutil/CGraphite.class | Bin 0 -> 1358 bytes .../codeblockutil/CGraphiteButton.class | Bin 0 -> 4872 bytes .../codeblockutil/CGraphiteSquareButton.class | Bin 0 -> 4891 bytes .../codeblockutil/CHoverScrollPane.class | Bin 0 -> 7547 bytes .../codeblockutil/CIconButton$Icon.class | Bin 0 -> 4718 bytes .../blocks/codeblockutil/CIconButton.class | Bin 0 -> 8293 bytes .../edu/mit/blocks/codeblockutil/CLabel.class | Bin 0 -> 2995 bytes .../codeblockutil/CLineGraph$LineData.class | Bin 0 -> 5646 bytes .../mit/blocks/codeblockutil/CLineGraph.class | Bin 0 -> 9121 bytes .../codeblockutil/CMenuItem$Position.class | Bin 0 -> 2958 bytes .../mit/blocks/codeblockutil/CMenuItem.class | Bin 0 -> 5052 bytes .../mit/blocks/codeblockutil/CPopupMenu.class | Bin 0 -> 4274 bytes .../blocks/codeblockutil/CProgressBar.class | Bin 0 -> 3659 bytes .../blocks/codeblockutil/CQueryField.class | Bin 0 -> 10002 bytes .../codeblockutil/CRadioactiveButton.class | Bin 0 -> 6106 bytes .../mit/blocks/codeblockutil/CSVFilter.class | Bin 0 -> 1276 bytes .../CScrollPane$ScrollPolicy.class | Bin 0 -> 1720 bytes .../blocks/codeblockutil/CScrollPane.class | Bin 0 -> 1880 bytes .../mit/blocks/codeblockutil/CSignLabel.class | Bin 0 -> 3183 bytes .../mit/blocks/codeblockutil/CSlider.class | Bin 0 -> 9283 bytes .../CSliderPane$CNumberTextField.class | Bin 0 -> 6853 bytes .../blocks/codeblockutil/CSliderPane.class | Bin 0 -> 7378 bytes .../mit/blocks/codeblockutil/CTabButton.class | Bin 0 -> 4337 bytes .../edu/mit/blocks/codeblockutil/CTable.class | Bin 0 -> 7944 bytes .../mit/blocks/codeblockutil/CTextField.class | Bin 0 -> 9728 bytes .../mit/blocks/codeblockutil/CToolTip.class | Bin 0 -> 3407 bytes .../mit/blocks/codeblockutil/CToolTipUI.class | Bin 0 -> 4217 bytes .../codeblockutil/CTracklessScrollPane.class | Bin 0 -> 7291 bytes .../mit/blocks/codeblockutil/CWheelItem.class | Bin 0 -> 933 bytes .../mit/blocks/codeblockutil/CWheeler.class | Bin 0 -> 7509 bytes .../edu/mit/blocks/codeblockutil/Canvas.class | Bin 0 -> 1066 bytes .../mit/blocks/codeblockutil/ChartData.class | Bin 0 -> 976 bytes .../blocks/codeblockutil/DefaultCanvas.class | Bin 0 -> 1907 bytes .../mit/blocks/codeblockutil/Explorer.class | Bin 0 -> 1263 bytes .../blocks/codeblockutil/ExplorerEvent.class | Bin 0 -> 613 bytes .../codeblockutil/ExplorerListener.class | Bin 0 -> 608 bytes .../codeblockutil/GlassCard$GlassButton.class | Bin 0 -> 8551 bytes .../mit/blocks/codeblockutil/GlassCard.class | Bin 0 -> 8036 bytes .../GlassExplorer$CanvasPane.class | Bin 0 -> 6321 bytes .../GlassExplorer$EnlargerTimer.class | Bin 0 -> 5928 bytes .../blocks/codeblockutil/GlassExplorer.class | Bin 0 -> 8815 bytes .../codeblockutil/GlassExplorerEvent.class | Bin 0 -> 1294 bytes .../codeblockutil/GlassHorizontalBar.class | Bin 0 -> 6580 bytes .../codeblockutil/GlassVerticalBar.class | Bin 0 -> 7236 bytes .../codeblockutil/GraphicsManager.class | Bin 0 -> 5385 bytes .../blocks/codeblockutil/HorizontalBar.class | Bin 0 -> 6703 bytes .../codeblockutil/HoverHorizontalBar.class | Bin 0 -> 6662 bytes .../codeblockutil/HoverVerticalBar.class | Bin 0 -> 7049 bytes .../blocks/codeblockutil/ImageManager.class | Bin 0 -> 3102 bytes .../mit/blocks/codeblockutil/LRUCache.class | Bin 0 -> 1825 bytes .../LabelWidget$BlockLabelTextField.class | Bin 0 -> 6976 bytes .../codeblockutil/LabelWidget$LabelMenu.class | Bin 0 -> 6539 bytes .../LabelWidget$ShadowLabel.class | Bin 0 -> 6312 bytes .../blocks/codeblockutil/LabelWidget.class | Bin 0 -> 9847 bytes .../codeblockutil/LowerRightCorner.class | Bin 0 -> 4981 bytes .../MagicExplorer$EnlargerTimer.class | Bin 0 -> 6209 bytes .../blocks/codeblockutil/MagicExplorer.class | Bin 0 -> 9221 bytes .../Navigator$ExplorerSwitcher.class | Bin 0 -> 6024 bytes .../Navigator$NavigationAnimator.class | Bin 0 -> 6008 bytes .../blocks/codeblockutil/Navigator$Type.class | Bin 0 -> 5398 bytes .../mit/blocks/codeblockutil/Navigator.class | Bin 0 -> 10016 bytes .../NumberFormatter$PrecisionSpecifier.class | Bin 0 -> 2561 bytes ...Formatter$StandardPrecisionSpecifier.class | Bin 0 -> 3180 bytes .../codeblockutil/NumberFormatter.class | Bin 0 -> 4276 bytes .../PopupExplorer$ButtonPanel.class | Bin 0 -> 6752 bytes .../PopupExplorer$EnlargerTimer.class | Bin 0 -> 6120 bytes .../blocks/codeblockutil/PopupExplorer.class | Bin 0 -> 8860 bytes .../codeblockutil/SliderBlueprint.class | Bin 0 -> 4763 bytes .../edu/mit/blocks/codeblockutil/Sound.class | Bin 0 -> 1116 bytes .../blocks/codeblockutil/SoundManager.class | Bin 0 -> 2835 bytes .../codeblockutil/StackCard$CardLabel.class | Bin 0 -> 7849 bytes .../codeblockutil/StackCard$CardPane.class | Bin 0 -> 6317 bytes .../mit/blocks/codeblockutil/StackCard.class | Bin 0 -> 9063 bytes .../blocks/codeblockutil/StackExplorer.class | Bin 0 -> 8050 bytes .../mit/blocks/codeblockutil/TabCard.class | Bin 0 -> 4503 bytes .../blocks/codeblockutil/TabbedExplorer.class | Bin 0 -> 9394 bytes .../blocks/codeblockutil/VerticalBar.class | Bin 0 -> 7089 bytes .../blocks/codeblockutil/WindowExplorer.class | Bin 0 -> 7103 bytes .../codeblockutil/XMLStringWriter.class | Bin 0 -> 8022 bytes .../WorkspaceController$OpenAction.class | Bin 0 -> 5175 bytes .../WorkspaceController$SaveAction.class | Bin 0 -> 5175 bytes .../WorkspaceController$SaveAsAction.class | Bin 0 -> 5446 bytes .../controller/WorkspaceController.class | Bin 0 -> 9752 bytes .../blocks/renderable/BlockControlLabel.class | Bin 0 -> 5347 bytes .../BlockImageIcon$ImageLocation.class | Bin 0 -> 2349 bytes .../blocks/renderable/BlockImageIcon.class | Bin 0 -> 2798 bytes .../blocks/renderable/BlockLabel$Type.class | Bin 0 -> 4865 bytes .../mit/blocks/renderable/BlockLabel.class | Bin 0 -> 9596 bytes .../edu/mit/blocks/renderable/BlockNode.class | Bin 0 -> 2946 bytes .../BlockUtilities$MatchingComparator.class | Bin 0 -> 5943 bytes .../blocks/renderable/BlockUtilities.class | Bin 0 -> 11103 bytes .../mit/blocks/renderable/CollapseLabel.class | Bin 0 -> 4882 bytes .../Comment$CommentEventListener.class | Bin 0 -> 6012 bytes .../edu/mit/blocks/renderable/Comment.class | Bin 0 -> 11182 bytes .../renderable/CommentArrow$Arrow.class | Bin 0 -> 4146 bytes .../mit/blocks/renderable/CommentArrow.class | Bin 0 -> 4811 bytes .../mit/blocks/renderable/CommentLabel.class | Bin 0 -> 5891 bytes .../mit/blocks/renderable/CommentSource.class | Bin 0 -> 1193 bytes .../mit/blocks/renderable/ConnectorTag.class | Bin 0 -> 4289 bytes .../renderable/FactoryRenderableBlock.class | Bin 0 -> 5463 bytes .../edu/mit/blocks/renderable/NameLabel.class | Bin 0 -> 3940 bytes .../edu/mit/blocks/renderable/PageLabel.class | Bin 0 -> 1475 bytes .../renderable/RBHighlightHandler.class | Bin 0 -> 10784 bytes ...RenderableBlock$RenderableBlockState.class | Bin 0 -> 4947 bytes .../blocks/renderable/RenderableBlock.class | Bin 0 -> 19012 bytes .../mit/blocks/renderable/SocketLabel.class | Bin 0 -> 3020 bytes .../renderable/TextualFactoryBlock.class | Bin 0 -> 2508 bytes .../blocks/workspace/BlockCanvas$Canvas.class | Bin 0 -> 5722 bytes .../mit/blocks/workspace/BlockCanvas.class | Bin 0 -> 10679 bytes .../workspace/BlockStackSorterUtil.class | Bin 0 -> 5679 bytes .../mit/blocks/workspace/ContextMenu.class | Bin 0 -> 7658 bytes .../mit/blocks/workspace/FactoryCanvas.class | Bin 0 -> 8609 bytes .../mit/blocks/workspace/FactoryManager.class | Bin 0 -> 12196 bytes .../blocks/workspace/ISupportMemento.class | Bin 0 -> 684 bytes .../MiniMap$MiniMapAutoCenterTimer.class | Bin 0 -> 6646 bytes .../MiniMap$MiniMapEnlargerTimer.class | Bin 0 -> 6491 bytes .../edu/mit/blocks/workspace/MiniMap.class | Bin 0 -> 11856 bytes .../workspace/Page$CollapseButton.class | Bin 0 -> 7132 bytes .../mit/blocks/workspace/Page$PageState.class | Bin 0 -> 5515 bytes .../java/edu/mit/blocks/workspace/Page.class | Bin 0 -> 16661 bytes .../workspace/PageChangeEventManager.class | Bin 0 -> 1529 bytes .../blocks/workspace/PageChangeListener.class | Bin 0 -> 521 bytes .../mit/blocks/workspace/PageDivider.class | Bin 0 -> 4205 bytes .../workspace/PageDrawerLoadingUtils.class | Bin 0 -> 8894 bytes .../mit/blocks/workspace/PageJComponent.class | Bin 0 -> 6040 bytes .../edu/mit/blocks/workspace/RBParent.class | Bin 0 -> 718 bytes .../mit/blocks/workspace/ReundoManager.class | Bin 0 -> 6637 bytes .../workspace/SearchBar$SearchRange.class | Bin 0 -> 4927 bytes .../edu/mit/blocks/workspace/SearchBar.class | Bin 0 -> 8577 bytes .../workspace/SearchableContainer.class | Bin 0 -> 773 bytes .../blocks/workspace/SearchableElement.class | Bin 0 -> 670 bytes .../edu/mit/blocks/workspace/Subset.class | Bin 0 -> 2601 bytes .../edu/mit/blocks/workspace/TrashCan.class | Bin 0 -> 9379 bytes .../workspace/Workspace$WorkspaceState.class | Bin 0 -> 5069 bytes .../edu/mit/blocks/workspace/Workspace.class | Bin 0 -> 13980 bytes .../workspace/WorkspaceEnvironment.class | Bin 0 -> 9357 bytes .../mit/blocks/workspace/WorkspaceEvent.class | Bin 0 -> 7303 bytes .../blocks/workspace/WorkspaceListener.class | Bin 0 -> 596 bytes .../blocks/workspace/WorkspaceWidget.class | Bin 0 -> 1600 bytes .../edu/mit/blocks/workspace/ZoomSlider.class | Bin 0 -> 2679 bytes .../AutoCompletePanel$EditorListener.class | Bin 0 -> 5864 bytes .../AutoCompletePanel$MenuListener.class | Bin 0 -> 5763 bytes .../AutoCompletePanel$QueryCellRenderer.class | Bin 0 -> 5271 bytes .../typeblocking/AutoCompletePanel.class | Bin 0 -> 7316 bytes .../typeblocking/BlockDropAnimator.class | Bin 0 -> 6475 bytes .../typeblocking/FocusTraversalManager.class | Bin 0 -> 9939 bytes .../workspace/typeblocking/KeyInputMap.class | Bin 0 -> 6148 bytes .../typeblocking/LinkFinderUtil.class | Bin 0 -> 3333 bytes .../TypeBlockManager$Direction.class | Bin 0 -> 5379 bytes .../typeblocking/TypeBlockManager.class | Bin 0 -> 11888 bytes .../resources/edu/mit/blocks/closed_hand.gif | Bin 0 -> 86 bytes .../edu/mit/blocks/codeblocks/brick.jpg | Bin 0 -> 8137 bytes .../edu/mit/blocks/codeblocks/click.wav | Bin 0 -> 4616 bytes .../edu/mit/blocks/codeblocks/closed_hand.png | Bin 0 -> 210 bytes .../edu/mit/blocks/codeblocks/codeblocks.xsd | 189 + .../edu/mit/blocks/codeblocks/open_hand.png | Bin 0 -> 238 bytes .../main/resources/edu/mit/blocks/minus.gif | Bin 0 -> 4139 bytes .../resources/edu/mit/blocks/open_hand.gif | Bin 0 -> 99 bytes .../main/resources/edu/mit/blocks/plus.gif | Bin 0 -> 6165 bytes .../bin/src/site/apt/index.apt | 5 + .../bin/src/site/apt/language.apt | 252 + .../bin/src/site/resources/images/block.png | Bin 0 -> 6852 bytes .../site/resources/images/forward-back.png | Bin 0 -> 11524 bytes .../site/resources/images/getter-setter.png | Bin 0 -> 19758 bytes .../src/site/resources/images/plug-socket.png | Bin 0 -> 10803 bytes .../openblocks-master/bin/src/site/site.xml | 18 + .../bin/support/ardublock_def.xml | 881 +++ .../bin/support/lang_def.dtd | 163 + .../bin/support/lang_def.xml | 3631 +++++++++++++ 236 files changed, 13696 insertions(+), 32 deletions(-) create mode 100644 openblocks-master/openblocks-master/bin/.gitignore create mode 100644 openblocks-master/openblocks-master/bin/LICENSE.MIT create mode 100644 openblocks-master/openblocks-master/bin/LICENSE.jfree create mode 100644 openblocks-master/openblocks-master/bin/README.md create mode 100644 openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.graffle create mode 100644 openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.pdf create mode 100644 openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.graffle create mode 100644 openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.pdf create mode 100644 openblocks-master/openblocks-master/bin/doc/lang_def_spec.pdf create mode 100644 openblocks-master/openblocks-master/bin/doc/redesignV4.doc create mode 100644 openblocks-master/openblocks-master/bin/pom.xml create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block$BlockState.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$BlockConnectorState.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$DefArgument.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$PositionType.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnectorShape.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockGenus.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLink.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLinkChecker.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockShape.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockStub.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CommandRule.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException$Error.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Constants.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet$CustomBlockShape.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixBlockShape.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixRule.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/JComponentDragHandler.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/LinkRule.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ParamRule.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/PolyRule.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$OutputInfo.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$RuntimeType.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties$RuntimeType.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet$ProcedureBlock.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SocketRule.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/StackRule.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableScope.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableType.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BevelIterator.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil$BevelCacheKey.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/ShapeBevel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton$Direction.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph$BarData.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBorderlessButton.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CButton.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser$ColorPicker.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CFileHandler.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGlassScrollPane.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphite.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteButton.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteSquareButton.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CHoverScrollPane.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton$Icon.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph$LineData.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem$Position.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CPopupMenu.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CProgressBar.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CRadioactiveButton.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSVFilter.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane$ScrollPolicy.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSignLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSlider.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane$CNumberTextField.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTabButton.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTable.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTextField.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTip.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTipUI.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTracklessScrollPane.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheelItem.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheeler.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Canvas.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ChartData.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/DefaultCanvas.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Explorer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerEvent.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerListener.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard$GlassButton.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$CanvasPane.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$EnlargerTimer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorerEvent.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassHorizontalBar.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassVerticalBar.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GraphicsManager.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HorizontalBar.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverHorizontalBar.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverVerticalBar.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ImageManager.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LRUCache.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$BlockLabelTextField.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$LabelMenu.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$ShadowLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LowerRightCorner.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer$EnlargerTimer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$ExplorerSwitcher.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$NavigationAnimator.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$Type.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$PrecisionSpecifier.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$StandardPrecisionSpecifier.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$ButtonPanel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$EnlargerTimer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SliderBlueprint.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Sound.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SoundManager.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardPane.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackExplorer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabCard.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabbedExplorer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/VerticalBar.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/WindowExplorer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/XMLStringWriter.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$OpenAction.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAction.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAsAction.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockControlLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon$ImageLocation.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel$Type.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockNode.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities$MatchingComparator.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CollapseLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment$CommentEventListener.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow$Arrow.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentSource.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/ConnectorTag.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/FactoryRenderableBlock.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/NameLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/PageLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RBHighlightHandler.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock$RenderableBlockState.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/SocketLabel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/TextualFactoryBlock.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas$Canvas.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockStackSorterUtil.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ContextMenu.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryCanvas.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryManager.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ISupportMemento.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapAutoCenterTimer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapEnlargerTimer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$CollapseButton.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$PageState.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeEventManager.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeListener.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDivider.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDrawerLoadingUtils.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageJComponent.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/RBParent.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ReundoManager.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar$SearchRange.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableContainer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableElement.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Subset.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/TrashCan.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace$WorkspaceState.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEnvironment.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEvent.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceListener.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceWidget.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ZoomSlider.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$EditorListener.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$MenuListener.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$QueryCellRenderer.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/BlockDropAnimator.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/FocusTraversalManager.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/KeyInputMap.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/LinkFinderUtil.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager$Direction.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager.class create mode 100644 openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/closed_hand.gif create mode 100644 openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/brick.jpg create mode 100644 openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/click.wav create mode 100644 openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/closed_hand.png create mode 100644 openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/codeblocks.xsd create mode 100644 openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/open_hand.png create mode 100644 openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/minus.gif create mode 100644 openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/open_hand.gif create mode 100644 openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/plus.gif create mode 100644 openblocks-master/openblocks-master/bin/src/site/apt/index.apt create mode 100644 openblocks-master/openblocks-master/bin/src/site/apt/language.apt create mode 100644 openblocks-master/openblocks-master/bin/src/site/resources/images/block.png create mode 100644 openblocks-master/openblocks-master/bin/src/site/resources/images/forward-back.png create mode 100644 openblocks-master/openblocks-master/bin/src/site/resources/images/getter-setter.png create mode 100644 openblocks-master/openblocks-master/bin/src/site/resources/images/plug-socket.png create mode 100644 openblocks-master/openblocks-master/bin/src/site/site.xml create mode 100644 openblocks-master/openblocks-master/bin/support/ardublock_def.xml create mode 100644 openblocks-master/openblocks-master/bin/support/lang_def.dtd create mode 100644 openblocks-master/openblocks-master/bin/support/lang_def.xml diff --git a/ardublock-master/ardublock-master/pom.xml b/ardublock-master/ardublock-master/pom.xml index 543fdec..2cf4ccd 100644 --- a/ardublock-master/ardublock-master/pom.xml +++ b/ardublock-master/ardublock-master/pom.xml @@ -14,6 +14,43 @@ UTF-8 + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + + + org.apache.maven.plugins + + + maven-install-plugin + + + [2.5,) + + + install-file + + + + + + + + + + + + org.apache.maven.plugins diff --git a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java index 3afb1bf..b00f902 100644 --- a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java +++ b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java @@ -15,24 +15,24 @@ public NeopixelColorBlock (Long blockId, Translator translator, String codePrefi //@Override public String toCode() throws SocketNullException, SubroutineNotDeclaredException { - String Pin ; + //String Pin ; String Pixel_Nb; String Red; String Blue; String Green; TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0); - Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); + //Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); + //translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); Pixel_Nb = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(2); + translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); Red = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(3); + translatorBlock = this.getRequiredTranslatorBlockAtSocket(2); Green = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(4); + translatorBlock = this.getRequiredTranslatorBlockAtSocket(3); Blue = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - String ret = "strip_pin"+Pin+".setPixelColor("+Pixel_Nb+","+Red+" ,"+Green+" ,"+Blue+" );\n"; + String ret = "strip.setPixelColor("+Pixel_Nb+","+Red+" ,"+Green+" ,"+Blue+" );\n strip.show();\n"; return codePrefix + ret + codeSuffix; diff --git a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java index bcb15ab..ff6d69d 100644 --- a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java +++ b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java @@ -15,23 +15,23 @@ public NeopixelInitBlock (Long blockId, Translator translator, String codePrefix //@Override public String toCode() throws SocketNullException, SubroutineNotDeclaredException { - String Pin ; + //String Pin ; String NbLed; - String NEO_KHZ; - String NEO_MODE; + //String NEO_KHZ; + //String NEO_MODE; TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0); - Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); + //Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); + //translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); NbLed = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(2); - NEO_KHZ = translatorBlock.toCode().replaceAll("\"", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(3); - NEO_MODE = translatorBlock.toCode().replaceAll("\"", ""); + //translatorBlock = this.getRequiredTranslatorBlockAtSocket(2); + //NEO_KHZ = translatorBlock.toCode().replaceAll("\"", ""); + //translatorBlock = this.getRequiredTranslatorBlockAtSocket(3); + //NEO_MODE = translatorBlock.toCode().replaceAll("\"", ""); translator.addHeaderFile("Adafruit_NeoPixel.h"); - translator.addDefinitionCommand("Adafruit_NeoPixel strip_pin"+Pin+" = Adafruit_NeoPixel("+NbLed+","+ Pin +", " +NEO_MODE+ " + "+NEO_KHZ +");"); - translator.addSetupCommand("strip_pin"+Pin+".begin();\n" + - "strip_pin"+Pin+".show();"); + translator.addDefinitionCommand("Adafruit_NeoPixel strip= Adafruit_NeoPixel("+NbLed+", 0, NEO_RGB + NEO_KHZ800);");//,"+ Pin +", " +NEO_MODE+ " + "+NEO_KHZ +");"); + translator.addSetupCommand("strip.begin();\n" + + "strip.show();"); return "" ; diff --git a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml index f6d1490..1c5bd7e 100644 --- a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml +++ b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml @@ -511,22 +511,22 @@ neopixel_init - - + --> - - + --> @@ -539,25 +539,25 @@ neopixel_pixel_colorRGB - - + --> - + - + - + @@ -2442,9 +2442,24 @@ LGI_Qtouch_Button3_getRaw - - + + + neopixel_init + neopixel_pixel_color + + repeat_times + repeat_control + delay + + + + if + ifelse + while + + loop @@ -2489,7 +2504,6 @@ interrupt - pin-write-digital pin-write-analog @@ -2793,4 +2807,4 @@ com/ardublock/block/trash.png - \ No newline at end of file + diff --git a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties index 0a3c2ea..2f5cd90 100644 --- a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties +++ b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties @@ -114,6 +114,10 @@ bc.pwm_pin_number=~Pin bc.value=Wert bc.variable=Variable +#TETRAPIX +#**************************** +bd.tetrapix=Tetrapix + #CONTROL #**************************** bd.control=Steuerung diff --git a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties index eca7351..0a172e1 100644 --- a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties +++ b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties @@ -84,6 +84,10 @@ bc.pwm_pin_number=~pin# bc.value=value bc.variable=variable +#TETRAPIX +#**************************** +bd.tetrapix=Tetrapix + #CONTROL #**************************** bd.control=Control diff --git a/openblocks-master/openblocks-master/bin/.gitignore b/openblocks-master/openblocks-master/bin/.gitignore new file mode 100644 index 0000000..f263319 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/.gitignore @@ -0,0 +1,9 @@ +build/ +target/ +.DS_Store +.classpath +.idea +.project +.settings +openblocks.iml + diff --git a/openblocks-master/openblocks-master/bin/LICENSE.MIT b/openblocks-master/openblocks-master/bin/LICENSE.MIT new file mode 100644 index 0000000..22726b7 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/LICENSE.MIT @@ -0,0 +1,26 @@ +MIT LICENSE + +Copyright (c) 2009 + +MIT Scheller Teacher Education Program + +Eric Klopfer, Daniel Wendel, Ricarose Roque, Corey McCaffrey, Lunduo Ye, Aidan Ho, Brett Warne, Xudan +Liu, Hout Nga + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/openblocks-master/openblocks-master/bin/LICENSE.jfree b/openblocks-master/openblocks-master/bin/LICENSE.jfree new file mode 100644 index 0000000..65c5ca8 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/LICENSE.jfree @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/openblocks-master/openblocks-master/bin/README.md b/openblocks-master/openblocks-master/bin/README.md new file mode 100644 index 0000000..d293fa6 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/README.md @@ -0,0 +1,57 @@ +OpenBlocks refactoring branch +============================= + +This is a fork of [MIT OpenBlocks](http://education.mit.edu/drupal/openblocks) +(covered by the MIT license) for refactoring purposes. + +The principal objective of the fork is to make the code more amenable to inclusion to other projects. + +Getting Started: +------ + $ mvn clean package + $ mvn exec:java -Dexec.mainClass="edu.mit.blocks.controller.WorkspaceController" -Dexec.args="support/lang_def.xml" + +To do: +------ + +* upgrade code maintainability from the academic baseline to the commercial baseline +* replace static singletons with contexts and instances +* separate the model from the UI + +Done: +----- + +* move the various project packages from the main namespace to under the ``edu.mit.blocks`` package +* refactor out functionality such as network communication +* remove dependency to TableLayout, which doesn't appear to be actively maintained, + and really not even used in a very complex manner + +Contributors: +------------- + +In order of first appearance on commit logs: + +* The original MIT team: Eric Klopfer, Daniel Wendel, Ricarose Roque, Corey McCaffrey, Lunduo Ye, Aidan Ho, Brett Warne, Xudan Liu, Hout Nga +* Mikael Gueck (https://github.com/mikaelhg) +* David Li (https://github.com/taweili) +* Philippe Cade (https://github.com/philippecade) +* Tony Graham / MenteaXML (https://github.com/MenteaXML) + + + + +Changes by letsgoING +===================== +Contact: info@letsgoing.de +Source: github.com/letsgoing + +added Option to change Menu +changes: +- in loadBlockDrawerSets() added drawerType param + filter (PageDrawerLoadingUtils.java Line 185 + 201 + 211-214 + 232) +- in loadWorkspaceFrom() added drawerType param (Workspace.java line 836 + 843 + 849 + 855) +- in loadWorkspaceFrom() added drawerType param (WorkspaceController.java line 415 + 433 + 460 + 502) +- in loadProject() added drawerType param and moved workspace.loadWorkspaceFrom() in if/else (WorkspaceController.java line 499 + 516 + 519) +other changes: +- in mouseReleased() added clone functionality by rightClick + CTRL (RenderableBlock.java line 1917 - 1921) +- in Page() removed "add collapse Button" (Page.java line 176) +- in paintComponent() removed "paint label" (Page.java line 1150 - 1166) \ No newline at end of file diff --git a/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.graffle b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.graffle new file mode 100644 index 0000000..4a7f3c2 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.graffle @@ -0,0 +1,3334 @@ + + + + + CanvasColor + + a + 1 + w + 1 + + ColumnAlign + 0 + ColumnSpacing + 36 + GraphDocumentVersion + 2 + GraphicsList + + + Bounds + {{323.333, 1007.33}, {54, 20}} + Class + ShapedGraphic + FitText + YES + ID + 310 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 extends} + + + + Bounds + {{323.333, 944.333}, {54, 20}} + Class + ShapedGraphic + FitText + YES + ID + 309 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 extends} + + + + Class + LineGraphic + Head + + ID + 298 + + ID + 308 + Points + + {373.497, 117} + {373.499, 153} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 202 + + + + Class + LineGraphic + Head + + ID + 298 + + ID + 307 + Points + + {288, 180.291} + {333, 180.138} + + Style + + stroke + + HeadArrow + Arrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 304 + + + + Class + LineGraphic + Head + + ID + 298 + + ID + 306 + Points + + {373.496, 243} + {373.498, 207} + + Style + + stroke + + HeadArrow + Arrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 301 + + + + Class + LineGraphic + Head + + ID + 205 + + ID + 305 + Points + + {333, 270.161} + {288, 270.076} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 301 + + + + Class + Group + Graphics + + + Bounds + {{207, 162}, {81, 45}} + Class + ShapedGraphic + ID + 303 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 SocketRule} + + + + Bounds + {{207, 153}, {81, 54}} + Class + ShapedGraphic + ID + 304 + Shape + Rectangle + + + ID + 302 + + + Class + Group + Graphics + + + Bounds + {{333, 252}, {81, 45}} + Class + ShapedGraphic + ID + 300 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 SLRule} + + + + Bounds + {{333, 243}, {81, 54}} + Class + ShapedGraphic + ID + 301 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 299 + + + Class + Group + Graphics + + + Bounds + {{333, 162}, {81, 36}} + Class + ShapedGraphic + ID + 297 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 LinkRule} + + + + Bounds + {{333, 153}, {81, 54}} + Class + ShapedGraphic + ID + 298 + Shape + Rectangle + + + ID + 296 + + + Bounds + {{387, 18}, {243, 24}} + Class + ShapedGraphic + FitText + Vertical + ID + 295 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\b\fs28 \cf0 Front End Redesign MDD - 8/8/06} + + + + Class + Group + Graphics + + + Bounds + {{54, 162}, {81, 45}} + Class + ShapedGraphic + ID + 293 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Language\ +Dependent} + + + + Bounds + {{54, 153}, {81, 54}} + Class + ShapedGraphic + ID + 294 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 292 + + + Class + LineGraphic + Head + + ID + 278 + + ID + 291 + Points + + {157.5, 954} + {157.5, 486} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 286 + + + + Class + LineGraphic + Head + + ID + 180 + + ID + 290 + Points + + {630, 994.47} + {576, 1012.49} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 239 + + + + Class + LineGraphic + Head + + ID + 183 + + ID + 289 + Points + + {495, 1026} + {459, 1026} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 180 + + + + Class + LineGraphic + Head + + ID + 242 + + ID + 288 + Points + + {378, 1012.48} + {324, 994.493} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 183 + + + + Class + LineGraphic + Head + + ID + 242 + + ID + 287 + Points + + {198, 981} + {243, 981} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 286 + + + + Class + Group + Graphics + + + Bounds + {{117, 963}, {81, 45}} + Class + ShapedGraphic + ID + 285 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 BreedDrawer\ +Populator} + + + + Bounds + {{117, 954}, {81, 54}} + Class + ShapedGraphic + ID + 286 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 284 + + + Class + LineGraphic + Head + + ID + 177 + + ID + 283 + Points + + {630, 970.187} + {576, 955.794} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 239 + + + + Class + LineGraphic + Head + + ID + 174 + + ID + 282 + Points + + {495, 945} + {459, 945} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 177 + + + + Class + LineGraphic + Head + + ID + 242 + + ID + 281 + Points + + {378, 955.813} + {324, 970.206} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 174 + + + + Class + LineGraphic + Head + + ID + 199 + + ID + 280 + Points + + {389.457, 351} + {474.546, 207} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 189 + + + + Class + LineGraphic + Head + + ID + 278 + + ID + 279 + Points + + {450, 459} + {198, 459} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 220 + + + + Class + Group + Graphics + + + Bounds + {{117, 441}, {81, 36}} + Class + ShapedGraphic + ID + 277 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Workspace\ +Listener} + + + + Bounds + {{117, 432}, {81, 54}} + Class + ShapedGraphic + ID + 278 + Shape + Rectangle + + + ID + 276 + + + Class + LineGraphic + Head + + ID + 220 + + ID + 275 + Points + + {604.305, 207} + {502.693, 432} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 232 + + + + Class + LineGraphic + Head + + ID + 199 + + ID + 274 + Points + + {490.5, 432} + {490.5, 207} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 220 + + + + Class + LineGraphic + Head + + ID + 171 + + ID + 273 + Points + + {616.584, 153} + {616.536, 117} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 232 + + + + Class + LineGraphic + Head + + ID + 271 + + ID + 272 + Points + + {657, 158.307} + {693, 138.869} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 232 + + + + Class + Group + Graphics + + + Bounds + {{693, 99}, {81, 45}} + Class + ShapedGraphic + ID + 270 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Dummy\ +Renderable\ +Block} + + + + Bounds + {{693, 90}, {81, 54}} + Class + ShapedGraphic + ID + 271 + Shape + Rectangle + + + ID + 269 + + + Class + LineGraphic + Head + + ID + 267 + + ID + 268 + Points + + {657, 189.42} + {693, 197.693} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 232 + + + + Class + Group + Graphics + + + Bounds + {{693, 189}, {81, 45}} + Class + ShapedGraphic + ID + 266 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 BlockShape} + + + + Bounds + {{693, 180}, {81, 54}} + Class + ShapedGraphic + ID + 267 + Shape + Rectangle + + + ID + 265 + + + Class + LineGraphic + Head + + ID + 263 + + ID + 264 + Points + + {450, 730.431} + {333, 682.568} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + Group + Graphics + + + Bounds + {{252, 648}, {81, 45}} + Class + ShapedGraphic + ID + 262 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 TrashCan} + + + + Bounds + {{252, 639}, {81, 54}} + Class + ShapedGraphic + ID + 263 + Shape + Rectangle + + + ID + 261 + + + Class + LineGraphic + Head + + ID + 259 + + ID + 260 + Points + + {531, 753.398} + {621, 767.606} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + Group + Graphics + + + Bounds + {{621, 756}, {81, 45}} + Class + ShapedGraphic + ID + 258 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 ZoomSlider} + + + + Bounds + {{621, 747}, {81, 54}} + Class + ShapedGraphic + ID + 259 + Shape + Rectangle + + + ID + 257 + + + Class + LineGraphic + Head + + ID + 251 + + ID + 256 + Points + + {450, 745.442} + {297, 739.558} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + LineGraphic + Head + + ID + 248 + + ID + 255 + Points + + {450, 760.486} + {342, 796.496} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + LineGraphic + Head + + ID + 245 + + ID + 254 + Points + + {531, 732.082} + {621, 698.922} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + LineGraphic + Head + + ID + 242 + + ID + 253 + Points + + {466.613, 774} + {307.384, 954} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + LineGraphic + Head + + ID + 239 + + ID + 252 + Points + + {511.267, 774} + {649.73, 954} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + Group + Graphics + + + Bounds + {{216, 720}, {81, 45}} + Class + ShapedGraphic + ID + 250 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Context\ +Menu} + + + + Bounds + {{216, 711}, {81, 54}} + Class + ShapedGraphic + ID + 251 + Shape + Rectangle + + + ID + 249 + + + Class + Group + Graphics + + + Bounds + {{261, 792}, {81, 45}} + Class + ShapedGraphic + ID + 247 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 MiniMap} + + + + Bounds + {{261, 783}, {81, 54}} + Class + ShapedGraphic + ID + 248 + Shape + Rectangle + + + ID + 246 + + + Class + Group + Graphics + + + Bounds + {{621, 666}, {81, 45}} + Class + ShapedGraphic + ID + 244 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 SearchBar} + + + + Bounds + {{621, 657}, {81, 54}} + Class + ShapedGraphic + ID + 245 + Shape + Rectangle + + + ID + 243 + + + Class + Group + Graphics + + + Bounds + {{243, 963}, {81, 45}} + Class + ShapedGraphic + ID + 241 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 BlockDrawer} + + + + Bounds + {{243, 954}, {81, 54}} + Class + ShapedGraphic + ID + 242 + Shape + Rectangle + + + ID + 240 + + + Class + Group + Graphics + + + Bounds + {{630, 963}, {81, 45}} + Class + ShapedGraphic + ID + 238 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Bar} + + + + Bounds + {{630, 954}, {81, 54}} + Class + ShapedGraphic + ID + 239 + Shape + Rectangle + + + ID + 237 + + + Class + LineGraphic + Head + + ID + 220 + + ID + 236 + Points + + {490.499, 720} + {490.5, 486} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 235 + + + + Class + Group + Graphics + + + Bounds + {{450, 729}, {81, 36}} + Class + ShapedGraphic + ID + 234 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Workspace\ +Widget} + + + + Bounds + {{450, 720}, {81, 54}} + Class + ShapedGraphic + ID + 235 + Shape + Rectangle + + + ID + 233 + + + Class + Group + Graphics + + + Bounds + {{576, 162}, {81, 45}} + Class + ShapedGraphic + ID + 231 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Renderable\ +Block} + + + + Bounds + {{576, 153}, {81, 54}} + Class + ShapedGraphic + ID + 232 + Shape + Rectangle + + + ID + 230 + + + Class + LineGraphic + Head + + ID + 192 + + ID + 229 + Points + + {531, 446.115} + {648, 408.887} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 220 + + + + Class + LineGraphic + Head + + ID + 199 + + ID + 228 + Points + + {490.284, 117} + {490.408, 153} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 211 + + + + Class + LineGraphic + Head + + ID + 232 + + ID + 227 + Points + + {531, 180} + {576, 180} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 199 + + + + Class + LineGraphic + Head + + ID + 196 + + ID + 226 + Points + + {531, 483.798} + {612, 533.266} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 220 + + + + Class + LineGraphic + Head + + ID + 220 + + ID + 225 + Points + + {612.872, 351} + {521.093, 432} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 217 + + + + Class + LineGraphic + Head + + ID + 208 + + ID + 224 + Points + + {450.047, 486} + {396, 522.014} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 220 + + + + Class + LineGraphic + Head + + ID + 202 + + ID + 223 + Points + + {455.494, 153} + {408.64, 117} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 199 + + + + Class + LineGraphic + Head + + ID + 214 + + ID + 222 + Points + + {181.637, 432} + {205.569, 405} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 278 + + + + Class + LineGraphic + Head + + ID + 189 + + ID + 221 + Points + + {198, 443.817} + {333, 393.189} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 278 + + + + Class + Group + Graphics + + + Bounds + {{450, 441}, {81, 45}} + Class + ShapedGraphic + ID + 219 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Workspace} + + + + Bounds + {{450, 432}, {81, 54}} + Class + ShapedGraphic + ID + 220 + Shape + Rectangle + + + ID + 218 + + + Class + Group + Graphics + + + Bounds + {{603, 306}, {81, 45}} + Class + ShapedGraphic + ID + 216 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Focus\ +Manager} + + + + Bounds + {{603, 297}, {81, 54}} + Class + ShapedGraphic + ID + 217 + Shape + Rectangle + + + ID + 215 + + + Class + Group + Graphics + + + Bounds + {{189, 360}, {81, 45}} + Class + ShapedGraphic + ID + 213 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Reundo\ +Manager} + + + + Bounds + {{189, 351}, {81, 54}} + Class + ShapedGraphic + ID + 214 + Shape + Rectangle + + + ID + 212 + + + Class + Group + Graphics + + + Bounds + {{450, 72}, {81, 45}} + Class + ShapedGraphic + ID + 210 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 BlockGenus} + + + + Bounds + {{450, 63}, {81, 54}} + Class + ShapedGraphic + ID + 211 + Shape + Rectangle + + + ID + 209 + + + Class + Group + Graphics + + + Bounds + {{315, 531}, {81, 45}} + Class + ShapedGraphic + ID + 207 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Workspace\ +Builder} + + + + Bounds + {{315, 522}, {81, 54}} + Class + ShapedGraphic + ID + 208 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 206 + + + Class + Group + Graphics + + + Bounds + {{207, 252}, {81, 45}} + Class + ShapedGraphic + ID + 204 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Block\ +Properties} + + + + Bounds + {{207, 243}, {81, 54}} + Class + ShapedGraphic + ID + 205 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 203 + + + Class + Group + Graphics + + + Bounds + {{333, 72}, {81, 45}} + Class + ShapedGraphic + ID + 201 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Block\ +LinkChecker} + + + + Bounds + {{333, 63}, {81, 54}} + Class + ShapedGraphic + ID + 202 + Shape + Rectangle + + + ID + 200 + + + Class + Group + Graphics + + + Bounds + {{450, 162}, {81, 45}} + Class + ShapedGraphic + ID + 198 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Block} + + + + Bounds + {{450, 153}, {81, 54}} + Class + ShapedGraphic + ID + 199 + Shape + Rectangle + + + ID + 197 + + + Class + Group + Graphics + + + Bounds + {{612, 540}, {81, 45}} + Class + ShapedGraphic + ID + 195 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Page} + + + + Bounds + {{612, 531}, {81, 54}} + Class + ShapedGraphic + ID + 196 + Shape + Rectangle + + + ID + 194 + + + Class + LineGraphic + Head + + ID + 220 + + ID + 193 + Points + + {639, 480.22} + {531, 464.787} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 186 + + + + Class + Group + Graphics + + + Bounds + {{648, 378}, {81, 45}} + Class + ShapedGraphic + ID + 191 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Keyboard\ +Shortcut\ +Manager} + + + + Bounds + {{648, 369}, {81, 54}} + Class + ShapedGraphic + ID + 192 + Shape + Rectangle + + + ID + 190 + + + Class + Group + Graphics + + + Bounds + {{333, 360}, {81, 45}} + Class + ShapedGraphic + ID + 188 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Block\ +Compiler} + + + + Bounds + {{333, 351}, {81, 54}} + Class + ShapedGraphic + ID + 189 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 187 + + + Class + Group + Graphics + + + Bounds + {{639, 468}, {81, 45}} + Class + ShapedGraphic + ID + 185 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 PageDivider} + + + + Bounds + {{639, 459}, {81, 54}} + Class + ShapedGraphic + ID + 186 + Shape + Rectangle + + + ID + 184 + + + Class + Group + Graphics + + + Bounds + {{378, 1008}, {81, 45}} + Class + ShapedGraphic + ID + 182 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Page\ +BlockDrawer} + + + + Bounds + {{378, 999}, {81, 54}} + Class + ShapedGraphic + ID + 183 + Shape + Rectangle + + + ID + 181 + + + Class + Group + Graphics + + + Bounds + {{495, 1008}, {81, 45}} + Class + ShapedGraphic + ID + 179 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 PageButton} + + + + Bounds + {{495, 999}, {81, 54}} + Class + ShapedGraphic + ID + 180 + Shape + Rectangle + + + ID + 178 + + + Class + Group + Graphics + + + Bounds + {{495, 927}, {81, 45}} + Class + ShapedGraphic + ID + 176 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Category\ +Button} + + + + Bounds + {{495, 918}, {81, 54}} + Class + ShapedGraphic + ID + 177 + Shape + Rectangle + + + ID + 175 + + + Class + Group + Graphics + + + Bounds + {{378, 927}, {81, 45}} + Class + ShapedGraphic + ID + 173 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Factory\ +BlockDrawer} + + + + Bounds + {{378, 918}, {81, 54}} + Class + ShapedGraphic + ID + 174 + Shape + Rectangle + + + ID + 172 + + + Class + Group + Graphics + + + Bounds + {{576, 72}, {81, 45}} + Class + ShapedGraphic + ID + 170 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 BlockLabel} + + + + Bounds + {{576, 63}, {81, 54}} + Class + ShapedGraphic + ID + 171 + Shape + Rectangle + + + ID + 169 + + + Bounds + {{67, 6}, {46, 29}} + Class + ShapedGraphic + FitText + YES + ID + 168 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\b\fs34 \cf0 KEY} + + + + Bounds + {{43, 52}, {44, 20}} + Class + ShapedGraphic + FitText + YES + ID + 167 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 meets} + + + + Bounds + {{46, 111}, {37, 20}} + Class + ShapedGraphic + FitText + YES + ID + 166 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 uses} + + + + Class + LineGraphic + ID + 165 + Points + + {27, 27} + {27, 81} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + + + Class + Group + Graphics + + + Bounds + {{108, 99}, {81, 45}} + Class + ShapedGraphic + ID + 163 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Module} + + + + Bounds + {{108, 90}, {81, 54}} + Class + ShapedGraphic + ID + 164 + Shape + Rectangle + + + ID + 162 + + + Class + Group + Graphics + + + Bounds + {{108, 36}, {81, 36}} + Class + ShapedGraphic + ID + 160 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Specification} + + + + Bounds + {{108, 27}, {81, 54}} + Class + ShapedGraphic + ID + 161 + Shape + Rectangle + + + ID + 159 + + + Class + LineGraphic + ID + 158 + Points + + {27.002, 90} + {27, 144} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + FilledArrow + + + + + Bounds + {{-0, -0}, {198, 216}} + Class + ShapedGraphic + ID + 157 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-0.483333, 0.0166667} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Pattern + 1 + + + + + GridInfo + + HPages + 1 + ImageCounter + 11 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + AutoAdjust + YES + MagneticFieldCenter + {0, 0} + + MagnetsEnabled + YES + PageBreakColor + + a + 1 + w + 0.666667 + + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkUTlNWZXJ0aWNhbFBhZ2luYXRpb26GkoSEhAhOU051bWJlcgCdm4SXlwCG + koSZmQ5OU1BNUGFnZUZvcm1hdIaShISEDU5TTXV0YWJsZURhdGEAhIQGTlNEYXRhAJSX + gSK1hAdbODg4NWNdPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K + PCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElT + VCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt + MS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhZ2VGb3JtYXQuRm9ybWF0dGluZ1ByaW50ZXI8L2tleT4KCTxkaWN0 + PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20u + YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRp + Y3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LkZvcm1hdHRpbmdQ + cmludGVyPC9rZXk+CgkJCQk8c3RyaW5nPkhQX0xhc2VySmV0XzgxNTBfU2VyaWVzPC9z + dHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+ + CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0 + ZT4yMDA2LTA4LTA3VDE2OjUzOjMyWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+ + CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJp + bnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxkaWN0PgoJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0cmluZz5jb20u + YXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRpY3Q+CgkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpvbnRhbFJlczwva2V5 + PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFn + ZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRl + PC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA0LTA0VDA4OjQ5OjQ2WjwvZGF0ZT4KCQkJCTxr + ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRl + Z2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtl + eT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+Cgk8 + ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ + CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJ + CTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVu + dGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwNi0wOC0wN1QxNjo1Mzoz + Mlo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFn + PC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9hcnJh + eT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1TY2Fs + aW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjAuNjc4NjA1MDc5NjUwODc4OTE8 + L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+ + CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0 + ZT4yMDA2LTA4LTA3VDE2OjUzOjQxWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+ + CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJp + bnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFw + cGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJ + CQk8cmVhbD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + bGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tl + eT4KCQkJCTxkYXRlPjIwMDYtMDQtMDRUMDg6NDk6NDZaPC9kYXRlPgoJCQkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+ + MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNv + bS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8 + ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ + CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJ + CTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRp + Y2FsU2NhbGluZzwva2V5PgoJCQkJPHJlYWw+MC42Nzg2MDUwNzk2NTA4Nzg5MTwvcmVh + bD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJ + CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIw + MDYtMDgtMDdUMTY6NTM6NDFaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJ + PC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5z + dWJUaWNrZXQucGFwZXJfaW5mb190aWNrZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29t + LmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJ + PGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+ + CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJh + eT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4w + LjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+MTE1My44 + Mzc1MTY4MTE0NDA1PC9yZWFsPgoJCQkJCQk8cmVhbD44ODcuMTEzOTAxODE0MTU5OTM8 + L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5h + Z2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERh + dGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA4LTA4VDE4OjM0OjExWjwvZGF0ZT4KCQkJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJ + PGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2Rp + Y3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFw + ZXJSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdl + cjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5 + PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJh + eT4KCQkJCQkJPHJlYWw+LTguODQxNjY2Nzk1NDg5OTY1NTwvcmVhbD4KCQkJCQkJPHJl + YWw+LTUuODk0NDQ0NTMwMzI2NjQzOTwvcmVhbD4KCQkJCQkJPHJlYWw+MTE1OC4yNTgz + NTAyMDkxODU0PC9yZWFsPgoJCQkJCQk8cmVhbD44OTUuOTU1NTY4NjA5NjQ5ODQ8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA4LTA4VDE4OjM0OjExWjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNQ3VzdG9tUGFwZXI8L2tl + eT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8 + L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+ + CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJ + PGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJ + bmZvLlBNQ3VzdG9tUGFwZXI8L2tleT4KCQkJCQk8ZmFsc2UvPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5h + cHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5w + cmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDgtMDdUMTY6 + NTM6MzJaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0 + ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJ + CQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlcklu + Zm8uUE1QYXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRp + bmdtYW5hZ2VyPC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5p + dGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJOYW1lPC9rZXk+CgkJCQkJPHN0cmlu + Zz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5h + Z2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERh + dGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA4LTA3VDE2OjUzOjMyWjwvZGF0ZT4KCQkJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJ + PGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2Rp + Y3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBh + Z2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdl + cjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5 + PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCQkJCTxhcnJh + eT4KCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJ + CQkJCTxyZWFsPjc4MzwvcmVhbD4KCQkJCQkJPHJlYWw+NjAyPC9yZWFsPgoJCQkJCTwv + YXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5 + PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJ + CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJ + PGRhdGU+MjAwNi0wOC0wN1QxNjo1MzozMlo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2lu + dGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29t + LmFwcGxlLnByaW50LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYXBlclJlY3Q8L2tleT4K + CQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tl + eT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFy + cmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJl + YWw+LTY8L3JlYWw+CgkJCQkJCTxyZWFsPi00PC9yZWFsPgoJCQkJCQk8cmVhbD43ODY8 + L3JlYWw+CgkJCQkJCTxyZWFsPjYwODwvcmVhbD4KCQkJCQk8L2FycmF5PgoJCQkJCTxr + ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDgt + MDdUMTY6NTM6MzJaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPC9k + aWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5Q + YXBlckluZm8ucHBkLlBNUGFwZXJOYW1lPC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFw + cGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tl + eT4KCQkJCQk8c3RyaW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50 + aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDgtMDdUMTY6NTM6MzJa + PC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8 + L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2Fy + cmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuQVBJVmVy + c2lvbjwva2V5PgoJCTxzdHJpbmc+MDAuMjA8L3N0cmluZz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQucHJpdmF0ZUxvY2s8L2tleT4KCQk8ZmFsc2UvPgoJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+CgkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnQuUGFwZXJJbmZvVGlja2V0PC9zdHJpbmc+Cgk8L2RpY3Q+Cgk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQuQVBJVmVyc2lvbjwva2V5PgoJPHN0cmluZz4wMC4y + MDwvc3RyaW5nPgoJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnByaXZhdGVMb2Nr + PC9rZXk+Cgk8ZmFsc2UvPgoJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnR5cGU8 + L2tleT4KCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXRUaWNrZXQ8L3N0 + cmluZz4KPC9kaWN0Pgo8L3BsaXN0PgqGkoSZmRROU1ZlcnRpY2FsbHlDZW50ZXJlZIaS + hKGbopcBhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQhOU0NvcGllc4aSqJKEmZkL + TlNQYXBlck5hbWWGkoSZmQZMZXR0ZXKGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SE + AWahgz8tuRCGkoSZmQlOU1ByaW50ZXKGkoSEhAlOU1ByaW50ZXIAlJKEmZkKMTguOTAu + Mi45MIaGkoSZmQ1OU1JpZ2h0TWFyZ2luhpKEoZuvoSSGkoSZmRVOU0hvcml6b25hbFBh + Z2luYXRpb26GkqCShJmZGU5TUHJpbnRSZXZlcnNlT3JpZW50YXRpb26GkqCShJmZDk5T + Qm90dG9tTWFyZ2luhpKEoZuvoSSGkoSZmQxOU0xlZnRNYXJnaW6GkoShm6+hJIaShJmZ + C05TVG9wTWFyZ2luhpKEoZuvoSSGkoSZmQpOU0xhc3RQYWdlhpKEoZuil4J/////hpKE + mZkLTlNGaXJzdFBhZ2WGkqiShJmZFk5TSG9yaXpvbnRhbGx5Q2VudGVyZWSGkqiShJmZ + DU5TT3JpZW50YXRpb26GkqCGhg== + + RowAlign + 0 + RowSpacing + 36 + VPages + 1 + WindowInfo + + Frame + {{10, 4}, {785, 828}} + VisibleRegion + {{-115, 0}, {1026.67, 1001.33}} + Zoom + 0.75 + + + diff --git a/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.pdf b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c0eeb16c0b482e28a3f2cc66df6da7ea0ab551a8 GIT binary patch literal 32671 zcmagF19WCVvo4&8ZS##Yv2EM7ZQGvMwmGqFOzdQ0YhvTie7NU3|GDejz1G`ZU0vN> zt*2}6w~JI>Sd@l=mI<14@Zjd)tn@Z-W^fpq5kL>HGqi-}<_6G7o7kE;n**4?Sc(8T zQ44El6UVRE+Q8XF*u==r*aX1K3+?3WXkuUk?Y>s+Bhi4{7JrD>Llip?VPc?HQ<3m8 zL)nl*(a@Ze!y#W)>Y3$9BBgDr`RV)SBn*leKPnDXt1i+IrC$;Tf!j^@G;%PV>Zctw z@;NmwHFI~*Hth3 zL;rk{-G*48gN&f4{cY;0vW1lbX4J0-EME%wJPGaRLI{f2 z*>hJbg6I#JXK}asiM~@&43881lm-yXICWoKQeijuYT^XTe4&u+DfJN%J`S@lDw9=9 z&VpqTA?RaQOwzv^z)`8v9~e|uR?pNZl}16=dd#5Ux@KdeW9RN&ymxsseFb7V9`MSIz4r*b)A ze)8-dllfQr7~$wk%S2f&=KaO=yy#P6N`X8AGP)N++z9OVWL1`8JOzSYcI0Gz60~BA zE^%@Nqt*=L$WC^zL{2zo^HOxg_&a%zL|M_MxVNHi)ByQLOu|70Q7}m2WEfZ?OC51T zFOEgag5n2QAw3CMQMU04AcL#|x^KdO

oJ4f#dwLdUgeM@tbEixZKen8GSeg=Buv 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

+b>x<~fCz)bJ{`O~3#EIg-M~C=c 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 QFmnM|;K<3vO#lD@ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.graffle b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.graffle new file mode 100644 index 0000000..690e2cd --- /dev/null +++ b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.graffle @@ -0,0 +1,4725 @@ + + + + + CanvasColor + + a + 1 + w + 1 + + ColumnAlign + 0 + ColumnSpacing + 36 + GraphDocumentVersion + 2 + GraphicsList + + + Bounds + {{441, 18}, {270, 24}} + Class + ShapedGraphic + FitText + Vertical + ID + 65 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\b\fs28 \cf0 Example Stack Tree Structure - 8/8/06} + + + + Class + LineGraphic + Head + + ID + 30 + + ID + 64 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {999, 737.208} + {924.3, 735.564} + {855, 701.629} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 60 + + + + Bounds + {{1008, 792}, {54, 36}} + Class + ShapedGraphic + ID + 63 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 63 + + ID + 62 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {1035, 756} + {1035, 792} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 60 + + + + Class + LineGraphic + Head + + ID + 60 + + ID + 61 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[1]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {855, 693} + {999, 729} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 30 + + + + Bounds + {{999, 720}, {72, 36}} + Class + ShapedGraphic + ID + 60 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 50} + + + + Class + LineGraphic + Head + + ID + 30 + + ID + 59 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {1008, 612} + {927, 666} + {855, 678} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 55 + + + + Bounds + {{1008, 648}, {54, 36}} + Class + ShapedGraphic + ID + 58 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 58 + + ID + 57 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {1035, 612} + {1035, 648} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 55 + + + + Class + LineGraphic + Head + + ID + 55 + + ID + 56 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {855, 669} + {999, 609} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 30 + + + + Bounds + {{999, 576}, {72, 36}} + Class + ShapedGraphic + ID + 55 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 2} + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 54 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {792, 199.037} + {720, 183.11} + {654.505, 135} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 50 + + + + Bounds + {{801, 261}, {54, 36}} + Class + ShapedGraphic + ID + 53 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 53 + + ID + 52 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {828, 225} + {828, 261} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 50 + + + + Class + LineGraphic + Head + + ID + 50 + + ID + 51 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[1]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {666, 133.363} + {792, 190.636} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Bounds + {{792, 189}, {72, 36}} + Class + ShapedGraphic + ID + 50 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 global number} + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 49 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {792, 72} + {720, 72} + {666, 99} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 45 + + + + Bounds + {{801, 126}, {54, 36}} + Class + ShapedGraphic + ID + 48 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 48 + + ID + 47 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {828, 90} + {828, 126} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 45 + + + + Class + LineGraphic + Head + + ID + 45 + + ID + 46 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {666, 108.817} + {792, 80.1816} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Bounds + {{792, 54}, {72, 36}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 10} + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 44 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.44951796531677246 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {594, 133.696} + {474.75, 189} + {409.125, 279} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Bounds + {{603, 405}, {54, 36}} + Class + ShapedGraphic + ID + 43 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 43 + + ID + 42 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {630, 369} + {630, 405} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 16 + + + + Class + LineGraphic + Head + + ID + 29 + + ID + 41 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.47371092438697815 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {625, 549} + {639, 612} + {625.5, 666} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 23 + + + + Class + LineGraphic + Head + + ID + 23 + + ID + 40 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5272936224937439 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {614.25, 666} + {594, 612} + {615, 549} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 29 + + + + Bounds + {{594, 747}, {54, 36}} + Class + ShapedGraphic + ID + 39 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 39 + + ID + 38 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {621, 702} + {621, 747} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 29 + + + + Bounds + {{792, 747}, {54, 36}} + Class + ShapedGraphic + ID + 37 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 37 + + ID + 36 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {819, 702} + {819, 747} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 30 + + + + Class + LineGraphic + Head + + ID + 29 + + ID + 35 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.48949447274208069 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {783, 675.692} + {702, 657} + {657, 672} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 30 + + + + Class + LineGraphic + Head + + ID + 16 + + ID + 34 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {783, 342.692} + {702, 324} + {666, 337.5} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 19 + + + + Class + LineGraphic + Head + + ID + 23 + + ID + 33 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.4976983368396759 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {783, 522} + {711, 504} + {657, 520.2} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 25 + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 32 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5622633695602417 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {612, 513} + {558, 405} + {423, 315} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 23 + + + + Class + LineGraphic + Head + + ID + 30 + + ID + 31 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.62736284732818604 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {657, 683.999} + {783, 684} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 29 + + + + Bounds + {{783, 666}, {72, 36}} + Class + ShapedGraphic + ID + 30 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 atan} + + + + Bounds + {{585, 666}, {72, 36}} + Class + ShapedGraphic + ID + 29 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 set heading} + + + + Bounds + {{792, 585}, {54, 36}} + Class + ShapedGraphic + ID + 28 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 28 + + ID + 27 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {819, 549} + {819, 585} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 25 + + + + Class + LineGraphic + Head + + ID + 25 + + ID + 26 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {657, 530.999} + {783, 531} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 23 + + + + Bounds + {{783, 513}, {72, 36}} + Class + ShapedGraphic + ID + 25 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 1} + + + + Class + LineGraphic + Head + + ID + 23 + + ID + 24 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[2]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.54306554794311523 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {413.308, 315} + {603.692, 513} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{585, 513}, {72, 36}} + Class + ShapedGraphic + ID + 23 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 forward} + + + + Bounds + {{792, 405}, {54, 36}} + Class + ShapedGraphic + ID + 22 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 22 + + ID + 21 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {819, 369} + {819, 405} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 19 + + + + Class + LineGraphic + Head + + ID + 19 + + ID + 20 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {666, 350.999} + {783, 351} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 16 + + + + Bounds + {{783, 333}, {72, 36}} + Class + ShapedGraphic + ID + 19 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 yellow} + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 18 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {594, 333.462} + {519.153, 297} + {432, 297} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 16 + + + + Class + LineGraphic + Head + + ID + 16 + + ID + 17 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[1]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56183552742004395 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {432, 305.307} + {594, 342.692} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{594, 333}, {72, 36}} + Class + ShapedGraphic + ID + 16 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 set color} + + + + Bounds + {{603, 171}, {54, 36}} + Class + ShapedGraphic + ID + 15 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 15 + + ID + 14 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {630, 135} + {630, 171} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 13 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56183552742004395 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {419.4, 279} + {606.6, 135} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{594, 99}, {72, 36}} + Class + ShapedGraphic + ID + 12 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 equals} + + + + Bounds + {{189, 243}, {54, 36}} + Class + ShapedGraphic + ID + 11 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 11 + + ID + 10 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {216, 180} + {216, 243} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 2 + + + + Class + LineGraphic + Head + + ID + 2 + + ID + 9 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.60074573755264282 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {387.091, 279} + {355.909, 216} + {252, 175.895} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{189, 63}, {54, 36}} + Class + ShapedGraphic + ID + 8 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 8 + + ID + 7 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {216, 144} + {216, 99} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 2 + + + + Bounds + {{369, 378}, {54, 36}} + Class + ShapedGraphic + ID + 6 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 6 + + ID + 5 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {396, 315} + {396, 378} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{360, 279}, {72, 36}} + Class + ShapedGraphic + ID + 4 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 ifelse} + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 3 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.63614857196807861 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {240, 180} + {372, 279} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 2 + + + + Bounds + {{180, 144}, {72, 36}} + Class + ShapedGraphic + ID + 2 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Forever} + + + + Bounds + {{72, 513}, {411, 238}} + Class + ShapedGraphic + ID + 1 + ImageID + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + + GridInfo + + HPages + 1 + ImageCounter + 2 + Images + + + Data + + BAt0eXBlZHN0cmVhbYED6IQBQISEhA1OU011dGFibGVEYXRhAISE + Bk5TRGF0YQCEhAhOU09iamVjdACFhAFpggAAja2ECFszNjI2OWNd + iVBORw0KGgoAAAANSUhEUgAAAZsAAADuCAIAAABgYj1pAAAHX2lD + Q1BJQ0MgUHJvZmlsZQAAeJyNlXk4lHsbx7/PDIas4TikZUTJLktS + IQZDkaGyl2azDjONsbTIVqkoLaekiDYhSdqjcpSihRY5HSKVNkdS + Ttow7x9Pvb3Xed9znff+6/7d1/X8rt/nc32f6wbke9gikYACIDZO + IvZjutADg4LptDbIQAnqsIcsmxsvcmaxvPC3NdQGAgDum7FFIsFz + ObV+kU57uBflYrf7zUbm338HAFAWBwYFAwQdgGYE2dsA0OSQvQcA + zSSJSAIQoQA0uZFsHkCIAJiKF/kxAKIAgEoE2VcAUOGQfS0AlURu + hAQgbgFU9TheVBwg0w1QVXj8eC5AGwBQwBWJJYB8DgCz2FghD5Cv + BTAtMCiYTj6TZwHYmQFUnR+zmFSgKguYpP5jZjgN0A4Hqj7/mA36 + gQBAaLXEh1tbAQAIJRdAtksqHZwK0LYDI9uk0q8HpNKRgwD1EVAn + 4CaIE785Ioi7wD+dSc5vRSUAAlQ5eUVl1bEaP/2sPU53wkS63mSD + KVMNjYxNTM3MLSynW1nb2M6wm2k/a/acOQ6OTnOdXRiurm7uTA9P + z3nz53t5ey9Y4MNi+fr6+S1ctGixv39AYFBQcEjokqVhYcvYHC6P + Hx4RGRUdI4iNjROKlovj4yUJiUlJyStWrFy1anVKyprU1LT09IzM + zLVr161fn7Vhw8aNm7Kzc3I2b9mSu3Xrtm3bd+z4ZefOXXl5u/Pz + 9+zdW1BYuK+ouHj/gQMHDx06XFJypLSsrPzo0YpjxyqPV1WdqD55 + 8tTpM2fPnb9QU3vxUt2v9VcbrjU23bh1u/nO3futD3572N7R2dX9 + 5FnPi1e9ff0Dg0OfpaDI0hRIAVraOrrjJ07Sm6w/ZarhNKMfAv7K + 7+bO9CDpF/j4sP4DPTAoODgkNHTJ0qVhYcvYbA6Hy+Px+eEREZGR + UdHRMaQFoWj5Nw+JpIfVq1PWpKalpWdkZq5dtz4ra8PGTdnZOZu3 + 5OZuJfl35eXtJun3FRWR8IcPlxwpLS0rL/8r+3f4y3X1V642XG9s + unnrdvOdu/daH7Q9/L3jUefj7qfPnr981dvXP/D+z49fpKDIyNEU + FJVUVMeqa2hq/aytM053/ISJk+h6k/UNpkw1NJxmZGxiampmbmFh + Od3K2trGdsYMu5n29rNmz57j4ODo6OQ0d66ziwuD4erq5ubuzvTw + +J4LHxapZvFi0kzIv1PB4fL44WQuYgSkEXG8RJKQmJScvGIlGYu0 + 9PSMTDIT/1NH/p69BQWF+/YVFe/ff+DgwW9hKC8/WnGs8njVieqT + p86cPX+h9uLluvorDdcam27eam65e6+17bffOx51dT/tefHqjzcD + gx+lAPm/AwBVDii6BARpAb5lwJY8wHAzoFUKsJSBRfYgokpALG8B + 4dANKpJBAUBAFkr4CZNhBSbCkIJiNOEzMZ1YTlygKFOiKfepHtQm + mUCZD7L75UJoU2hS+ZcKj8e8VBxRpqv4qm5Re6W+V3Of1iMdJ93y + CcN0Vb0P+q1TKg3XGYWY2Jipm3+1fG81bDvJbpl945wlToYuxm7+ + HuVeBj71C1MDQkJYYaHclRElMR0idQkzOX51btova0s3dG2evm3P + LvU924vGHlx/5HWFRZX3qZlne2pcL82ve3cl65pBY8PN6Gb1OzX3 + eW3KD6s7Fnb2d2c8U3qe/XKkN6zveH/fO41BvQ+aQ68/FX4x/5o/ + 3D7ydrRVuk4qBUABDWqYAHMwEIpVKEIjPhHmhICopoASQDlH1afu + ltGRKZF1lO2R20Xzl9eXH1F4PqZd8ZFSr4qsqrFa8NhSDV3Naq04 + be9xPuPFE0/qaegXTmUZGZpOsDCx8rQVztw+u9TxkHOGK5vpMW+G + tynLeKGFv0OQX6gobBengT8aNVeQI3wa75p4YqVxSlW6+zpseJLT + s42yc0Z+cmH9gTEl88qTKjdWS86YnS+v7bpcU89tULt+5cbK2zYt + A/cqHkQ8pLe3dmZ0Gz299jzgZUevT19V/+g7m0HfD74frT8Nfskd + pozMH+VJvaRSAFQoQgdmYCIKO9BAUAhPooAYpsRQXlOTZLRlbspu + l4ulLZHnKKSMqVR8rzxf5Yza9LEDmjQtnvZb3U0TNejLJucZtBtO + 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 + 5V127yAKACjKYjazAAAUVW8Ti8UKismyW7MsdgeP/GXKZKVCi5wZ + tY5qDBRYLbwoQukbJ3Jm1tdl1blFtDTJSxsn4vJctmNW3ihT95Eh + HrszauvrQRSnlJfazI1uAwTuJl31FgvqKSAg8O/8yzY235BRbdmn + 0ul8fPR+Bl1Q3G20Tkbe9NCSvUd2lJTuL8599eOHNhcW/DP+mU/z + sj7dvGXV6apth7+3l+XbHv7g/ROFR2vLtx1ZHxVz5j00au72f347 + uSVGXrix3lly++uf5RV8vup+6aKP3z958baVJtupUY817spRUXbA + 1Xov1i4HxnDN2agCAgJXpWU7A8peBcePOzCmJVTWR/cszp+0/82L + lvfxYxb8uL5+3tEohUiliFEBAFtprl7y+7N39b9gQ/v4mj1HFL1O + 2F7pbvSe/MiE9x86/ODsMUqRKLt++IszezW+7agqxeTXrXFXG3k0 + lSAaSh5fR7g591uHq0ycaEasn4yvXV5tULnqkaPqgQRfH4prcuf7 + h6vKONG0WL8kZeuKMgsICDSmhamGVHBMTExsbHhoZHy3wLsfnnbe + AvaC5f3EyIaifZbMGQiNmf3MpKExcKkN7e0LYz9efQAAYkZNrQi7 + u7+vCJwnC4xRTW6b/ngk16ircbOem2T0S6Cus9+5m3N/133x20er + 3v36ucd2seZn//5qR8b7e4/NvT/ltYMVVSzZ+M413Re/cLTq7a8X + LdlXkWm5vivbCAh0Li0bo7GFyx54NV8mAwDLpnXdli0FgGN/fGWQ + KYiPzlneJ6uOA4Dl9K61Inn0MVW3YDmcs6E910dIVMK+ud9kPTk4 + 3thvx/s9lACmjN994h66/DaogfNdKUacRUlS9ro7TcywTK5bbHY6 + Lea6s36zBvf0BzBn7juWW1TXN0D5XU5FRrlbLpFOCNf2U7sKJUEU + AEWLa13csZq6tTk1p8xYIZaNCNVM8qfkBK5jmO/z6raVnGuSZgCq + A78QGYVkZ09seXKGiGqHE0idS8DMxTEJCZ0dhYAHaZmiOaq3fbYy + W6UKocEol6s05yzvGf4A2Te+iQWsUqzyFZ84XeEc6isu3Lrs6TX5 + w8eNDgLrgT+PJGny1+1+Pn64f2oqAFg2ffmE5Ym7h+vpS2776zCd + yFzoKlJ0XRZHIAgkdTlZhmHIqAN/j1MCACgjwzSbNuynn/h1waTU + 52TIUnr0iwcGPXFIHdzv3BvaAqf0e2/hQ1EBFM05zSVb31sw57Os + 1/rgwxM+vHfy8EXnmzz4T+Cy3rSoQ74WKYnuTgrmKv8udl/nciaS + /Hq8WKKIfDwqSjiBcAPTMkWjQUlKozV+wxW8mav9ed2+u5PGGtNe + PLhrCh2Z2GABe4CPO3czAp1IfDrPBD3Ul9rQ3oGx8sN3Nzw8fK4S + AEy73/xONHxyFSSomrjVZp73W2zsJnt9wfI84R/go1RK9MoaacNE + klJqdbp7ttx9e98L64YLvt1zWN2nHs6VOZz78sK+3QNZ08l95aqU + +OCxz7676bnEZQ9+//WMEZc00Qz4QBu2IIL3+OlEhGamDfHx8QKA + 69qeG7PMV79t4l0OmhIm9Tc4V1M0BGB1ugEAHIyDoqU0QSPsTcrN + 7015KWFfYwvYBYnzRK9tBACWASmJdGL5pjtnrw75ubEN7cKflHcF + 68md/7etcGZ6sCRrw6paufz3WbOStv3U+LbHfpSMiLNd6Kojp1ft + CIux000BAHC5ob2y647MVzozJ8qSRx2oAYDCP18MHXt889m1w4zx + tz4W9c351UxvvRoAgKIrsjK2mkSbv/y/3b4wb2iPpk0eDf3+l0oH + 7yMnPLl3ipDf5Hu3nDFtK3N58CntAUJoYFxUUEhIs1c5m6V87Qd5 + tY6ODUqgc7iaopGEyPr+FPSCRSz1SQ/wHyzhEACJRBONvp/Nvmh5 + //fe/IGBoY7XbkJPWII0frf6+4UQboVvwcLUwNdT0hpsaE/L1HeF + BhoIrr/B/ECsaoKDiVAb5gYGWJj8JrfdGRJw4M2b0aILXV1newIN + EHAxU4PWiVgAYECFBncLkMJl64a47tzndT9uu73XBK02PH16OAD0 + j9FWhD0bHqy+vImL32rjCDnhwf1fRVQPd3X54b9+zajhamxOzz3o + 2gn3kmdu+CGle/TgxDiapgiCoMRSIAi32+10OKoO7SqoqFbSRJ2b + //e+BK5zrqpoSHyTnx9NyZQqv1TJxRxXBamYFxq8t7LcmlEOCGYE + h0fSHK8wiqja7t4NGoQCRNp5IZI92RlVx5BEb5yn9/JCHAD4i7Sz + gqlDZsdAHz814tTN3WbwM9IXu7peubD8R8E5bbOh3acrnEMMosbr + hse3HVYknXtNbfG2r1cjI7gN8cnJ8cESY8/UtJ2ny51D9Jc0ObH1 + yG1R3lrKs+ks1pzD1pzDrMPVRwr1PfvXORv9W2AcbXH4GQM5tkuk + 1Fit9fuKju3Nzjl+MmeoD+WvENudTo4UAYDF7vijCraZgccw2U/r + l3Xs4Isvkp1dTQjzvINhFAMGxI8eLZVKOzeYG4x/WUcjkXicXg+X + 5YJJkWiowcBjjOCc5T2BROP0+kYe90hHysbrpXyDc2OjHoy00qhX + nu+zmduopl1d91AAQANGRG5+M+uGzvP/CnPffmuknjKf/PPrjUfi + 4oMlAC5AefnVlzW5Y3O+b69ENUBHZOzyGAwpI24eMrShrBhyu8n3 + 3jtSWxhbU4/y8zs/Zxih+pqaepouDApz1p75pZz1lyN/GmskfGa1 + K8dBHLfwJMATPVMQIQkuLcU7d3Z2xEDpdCgn58ynn24aN27B8uUK + haKzI7pxuKbaG1eyI7tIC01iW+4le52AAGwNbmwMUAizAMAwtEjy + 85w5PTavbbxu+PLvkuQ4a8OdN8374PAXD8TEpM2PAQA2b+uXb+5Q + 6PbOXB14yVLj0j+VK0Zqxail46Nrz+AlKapfv34NNayPzpu3YefO + B3v3lk+ZwnMcojt5rZ0rK3P/9FPS8ePbThT8HRxsxtXZFVYeQE25 + Cx0QJocUheLm/qOKT50eEebrm5qK1OrODRgA3IcOIbn88MGD+d9+ + +47B8PgrrwgjtfZCqCbkESS0SLpiCnrSkuhvuFXuDEAPgMzn6ZTg + WdK8x0YEvt7z3Lphlbf68+H+q1ZORossif6GSXLbYP/Hu48a56+E + kqMbys9qvxwZbLXlP3ppkxUjA0PErZCzNd0Xv/DVLEvmslET3ng1 + xXCNxxIO7NkzVSSShoUx1dVIJCI7WyD4sjIiKEim148+ejS26OwW + b11IRHSFrcpqLpsaEZgY2bO21kKeyb998mQqORlzHF9cjERNPfQ6 + GLa29syZM5sBNCRpyc3P3JuZkpLSlo5IoMTCT/gShK/DI4hI8VO9 + /eRi2bBw/94KR6hMQmj97grmEGi/HCr5MS8DVyPfHsYZ3b38RdyF + O3spHH8EWo/kZ2BAvsg4eYRXpIwDeTNNrvLoJum47Z7BW1VTI6+s + dObl4bw8d1UVXLOVyTVC0DTt7U1IJFSfPqFlZfPq6rKzTx7meTam + O+VwUEUlI+Pi1DNnIq0WM4xj0ybnzp2deL6WcbuLc3Mxxl/z/B6A + UEQvOrhw78OZJ2Qn2tCbg3D0fLZn6ujUdo/z+kVQNE8hIsULezas + BlJze15Yi0SRKtminlIOgDi/btj4zrGBmjEBmG90tdkmV8LksO4c + d0k6bpszeK/0CAyAARBBIIBOlzMA4BnGVVZGqVS0Vkv26EGo1fEu + V0JhIZbL6cGDITAQANiCAqirs61dy1VVdWasGFeWlPA8fwTjPQAi + gHu7f5hpO3an/E5xSFtcqYq2Fn3x5BcSL0lycnK7B3udIihaZ4DQ + VRLwUbNXr9qkATfn+jrx7VdmpLVLBu/M6+qMAFtfzzscNEVRBEEo + lTgqCvR6CAzELhdz6pTr0CHmRFsGQe1LbXW1w2arx/hbAACYF3Tz + 4Zy6qdFTReNFLMeSfq37xpk8RiaVDTs6bN1b68I/Cvfy8vJEzNcd + gqLdOJyx2MKGDYR2yuB166BjDlq1FzzDuPLyXHl5hFRKGQyk3e78 + 5x82Nxez7WD8fu24nc7qigoAWA1gAUik1aj2pr6Jkf4J/qABxzoH + W97KOHkgaTLMJyz69+g1n62Z9/g8weMKBEW7gcCZlf49glTQbhm8 + SER1fm5GG+AdDndBARQUdHYgF8E8X3H2LMZ4F8ZZADKAW8I/KCf4 + ZHEy9ALXQVer5QwACAAS5Gp5ii3lhy9+2JG8Y+jQoR6I/TpDULQb + Bx7OnK5wDjKI2yWDV11b3bmv03WwYZ7HID+3dtgWaiorXU6nCeOf + AADgkagHsoorbg+5nUwnORPnPNDWIxkUAA9avXZ47vBf3v4lOjra + aDS2sasbBWGYesOAojSiM/kmAPBPHDd13G2T09OGpU/04nMaZ/DO + n54+PElxaNuRhlOOLkCn86ubNNHiU5vz69p1eHYd1++t4fjsydOP + qmpreJ5v0zs4bDZzVRWP8UoAF8AwWWBVUcKgmEHeI7yxBNs32/EV + ++VW171zV8W9n9o3NH8HAqCBpMhAfWDS5qRvP/yWYW6cvPS2ISja + jUOEWrb//tmrM02UNjw9PUV5PoMXnBczeE+aWW1M2vz56drzGbw7 + 5s1s0mTpn8qZ3bXttTFwkrM9wiuf5/ELFSYT7qjtBsx+Vln+VEVV + Jt/qBGAXZj4xl91amD/1bMU79db3bv7fmOcX1kgq55XVrnfU3Flc + OKe0cq0LOXj3R+a6uWXF04vyF1WYsjnuQqv3LLwbnxvO8RxXcfYs + AGwEyAfQAgw2vOEVq0vUJ0IMOPc6OXPz+8U8dj5Zvm1c7svrch8/ + WvrcFUWNAKBAqpAmihP5r/m/fv+rte97gyHMOm8cvMSSR3sWPNpO + GbztMuc8yfH1n2//qm8gAGQtn/ja0/sX+xq8W3zaoY1g9jPFuDuz + 3qQyl6WNeONloyGpxQeEXZjZMO6J+16avZgmwFn42d0LejwxDICa + vX7vH/f+PXjZfXfrxKwpc+ktA18d9N07Tw2x8yqtBPK2LntjX9jr + j49taPXlXT3/b5f/wypShLCprIxlmCKMfwdAAI93f/FEefkcxRwY + DexZ1nW0+bomPO94J/HQI+9OCaMBONrN2ty8+4pBkwA8aHw0QwuH + rn1nbXS36MjIyDZ8bTcGgqLdSKA+eo9n8LYG1wvEzB/7Bp6r33um + TkKTSypKXBjFyZS3KBXBBO/G7i9rHcUYRGA5aOdFpHKWTjeKdq6o + rS/BookaryBk+9xsowjxnWqFCTvW1NRnuxiaoJMV6mkKqQqc55tb + a3hRolxd66jb53DnGA33A9C0uIbFztZMFY+zdbpbb9LQxWtXHIke + GhUQJ9+0+2zymJB9P349cuErkbryZUvWT3h1/hNvvzbrbz+xSHVq + 9Rvrw++ZPWzu7CDqQqug7mPNew67AZj6ekttrRvjlQAcwFRtz9M5 + 2pFxQxVjFBiwfYu9+SAw+6HS9uzXN52rS8kAQoSIuPJgEwHQgHjk + 7+s/cOfANcvWPPbGY//ZY1WCot1geDaDtzVw68nUT7Y/caF+717t + /U9ljfZTy4B1nNz2xeJbXrjV6Gcd/9jDS281nalUB4erxZyrfM9d + YeOPzP/k5Zcn2bNW9R/65GMfrX91ao/Mj6YvfKX6nh+/Xdo3UoKQ + k7VkffvizAU/3Dr3xYdfndLQXGHZ9f4O6cKJPRTImXO0hD5f6qBV + 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 + + Extension + png + ID + 1 + + + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + AutoAdjust + YES + MagneticFieldCenter + {0, 0} + + MagnetsEnabled + YES + PageBreakColor + + a + 1 + w + 0.666667 + + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQMY + gQJkhpKEmZkUTlNWZXJ0aWNhbFBhZ2luYXRpb26GkoSEhAhOU051bWJlcgCdm4SXlwCG + koSZmQ5OU1BNUGFnZUZvcm1hdIaShISEDU5TTXV0YWJsZURhdGEAhIQGTlNEYXRhAJSX + gSL2hAdbODk1MGNdPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K + PCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElT + VCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt + MS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhZ2VGb3JtYXQuRm9ybWF0dGluZ1ByaW50ZXI8L2tleT4KCTxkaWN0 + PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20u + YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRp + Y3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LkZvcm1hdHRpbmdQ + cmludGVyPC9rZXk+CgkJCQk8c3RyaW5nPl8xOF85MF8yXzkwPC9zdHJpbmc+CgkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA4LTAz + VDIyOjI0OjUwWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5z + dGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4K + CQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1h + dC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRp + bmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0 + ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpvbnRhbFJlczwva2V5PgoJCQkJPHJlYWw+ + NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9r + ZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K + CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8 + ZGF0ZT4yMDA2LTA4LTAzVDIxOjU5OjU1WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29t + LmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJ + PGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+ + CgkJCQk8aW50ZWdlcj4yPC9pbnRlZ2VyPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdt + YW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9k + RGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwNi0wOC0wM1QyMjoyNDo1MFo8L2RhdGU+CgkJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8 + aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9hcnJheT4KCTwvZGljdD4K + CTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8 + ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ + CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJ + CTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxp + bmc8L2tleT4KCQkJCTxyZWFsPjAuNjM1NzYxNjE4NjE0MTk2Nzg8L3JlYWw+CgkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA4LTAz + VDIyOjI0OjUyWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5z + dGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4K + CQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1h + dC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVhbD43Mjwv + cmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4K + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + PGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRl + PjIwMDYtMDgtMDNUMjE6NTk6NTVaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4K + CQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmlu + dC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29t + LmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJ + PGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2NhbGluZzwv + a2V5PgoJCQkJPHJlYWw+MC42MzU3NjE2MTg2MTQxOTY3ODwvcmVhbD4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29t + LmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDYtMDgtMDNUMjI6 + MjQ6NTJaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRl + RmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwv + YXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFw + ZXJfaW5mb190aWNrZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxr + ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+ + Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0 + PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBh + Z2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJ + CQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+OTI0LjExOTk3MzI2MTYwNTg4 + PC9yZWFsPgoJCQkJCQk8cmVhbD4xMjA3Ljk5OTk0NDQ5ODE0NDwvcmVhbD4KCQkJCQk8 + L2FycmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tl + eT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJ + CTxkYXRlPjIwMDYtMDgtMDhUMTg6NDk6NTBaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9p + bnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNv + bS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNQWRqdXN0ZWRQYXBlclJlY3Q8L2tleT4K + CQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tl + eT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFy + cmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1h + dC5QTUFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVh + bD4tMTkuMjUyNDgzNzU0OTI1NjA2PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTguNzgwNjI3 + OTc3MjQ3OTg4PC9yZWFsPgoJCQkJCQk8cmVhbD45NDMuMzcyNDcyMDE3MDMzMDM8L3Jl + YWw+CgkJCQkJCTxyZWFsPjEyMjYuOTY5MzE0Nzg2NDYzMjwvcmVhbD4KCQkJCQk8L2Fy + cmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4K + CQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxk + YXRlPjIwMDYtMDgtMDhUMTg6NDk6NTBaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9pbnRl + Z2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5h + cHBsZS5wcmludC5QYXBlckluZm8uUE1DdXN0b21QYXBlcjwva2V5PgoJCTxkaWN0PgoJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3Ry + aW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJPGtleT5jb20u + YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCQk8YXJyYXk+CgkJCQk8 + ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1DdXN0b21Q + YXBlcjwva2V5PgoJCQkJCTxmYWxzZS8+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5t + b2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwNi0wOC0wM1QyMjoyNDo1MFo8L2RhdGU+ + CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJ + PC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFt + ZTwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0 + cmluZz4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5 + PgoJCQk8YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5Q + YXBlckluZm8uUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3RyaW5nPm5hLWxldHRlcjwv + c3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tl + eT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJ + CTxkYXRlPjIwMDYtMDgtMDNUMjI6MjQ6NTBaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9p + bnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNv + bS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1VbmFkanVzdGVkUGFnZVJlY3Q8L2tleT4K + CQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tl + eT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFy + cmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVh + bD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzY4 + PC9yZWFsPgoJCQkJCQk8cmVhbD41ODcuNTIwMDA5OTk0NTA2ODQ8L3JlYWw+CgkJCQkJ + PC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9r + ZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+ + CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CQk8ZGF0ZT4yMDA2LTA4LTAzVDIyOjI0OjUwWjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MTwv + aW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5 + PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwv + a2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCQk8 + YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlcklu + Zm8uUE1VbmFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8 + cmVhbD4tMTEuOTQwMDAyNDQxNDA2MjU8L3JlYWw+CgkJCQkJCTxyZWFsPi0xMi4yMzk5 + OTk3NzExMTgxNjQ8L3JlYWw+CgkJCQkJCTxyZWFsPjc4MC4wNTk5OTc1NTg1OTM3NTwv + cmVhbD4KCQkJCQkJPHJlYWw+NTk5Ljc2MDAwMDIyODg4MTg0PC9yZWFsPgoJCQkJCTwv + YXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5 + PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJ + CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJ + PGRhdGU+MjAwNi0wOC0wM1QyMjoyNDo1MFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2lu + dGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29t + LmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQk8ZGlj + dD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJ + CQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLnBwZC5Q + TVBhcGVyTmFtZTwva2V5PgoJCQkJCTxzdHJpbmc+TGV0dGVyPC9zdHJpbmc+CgkJCQkJ + PGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwNi0w + OC0wM1QyMjoyNDo1MFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LnRpY2tldC5BUElWZXJzaW9uPC9rZXk+CgkJPHN0cmluZz4wMC4yMDwvc3RyaW5nPgoJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJCTxm + YWxzZS8+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnR5cGU8L2tleT4KCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYXBlckluZm9UaWNrZXQ8L3N0cmluZz4KCTwv + ZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5BUElWZXJzaW9uPC9rZXk+ + Cgk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQucHJpdmF0ZUxvY2s8L2tleT4KCTxmYWxzZS8+Cgk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQudHlwZTwva2V5PgoJPHN0cmluZz5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdFRpY2tldDwvc3RyaW5nPgo8L2RpY3Q+CjwvcGxpc3Q+CoaShJmZFE5TVmVydGlj + YWxseUNlbnRlcmVkhpKEoZuilwGGkoSZmQ9OU1ByaW50QWxsUGFnZXOGkqCShJmZCE5T + Q29waWVzhpKokoSZmQtOU1BhcGVyTmFtZYaShJmZBkxldHRlcoaShJmZD05TU2NhbGlu + Z0ZhY3RvcoaShKGbhIQBZqGDPyLBRoaShJmZCU5TUHJpbnRlcoaShISECU5TUHJpbnRl + cgCUkoSZmQoxOC45MC4yLjkwhoaShJmZDU5TUmlnaHRNYXJnaW6GkoShm6+hJIaShJmZ + FU5TSG9yaXpvbmFsUGFnaW5hdGlvboaSoJKEmZkZTlNQcmludFJldmVyc2VPcmllbnRh + dGlvboaSoJKEmZkOTlNCb3R0b21NYXJnaW6GkoShm6+hJIaShJmZDE5TTGVmdE1hcmdp + boaShKGbr6EkhpKEmZkLTlNUb3BNYXJnaW6GkoShm6+hJIaShJmZCk5TTGFzdFBhZ2WG + koShm6KXgn////+GkoSZmQtOU0ZpcnN0UGFnZYaSqJKEmZkWTlNIb3Jpem9udGFsbHlD + ZW50ZXJlZIaSqJKEmZkNTlNPcmllbnRhdGlvboaSqIaG + + RowAlign + 0 + RowSpacing + 36 + VPages + 1 + WindowInfo + + Frame + {{73, 60}, {897, 749}} + VisibleRegion + {{-21, -23}, {1176, 896}} + Zoom + 0.75 + + + diff --git a/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.pdf b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6c6c212a40e5e175907914c67a9b8601b36719d5 GIT binary patch literal 67865 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

&}!va^aVK(+{s*;5W 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

U!;aH8XT4uJ=}(SPwZEKe@$hA@Nw<>({GmQT|jM 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 z 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 v{9! + + 4.0.0 + edu.mit + openblocks + jar + 1.0.2-SNAPSHOT + openblocks + https://github.com/mikaelhg/openblocks + + + UTF-8 + UTF-8 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-jar-plugin + 2.3.1 + + + + edu.mit.blocks.controller.WorkspaceController + + + + + + maven-assembly-plugin + + + jar-with-dependencies + + + + edu.mit.blocks.controller.WorkspaceController + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.8 + + private + + + effects + a + Effects: + + + modifies + a + Modifies: + + + overrides + a + Overrides: + + + requires + a + Requires: + + + specfield + a + Spec field: + + + + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.8 + + public + + + effects + a + Effects: + + + modifies + a + Modifies: + + + overrides + a + Overrides: + + + requires + a + Requires: + + + specfield + a + Spec field: + + + + + + + + + + jfree + jcommon + 1.0.16 + + + jfree + jfreechart + 1.0.13 + + + junit + junit + 4.10 + test + + + diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block$BlockState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block$BlockState.class new file mode 100644 index 0000000000000000000000000000000000000000..ac1ad480e641338fcd32b7978d08b45311ea2a1f GIT binary patch literal 5156 zcmeHL-ESN<5Fa0xTy7gk2$XM#n+8aL?v+xYYO6{#P3cLO^x;Agy!m#0cW!p=#rB5g zFGB(eUJ-v3V!XRau1czP%ITyEUe-I~pXb9K+vEA`?_YlhfUn_33mOD&7#(#|CS>O^ zJ766i=bcp8&LC0IzUf3N=GE_A$5}7FeakFwL6g98F(_ej)Ok2~%p*%+E@1D*_nfofr4S^ujD&yJ;jzqinfSK_Q z%bbwD7)fSx%?Wgl__t51JI%S{Mvu76%`QuE^pece0oMgt#YEoP2_$?>9nI$s;hR{yuftImgWtpVzpzb&M& zcL-eDIOo{SM`-01u4)S?`hT)S+gdBV0BdCF&+nw>MkNP4rjbfBkuWQiq_`Y|gs0{v z4cdESPVHgFsS^;o^$$x&X~d*dmJT>Q5)#s`rNU4lW1%rbl0)noa?NFg8irb>NdJ^$ zUrfU&VaCv*NVqAr#2i_!D`U|<1`l1s5DhUz!!jJKR| zYrH@{$6fsu;PSwf+p&u2h}-Qa8I$q1TIJcsW|`T!6s$-Ti-*IOk`l8qrOOP^xZA`b zQeg}}5K3fee$eh>mdr5Ytl6ACj!bD{Jydzky%)$s+0(OM%y9SKznFO!qe0uty6J&D zHpWbq&D0*x825x7A8$2V#uqoedH0eu>omp7DBoP>na|(JjCr=809Ijr5#ECj30&Mb zT@7)yfTf<0e7C5A?773%6)#l8l1EGnM_0_It5p!VdA@4HM70Qu7C~R-I^y^7ZI488 zS`|-l0*hU|7W9^T`g7BQkieC5RYZ=&RduP)vB-10Y%TZ#D>_wZwcyLAYF1?gpaDDO z1+<4H4Rmv1mmB*)84DB$yoA-Vm$99LdHh3RRl5M~f(|PBLPakY=vT0>0ZWKquKHhv zl>+}7ypG(m|04dq0dE%kx2pDS*Df!^JMeD7Z{P~PkGKzzx{lT~unm5L)gM+a{Q{T& zK&k;B;ddS}&c2WFyIA}OumPJ$HQ^KdHsDkE4BG(vaE76SoUaPH30L77O1_R&L5I8Y E4=8M>YybcN literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block.class new file mode 100644 index 0000000000000000000000000000000000000000..5248b7ef80f6e7c5c130efb26b14b972b1705c04 GIT binary patch literal 16504 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 X(jV#1^f>*Mo`A&uK~I6QS&aNIAMHgq literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$BlockConnectorState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$BlockConnectorState.class new file mode 100644 index 0000000000000000000000000000000000000000..44c0eacede7c163a93fa914220a82dc7aa8ffac0 GIT binary patch literal 5426 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector.class new file mode 100644 index 0000000000000000000000000000000000000000..8bf7ba37f2703c10dbfe32a1f0694f43e6394625 GIT binary patch literal 9950 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 B0Z#w` literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLink.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLink.class new file mode 100644 index 0000000000000000000000000000000000000000..69870920363175f9bf1901d6b401ccfa8648eb89 GIT binary patch literal 8015 zcmeHMTXWk)6h7-Zk*&B+2`x~rn{aaq*pvb-ak({3XENgyrb)x_z=I-hV%3t?mDVA7 z<()_V1b?72Fat9@@*DUq3};ue>`b?|M3hT2eXu31&VJ|Y*|XoCJ^K6K-~IrA>u|?_ z0)eYxU^hI=@f#1UU8}*`{f6g=#+J+NZrHGSo5i=cWJ}BOy9N{qTu{=kM!^GfQ8)MWo>G6ujjayaJWx<0pD_&7cNn=ywPE_&1}~SPzYnIYwa+)fKghP2V!y}CvRZ-@WaM&uibPhu9ZR%=IBv)Tnh^>NrQoBHd&z|aIUtvS%RyiSjxx34D6Ng zMuxrj@L_obw0{HxNo!>yH$EweN)d_h1TUtQ%P`j&rg;2Fo~2g@YGR|=b57|MmSEdX zm=Ht-xkK@WD#McM8Lp#d+b~pxxdfk*b4w|x^F-EEiXA1_HJnY~p)-{c+w;U41pMml zvsnVn(^rSZ!cRPcN9i7cieW}a6z@3@LYVIi`$=%uNUEx!UasjUqpQ`;nT;cRcZSj zE`LAw$|HE~PlZYGe;Q=~fAjcXQTHY+C=3E`!doK`&8P62Mhiqr{3_#D23uVMK=)8+;L literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLinkChecker.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLinkChecker.class new file mode 100644 index 0000000000000000000000000000000000000000..06ae1b231a0f253874727376a0da27498307f2be GIT binary patch literal 8402 zcmeHMTX)+;5S}$jeM#E1p=r6Z4L7?58$w%39MYzC3Z_mP;*fHA=#k}(twxsI)hf_u zegRMX1^xl&z&Y^VH~16qBRCvpC0kY##a@}Dl#++ou|40+?6(;)Haq@OUndEnZU6H!!pDofv2*$O#)*jbUz7G1g83aE^}`46r3Ux3!hq? zIkvgO8dSI29mCXwVOzAr?Yha@&OFVeH(HD~m~Ltug*uwPtu+~)MV9i&Qr@Q~-)Cu- zHf-il%NDe)3B5%H;@Q_7WG0NqMdu~wdFfVue{H^fqusH&pq{Mum7uz2Ndt98d+zU* zbA@3(dO=*tFr)uKq|)w~hHePzxE;oE%PdE5R~I&?e(+^;)NrV4HQ1J6A>Uj03;wUU zCX&{d&eIjw5%L$5qM9W)$X6T^%A|wvjaU*DHr1%O-(d$YciZOM4u%>#AiIG+c@&u? zncEXU;q}Cof82Qr)-zkI>jYk2g%R5wJrB7E5)V)2y5la{%u%|y#?P zEZ=jD9nEBxaI&6Lk)DQX3?{gJo$hUbpZmHz9JZg7ejg9z1-2bA!9w0J_@>r z8=J>2=)6dmRc>(JF4?AueFkL73}TMd$b zQQ6aAYRPS;;AH~84ff3&IRY~W6uN=F!|DGBWDLt;T=+a)&c-LFBH4L`09Rl~aqHB# zIKx@n-eJD?mqzejMtTxcv)pS!PK*>MUPP;h)hOa6+p@4c*gU40J}#%cv%vu^rXZ(u zB7-0u9Q4REws;=X@a02H@2W?|YA@9mM{%2grKWwMy4&#LNCs1oCkaa-{uPOe+12&P z8q9u7rMs9JqB~S!kER)asypOq2Jh(5!fmE`*Lo>N@V4E7bAZnu@d;}JGB6Iu@Ke(J zl)}$x`~$o>!PW~V@%1=uE@MxEJ6>)FdrSoczwW{89w&LI_8_mF>mNM&ODe+^g_f$XS}J;0^lGCq@!+LtR4xIY728s?!G!u9!G*oz~H5N;8!D&vlaaMxfd;P-mK qZ{Kby!tU7+etDm`jq*1a;1X~HnM}Zku#WGOc(Oi%kD&^yu=Y2#YLTe` literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockShape.class new file mode 100644 index 0000000000000000000000000000000000000000..8a090b2cea288fa8859b9f3d00f8514406f89973 GIT binary patch literal 10329 zcmeHNNp~AX5Ux?=Xz`kjY%G(6MGjzvkc~J5%aWWZku66fJH!E;v8F9etXVSCa$>f} zjXwgvf%o7&cpTxtjT`@g0~by_s(WN<6t}IJJo9XlT+~zD)n8XvcUM(+>DPb0{}BK# z!k00KNO0D5s%b;j&GdbBRZSDEnKpEqUTRp?6*pbAG}8KcSjb5r-H@PZrt4)_$MrUA!P*;NfV#aaQwW97)WJ)M{%~WaAArjo^ zv|I^1T6W_g<5v;*K(;hJoteok&X&rR#nRN2lCR*5rX(0d9l2CB>Ac!#l4!;TV3nov zOuoEW&g2SnN_1j^RUV(ulna^3Vtz4~&lWS~Or=noSyW~-*?c*gkr~U;$x@|KnqE{& z*_-*wqEg7^TMXE}yKTCV%OTWy_pey@W8Exsv$H5ei(`Uw^wsQ&Wut(_YsAEbYRsy% z&Q_^rm-Sj5_es2FPg)c;jmx?InPt1{q3)tq_txwpSw_BL@59%W;A@+4h>C2ee4?@y z;gyq?w#L?~jGGBJWrJYLAhkGD)^bo1LWonFN)mD;dhN9QGoX7OCb;3CekbBywi zV>xknPa64i&UA=tHE<}oY8kfPP^oU2vh7&7?G5*`oJ>^eMAk^Pp*qN9tJM{?M&y%t ze8=$kj&YgXvCi>5DQgySWz(Xvq0(wyrr4i6vQb<9{&;l9m@yb*VvTK%=8dl#w&hTn z^QsT2Tvbgrz!H(y#sB~DHPP7gnh5IUNm(Y_R+L#a0g6m5S(WLUO_GUF%#Yc{9?)%* zwoQD#v)%*o>EmQ}sK=z+R;dSH%RcQou7Y7V^r}u}w`mgxjS@N}r^(#5?0NsxsI0qk z6J7JNZW3)wo<=vv3=HqqSd(>g)mkC4iUy+IjgU-)+q&Vnl{J?VL!i)P;_2IoJ3Axh zk_Sm3bN4brgOl;?|32GU`ZNu%9@L9kLYA}QHZKuwHjv171H_P^X4m=9?1!cijE2!Rf zj<4$$E%1;2Ks21K`!Bht@iHk8Hf#*h?Wz>Kd*W3eV;F%$+R6nLsP__)OthVmK)Bth z$#AQ*O?uzi0A*)K54uHmR?6U`2e|eGjHQxr0mcX5UAQ8_p;WQ+B%)9U!@Y6#WHMaD zd&NxCSRzh^J^o3szi3s}#=Pq2jBZs%Xv8(K>e&g*e=lq#llf+xu{_*Y4roo+wa) z!}vZ_v8dX(PFPB)wA_lo<1iz^FQFagZjIkD|I@u!yy?c_mIQwVnB~*A@co9mLNGn3 z=o*Ow<~MI{tp=9q3LKGQ!jHl8q#YYTf&oUeq@G6(G15ytdKLW`@8wO6n_vk}rMgm< z?POv5V}S*thg93f6maeZ=v0k_1;$PYOFV ziuP(zfQ3Om12SxIXVlH$*HumPvhn<_8KeD);Mx?W@!3_O5lEu}FGdn16|3n~$&}7+ zJj0#K3Qy3+0Q2loHq{ug^mZFH2Dl-II@~PR7=u+*zwa=`;1Oo!Tj56xK1G1G4~)U* zINW3Q2bXBtdw{RtbG-{E@c#gN0N@x5Kp*VIuK|cb9Lp#qAj!*qtYh>b3}KmsVHm+) z`|vvg`{5`YfP+XM;`9qhANJ8lkUr|8k0EvZG5SRx{Svmn?4w`7F=UjIjdhZjQ8?A2 zUu~7IwaV99zmxC*Odu733{3hE7@vob6(HObBIGwg zm=Yj75FkY1IuwL5+z=pqD?})6f-o&W_+5xl+5};CBZ729h)~`{4~hWcybxh71j2$4 zVLk-HH$sHlArO8RB76vUe5={l-ccew{2@R9Sb)1e1a{WFJt;!?TYwOSkKkh;0<#+) z!Y3QoB632Aa1T@;Lg!ovWQd#*A}obKxFkfVhCrAQB4{BHt_u((Ah0adLrtK`TLOdx r=y1P-Hp4OLj8L3 zfALSyqvzne9{&KJeDK+4A3S=zvzw1CnRX|*<^Vo4o0-hL_jf<$?##XY@$c{M1Hf7M zG65q5PPvYrGpS+a?$9-wW7Ss9G`!q$!`4^boNiZH`|AZhQ}$ZR2^b}Cav(ASyPMQu zmRGSC8?9Ppy~zk{*A{3qPas(~Y8Lfc4$ht6b5oiRr9rJ)uIxF6Rm=C!Oe5uv`PoWk z_Ui3&<=O=Tll_Yb>@3)p>ru;FqKy_)U?+jG8uL8nAbGh*uE1{m#qIo3n9;O0V+EeV zUv%1NaGKQ2{A{V>OH^P#DnVM9(`=#M{Yv)FWR?hw7SMGGI80!oXU$p1u^k0oBop;( zmcv}TvBs*ZZktV`K|RB^)TU!EH<;<3S5wJKovBr(H_&rc6+x|{uIdqtkSs<>HVBJs zFG7x}Rhzl0WqYbgJ-x1aNYCyyneK(@F>tax-m)B4c5`lle8X(oj;H!->0M9Nsl^2> zGqnT1e_hKn8jtWo+o?sNi)RViHcHTczoc$3hdO$FUA0&Ii12XptKDRx8m@|)1vjbT zdbpEPNlX9&)T(EzROPg(WRMf$SagZH^nZ3A(H26lX-Q!s^aU--(DJBW{q@4U2$ylft`oRbA>rB-&8zFn}+M+ zTh`xRY7kjLR_$^0-&Oog_V5g2)K=EO5{8r7NHIc}fF!G(6m+RY5}>5`NG%$!F^3H) zR_Dd#m*JXR)&!5Ic2WT)wP@IOk^(i%<50A$;RddhfgamM{`tnUoqvDWkTQY9?k?Dk zNH|imuBB_sjKIFM_^v*o85S$G%w^_O_z9HP zGHk3kEK$ecN(8!WrjIe*{jV+rxV4%suf*;Ku~)Qs zDB|0Nz}^k9!(ElnEGck?5RixfS-(kyfK(of(f`qq2<+(%n{XxtuVlCJ&FmwawSVZ7-_udpC zM~59IaYaCUmXvsH5I7JR8+#ZQR?%(8ZChJ`w+Xo%qY)oV`^W{qOor&DLf)O)B%=NJ z6&-#QC=l}3Bj^kn&4*fUe`4=@*k{D^Z*ces+I@S|nf_Q&U>=XfTSp3SyvaBYdx%|; z*u_P0gPpJm?CR3D8<7*de-|h*dk?G9*vCv~ZYoeBa5xe)nn3r@5I(btjV<3+vr0YI zOI|)dJSUV1T#DqEl)J9t$qyTWm>O9To2Wfm3SbZPVziX##D{&{KoOoBu$x*nTx?hI zeC$`*(GTg)5eVDBXjA`I%cnD%{}nGB9}<|2#v*YYMhTuBgaYV(QzLJ8t41zNHRqC z)+RWo1#|~Pbnn27P~HUrUA9Yy84+gNblkVxg8|Mt0o{U6x6!w_H=!uaVM)m0@&Fj9 zki)y62{9}Pw5SU?T!CXD4!yV%*})TV7=cB2FT|l|$*TekUkN!>HsNqhz~O5F2Y~AX zXz{I(!~1X}q(#pTA`HI>I1soAAA~sc>~Kq<#qUB69}N%>e+W6;#&{Tkk1?8gR-*Xq zWUn5cWdWW)h1{wS#|@3wp9=}Fhvc?h$ZZ8`A#3+?bG=`?k(~k#+u#mbX9QNEflq)h V@NW{|FDBUV3AoULyRZ(Q{R5-?4V?f0 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CommandRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CommandRule.class new file mode 100644 index 0000000000000000000000000000000000000000..21a9f5aea541e33b8bb9a68874240c88bf1463a7 GIT binary patch literal 3131 zcmeHJOK%e~5FV$Y+oXY(@P3=}NcL*yJO0Mscsw&-e}4Q70Jq_q2N?o4jP|P$6SDe_by<}M zaWxXQS`U@qHdS8*d~3L(qKL`hc^q;NvIG_r`H;zGb-n(M`__Y50@tU7s|ne5SOjwK zm2R63^Km?1dp(#e6PUd#q_Fo094L*fmtPUcuHeBu*iT?#c#KC{D?JAbB>VlP)ZD1B z%LD4Gs3SsVg_5+RRXya9xkK~0jTWZ?_d}*p2(`CalhY;SUqSwrKIzJk{}K%pH&iN1 zBWC>;wYZ;ec98h!exzS<)~vW=RsM|D*Ds=u(w3qa^_g_obxsE--z|~UqBUVGmt2q0 zMXjQY+Fpm}bE*6Uxz(r>3SU@i;*JAV(pVk)R%zOIh*FsfLt`26hLAj{(6!hg+0Fj8 zut$aLsy3$#iMM`7nEn*go;HZE{;<#y)TlX!Rl5 zprKWic#AVHP1c?B<2^UHHqP?Sl_Ft`kj>-{XidrHKLT~o)3To+=U&i|^s_K-?gHu5 z^gB|1zhSxFR{Lag|DEPty6Y*G=b-=x3y^~%fg`2bF!sH$8og)P#l{8nF8(x*>RfL) z?<7#HDW8R}w!C#~F>71G5V%#FHe!z?0F2EZ1}x{s1iqD~hDdH``JalfC@C=}E4@QC z!+qtqb8wQt`R#KErVvb5!mMFVWT>u3V5U@lOW^4HK?X}A&ARW$8dD5`LnBEn`GvPN z2b5%fY_BQFR;hpNg|EHvH8xwM9-zm0z*oxr6 z9G1da9Ood9{XEWY;{ObO^Piybrg-23EPlaR1`c6Ai!y-iF!qIHoQETDG+8?a$43zM z;aVTz#2AEyu?VN&^az5}^k;xi*sYnK*u1=pnV+ICAffJfUDT@XrGI4 I8A>qo3%kwYdjJ3c literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException$Error.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException$Error.class new file mode 100644 index 0000000000000000000000000000000000000000..5ddf7305c74b490e3fc588b55d83f77d3d1ecad7 GIT binary patch literal 1440 zcmb_cS#J|D5FV#V(=34=(9&{R6%Vb1c7=q5pa@z@P$Q*>Xi~%za=dQhcGq6n-m3j& zNFc#GKMFD46dI{T4adXUGwaWDeB+sK-#>i;fG2Rj3MB$Bt>ID1q>2vM5sO5eN2zpC zH_`miMqJ0@R9x3-CKF*A$6RDiYW1LDj5bv$6PPOQCQS9B?e2l#j=*$hYqztrv;DT+ zc>Q5-t<`A|SZn>GvlRm4&!v*?1%bJx)|uB`XQb+_G?(`Xl-DunDqJBjc?KwAoq(%k ztkO|NSe+b+nDQbg=Ch%h(cMI(_8ARo?Y^L~;0ZGb${0UnJwX?dn-IAP2ZV%Y+$_>q z3rm%DG-ZzWsl)r?I71?a?_=_zXFBv@g}=8p@GsL$8%GgFIaA(tSJ0o42en^ixZspJ zO&N73nFwmlG)p9xj@mpE1~XRHnVdUqXhY@c(tx>#R4TVjrKP!w#lBP+_dY^UW_jX< zuZ46ox6Yp+iZbOB9e5bB9n@M{^)3l*;QA8KJ8cdvmOxyB8^PZQkdZ?A1JJ8nCb6ge zTm^?~G%z?C_CF;NKme0-Eb#AzLgEIn~^W3y39zFVMD*sHRbwarfDGW2be?p+%R7#ljgjp+W6&46Q{p(pl zpmI8z?hv>(Gz0Lxqo+-2Ee?w|wg-kiu_dhA(AKR!0s><=8OiDbRAAgoP(p?#aIc~E z7*G9q@EL;lGxd*f?JH^}n8tM+F&;mIYrT*IxL(+(z>NYm3v;*w+{7 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException.class new file mode 100644 index 0000000000000000000000000000000000000000..03dd272155cfccc956ea87848c428188963ea722 GIT binary patch literal 2130 zcmds2UvCsQ5FdxTY_bFbDWrrJZ~}!3ggZ)0t2T&2l52X^C4IPDs`dr>_9hn-uf4Lp z2tFB7E4A^9+$Mf@e?BC4zpO=691pwc|HxZ06_|Dm+kqW6B zPsCHvz<%CHrEm0wA9 z)Y3m-(5-#26YXD(-E)~paJk%jahpM9m99F1PZ>-fY+pD%0dwp`wW}>Uqn=`)Cj}EC zaKJNbdJ0qbJ&z~1c9HinQNj|4%+jZk0c^`M><3dv+&sz zd;*^{IA1%Qry-H1+r;o@p7zjg3CfL-&?cdJB&aHp{CcwDcco*n{QlWYB_kf7-$3Um z(HNYoEgtr004M7>fm!#NF*9gA)&zn}VLY{3% z=jbKaqUuCZb8-_M5g%gA!8|Ys4^tn zo>5GnBjkCKz9wrG>f=9Q_P3b}FW}Yx15FMA0Y?ic10|mlYtsYR}uq(JAl?n+$5QwCaNE*Q@a=cdJcGq6nPE~#x z5=e08x9}Sf<4sBm2&so%d+ayQ@6F8jpP#=1z!TW6z#4%^*6=uEQpHE?gvBD6$C-5T zB-Q-b##|?2xovA@9aGL$phTcipi`!%aes0oxFfLnzSkYM`!72$y8ZUs!T4Z6pxIsF z2F^$|eM(^cjB3Qvxd@<2;Qq|Hd@uITbLOO05sHYs7@Z5XRG=(@)?bed+OIpk=i|e7 zZvv{ z%onFQ7WRBT_A2tdio7gep8v3g)kU!>XUcO<1pTepY09Ykn2U>nLTJEN4X(ot0_FW> znYMQS?W-?by(^VCm}e7Vh74=r2S9U{j+l`?ULJ-6JvUsuk{+>fHVw9LRe`&IOxMB) zfm%;mi}N!?<+e-!dxcZH1}(S@WsE9C6kr^li?85K0PC=UYaI~}i!6Zf3p747o1fs? cw<7N*{yhue*D6jt_pM@g8}8v+!kat40CGg=YybcN literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet$CustomBlockShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet$CustomBlockShape.class new file mode 100644 index 0000000000000000000000000000000000000000..94f4fdf20de83cc0ae25ffc68a9b35654c16f57d GIT binary patch literal 2329 zcmd^BZEF)j5T1=`t~t{*tyb%6*IG6Gl86X`RZ-(Bq)|*Q_;GXDB-`HY9=m(h{xU&9 zzx$)a*}K%Vjbb4p6bbC?+&sH8JFofn{nHl!xC2!Was--22la>vS>Iwitj@bhJrcIw z301Id>VfL=;kJ<&tD?v5dwalQ-sX1Y@HY?g1S;u8A(Q?3tIie=EP-O5%fz%;#0ktd zNAkASLiX1P%vcpSdCxYKmR#e3=4&OSz4ZiTWt6=U{lQP+Oh?)M;4<w=FF=7{~s=DQ6}9hvy1nE{Nf|6 z*=|!Ha@=Za6=l@!#{BQ&{_!)js`|qlhxK(#QAdrWtC)z}f$Gvex6k*w5T;d6t0*l9 z7jl}mHO$~1*T!XntCUC>gWW0337YxTFa8IHpdB

cgEJ*4!&w3g)$xJk`t@uR zdr2#aI$UosY{71Fsepx>Obf>kKjz)6A<&v+K8(##96f$pB|6~Ggwwouc+leTP1`kr z(o2aGvk@|5xbc7zSesy?Vz{hbdeEsRz?3Ee@$aq$eG%RGLVa1qxWT!PC;eUuScN^QE1d;ulPumU$y%+e2Hkm||+ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet.class new file mode 100644 index 0000000000000000000000000000000000000000..2fe550bf8529a2d4a15da1c5c78f7e8b6806ae8a GIT binary patch literal 3229 zcmeHJZEF)j5T1=`)1=Y9S*`EeS~XEfKm@_mg4P!TX;o4S+E1IiZL;m%?y-L6*RHvM*q=U47NsgcNp>z?o8cjX-t@Z?VM%f(g%eFf`b6bMgPYT}4%ytgz~$DUQ1rXDSosW3E_KHm@$mEOP=?6Ww) zle^Ltx{Q8zD=0;obhk`_4+s_V`|qHSGSn){sNIS9$;f$37Cn~ziX)?B_GYhW%}iNhAxs|-^xfysvQSg^*laO2&{ ztnCOSna9WB4c7Mq?}v zu67c5we`lX+iLZC`TYo7Cz(%2>zMH2K)xRIDha#(&lP(dIGAluffRv4Q^nfjFN8}1 zGrduY)o4;V5h&KBfYda>Z`Jv#@tv7+6N)f|)vfjY_>@s%=&17c*>ryPn34TK`jBO4_85qG?goFaNqd4;*83Po)Lh;??xz8~EJ&~Kj z*6nf#=dmp&{Q^wG1srAJBFr2>$lzRxaH$W%L>~kKSK#UagrR+eYkd$(eGsy61NUTr b!mQhiSabN#<6p+{Fs|H!J8&2KS-18JI4K8F literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixBlockShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixBlockShape.class new file mode 100644 index 0000000000000000000000000000000000000000..1146fc3a15ed6d7b8a51f9929d25b8932b334164 GIT binary patch literal 11063 zcmeHNTW=dh6h7m+vAs17O%rZ~vQ4=-Tx_XAs=x?|wiH=)p^DRTdE4wx>>=JAYj+&N z8~=z$B#_{p|G_Wd5eac-or@=|F*{jUk3c(u@mix{X6>S-oP923X~b#qBcHm$DkZ~ z`(H9(_ZcjGC?cUgVzAoiZt^JLv9~?ssc?Ja35wpu{wr{a!E(xO=tce3Cvhy}Dm=qh zuRM-op2*=I4_se{BQf-pkdZrzCBlTs2d-1w8gMt@{?Ln2Xyp03UZ1<`sAdz@Y)*7* z9;>Tr)Ui)Lo@KMe5YsLnay5{F+vlo>5zAH5*l>4Z8K(ZMjq9fL(E)dOoM@YCM-N4k zh^U`h-|eVLI65`D8c(03)loJ_CWY?Y%O07#GKw(i$oRA&>dL6^)b!PgN7F~oROEq( zg8!gJPsQkTPAy+BJ$X5`nSbQ7D2;DE z%wk4~ZZot0F5gi-Tr6Z~qIA)ES}vXHHqVS_a@dliMN`-m{lNn4FlD|ubJ1cYt4{ITi7L-fVNf{gvG7d@j@1(CIwr%=Su~} za4=CV&Tl5L)me*JHZU2S=LpE>C`C$}HnkN92f23m9F%?;S(8sTUr#@l%l)d z%yQVwKl0h1rd2-7V*HA3GqeBy>tyM7F{?Wc`dFM7NvrdD5lZI^!6FzGfoaw3v|L7$ zqAN?oBS|s1>WxNtFyts$^*4S7NuxW(r%m3XrPj?Uo_;vMjbjzAvkTu7He*xF=IqDJ zyj)mq#lp_UWNK?=L|BlU9WP`7ZBnqMd%pBl3WM;NdPcAUZ!x$u1zCZ2@KoaoQ!}VPoE*X0 z!XsJ<+yL}!Jgmu}1Q%fmpDyBa1*&+h;oE!oZwc?t&)|HuQvVSy|B7!VxPsRul+i6$ z@LErw9k>ds_*RBBcn+nWKahF>?}uo*%>?bm478gWXaLvX1MT+=G=Q7%S|*>@|B1lXG7w7eChAav2E2>+C4Aa|xBmv;#<~Ik literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixRule.class new file mode 100644 index 0000000000000000000000000000000000000000..5ad10893e0a692867bf500f4fedc6502082843d4 GIT binary patch literal 5623 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 vT7>yN2p2W8_+5iA3YSp}M_>W2U?tGE6Jm3i{7 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/LinkRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/LinkRule.class new file mode 100644 index 0000000000000000000000000000000000000000..036a0141dad46b6c579ee33de5f62bb6500eed8a GIT binary patch literal 745 zcmcIiO;6k~6dVKHgz&MjEzqOIY2lD?Lju$Ts68zp0Y!qF*Rd9}j=gfSsQo$oib^2C zog04$@f;Q{7bJS%5XWyk&zYILho_r60Gs$8VS-_!^fD`iw%Mh)5}C?}S)r?}Yn<$t znRK}tZ9CfbkA_A?m||F{$wt^-cG$gCvSNsLq|sJaKNu$4Yo`oTd(<3ZnxQ#n|McGZ z7&8plzpYoLGgm6-(iH=3M5UeO1Mj*<6+e9{tQUo+kP^f2E%DkmA-#lk|4(1EauTb*A7>8(P(*)1}hVLM7rrDim{o zZ*b3w)JPjG*M;HYrSy%k zcvi!5;Ghji!)Ffvy8LedbzB>GdRU$T!p{)CYc)T@;#a(#fvdRI&<5~n;o2_s=MYuVIurQTy3vN#ke58tSX9}S^l|a#F2HHOXf+wg= literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/PolyRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/PolyRule.class new file mode 100644 index 0000000000000000000000000000000000000000..96264d65182afa484a187f2dfe39766e143faaef GIT binary patch literal 16266 zcmeHO>vj`W6y7H-Bn^c^xhdWTyrrlK0xA+jOUtE_mf98&yfK{|+M&rz)|pA6Yxw{^ zf)C&u_`|hyE&b;Yf9Y%Z!$)wr&rC9x_Ar;^3{3^rN=VXkzOygi-siIC{PFM4zXHGq zP|rh-z$uGqm8Pm2l?Up&TA}rJrK#JM<%X%PSryH!)6U0vv$3(zZqPgo6WH%GZm7me z<;L;@s@ZwiodT<-8*3bkz{o?BtywKq!_Rwax4U1e1a@E04c)#-U|%Wl`@}5*!&4|# z9`+I#^ToK#n8^w-Mvfi1X)tP;jdfaAG_%>#8>+3FhSFl@a)UOl^Gb1KX_YEL#@m!?cyAYHO>Cjs5AP7AhX>kESehQ{*G>UC1s$y@nXrO&e zyP0OIp=-LWSnU=EH4V#VZOt~B;u5_yq3D*_Fr#pPMuTo*#uT-P8JOBmBA%HRrzyT7ib_>H zeQtKue51W09dxi|O&AG2xxEfCQ4{8?B+K?TxHJ#U*p%@Qk5PS+F?EA4qa?Kpo6^J6joLe*LDtQg2WP5rccL(!LkmB zNMTcOH-p@fV)U@hB6W(79I0UG*pu0*N1rCiz`JSvu&sd*FKhxoXJEwb3Xu#{i8paL zF1M8r+hzBF39?BQ*`Ufhb`2OH6Hu#jKsVGS)%XPCnCUnn_oC%;N`je9NP}Nb=wCttd93a5LremHr6hGVT@0jb z?q#2z`|(hFo#d1R9LhS|N{bk$04}}8_jId|4={9MfFGvv9CX+D$N4is;CM8DFjXUf zZq2GjUByBz&JIJRiMs@jJnTLc;S_XkXc|wunBxuxo{Mn)gi}}nDrERh^hi#&^A@Dh zRiaJB^XSI@sr%DSgeMVP(uxFOS4k>-gh2;e)`XGZliTYMb5{ie54EMRuTTP;9|7^?-BSrLDK9>9pm^x zFR1Z}%6%Tl-Gxkc7R$X_kWV`w5}1y*Am59`ud$I~xbN$iVZL{{Y#$MFGg`Lrlo;dQ za9l?o6nb(D+F^~Hq67h?PSQQ_rVVUoe}?Y)gbbZd;GTHy_zwjRfCnRak(Lf}+?9oW z(rOZp?13$gKZzLck0F@EJBgB$gTS{bBeCc0u;}Eh0Mmr5B?#g~_0vR+!XA zz){?5F3@$#woI1iQZvCjD!WEo}mLGMU0&g z@CclFye04;HCuaJaPXC2jpT|6vQ&blM!>w8m4N!Q^V2Zf_h%sjhkPb_fo&Dw2FZOV zhbI4{9FT!3vAJT0X8u5Oz~hpBNxIJ`sk_v(Ql?Cg+C8uNc@Ja~*_}&InzE=LHCp4uUfZyzrQQFADly^ZEh246k&? z3rnmB`ppR>CU62?4Iu2|S~xntCO~*3K*+%x@MZuZ?;(@~2;U132%Lns0tno?t_&iC zAA|^R!#e>4-*aVw48IEyif{_vMgN}0v2$?7;Xv4fX9Yb8d)g1d5_&ra aH{lj10%-W!k6Gn5+<`CPEBFTOsQw3rYA&S! literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$OutputInfo.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$OutputInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..e39166a563e3c2d036692b1aa70ea03e1d400a88 GIT binary patch literal 5756 zcmeHL?Qat|7=K&}NsdBG8G`|1UU^HUDfxmlX;hWA4n#x>Xzf6JbncwQ^v*unz6k!Z zNt?vJ?~g(}zAJetCFiQQF%Tb;JKK+ce%|l#^Us?nCgMb@C3cE?*M05Qq?%YClYjBRh@?`Hlt(C6Bd2)XAyVTsMc*G+bsw5RLvqDLl zYSoK*Vt%4QV|U1D#KV|rBuZJhheFadl)HsmX%(tyO|-H`BgGAs%F=|{a7Zog=Py$f ze0o3XxaD-*a%{Cej8>d4l2mC+bK1;`n1)Qc6MCG!cz|61`AYapZiB=ua zn5}ywF3XJUNjzd&Fidtu{z$kTs)!D_-N9_n?Jq9rcYZ|=?Q50fxy(5=&F8y9?qUAv zb8VczyF`}=V=yo0o==^{4#GZ(vq1%*UxZ_HVmXh{C=Uzwotv0{u8qo#eq{TU^XDOC zr6SCNeIns-{2W?th*`x{G!luNw4&tlvfr#}<{m%KD8;FjxZYU1&qRb@{SqDf z_;Pt|>47q4tAwFSbl_3uj`{JaynJitBY}>IOElt3=M~UnFhB3`O=Cxc_2Se!g?c#O zRFn#{l|;>ggCB~j_h2b}co$?|_!e-OHYy1fFZFm4Ik~5U`J&-dBO}yUOk?o7< zUxow{{LUYRc+RD1(q=hVJs3>;;m$t$-RC{OZ?@l`fBpJ90DJ+T<{{_7cUlFNh;mVR zM*FnF+Hob~rg9X@;6zsf*=ED;j*m^1KN({!GU#LaBkO$ll9ru_*KNH%hI51L? zBnXQo!ZnFSn;mn3PI8Ph*r#!5#;MDs5o=>-kcv=Yy($47gY*k^jzpLJV_c%T6rB{3 zua%;w*+3-$oWid`dnptSLT^*u%>>BRv`$OQj%XxSwa-MFksXQqRB?*QF3BGeGhNvx z9cK1$i(%#)yVKOZMGrkzG8*JE>(pd0UgzQj^UpC;+Ip8wbP?AYGx)&siM7~8*qt!$ zWB~eVag>}}&LK3?!@}-!=jNYjqjaNR**@v=IV>{MB}{_-Pr~8)IW*l6lZwg8QLZof z3y~{bT@HS0_u0pmZX-ntPFu;O9=_+IJw1JIN+Ix6iieFEIXvO$7hW9aQ7Xw^H#2?L zNj=tR$&t&+ev_t|$$pkm60VuJ-blMoc^h~A6dk+xa{AfQ0c9jsia?p@z~PuXlE>xb z<$89$66lCHMI)|sP60gvbMp?@GXl@>o%6sF{+>YG0vWydRzU!9S}RC)5ACL_Vy*-9=b} zH$1pIrI=?ccguLYWX(7_Vrt*sPi;|91~fbz-dBf%bEeC+2L*d$9TpGo6ib(jfeY}i z2V1kteYV=?q6iOsWH$^04}O}qf^2K4{+^6gz_z&6!~N&PrL7L4K5N3pFs5QG5o~j& zs0zBLSZuA~X-{p2RBNX5@Sz7A*DLpWaC0mZwn B9)SP= literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager.class new file mode 100644 index 0000000000000000000000000000000000000000..f4ccf755fbdab0ccdc3497994719e5c7dde02f0e GIT binary patch literal 11819 zcmeGi%W@kW2!TLsj2%fPN+jFZvXYp98L!6H#@b!g?n+4x zaOVg30SIG);{{(Jw4sM^V`4Q{|Eq= zz>L8FfhpTkGdk6b%pKaI8CGp(bj``E)lGHN&ZuUUwJ#SeQ^mIyn{PUerc z1_>N-QR~#$$jqQZ4PPkqBwNa@<|{MB z)rH0RY(BTVn2*CT0*6?O*2f!L7DOW~F3*(qEBM*0!rBtDQ{V(6^EC|XlvQ9m~GZutg5J{-q7mQ(M&@@=4*AP z+n1GOqFiH2m8o@VArSg#6FsS%LFcB?^=Z%F>5l8qC{>f$ieWm6P93$TIEc^gHPF$1 zd~`vY2U41gmEM_}$6wPMrsXIuY}3)|ib@U6VT~zU@;@$ss7jc0PYH-vrvdsZj;TMA4)f~lcHkgHRhRfG#s*Y(XUIIvsDVnV`jVfE$3=EQWe1q4tS$F)$-b9UJg$+1p0Mr> zt%|#Th>c}pIlQ)%pd!Qy5hxNHNR+uk9+}EZws!7|r~nSJh%B7cf)>Q&qC+-~^+#4p zQt1>b5q!Q?s@Yk+n(`z#?^V4ImcqfKo?gq>BZp}tlBFVL9w{KMx385{f;CGodb5`@ z_5p3njLB%bNBzP6Xe$mLu4SZL|NjCd;S`)c04LxKfn%xd!$Ll}JB-~Wn``Q8%qsK# zlus2+mDVfmezpB@(5Y!Qf$3e&G;xeMDkhH0jVg7RH%lG$O%&bSKQUH`!#OfIAu&1> zc}`~6kOb~@eZDlc*RO9rNy7+<#2;SRbi03-wPfGH7cQTKl98&=P3*Dm*YSG|&Tuum zRy1jqz`hjEDQPlzyq}yBQU^+yKir4iHjOIAb}#uOkt^I>5;m8vQ>Av~ZaeI?`u>j` z-L~l&yN`RTkDqk$Gaqx}@Fsx`i6jw4sA37W=6=_1TZdt$Qhe2r*Ah;&KPmIjcT1zU z$-uOPgkr;y>ntPblq8m?5Gy1{MPXo>FLgp5nF{i$nLA*u?}c7Yv#}xNQ%Y8i!@C6L zdxsYPUN1~06IpmBf!(7zwi>*hCGbURMY@x4Q%aPFDR>nyN#I(zjXR^cIYs;ow&foO!zs|W3Z_AC+qa7i)+333` zLDE1g$018#HatjWDi{nH zEtSn`eBSkZumtXjF+2iSz{|UzZiUid(tjx`>cjruJ0}e zpW!JzzMsWljbCA<7X#iDV~G`mbv(r=HuM7C@omQs7(?@H(9L;o+k;=kWl%uY7o!9q`@= z!24O?#o+?H<>SXK>uGv10Pj~H-a9+sT?)YaTi_+(J-8gmZ(=(hIW6$w@IFkTA3UFa z;ChDJwIgo;Uvjkze_G(r2z(wtp1xNC_-g_`2|371%l);$OTa9A=)>#8!PNkMzX-e} zT!ZU@c*Ov`-vwSA=3qV$FNohC0xtmz@R2m$p8_uli?9@k7i7=B1YQElu!j|fR@{df(R}J2)?o=PUzAddfTwB4-?d?cf5%S%W4o|}jflFP4fXP;A zvwp~ZOCbGpbGy7>-X`!@bs_`ZN6hWL+GcINOyDBcaDbi7jq+|~13PlHy=wIUd*fy% zJlU~Y$QFTx>e=MtK17=PQ%GSS5Xk3;A6JIE3i||R){&AlTp}=khFI2G=?pB8%LjW> zbEAS|-k`n;J0f6KC`mh7)dL=yd(_MBwmEHZKVTY-I?O*}El!t_`64o3jOi|(F~3Y3 ziW@4Gr6IF^n_7IIzw98v{qG~aMd!z&n^y7TXz}?mz1no*xghh69Nbmo&Xsf3+C z_`*^X;hsT0q_H~ktyh1~FSc&eZT_8KM+197lV*nLDU)(FwsFYIO?OO z<$BCv6FBS(vYcRcgOrTP#vs@v_#H$Xb9!I5ClWX-;Q~CEhs7M^V2Qxeh^&oE(acvd zO;C%%I@h}lvo0?CqkI zFk`q$!)*e8e0H9Xz=b}UorYgA!`GK%L;aVA!a$nw)Ni?sSbV!wB)T+H>OE39P`+xb{_S&*Af5AP>J`Jq0W80VA1R4FCWD literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties.class new file mode 100644 index 0000000000000000000000000000000000000000..499e3951ffb872ab2a44443f4aa07a548fa62156 GIT binary patch literal 10351 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet.class new file mode 100644 index 0000000000000000000000000000000000000000..5c9d82b5855d12e041aa5275e5975f36c4f0db5a GIT binary patch literal 1175 zcmeHHUuzRV5T8xcUUE$vjjdImwxtjC|e>vsUyhbIv<804F?QXUMa2oYX(buPtO=M2NW!VHiPao zl~U+Y`qo-wTd>L+2dCPiGvy@~T$-v@rSQsVURyIPv2rhY+&&p2FHn}k5~vpPLX42_ zP)!Ndl*|fAu4~%ig+a%)@w^gVj=3j${8Xd#f7?@$N$5}#(n{|3HjA&S+E~x0Sn<(w zDRc-hME)oJ8#r=zDCr7J?hO~*f37iZ9~-6pvp4@yi*+J~7OZt(8P*wW?q%0g zHfwf2Okp=u8jmK`5bcSe!D7(Mj1=XWuqyCZ!loZ9$KXY_=myNKPoF`Yn~9Zps6vp9 zIsJ6j7v4#o+KC1MVJMBWc(yPPdT3`n+KE2%UeAp>hY?Kx;|g1klZ> zV=F`>;+~U~(H(z-)_E`f0-YbkHK0p0U;_Rg(asD7_n}AJ5F&MuG-o&B1BnVAHqKE?%NQe$3Iwp;q>$t7g#ExudVt*MD zli-fH@DCxLlZo_DP&w?tATtdIn4_lI^{6cJ=M?#EMSrG+ z%dfILm0UV%i(DAorn1fy+-XCrqv~!`X=$MnF_H>njBo~RR-|s$JED7qb$$lDC{un@ z6?g_&$<2hD=!A}ido5Lh{E^XFDa4)Rfc4 zT5omr_6P)=DPMpDesmWmlxNsGSNGo;`o}Q!y6q1wxJlsqg16+qC>sJR((W;pFs$8^ z@|{4HcL{9%T_rvR1j2zX3>Pn@FQrah1?4S;r_S5FW0z zKf&d%INE?K*f!Az@LR*SUD_dBg=^*5I$WP2cy2|wF^8}*mv9Si&k%g1ig0HR;lW(O J2Ciwqyd5|J2d%xY=+x^|$o__oL=U)NfHas?9 zjKKT8XB8SIcM7}ao>^d(pwQr=ux-0m-7i>fg|!|xg=y8l2yAA+1c6y4ZJSQDu(7?% zEMdSTfor;8W$q{}0_mr&SNEHy#R$Aq{;K_>NFXKL<~?Z!3YFJPzqW2R@pXEWR~=IX z9yYkxe!o;MyH2$j-j}76FU{TBZ=%$dgHj#aH-*Qsooq3=#2qe{2~20Z%*Z_y%yr2RkZZ;D z04W*V|6L?8U18P?FsRgM+T7xT`ax5=%XNI=1(t9<8Zt&UN4ZY}r^0r)!zy{Y9{55= zxoT$bQ||1!bw*7L(poQqzJH@}8(?i>zR?(}7gCqjm?zdVEp1vtqcutLe1nOaTcK4Z z)a+HdkAc49xeZ0)k{zgekEFZ9JYSNAWcLR5eVmFEeNY)hne_j?f4$Cn?77GjVm}*p z`^Y{En}su2X9$u)jd)~rk2zuhnP>{{nI1QBiEz;7O@0m8zsh?GR5KH-z3|49k8PV%UcqPHSI44lYi?47^O>e74*vfrO!4lqHfG zOjGtKXlyfYOQs=#xw31S_LJ5Ur}c6|)VNRJMp?H`6cwGYKx1INLb3sY-?Q2P$_K@v zibpJRL^Yjuxo=WH$=DAXg(NNdNGzGOv>hSn2J@_z#uvDMz0OK%cQO=ItjBVH-E=A@ z&XD^A#YU9J{|3$)n@{@hc7u69>%J3Y_Z0%Zsu9F zeFN^}7P~b<20Xye9%S?wu!if0s6PgLhKSKmwG20)OyErPu6;mmz@wheM8Y)2aaj*f zy5tP)!#v=|03`*R@mSeKjFEID@ z+_|6N!ZX$G6}(TP4B&MM?^EhI1Fynm_3kxzy$j(Kz6%lFh(WjyYk1b4a+I{quhAbcB(@bPmHmSYfD48l0vMZ3q~ ZQ@DqJ0XFcO#W-GpRd@&`_#8)N{U6ZjIu8H< literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableScope.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableScope.class new file mode 100644 index 0000000000000000000000000000000000000000..f3c7705876e036b01e59f5d7b5b7624ae8e30d0e GIT binary patch literal 3562 zcmdT{TTc@~6h2c+OP8xCC|)PT2S`k-iHV6A0umIG0uLaGkJH_0JFq*m&dd_|WhR>F zyFbc!X15KkqHMJyK6Gbh`<>f2XU>`Z^7X?f0C)szKVGniUg)p(U8ejZMSjAeM_M9s=oVTtxjOI{$~c3 z35?Wt*PW`;b0LLYAuzXCKef1LwUDjlt)&A3#dY+z4C4f*P5~QQD?JL6WbELz)ZD1> zm zE*ElvezAF%%FkTE{I{UpW3IIb&O2$@j+~Qu!z01fw20fb3MhY@u+S`aYk0Lg*~bdd zpUCNU|7b9vRnc8l9I=u8gTYHAgwO|mbou&*__Hm)1Fl#7Hh*wnMs%S3b5%6`)> zt1rrOU0|#Gu~GLn*j(hTY0XY9rLtV^|CJ5sS30bO8Wzd9co`ljhuat1UpyFt>2Vl^ zs|04xxSG40`BWXRfICUl;CkO(MG4H*mCwR%U+KIo+O{wRygij@pT86iIMKzVmuEDw zCEfKAj~kbEQ*h0+-##HQz9l8s>mf6Sn=;%Y@MzFaj~-)bl9k~ufytgv3A_fQq3x_Z zx$1(>j_z<{H343QkI!+weEskV03O0Z5yl8SHQKL4OvuU`w#O zm3FB7T~qN@zb^XT^CvDmq${{j`Xr~tNe3qseKW3m9{j&##V&X zXVO_{bDH@-1aK82W!i1!A$q7)lu?UY>y@feHx$0G)Wlt`ks)cUj(w{%U6XONm@<8r z3Tf|9VQ4G^zAYrixs4EUam9Twk&{F1s+lVeG{X%Dq($fm%}rkosXCGHN;$dAMN=OG9cDVN zO?-E5hYeThKu8u2r==HJE|*6K8YPjryy|0nhub9RR1VqN)+$PxI2Ti-IJ}%2OfvxVxM%~|FbCI{KHQPUt%5u5?S2kc!>8KKFR3zu( zWptn%ZXa)d@n9Ner@({r1TG$OHFr1jnHpXJ>v7cPy5+8-1ZHc>XJOV?dM^vMBMbqr zsbcN(7s3IjGfZ-MMiW)(u8(-!xU}nnYo`6qK7pyKlw7Zd%ouKpaE-vdVZTLCNoLHI zjw0M7aHj7|0&l?x*+{FCL!hsdb#CmsGIr@c5IBXOT7{)K7>5Y}9E-hivNx98h`2GN z>oks2xO#w6PR{!X)30Y|-ov@ixEg~C_?$qD!(YVbR5JJAQleuVE+?ofFoz?+Rs4B~ VATSTt(K5w#0arKR7S6_C{u?m|wpjoG literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable.class new file mode 100644 index 0000000000000000000000000000000000000000..19e89f657f9ebe80dc9af5e04bda1afd7f50aa5e GIT binary patch literal 7927 zcmeHM-BTPz5br_4eEYXDRXB zD*plh6RWJ!D)a8MFa9rz;0vU|b2?rn^zOv-XHu zg213_I+VafBmQbdaOQ4Q@jJ2I#_z5-vMzQuT6Glx5a@_+c@pVH??@{W0ilMN-(Wr( zP9EaJEOVKt5%|8e+y36yQdak_9-8`a>K-yUkCDj1^906Xes6K^@jSdhhVR{VIrTkz zi#83*bK1-{1@l~^%{>g6<6kw3h1C`{n$)sQjzVqI+B7$)aRvik#($p(VihGn{Pg*9qK_Gb{B zM^8;IlTw3Y2+uGLnRvxQ-D%s*V#4r)Hs#2W>kA%O!sEs*H*iW}qMkFDE2a$Q8-d%T z>&!(z*HHxT&A=8(wX(4o_(FbzQikbDV!{;?*#F$Rp+CKo67K0zHy0hBBTwyZq-)FD zl*G%;O<0Ln_5;gSsaW=u1g^-LI)tL@|+1;X%q`7xlBbNtCboy!v$7AAUCE^=Zya0PQ{ z-Q8k7!xWp7Gm{$dFr$i%=oGBxp-hOoKN)Hij5H3Y>W918)PQ~ zvHG9vd_24RSgK(yyH3b&DT0}zX-E~w|GU%OgGr*S^e=BQALOVMrpDD$m>Jpo08FN9 zq4Ml>t=fZr9zG!O!y#r^sx(X^gxg4lL%m(c_Mk&yUDMtXI2CiG6UYO0Ait*|A&p&y z6npV-dkSoiR=j{)bb-mvd^Bpx)!S+U%ZbXs4H$W z%1v&ywh4^XU6=BC+w^_v=in0pwVr!l)rBVfQO`M8!9CG4raV*8%7`NQm;;<3iZLTO z_zZuFkWtP7Hl~SRfudv_SqxurNNsFRhnJ`?7O5PLd^io*A>mI?gD?O`U z;gS~NEhr@r2KMElszsQBX^i&Us3{|M4zCd>G1@yCPHI}T3Y^~qEoScdYh?Y%vs zd_jZI&>~#g13{N3_q7O@5kb#S?9uxgdp5ObSD}h%v&ixQT-#wfMyhF$xCW^JH(+iD z>83)O#@!er&1;apQAjebdAJ1&JNh5)=*Ka?tM}G)DQa*g#@udNa_zbXwe-ns% i2QB&Z#&KB2>ndJ9$IpvcU+%(vwDJLbfzLxqZuu`UnSzS| literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BevelIterator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BevelIterator.class new file mode 100644 index 0000000000000000000000000000000000000000..cdc7c7a0defd278ab7a268134d657b07113065a3 GIT binary patch literal 3136 zcmdT`VQ&*R7=9hvCb@PL%Gd@Qo7=H1+2Asuz*ZPgC_#}@R;gX3(JyoEOk#RxpL|ZB z56E=P}*y{?q%0raqTLBIU!SSaB$ec@p8g-vdaSkGfZ=a1MTe|OZW`} zmB$e?lBX#FvVs2vdM0qZy~RxLFbX>@(W=;g1*L(&6W}p!yyTQS*A5Rz@P>; zvVnDfQ%GTM5ty%K?l$VX=;9uxU4{<{ERGVpueH(@pyb%!-%0eNq5%(SpyEVed_qZz z0dyiBr)$)!?({efc@SYTAx&7Y&$^thAiF-Y>kldQN9_79*j=Ha;whEN(3qK^M-3wJ zX9<#;N5Wn6?XLMYKz|b4VN4=Uls43@VowbXn6$1soF1k$`8>Bl1qjqA%BVR=xL3_@ z(tk{C#YrRrVQAXNVnAkPYIHxq8l%Ias@17TX&=k*v5-9U>1IDQmK(P$I-o)h)IO&S zGwQvJ;8iCHc9J<$B=lxX9WX5z*6mb#^?Fi!#r$ugKor!RSDpHY2j^gA0nWn51Wwo5 zBT?8kRuOMl(O7I_Q9kU)9j?A6pf;PM|%0KkVH!IdOQ+cDZTU%Np-y zRAPHm?qPM<&z2ij;m&x6t^lS!aF`uB-a32}R5Pd6Pf z*82_4eZTb4&#?T5!#a=c9L}+EeuC|S>wEAieCEb#P|qRQc|(NH3lJU_B3yur6C?ak zh~PsbhhW(~I)=Cq;mauyo);jL;L;I1TrS|@$3lcvxSGpi#N@RCgr5o#zJjlF2(vGE lSSvvIr4ZpJe3L^M)x)gNX_QMPKst^=VBQXh849v^=`=lJ;e+w;etzx)OOAHsWOm?E%c zbkK^KkgfY{z*@YQwqjvh-ADxwOe;`5e$>=l_P7@Eptb78c0-o%eJi4yt9-ztH5P>Y z3w~IJ5`p;)Dq<*mw|k!lmcZqQqGv+_q)lKtm(4`;a1GRzT}8?N!W)=F1kfz1D~FEuwR8t@(sRGf&2S)n9NwCYAY zHXqSibuZ+!$Abvh?$Lw=57+^xOK5i!?QZ7AHivdMAKAS`dx{$>m8CJWK}ank@$V9} zZxjjr*>wJFIt80PxVcUuPL#GZo5dbl8ZhaW>T-H)(lfcI<(CxWeA0&CPXAMpcAP{a z5SE%W;Tj`X8mrU5DoykAQ*TgVXo?50FC+$AA4jmw(g@>ZDBYx+sj+SZr6`jwI&#;)E*|hR^3)Y+V?-3Aa&94o{klMt6o$o|2=iNdqRMCh`3;E zTMSDV^pB^$(V)CL;983wKOeEq&VF`xO+Z^s`+bf#Mmu)b#drn(14y4`J-mDtE6yV8 zY4IJ+l28O@lS%Yq(LUo9rE%+r(XPNN1UloZDXy5}b)vI8h$S8VZOS6F;)E~q9J<{2iolJX zR9X@9wj2l}&>1VP0+Lm5a8|8zO#GKCutZ>EvUbN4#%E}R-c_j%__}cZzxFq-7N1w}>jyZigzws~aP`Z@`JZ9&ckE5Ub$m{v z4B+p1d^&lQf*0ULd{4nk@bU;kHkKjWC_wnW0D-`(@EYR0j%aQjitl56rm&ss^F{&M xkA-M8)TbD2s9O=*PX%ZtcoQ|4f}8M`(*(66a0}|#dKdfCIMP6`-Oglg{RJcK>U#hH literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..015cdf60ae8913eb81c2d197940ade1c32011417 GIT binary patch literal 9063 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton.class new file mode 100644 index 0000000000000000000000000000000000000000..d027bdd3c8edb3a8ba614f8ea2c2dae730cf77b2 GIT binary patch literal 6129 zcmeHL{Zbr75bxn53kLy$q6WW4jCyFiGnfPuViIydK$l1bg5{sX?r=M1cjq!YON>w8 zBlreBf>m0je_G`m_%fC~vv=HHvBF)*mll7_?#^saPj^pG_iy^ozkm4+0On!Ufj$EB ziSnuu6LIxhw#Ta6Ppgs8)tyj!_miq8eQrNfEy8MTQ7QTGR;sm(9T*@m*URK=9)XF3 zE5X8Tt`Z^RduvMs$QJ}o*JPY%7VB*mrhE`ZbnBOX{0Vt3vQBEvoIQ%^<>5i%n!Z78`D@+i4VOT$|Mr#|;WrjV$? zy!))q=?v~%1$VBJ?Odf}=Vqucc|v2UX~eV_P>n43cMUW}o&_4UVqBqOB&!_CFq1+= z4XHG>Pl)gJ$;#cwOt2!xj$;q1@Vye%2$mX46JYr?x6v=*q zv8L0gc1A~JtL%fXS-PuaWKqb0P>IlC7onjEV%kJrktC>C7E&$GqoQ_O%j0L9r^9Pq zrU_r(<8cvU%17^5K|=l_55ComeB^uK`>l7#!1^U7{JQ(JHU zh`Qt zxC$r*7B1>_uCggu2P_-BP}-EK^7x7{P~lAe7Hvyd2sGAWQ>U=S6TK?%Dy+QV5$?fS zjQ8SN$Z!u52Rw_WemtbVS zZ(!JI7{h;K;Rs_SIFW00uF8=hce6-a`>=-Lr}=!d=DHR6ms|& zDupss3uO5IAP20lUw}EZ=pcM*?RpU|;TzyGwi0rl$9CoBSy;jT81BebxCYnZCftH0 KxQ$~2hUOn$__)6S literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph$BarData.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph$BarData.class new file mode 100644 index 0000000000000000000000000000000000000000..fdb69da4b4c9e9a7da04ec8b2bc113dacb75b6bb GIT binary patch literal 5218 zcmeHLTW?c25FVG(TSIT?PicP* zKLZIQc;^T4xZ3eKX-}$6iW{Z7E3^-B9B2H^cxL?Bp3i^2{|Es0;dTk;2t2eVY9vgk z#%s368az%LiExdM)X}bOL^|eKH+4cbnw!l0V%VU62Ro0MVpjrErV=9_482`U7Zi~pY(qfHqukd-fgD8sFm zdpxF*P6k3UC$ypiqdSr(_5rO{cKV#gJd(_y(11m|tjFmZdZvz^spp=lAM?x_jWxGa zX-5<0qCRy9!S@F|a-$Hq%({1V-CI^a5iqwxBm-?6&BWOoML5^)jNW_1qxX~mHl?zrp5){i_ zn;q!X)l@3wIu(|tD&}3Gki)yUH@yFk2PtRYVNh}Yrp6hzCX~BNk2Qg4ErlSHlWyp% z5TR)ta0Xc!Y(@zCgoAnZ31N+3#Muk}j&}pRx=8*c#@ofDtS@LL#6iJqIeWpG@o%uF zM|SQRByNzq15V7~<%B2<2m2N`KweYN0R;l*uu2CohrRQ#fNcqX-NR8oUi|>&SF6=`u=pvH zS;p4O0De}mUCjDbxCpD+*d@3;g5c$HgezkZ-i|?-hif=z4z9!ZelB7WxB)-l$SwT6 OfZspD&#;!s-1rO5U)~S^ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph.class new file mode 100644 index 0000000000000000000000000000000000000000..aab6ba7cf050c5808842a5b1d33f5af1b9deacfa GIT binary patch literal 9197 zcmeHNTXP#V6g~<`HgVH7^hRkZY)b(ficO&xXiFinlh)}rDb0nJTSs0i_O|PlN2_fb zUibq%Fw8K+4Db8}W?%;1`9VAaM_M<#hIOMFr=^)b*z46CeL6bl=+lvofB*C6Ujg7O z+_GSZz^PEUr55#q(rtQ|mRLP1wLDp>`P{t|mRw$E`e!6Pzf_*4;*y~4rUkq{1a_8r5K0=z73xQ91V?uor@#M^z@Ey??9{Te zbZdI5eC5*hh2?qdVL4^)b8())h})zBVJDoqS;1IYyG3MD<6o zT#dSS8iGeboxre~HR}8cfl(gGcBBW_<6ffy^ObzmZZk0*%M(;L=kv9VhS3XN;K_>w zj^v%hJd09zLF0V2GqJ)7j#Ng=TJQpa-HF_c5L}GGi)8YTjkBN)W*^ZQ2qc z*u6ITE)9VeEvkqpD$R-y1dO%tT5T?*t;Ok@v|SpgF>1`dKZ&iElkA?+!1qkF8;lSa zjm-voDv}D3IfvGmpJ6gva+}(6z0Gptni~cnlQ7Bvz!HYo1T1EPO@vIQxVVOla-UYi zo`82L@-Z?-ZrpgjidI@oHhCRM;!aGu`GUPFcuVtza)Z6G6BIj4if&v*)>ocVq|)-j z5Eaxuvy-9!r|wG>>}kk2_^K`B*s6;}{BMd&2dSx?@xUpkgiJbg9e1aE5cz(=_Cg!? zF1G3g$l2i-;PtUzuvvVycft5cGs67S~WnB-a*%~m5ES42H1kAG*-i8X_|wn zd`9OLn}m}w;@}0ZV{U*Mp3i3Lm|gUW`h;do3}nofgBKha{~B95wQ{#0aE;8Zvgw|# zix;c$bW8>`2iuMdz;sTJDYz?al}5fSQ^^`!tgBNHlKCd#(N`zqFsKHo3(E>o%ojR( zUi0xl(Tjc_GKP&vz;p{Yl{2=6aaB#fznF}DD zR6dMsUkkRcPDYE#Gy-#Q80-l+2uBI*&$vNRHz&It%yj3YR*i`zb+o}-B!|0r>C`#u zbQ*_c(+dfl>Fa(-T{1P8jPqQ);>j1B`1koSC=l=sZf6FTBjfO{J6K;W5tVPy>7 zBtzdCC}C=MeV4R#hdyI9o@N*SxHpT}|C5ql<4tYUuH%kf;p+Zy4BjF`e;I_S5r+&k zHlAkX-S@NUeP&xGAdf98-&hm6_JKRnfsB2vqB#8&A#;OTEPZX|eRVSC_D7uM6WAMb z(IS?lSU68xES$n}PL}zr%KYyVn0>JMRnf(SstD|eht~Pz7+^N>!-J7^J;(GUVJc_p z83Ma7*ICfzE`1w?4VdsGG=NFZ2ZVfQFomSgpt5MwNtoYnZ?Cfp)?CqfT?ZJ9{Cu@q zaJm}Nhh+k520rZSHXt`*ITf`mFJk(>4?`=dc*e^KmAgd9xPfve%dfLWpWs6kru>UM z5-ywd)cIytQf*O|!=q6(z#2s8g^~sGvd07!ZgU-XnraX*QTAyVve1I71TOrS>Nu9- zJJlTvu3;6wD>5v&j%p?g-hw48*y|+C0`&7}d;qfG28t!C*aB5sk1Kr^eAe|Zg4nq@ zjjM6>XbCG#xMA*?XQ8~x)PXOAqku;s`~$%_9D)%T#WxGzhF}cebFf4Io`9YDxeIpd z=VYh-S=giB_rgB?+z$uz^Ev&@A=W{79={J^>nR*%7@xUc;PA~oM}C5re$%qY@LP=v z_<0$>C-mA?zlbHyw!yB0hCo&MuW+D`O%%YTmFq?^R65dYf zkl5j!41^n*2&dsp3PE`+w!_&B1fGfTUJpB*%Ru-t6X629pVA@m#l;MSuQCxngsBul zGK=X9gs(FZDln5mNOYLZK=>vDVFWIt?S`NVbNB?ff*%#B4u0mb{d0Vu#5J%0AHgCl Q!^dzFK7}u^by!LL4H2<~fdBvi literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBorderlessButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBorderlessButton.class new file mode 100644 index 0000000000000000000000000000000000000000..3b98624880502872422a55808746370dd7207660 GIT binary patch literal 4220 zcmeHK-A)rh6h6aWp@1L?DEKp=CUDaxL}Ma^L_h>n)Ih;_IqVMIk=>bQW?JDHd;wp; zXE4!3?|mrs?3Sh!O1oQn!37uHzkcVNGiT24pT9qT0l;&3l7cP*OGZ1{fC-uX#L6to z-BLCXHoNaD=g?#wUx z<{AO=hQRQulEyM=_n2Sey{Kod@a*e10)0zD3cE~Td@dI$>N8o$?pQ5kVR3$sK+h_w znt~eyMr!}R(pu?$7$vEHyHazb{4#f`qk^LFnZ<=^QLBBQ2j&G$59B>gUGDfyBdExn zLssB)7A=xNi)1Pm$<$e7mb!`?DwU-HvyMkCQt+c9ckF2jG*BiqaVFF()0D8Hg$RmD zTN=UHXG!!`Cft#0BP*UT=S;F@X2JErO&Ium;CTwA?Q^0L5G2$`E zHiWbnFJIeqVu3K~0&YF!(gL>|TogPzHy<8N370+)5+msV?Hz_z<72GELXG2taIKe= zqWPi5IryuILCJ6`i0*0fqzEsY;S zwm25FmQlWqE-48zzEq+t*ngd8T7x20g8>wK80 z35?~GgU!fE=05q@V?ALAEawvSH)lGeMFPFWF!Zpunafqvc+{~>Z& zGA!~@TY}4`bJfzY*bnze@0S=2OjROg@{b8?>1EYjwFD-v4T%Lh?`v(jeDkz$H48-? zos%Tj=6to(*cn_LnM?O{u!sgd zoK-hZ4Hp~LnIr`>1p2EqHmLM2j%Xb jpr#_kS+?m0Y?BSxy5T;`cfkXAh1x~r#sMpSqyqbW zaZ7i))s^-wVhDWX5>9n%op6^jXRWcQfO1KJJvHXILU+WvZh2%1zpZu8eD}QqlMC8f zQ-O)kmlc?5TwPsiVTZ;p6xgM}zIx+gUBmy@7yc{x80k)RnBlo7cT<5vpA*+5rUKJ0 zv5p;hTLO#z~hm&oRR%vpqH-oJ6;~&r^qrj}f#RBj^q4gurfM*|Pc2=bTGT#gZHw6MIki-5 z^@wT`!_x7yYF{^Q>s_LrKpRxh29>}Dl@S}9P)$Z$)nP)lbz$^Wfe>V)?~gu)K%-Wq zQ7e*JWh`L8g4%t?h3bpzUkTOF9r=wmQKLcZ$nEGwI`dQO2OC+OK3V8eurMY7sDi1w zD(>`2sd$BXF43qfh(maatiLAxFJuNfF6y{qm5L9~DaH!c(MLYO_=68mJ}_b?;&NTL ziRdv?b%|K%>tA}L+-A%ox-+LzSH-A9I@G~cAH$HphD&rc46xgw>VWMik!9wHvi!-! zK?T^2pts+TqN8Kpz-`I+#?*xg^7#O2UnmiovBigtD>d>yogAKs=KBIncotmPT&DTde=5jr*J8mEM zAdYco(-Flgi$;}dwcNVR-Qgj|97kxJs5#WUUGoFAXj0;cYjQQ)RO>+$AOFqRG8e3V zPp{!#lettRIcKSuDiZi_jG2dLQ|_jlxD~~!fJIXM1EL%y1P(gj$>*y-O#b@&3TjT~kM2_iDO5>y#mSeJF-I4B@bAZIX(or2wXSCHqC zFpYmDd#f-_ZSjlsEtf@fYBkuzfac55aT(^XJ3%aM-@!w-OUGXZ(E; zrA{M@32aM0!?7C&U;Yt}-^IHLIElZK72y9X_&e)gm*7=+&3|?TULQi3#AkUC$}l&C zAaxNSyph1cPUP@b4g{Wv@HSM2IK+CWCUE#V5#e1ph1z-#*-LGm#x~Nb)Lk&5GYM$l zB%+;#4>m!IxqX;`_H82CJe*HO`zQhJ_e8W$;L|Ok{gH@vVT)*gCZa8D5$&%;wAvQY p{!T<&+#=dP323`u3B76pmf<3{0PFa_A6Je#TmlWQ!Zm0@>p!2HWTF57 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser$ColorPicker.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser$ColorPicker.class new file mode 100644 index 0000000000000000000000000000000000000000..5d4c90ac0443aaf63226538fd7251fe36b98b3a4 GIT binary patch literal 7882 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphite.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphite.class new file mode 100644 index 0000000000000000000000000000000000000000..715ef41cc178678283d687eb1e7beaaf00278112 GIT binary patch literal 1358 zcmdT^+invv5FLl4X_mA_g%;X!G2x>0WmiZAB#MwwxF{$EiKIb1I$o2w@!Bifo03oA zOOQZ?Tl(P#<`L7mqa_AD=lh}0z1y~C}C1Z2W-M35ob{% zeKb&pk6pw~EQ)RBrHWclElWqziz<`}oGC6Sriams!GYkOKzX1tL7>`c8D;D)I);`_ z3DlGvj{Iz2Nu(O1uX30pA&e7NGSwH>Nu&4Mj|h-w1eRJxJI}Q5GsLVQ{!EM$@z>uC|r z4n5^8mxT@l{gFgaYbU9aTzcxVR9H+36}B1o#?n~@o7+@6n(0`)ky^wd-OHTM*%jB+ zluA7@V?h~0kB%b*wW8*Kc$a!Z8THdt{BJQ6hMkGE{`YwQ-sC6C9>6+m)!{5$B(T=( z95s8_TO5(yd>B?bSn=msG7z?x=bVp{;W(Fb4d%|WA4wduJDtDzHgFV!uE{JHPh|eW z^3M;YX!9yu$5}1fh(LW$I)~(X*f$Pt0S+zx0Si!r3a$VfP@UVwxvkA@P}og44RyS= zgs~-9#$5>oIEQu(Jv)d-&;}o2{q^dF_ptf7h`WUALUBUiGVXH(jDjmb(U#z9u{Pia J+A^M9`wj(snN0uy literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteButton.class new file mode 100644 index 0000000000000000000000000000000000000000..12e99c4b8be070876cd567cb47ec7c8a8c289cbd GIT binary patch literal 4872 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 C`3^(? literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton$Icon.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton$Icon.class new file mode 100644 index 0000000000000000000000000000000000000000..9b4f6650998dad0cb0cbe0beb034df48cbfbf0e4 GIT binary patch literal 4718 zcmeHL-)|d55S|N893N>D0xgvCV~Kc3BxDPOKq7#ex~8#k8!L8O^>KZ-_HDbjd)nPI z&0mHD61?!lABC8`i)9BK-?=8`r4RP*+279Wd^a;Yvw!~e%WnYiHSASk&4WXugGNlb zY&@f5+F)VYh`DVHgbJRUMxa8LO;gK7quCCWyqj99 zrQ11r>cMxN6=WZJu--j-)N7%*Ucc4Nh7%k%zU7kJ?>)G=-uzm0tflb_X z6|Q@*Jq5J1R(cb5yzM_8NzIHBV-}J?#R(VGawSQk)j+V=d_(+NKVl?gfuI^e2@Rgp z5hHs@P94dq=j7Bckh4cZ#SD?kl9<{cA{Irk7YPzFD*_p*JGSd?XZ3{w^Ih;bQQDFW zPJgl_pwj6WFfuXXHSRSp&Y7>q4DkH-v2 zz)W(P%v^6-+-WK;ifp|ISdt~E#bW&q~-oHbWu^~soN%|lkec`u^qwTlUKIX`AL zQXv^J`-F!!+MnZ}F0VV&XJf#x-DeWxM0BZ*3e=QGp5obo$Esjo+$)gz|00hxqXip$ zWss|2qWl{xk9=i>lu&dPoRv^p0#Y)%?`xVwJXkH^mrr?%4~|^UWJ`siTN-%E@R)Q( z?lGR5mzz30x0YUTHysWc7QF4)RlAFmJ>b!(ryk?~YdvWnGk8lA(i|_nU`4xEIn&Dcc^M3{8FH))yV&>4YhYfcC_55KM4Q;X zDZ}kNXZ34^kbf3>%j~ly1W!!y$&B$acCF?~a;e)*5>H9sk4#G@3ZyL)%8Os&G$_jA zE_$rHC&;R={h6Mj?tVQWL#^WZJ%whNiHv(e)_E{D1`}Uic4fkRAFjdf7WnYC2RG(i z1h{*E?GCmJ57T(Sbl;Wo9_)5hK*i(p(*FF%ijBDO!0)M42kZy#fIG9Bb-g!gY0oq{ z$CIwegRQp2(yu9~G0arq0}sA>xoZ!+xX3S6KK9`H%*6$^OsM5S&Osk5Pu%S0LuTx; zGWO2r;K3VspHsPW3)W!+0LSY2xOqO-+=#d}SY9{zx!KaVl6P&HV?Y{vw Cb3B~@ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton.class new file mode 100644 index 0000000000000000000000000000000000000000..a19e12e04dddc8e6c3520e8081842983272ebe68 GIT binary patch literal 8293 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph$LineData.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph$LineData.class new file mode 100644 index 0000000000000000000000000000000000000000..a894334aca43fc04dd2bba3675bc4198a27c9da5 GIT binary patch literal 5646 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 Xxc{!f8f?IIxB;KQXF&1kfS~#Z`7cOU literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem$Position.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem$Position.class new file mode 100644 index 0000000000000000000000000000000000000000..1bc1a25ed1abda646aa012fe6e205729e212fb88 GIT binary patch literal 2958 zcmeHJTTc@~6h2#lwo4U6LGd~vK9t0?(U6#k7h)|^)1rZj@o~C4v;(^{o0(aJUuL3- zzWbjvp4oC~BcWSMj1N9^XJ-4I%Y5hTIp_P&&tC!H5s)lo9C)ggR}Lu`Uy)f z;lT6yNcxu@7^_!To2c;#7u-B^V6Ip{vA1ay7wzTR;uZoc=xi1W4osZ@s!B-7V5{u%{M!Y_{L937J5}62_;K%$$C~gQ(@N&9!63blECRlLp&<1jTR$Em-vrM z$;xW^6Aab&?#Xrp4!NJXk5 z4vXDfy-&C>i-cr9(9sm;m*aNq*YznPVJ7>5Y}T(fq?_Zj3TkE@HP zB}7@A`voRH%v}5gQ{V8Eff;;GAjaaa;IokIUAUU)7>C&eH3!#l1-Ons7ZDE3!%ehw P2hU@8x&?P}mx1|T{GQWP literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem.class new file mode 100644 index 0000000000000000000000000000000000000000..b4ca86fc91fdd982745a67f46d610efbccdbd8db GIT binary patch literal 5052 zcmeHL-E!MR6h2Cm%2Cp^gcc~j+q6&ziVY=gq5srP+hm-!lO|!{ZY^!>Z6vK{wF>D2 z@DMx+Gjs;-c_$dYmE+hRL@Xy6hKpRt(#mJQ{q~$afBNIEUw7hf;vO}k8DozZK%?1xsF@e?V&1*kL4tWjkZ#A__-eUQ?mcw;Y;m z$!06W1;~j_<);a7esE~oh#m7>CDH)hp?md%aKF?Az(OZ)%UGJb4xKC4d%JmIw2Yg# z<~JM~uR#GWopb1P@Bc-ul`hfSPU+9}Sc^o3+ah4TirO;dmKtko)d)qD++^P5T1&7% z_#xL2YGc2=DcBtJT!Ee|9X(eD^gPD`B@z}Z!y<0{7BhelJ8h`A9|D`NSi@B;v&z1J z9TqZbD{WXN&VMw_=doR*Ay{`4$8rVrvXiU43iGu9B8;BRT#VF@Mi#Aej;X{^1j{nILg}D?J^yn;|pQblx7UfYL`Q&LDHH2QX z+I48Qu6&e&yV~A;Ic{1K#oYA+Rc5KwIWbWJX1yTCR7)Fv`CY%{eDt z7bx+%bB-!-ckzY>g#Ax?r`#waa|mY}oI0A1A4mACbLguL2eo+|;ZekzoRVt)Grbq# z(J@B0*j|i{K=*|xRj&7fTjt@PIP_Bi5AV$y;^Tb=94%EiG}Ym{Bhlq`nLkHomWZH4 zpE|U>KTq3h7Nvj_1S&Grp)Itu)4TUmG=nkGX*z@75@eAd@%tu53qTpe-Fr=Ezn^{U7kcM+jK+XU z87e{UJv>k24k>z{KET}~eAtIznT(3?5wSjm9)}A#94_Z_xJZ|B5kAgASjiaXI4xIAd~OI%;wKTr2Dp22BY TpzHKC-K5)em%hcjaVzsTKT{ES literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CPopupMenu.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CPopupMenu.class new file mode 100644 index 0000000000000000000000000000000000000000..c9b254c428a5200730297e1f742e1d9be6f72938 GIT binary patch literal 4274 zcmd^CTW{P%6h4zC@vfUDA+!`)EUd%8QVJ+q9* z+opem7x*PeAi+B?yzo~LZxzS(Zq^kh>!7Fz@nDZHXTCY#xy_kh9{=zY0Ia~e1rr38 zBkk2gCS?5{>$5ud<9aAey&Wj;epL6A&(p`)h@jrsRlT^k&1G!CB!T&KM!;mJzSF+P zJ%gVjt_2JBxsHUAcbe-2$QFS!4J9MPq}gXd%%^a9x3m219|TS}TN~S7ZEiGgZ?;gh zNx*J1?|w(CSo#Dkx1j>1R|!loCXV8-2QsIaFbmj=I2_62`{!y~0a1i|_lsr-6JY96Ve&wc74z6h8>2DGPDJ3zc^ z)ULL=oci1gm`0%wQ>E~3S1Xt7#mvDy5#<#UhZKTqdY|+^lG6-TZcJS@S7S%88rtz zZdcd5Bp_W887{dVBb=tq3CN6cZ46jx!JA6^T)XT*#YJ(OXIzFvl9M4fUFFk=o1Gr} zI_6GWsem)NL`6igj_|ueV!GW`I?cbtoOD#mvP>CZXdbFQUkd`K?BtBkE#?`e4+@NA zSIf{SZN9BtCV5b>PTp|0weU+>xb(6o%i*wqkKwVG*8E)+2(QSr8Rb619S3W)T|K6F z8BS$nN*i&f&oz36k73=E7|GE|2<4K4`Tmmy#2ID4k)fXK_D$ST?P_VBr3KeT$Ys(f zj3Jxjfu>0d=AL-O9U;vnink*P9M)I6y3I_tU@5y=(leO_H~QFm6u{&&FsHGI_C+Kx zKuedD++?IXoPE5aX2W@SaR$!9O9ak2?x^M2Gg`>bYSI$TxmXuJi^De8tt5j8EV#6Ronca;8!GS)f$vIC%SFXgOlEAjF$TZH z?%L&jj{Wzfvz{njC-7SdrT=rK0J8$Oax6)^Tw}u!a&+#zzYAf@!&@V(sx;A}JViqg^CDykN0uN)HcvX`5;`1=mb_-2)3g!oyyUrv=vt z%w`{kJ*@@T@%WZ*xfbBTZ8}R+3qHkFN0DT~&E);Cu49O9izvdX*22y%f>!~v5|5Y` zT!1N<#y1P!CZK|s4X4xR890-UvoM#A^MmmjSV-TWP34k<>RC942+!fu6+|UC+CRei zFBV?-9xncz%D#;EWEH^c6}-=6Qb19Y=hAY25ka`2hzoNZafOfeM&4DGv93o60 zTBgt21qfFP5iY^y971BL453zluv&=lF1+_Qj7IvrUx0R_0PPgoHSx|ee261J1Fu=M O=L%efRrnZgz}lZC>^A%W literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CProgressBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CProgressBar.class new file mode 100644 index 0000000000000000000000000000000000000000..e63cd12834cac99c7bc10ee0a635ca9dd1a05f3f GIT binary patch literal 3659 zcmd^CZEw>^5T5M|ZcJ%uc|Y!DDQ_t+F-RbE*V9RDkLns3TG6x;A2;@rEZDoz?j|Mw zgnx3IdM1*Y^7H%@y$#`Rg43Jc9cUOb~cvbl}BI zNbe=I6=$D`_l~c8^6}K8*(Wt%q;^CNSA#n!uc2&&ggPFl|N5@q^ODwB>R$yj@h&xJKn!?$>r2&(PjwYvrMSO9%*JT#*m4WIT zn#Fv~!l_l1QQPlux3U@}f#?fkx#YS4oX?X2Xqq_%m@Iz^KuKD}+_qIn4Y#`zQ$%To z0bXq?6>%n)sW7yQ^Dl(Nuz#U+ng_}9XufDb*^&*_`M;vp6zVrsA?+PH zGL*M%P3e$ppY>IDT*BqItiH`8j|$vY3Ummi8FYgMR_Xp2-EL)FMdA_p^}UB1(B~2tP#P91rx6_8t;mCfQ42Msj^m z7=aOUgyc+4?f(pitnO{~xYi;pR~{etcwyii&%TXTzoUC(=-5!0jxxMjzBHBDxno(q z3kz_57Up0cX_b%F{b@IDa@|Pk2!Tak1<3Ud>dL|7lx+(`;Aj7c%o4fYJk~fo61Ta= zqa@}b(#ooz9g}GsqRo>jUMn*|3HeZh{tf;ph})bY z1;}IBl9Z(m&(LoyAaQ4RR96RlLnINnkf#?ZyT%4#QwG>=qyAYTqFW2cd^HV1AKn9XmY19!1ANpsNwZ>0UncogEF2xIU_Y#{Y9a0Rfz z!Cq$)zJqBvfo~4JO~4F}E}X;>U=~i{IDy|V$#6W4Zx8T~3B0>+Vd44WnLpv&`xJ8l z$3zO?brHwe^x1_=C_kCI4Bz8_KOCTb#QUexei|d~_84iCXnkVW5?sYQz&*U?Q2RBw L0adsKccAt!3GA-D literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.class new file mode 100644 index 0000000000000000000000000000000000000000..a3a880f9e6c2eab1c746991954ceac8d80bde96e GIT binary patch literal 10002 zcmeHNNpl-T6n^bEXo(#sPQsF~Ou{BXupne34uN=gkYmSoHum;RTk3c;EqYpxT^u-Y z;KUJ%;=n(ED^*Yh2X5T>0sH}e1jXx_h#8TV)m{@SIY^@!z5e?3>wf$E{`XJ60Kgeo z$Uql?)1h=rHOhn1ExJrg%xjctT$L7l;Vy+GS9mP?*-+ds4PR+6xjM#~?`5Eyz`kgR zPlHNndf^sx6+Q}?fx1Th2HTDEmn)~f`HjHtMU6(F zr+jIit*8ilkU*v`Sr{_>gS<;1R}+npiDf1UJaV1~TwNfrt5Cc~pnDiO%)kKxeF-z8 zQVN-cL!>{r8X%DHmzn3dqE_cVRmhi9mtw(ZweXyi&&^kv<1yE#5{c^6U7{7{97912 zpdbcfK@7AA;+W$J7CM1YPK_$J>L`R@D|M7W8UiIdpd~w?IU86LFy?~S>Ov|fBB!^N zA|BE`l#4#h8$JgsHiybgbZLeL%r}g8lyIn{R_iREo6?$E=AmK%lQy(d zLMx=@h{Q&8fYv(gYLg=yt`gEoS+2sIl02vsQKuHsN@?b``qp?D;^Sx;PE3-|#n%pV z4GHNnS*EL^VN%(&bgcQmhlFDy=(LPANtP)(05q=g5v?&*6`m6^H6$8=7Z!M+jyo-1 zMTdtD{>K)1faY@%w@Yt`K2Pa=%jZUTjRo4Rbl4ER`N_P~b^1wz6&8f>84au_v)%!# z?KcXAdR~jV6jG38%u;1ml(JIykYKVy;T@oUYC5xHg8=pP{O{Wt2Aaj`}{YhwQ{ihgogu z?!}zjAv1Y1bZi0?k1C zl_wT*-2;Y&k3OTF3MRlqG~_P2bg|S)VcQ|L_%yUAQ?&B0Ln}IqQq+vDYt2wY+mC#% z-Hd6Iw>C|(PFuRxeZ4UxR(51D38VHK@*h@*r3jNyVsnzWit(%s!PcT#nw2Pu7+q!^ z1GoDfFSX6v6*pMRD#Z(G`i`2+)YK2M7_60U2jpd^IeF-Z$9kX-9w%_9P);gRu~`_@ z6|257ra6}zwFM^Ub)H0^zbsrVncc~o?mX;PRUQ&JTi#fG4r^#RJhpKNOCVn;mgC>} z$C24apfH!343>Gwk%f!8%oG*IaK?POxz@of93$|DMG37rqOB8-ivv~xb!s!WDQ1sF zb0cyh1ojjrCyV7Mw8aI#K;T=81=~cz+Yq^8VH9PeJ#`j}1is!PPHp3VOFAslB9|B& zW#Kr1zwS>abK9~#y}0nCNKRlc>Rn>S@O-^WKv@VR8Ph?fYzeW_9_8U!iZ7I#X#?7$ zESw~}{dQX<=k-aepihxjnV@x4u_Yxh@%6FUvvT_bQ1?a^IP zNfyo$s9V^8ElqBaEv(?hZ1vQ1+hEw|?vn2L^%crVm>wCaHwj1!1}%+L0=~AH!nS0@ z*l3^_HU}|Qh;LUo_W81Kk-!f-&s5Z}yi?v@Z+6gJ&`jK2&B6#F#e2I1beR8_+zNeX zwEwdVI|rClbrR4ZNSyrYOKAshvKMFQWm=!V0v8y>;C4BmA?7C(8|6aDUi-srkFy6#7sKG=uf`|;^X z98K_={~7vk_8BVLHe`V|Y(V?ch&F10HfBKk%7`{$fi`JC`_72=&IZxG lH=yl;GHQDlOu=Qm0#N)Mgd9x66_|soa2;;Kd+-5#^bh%R7773W literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CRadioactiveButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CRadioactiveButton.class new file mode 100644 index 0000000000000000000000000000000000000000..5e02198842bcc45c9725bdbb1d6f1d9bf84a2f9e GIT binary patch literal 6106 zcmeHLTW=dh6h4zWwX;o0aVUkB%QWTUaIvKdghaR~aS1WFv~toQl&8t=*gIr*W;HW* z8-5A@1PLUNc;wIU4-jY9S!_3sch`!40*WUr)6R4MAiNNPZ zyN!?u+4zwSSc7~0Mks9KI8g41X}HSc$!*_?pwa9wPblVEG2lCWYn3cRiNO6L5W{u^ zZWyiw3l6z9Ldhqs2L#AB1g_5kb`7`t;wO&i*u&M&gcSA*0{3d|#Cj{eB$E%A>^1hS z7P7asc}Sqt#OaseB?4=s?_X)HbOl}}*ZzJYH8(04aF4nwj6}fVq0vaIM|Mkam;BtiG|(5FY#tBwhw&4HPfztN>w-6tM)YF^gLBi zVW^NUhPN=5OY5v85jbTZQmZJVF-$(2VZ>$tJsNPWg~v0@zSb=Ag==z}-G6Xdh8-?F zWJKB96VhJX{eU5BBD**%g&XYjyIqbn)Cyw`Iv@VyZcp8SY}^&Sz8(_W>^3pgh1~ke zqdjiF7oPQNoAIjmab{g1k-fS~&)OoxjW@#BSfjvSfJHFGTs zd%SRiNf*vL{YzK}^ob`hNFQT{nU*TX_sZ-r9{G8;U7m2yi#4*_VMe&f59%aq$LF`a z%z11Fk6;8g-QYwgjIVC=}S*2YBlT|YeL`XJ8J1gdT2;yLFmZ=by^Szj0e zU$%=Joz9)Uwg@aoF+=0Isn$;OSaNi^)9FhqLf(=CVFV6jJ68Ki8pnQ}b}EOqDsYcf zx;aiVX^V`QO-GT_ER%XtyiCKw$+mEVB6O4vdm*64#C&0o7j7^~Pjgc5B*=UmhwHx( zP-C@){DLtR5?IT*kV8iFo~e!&0xIW`Zy}(vb?_uJECf`(D$Re&d$pU@f^KEWC)8RebsgTbJrl8fPpk0Btu+0*@ T4e#I;;6waXa9r=gCcOVIAb=QM literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSVFilter.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSVFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..fa1a1c48dbe4176d31f2b846d7cf98456660734e GIT binary patch literal 1276 zcmb_c%We}f6g^H$GZ{is(w6tbEg&VEnN0-}MQjQcNC6ftkznUIR^oPMJn}eI`wRRK z5=gM;qY&3KKwC8`73#t_wsU-ZeDAsQ;P%IVbUB;MQ}Z0W=)TgN=ZVtF7D**JbT+*Q&sEIiYhcF!5+y1fCz{3ac* zqruQV!oIZD*Z`Lq`}97usxZmE8gXgTTqnY5lkwb|VWQIFDGwVv6U9eLCc+XZ7jjRG z6<;Hj5vhzSmC*^6YkXu>!87A{Dx92fM-=KHCxOQ)=-H8fcI1^sXA)K_bebFMcnQ~r zOOg32hKm1r!ztLoOb}&IRau<1r#ACP>R2TTKci8$=z|k2T4`WtzR^WNrr9Bn z6<7uJDt!$=kx}^}G5DJ*hMO}OmS!-_;WnMA;STQ7FYu5?K(Dz6jzF?aG literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane$ScrollPolicy.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane$ScrollPolicy.class new file mode 100644 index 0000000000000000000000000000000000000000..79fbb1197c97ec06d405f4a87067038c41e1e972 GIT binary patch literal 1720 zcmd5--%k@k5S}eR3MW$Jm!P66@&JkH#l&bL#!$)`s@G!L3c(k$y)Ja&Zuhdghx9Kq z(L~?M`w)N@rRf^HrL2~1?`LnaU0t=1tAEP{55aes}q>JFkNcw)jV&*+aNH7fM%t9A)d)| zvptsCbCZ1>!!Lyt_7#EIW&bSahSfqItX5XG2@IC;*zzzzpl}B8v{rfqCdokZUTSVs zc+A^0P*E&GW`&Y8)~Xfq$h@G=XtTpD8Td> zjKK_EOqX7dgkFjkRR1?7+#!%ZIU6L|J__aRc9zlI+Y81K7rum%uP6~9r`f+_8@Fsh^r`~YwuW}L{$b||?-_Jl8_zT0(?0h^fiH71aGZi1Zw1F&!LruB5)Q49 zS#GT7C0xAlJQX_pql^5+iT@4mb0UtA zt|o}$9B9WB4)^Uk}qpq zYQM^*iA7MsZ^F^5sQ9};&yA-|s#Sr_e&pj>3o zNK7i!p0F~kk2fp6FCByLlgm|+`&2^?(eI)4lE}*l2Afus_X0)G20=HCm9LEUr{HU@ ztVtnIJ7!NhSsFXnOin{r`crr4ht-R8uuCP1YE!dadYYZevSX+aF}U7LMp7-~SyI%t zO<_}fEJHNvW3{j>APkna3hiZvZ9N#8@hFssvY=6j8p*qfMIKEJger(_v8{uw%B=94 z60NXl|A@hCTT_;-E8!fv2yQc2zg(biA6ITe8VSJzQp!8AiXbL$N1G=Z9KkmXs;9R?+#Ts0-Np{p5em@E6Lh|VL2<6K4D^D~D+O?c z+7$H+BAVTyT}ET=HBA53sQnJJZ)i0E^VA0nP^(ivJ4C?(G$6cG*Wh|NE*_5`z=!4f z2HY&ik6?*TO~J?1PrxUzOe4SwwHh(qqW0;JH{n}a&(VKAgC=|dYtVwP;XB%^1kB%= C^GNjo literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSignLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSignLabel.class new file mode 100644 index 0000000000000000000000000000000000000000..593ac69434aa4b5b77214ad8e0cec8b0ea3f04bd GIT binary patch literal 3183 zcmeHJUvCpf5TA7t>|7H<9Vq2*m$VHIZG9~zLTV}`WJqgtC8%~HK_1ZhZeuUp?Ou1+ zCh0fnCqbf8TlKLYs_N`rj6u03Cln+ec<}Ds-pp@iXXfXbfBt>(2LRlJ)hbj7tQsBq z2@}$P!bZ&J(a=wX^?R`jpBg_@5ziinR>Xd*BlA!m~P=EtMD;_g^BWAt(C69c{20&rqtZ1c*G+bsw5RLbFR`< zt6t0#^BwhOy8})m9>z?gP|Cumtk3BZ#ph68F5g72mn z#aAIPIZc#X zbi%+qjT4M@C2hkkW!0VR5%)b*WW2p^XvOT15Pa zi2k5iIuM~LDR%wNaS4{X#4!r(8OxIb=e^nN|GeN!PP9o?9WIx%_Hdb(SRR~(i*s-q zE)h7>IM^aw7gz|8ZTE*skL#{0YXbE^h1kmW%Y6TE+75&va5H$Lwu#NCihS?#U0Z|C z2w5)CTS_J6xCrrXvWvjU6q}%JVf$5*OYHRXjbO~BHJ82%KM$o932)1hFaq;;+x5My zQ)9ZkV9d|88eAjfuM%+|Yy5Ai<|R1xqNLb+MjxC=UTv`@8I39JsG$z|x^PronDoVL zQbL-yWr#B;HXSUN9|hM;hl9N;_ylU>lvUvy90v38pbFoZ!>5Oj`s6ib(_yC{lFbDJ5*-2Q)_EYd-w%1`1_bJpl4QFuu2;XjG z?*QKKaQ0#S+;h0_XC`|YSBDPx`vljy?AZf~9=Nk5xPFX1cP-K_v4G6hZe8m|8bCOhL| literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSlider.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSlider.class new file mode 100644 index 0000000000000000000000000000000000000000..e574eea75a6f7d94e0e93ff5380774e0e3210709 GIT binary patch literal 9283 zcmeHMNpl-T6n^d4ku2;iPFTY-Spb>Eg0KYQuoy+Q739R&iXmnljoQ-0qZu*Na-6XI z4vIV6I8a3uRir9ZP86IuPz497xWkcKim!V{krcPBk>aXAk%QDTJ+Hrh@6DUnufP83 z+ILro=oo#PpaDil1K-NjOxw+zH`mMzFE=tZTVzU(XRQVq%PVtr*$}pq$u2r}nfnPE zWVA<#JEmL7oGG2>mOxj)ecN=FxF6V_dp3WP5j(|bH0!y6FkP`^It@OAxeJx&KD&ws zOH+ljx%acPQ>SNg5FRVEFc*byyOl{syL|3qPTb7et_UzoVWFc3GDB+;8MEaX4LW=U zx(xYtrHXdM;bs|wv!3Jmj1mQPfia`PH*Kf&BqgeiS}776E&;EONr7;p(1V9U2ffxD zE%nDd)@re8TdOV)pg)^tw9{Kz2{^#RSr>)r<0gr&BIKmdvV4Z?(@=^-@nLw-7jve+ z3drl%1+&B*z@4yNTfEF@M|yk-F394oCFo&ByIT&;`M&2T=~1?4@~rFgz;o7k*|5A? z-F8fY_hr<5ujKGraNI}@7pvSTbIUP(2-RVLS>eVZ1jht|VxhhY2>5bBM%#qcY+_5mPz$?O_k3X}ar1&OEYp>9l(^9};$g}LWU*=@A#5z1+Y6oGl!`#v_?UDTWL%{sQ0K}@l(<~H%V3dSr6qiR|oRa<-y zG0p$~h;5pq^R>ETTedKQMqO@IB-i3MEP+}eB_x(2;3%=O3@J-AEATv7^6GW8~GYZKkP05A>=KJa{nNS9nS(U6zwOX&OuSN!E`*^ z3%wF8x}a5drt|r{oGmFYmeu8f@N!wN*3=+$O_oMOn zQj(r$bZ%?zrAfU+^;$1WC_GW&Vj*O`zysxzbez$_uJeHt!?=PX%_M>%=|V0l0vk-j zyGeSL(Uq;y6mzs`pl;)XK37YaiV8Y16<5mCB!PMSj(yTP?I5EY#Rya+ox(fDE3W3N+jxEY?dyCOt zEUl>XMA4fnVbwO}A&Shl$lY%!7Ajsrxw(ylqo9=L(MF21K%Y zmRq-Ra?pI3MJ=)_Z&QIh7Kx5YQj1>0xA?RztBjGTI#5RoC{OaPtXvd_D`su%ZhWhH zF+n&l8B&}71i4t}ny)!QbyO80Ih-JzxTIR{NstV5b>C!o6SRh$qPjY_@(EhU2~B5A zB2wwLasA=-(%1nveXNyC()J8*pu zjnJs-+eN!oyC-V*s&t?6FB*3sYVW59RR4p~{X@~c zq2_%6x*ViK_&*G(XQ3rSo4QO#&W%0tEv3I#V;{%A)SB>n0{1=o%**r)?LtVKB8gAPw>5zf$jn+~mSQxlWyq!!@~T0pj2 zg!VFv6wx+wMJqPWYAjmRpbgNQ@#B+yrbT#*&b3+8(qUPn!xvhFcX~khT7$soU3#yp zPu|z)qyJ{jKGCjfbu0CW_JbD9>J#l}En2xxv|qGnyic^>v}h}RqW!K#t89|NbW!@Z k24M$P@udxrP3O@PeS+V9R2-{RBac3$fEsjxF49N;0OnLHga7~l literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane$CNumberTextField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane$CNumberTextField.class new file mode 100644 index 0000000000000000000000000000000000000000..94a92e3d3b535c286896407b24c0e20d9a5d6806 GIT binary patch literal 6853 zcmeHLNpl-T6n-OQOB&mFA!bQf23G)?MG9LI;;z3t_?Xff&3Y<#WRg$OGufKltz3%UIzrX(e?GFIB z0@VzpELaMpTWk=h>#^(mJ$5Pq9_jw>2X z<`cyPcbZbveA)=EId*QNP92ZBK9OkDBiyAPQy4yq!dm)gmf(}+edsgTR*ztljnnEhan3EmlxPj`p zY|Gs^aF2x1idH2*!d*uRhd64lN$p$-_p9KPs|pJg#)FSagS~?juNsdq|p>jgwrGBo$bF5LOgFxiYAq6uT)1B zr(K@%obEU$bj?2aD#l!PE_(O?&Q{x0N=!Nf%noBOv@yg3M#PTViEF^l#dNMpR6W8Q zJGbZy66NQim~2s{7g)X@$2vMaF)bWT&UuWHo$F-mMIkZ6EbO|pY4X zVR965FlE7XKDvrBUcqa}evL>U_$-*J2$%SG_YZ&@ogdS>5@bO+VF~A0843$S(-cci zEu!eby=#5lUJ%dh~{?OfAZ9X97B+1k?0 zsmjp}fIJLo8fX??wP0A+X*{w`yDG3OWq-d}OlWK#+k$w2FyjC+{7EI4llqn3$n zIv3)U@6F!BY1Tzcx^$80r8v=ZnlYs`Ts39x;_b!M1=KR5l1R6{hs2jT)(J{JLE?i9 zT(RJCvXZ5q^;pgH8afuTlY#44Fg5LNM$7K*pmYrzelk39$INT`*#@qeCo+xVd76S>M8slMjOD-Is6_q&o)fM)1Yg} z&%m>$?>RV+b6nWBejfjKQB(NbL4Dyks>P3^;tVe(L~BK&ISJ7oM54W%5bf(ov>8MT zBM@@+N(5KmL?XPF(4TK3(ee-B&v%gsv+#PNmGFHe+8YVceuzYS6W&VX+mDfGg@kB7 zMWPiGqWv6!mWE64_6ct~)OSDr5`i`Z@8Fmeyo)NK|K7)s)(sR_xSCGEEo`4dE%^ZE V;6wNrZa@hZU$wnn*^y+@lg%bZ5G#)E9x7505UYYT^kKN|sev$>MX9VTy5566xWmN=H_RX z=4MfNve3mW1(JJ}=_Hs0MkNinK(IW4eKjg8+{4BKHmZ!GPWZzQl_PMju=^!V6EK@f zwE`_Om%vzIafNLLdCpu1-=$o(9<*MWl2@wj#=gtk+-C+6lIsy{7aUZTB$P2VYW*p3e~B7pH`T4 z5B48V&5K6(9uLtfNbMAXB|GS`yGc^`eg=6_FSgzA=8Z2EF!o{61WpUqXcn(|V9)^&0 zA;XxW3}N-8f#~?RK&a!~l%mdLu$8M~QebU6r9HM`^?5b*-S;u(GE@5D18lb3WKv?v z8X&eEd$x%#9xx)d*ZS@OGZj<0A`Pk=a^p!b|MH_ivA9-@qArov{V~!vqr3 z3Qt6=)Tr0-BH-Vq(!==OKW<0$Q*3kIU|a3dK@+%p6HH#%4L_!AQ8fHcNiqNzHQ2cf z=w_ll(Y`fKucw~K28}uCF8A>hMU6T6Q!Hk}aj?eV7@Qz*B>gzwqga%K1-y2&%1~AC zDPl<2$Sbu9z?GTY z)E@6BSQJS95$JZ5s$v5bp6E#2Vm|*?$(SY4kT%P6bpj@Oil~sm!{f8y*+{I0bVM-E znWWOLZXtcS;2}McbE)q$-vFdZ=XTGDsuObR(Yv5h#mc3T^;MBq@TubrU{ zxQSG0M79`k3m4d}2@F_4r)f5X0qD0LsyRwGxX2>+eJndxkdr{)?O$SkP-N=nic9_s zqr#9&K5f7k!;d~=z*obMK5M|&!;d~^KzaDl=MBIuH>}kzzzM)ufy{miUV>5Bhb;qJ z2}r_=V8Z@Rdkk9#U>x6>a1bWK=b`YKfJrzUj(HxAgwLa`=L_L;95Id|8o?O=&f#n$ zYV^-={LbVn58$<5!!alETg?vmc^$vU!rvyGf;YmxH{q=w1SJ)a8 z4FbRg{3olsAG&t9__z+_s0JYcmv*6pr9mJt4VQ7BUqK(JeRma~?fu!+=Oc|i7qw_J zL!w>LqFoyj?V1)XHzeAe25l6sqooos3weA3%;CpG`_1ELaU=n^u|19!y#Ym7hEJdb WtMDoIO<-KP1E0f}a2F`pF#iv%SG~jl literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTabButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTabButton.class new file mode 100644 index 0000000000000000000000000000000000000000..7f1a39275bb1f8e42eb67639e07aaedffc491c2b GIT binary patch literal 4337 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 DR z+zm^=Ev-W75=hm`%2Rroz|=z_g?&U|ys)@M zU~VInR`|RkJHm*j$5*6OmRWRR2;^&HQFfMzrGHm5FkJf;y8V7#ow=>pPJM4F0S znuw*-Tu*Bf$Jx(<3lBs?ef_@VRX(ml|#xl|uhi zXjB%dFch1aZwrZ~zO8gz`w=y?k4nbTV`hZYqr6cWmOb~p4UTR#*DsmmL*Ugq-?J;4 zvmv-q5thi#@lq%s51usRQR6BSE5r<=`FOef<gE z2~WXM+goS0Js{J>{g8z`T+BfZE)ke1)DC1_m+R$7F`lmB{COVwO|I)vvqdUVIVenf z&DYzUux)_~a;f$Q5*S5hw$M|ok;`-#xXkiKB@L9o+l0dMq~|CGxv4_!@HG*!Fx?-* zvF1enD$+p_EsVuBewpp+)%+OD z!X!-LDiyENxRZrb_&knJIhe+O&f@AGt_j|=pCSJ`fBpkp_!{Fc<28C4@HdOsTo(m% va3$W$!ByPpTNuN=<65}(n;7N?#4tY~hH=a_%5wp3;2ofVzbRbbgxfy=6t74v literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTipUI.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTipUI.class new file mode 100644 index 0000000000000000000000000000000000000000..d6bef710823ea964f8d9c7bc55bcf30f218e815c GIT binary patch literal 4217 zcmeHKTW{1x6h4y+-dz%srlk}LbO^NFP*|68N!4%>T?%YuTGVWUc%1c4b_eVkYi2eC zeh7br2PBZ%$4dMt#Ig69bcGEV0TK_sjD39OoX_Vw^UaHw&;9{`WmtA#g1~vBeK%x6 zy7$-?b9uAlhQhjyK>7EL>#HVDZaY>4ZndsdP#4j9&4DQb^T`(hlP&kJ#y##^0@HVD z*XlP3kQ#y6s*=VsX*XEV;gdM$V*&-uWs_^J2`qS39t3~)#ZF^O7MqsbE zTJH_;MXAC3`z@_HvPr=4swz+#AMd#+q_CIqeYy8+X@kI272|f`O9FGl82`{(=>qI0 z#V6}hbEASS-lV8=#u1R?)rKz#5?UXXt#dv_-_B8T6V?6{pmp|HY+pnsdnV+6P5QXE6vpB*byIN7wBLT{z!HIdI~Ak@KVcp1mQ4QVkE*y-!2bPZ4-5N~s*;1Ep19vnG1nt%cx zMJOfrdtoNI&cZ&tPNK~m%;WhB9G%1Q1YS$eVd3t=S5M*Ve-qn-c#gdR9*6KeliZi! zTR5CNI|4^XJj4-nJ$yID!>?mK9D~IX55pLakMVG2jE7119%r3^AK*v40$jjj92LQ;B(dx=vyDUOp4kFvatm&jTpt=)!S z0{?&?zzj1m1MmC^9(m%CSB7ubcdFP@NEu4|AWJKq{r23??(r{w{_qnKU8Z7+4j6Pj z4BTwZ;ePfDr|D!_rID?1nJs(5-43&^s4)H5klf4WN`d2Udn^ps-9UKWeaB}h8Z+op z5|G|pgJwe(aL3zZLCA%_k-ue-v0~6nPWYj8e7Wg(4K@yT?X8Pne}@n2x#F5_=U4A; ztmaD~&KoqV-=aIBr$5(5V znbi^E1>Fn1C})1={NQmMXMVPbjbYkUgj}<`o32oGx_7x0^tkZ<+lmEZoY#MI^A2*yJHca!jicvZ=?g z>^-()^H4IM1rdg{q_7-Iv1Ly7W$saw-Auk;ggN1f-T7-esGktboQzA?t2HAy91hr0 zOdOhjeZeIWR9Ij;JE9R)Zu$+Y%4FMRLnhbi&X*0AE(_r?$Dg-&Xf^x_d&qsb_(NDh zmBd{gHIbY2;$wsrdW4-lQMl`jo-^!i76M{j24b7-xniOt}96*@`+Vcq7!ID?`kbtZ55EZG4l=&~+&0ge9S(zfwfK zUymOy5|qIw^p9mliGlB(nw4RpC7XSKrAJ7mFGJ&9`K5+4vma~?twY^{P=QANn^Qu3@0<`IGvoP zIXY#~@wDCRu3+DTq^!Fyhi&ZlRvWc43rcEhZP1)8&|cbXZ?)Sm$7Gd<2Hi~3B#Js% zp%wJaKnExhU~i*$uKg%H?(Qt^3yA7PogUyVZ)+tlwr`5y+W~@oS$AJRB3PY8nd;Oa zUC@;i%-c^SGnnL5vEfVX;_`m8b#lC^x>mZ+2BVvH$8Q%WC~eU4@Q$2n$aN+Rufgy& zRZ6?P#5R{RIGmKKa7mp>&>&3b=Qk(lyg~WVE63c78gw+&Ez5xevq6W_cK6V%;{!cg z+440+%m#XxXj9g@XL^0cH|SW})&*Ygw{(@)bIonGb02-bkX6tTP1~J)zy3Idk41)~ zm;O3|Q38>7yCHAVNJ>%ZwWMFoQc6DsDBueBb@0&Q1T~5 zI7{as{acu+WPKa=4nIor7TP-zI{7tHC-Zwm`z;dfU3#xix}J^RkKpI`NQ4Y!cag4# z7A4&uk!T-)pJ-hTMS~)v{O1CFxF@vPNVJdO$9v)JY$V#nJ))hDM7y*{w964_o%HM&7dbc^oLGOdtJYj{5fy8C|thOoYH literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheelItem.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheelItem.class new file mode 100644 index 0000000000000000000000000000000000000000..9082c0c441a7cdb8fdc51cd2098990ba88a3382e GIT binary patch literal 933 zcmbVK%We}f6unN&wZU=zrXzefE{?)fEt5s?_`n-Ws+lYDiX}fBv&CB zYAa8CB5j7#Z5fnKx*x`fx)(5SK%K$*^o15?l)M`rqYQN9(J7$^=)AJ#u(!v6?K5a~ zt?@yaFc7-LWeT5;wm*Miu<}e96`nI#+Il=-Q14Q_23%#(o^!u+&bn1tXYA9Vap=dag|woA>k|wl^50pK81^qflFbk7(?X$inuiHY$4hHdtp#7 zxZ=Tb!Na7$Xzhh{8M;(VY`G|<^Uyt&qp9Y2F=YfT=rkdM>kKxw()r*Hf>UO+TMf3I zDuZv!e2A_uXjTk5sg)!YL2@Dg?_oWRm1nS%UP_d^459;DI*G4T6{0=Y>vU+8Ue8EU zqVfSvc&*S0C&!Zp+$SZ@y2qgTMtM(p_o-bT9sy~S^vd8aEW-+|4f1NRN;?V%SI9Q$ ztc zef9Hrj-F%R{U*No2|V7}gzQqc&4dQ29v*g+nYr_u`)}@@z4QBDzx)OOpTjp9ND-I| zq*JU@?iU}^7A-QjS*&wata!qC5)>WbvhZ(Haj#hVuEvW5gDi57YGLe#6crRRxM^Ftts1jk=6F;hQ3G{CtIVE3Qxwn?g|;aQhfFbJyMhI_ zFO*%U%Bk53A=q96H5G?I(F@wP1Aq<8(s2|N2W8!REhZ&*Sr0rNsp?GCglkjRT@K^2_6g=Q znJ=M>h~1T@Qo^6Ld0=B)XFJ@-h_oYQ7^3uUu;X-A?iR;buk%HZrC)sxjXmEeWSFCM zGhYu4c9NU$xU>IU(iX)Oj+x2I^+|5HvCt9znN$wN50iLmq`^Kmlo4s9nm);mxHTd& zTDYBZj7X0zlBv@fiS_^T^+>5Ed%{@u!3X_5T_hI#t4!Syl7BCJMZFC?0DJjadq;|T zEXqe`X*@jc;5UKZ<@%gj=Rv^zYIroVSM=$hx%crqf`vdXcjBUy`j+@*@4 zW?qmBBQ3R0)}8DsSp(1Q>PT}>jl+`M>I985c#qzos+N#Q``A3D=PqO3kD%X9J)wWk z?@ku?A0&FlM}$id)ASdn}lScSd0fE)Y1IFGtmuO(ij(Ea+;?cp1Mp?l$Wc zCb#r4mcV3LI9QYF9BVtBX;tG`UYhT#IMi`EtPG9kW5uU%-3#%a#dyVNDIA}Uk1ssx z)Vegsm*XSP%#71nL0FqAvmLCoy_TQd&cZAqPYugUowRbC<~hyV_*L9*-X<{8w(EUf zt)XE@@TeqYeNAC$Fbkg$@`HhajpK%KY&%Uay3TEB>oB$2Ek|EGv{#=gI_n*Im5^lv zgBjal@Rl`3JUK!F6YV{*CBl%aH$xb6BbG3xW?`Pdp9ac~W+fb$;+2R0LJq`BlTFc- z4!g~DavM9ik_jvPm=@Q32QOQ~ik!N`nWWOG?PuU7&WoHb1B(QPur2T^2X8X0NJSa= z8m~CoAMJScvC;li+rqLPrpuALEKnOvC)XeYc)K&-&)rHVeO|hnf!jx%dJWzKOn!KQ zGz91H8OBxyTPet5+kz2&w*;dwhW)RH{p0vP0~5L%CgBZyXK`!_&f@z`Y+XmR6#iPj z!t}$*w|<86PqCGPi}=>)fX}=59u5CnU?T^*Zwh9Rs=dbhFNt)ii*&h*l*U#1<>>?X z5IH-LO7q@E$R|kkFj1C#LY zepII1^hCH0om6R)>0?$#FiT)5pcT{o^h0(ixFb+&@4Rlc51P9>owqFl%k42_&snMa zFA3C}MwgChx6jm2#84%$s#qq}0UscjI4G7c{AM2ZHtlSIi=)VEl;n1>L}$ z8<=xrlyl=k&KtC6L`k)AG-r+vs6z^IQeejCDX@qQU&Mxwtnp96Q4}&SjCC}?*=I*N z)BcT2(7#Dc;7+E3Mx~wNqRvo8-Dx3`>ZL$Uqm2Cz(Yq#A)@Y%pMST9nOOPc{hvgbv zgB1dm?Xy;|ZcdJkZ~kIiYS9_ynXp}k{q*x?I8*z~O0S<8qrPw*mZN)Rb8C_brwRcf zHUd>dgsY!RG>>y5uzk$hu~lV-0M0w^CxJDXg9^$BwHb&}iy?t|wA9e@G@t;I?@<4= zy!aKa{tUQPJpEsu;d-$6b-e*M!OJzc736KW6Xad5Bm2E@uES%LF)~xwfQNqoA!9HZ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ChartData.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ChartData.class new file mode 100644 index 0000000000000000000000000000000000000000..ecffea6e9e5f5072fa9377e12b3a7f9220fd5d4f GIT binary patch literal 976 zcmbVLO>Yx15FLj!+bkh%1LYfO=qb7EUMi3PaVb;+rEqAd#L@AZ#EsWp+1`l$G9-{d zT=`Lm*7+6=bq3!0l*`f_?IMPRTIRM3*aV7$s52dB*JA%kwt7qX^c z&>xP*&kvn!_LS^AQbvWx40eaV-yNMWXdjT22re<$T5&&h&bm$5V(jxPj@ z@@+w8f2E)jCRGWON?Gz(!bXM43+n<}H$%ZqML(7JLx0?DO7@2o28$fSSs~-@s(k+d zKFbTOgbL`(LOQCB@xhfMScgsDh9guSOOwer%E&Ciqtb`UW_?Ycp)yOmkjP2se4XK( zTF+xBh92znpbIgzcuYcGl=)P;38(&56J-V0C)}xO|NXEX=E^g;H~ya)rlE_EZRvzO zRMj8)Kc~BHV+1z{uqtu{x7J3!vBaQvq`apApHNeL`z|oJK(C9z4s1Y&q87cB2sZ08 z@zNMc?=X^j;78?_m2=g@pmF9l}%$muc^VIF&YUNeJB`c3Yu_9e4K8_c3^j=nVCg+@pt%7 zOf=DVe}+HAcy_BPjSCdx!|cwUoc+#szH|Bh^Yd2#cm|Ih$Pt(~I`AVVq`$-Vn9p0W z9|`L>Llx{AKTs{6USlgle~G_iacFBy?lI#)p1@@KQ^;i7f8E^SfpuVvz}zV?dtiuU zxE3tj=Gq7)w^o-3kUD|!nv%vcX}4Jz^HC(;Xg~e3yHwN|b!YD_ z4VX+~G&%i~#6SD(4+D0zlRfBiI?x6*ijAen7-i(rrVuK-1WFiiMYKC19$SFh1eQ;RA1W1hL&ZAauS8nRfg+@<0DECo z2DsmZvDjuSf@`LO&Vd8>2#ls79C$#$?I+`ahpVqQGY&jLxdsY}*{lg;u%$L}ZVb!- z?ngYMcrJqj1$-BAhvvXdZ6z2-%LH1Uq<#SI7bw4-I`aw6eoOt%<8uss0M7+{meRWm z7vWNBD4r9{8d2P2Oms?pvj2|rsBgPM&I_@^;l?ko9*5K|AYUJ zi6;8)A7z}~(wqdMA@QL*yEEU+eqU$WpTE9-2Y{y#crZrbNulE~V?u^|Y{){M48ly9 zu$QWMzX)TMaJL;8k%k+Gd8#zm9*h&1cKDRZe)zVx$74gFwic&C3bRh&g1@vwV7!C* z9@Gi6N9YZ$m9D`gA)nt#%?p(dc|v2AbCD*B7gQ=kGiKslYOn-9%#q@sB~W)@bqAJN@YjMR3z6kY8|vWp zbv6r!uvY|TBNelBhiPHY$IhufHzTnGTK-ZrIIvA=0GH#GmGbhab-0f8ANkIH!0VL1}Qng2*&0VP$w67gOnX4i!` z2~4siv9!75n!pSHJS3~{ugZ61TbgHT$SWW6?5cr|`72@DGF9ccG55g7_^1OOETcS| z>cOKEpLE%40?jv~C~yY1aUP2a0w@E29srX#Ef-+|&mNwZkG+j=Q2Q|3_yWxz=pBP; zTrCFhnQyUyOT U7H_-n)(7wyZ4DVcge6${4LHzdtN;K2 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerEvent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..7d969869e63e0b2ef951afe1a1c861fa068fcfe8 GIT binary patch literal 613 zcmbVKO-~y!6dVIhHcQ&jv`~%~r=*A7V-O%NRVr1A%7GM#qt|OKCSH5xbt3ph{Rx$d z1o!?Z)VE6{;L<}6{&?f(c{9)c^Z5H7zy$kUY%mMGv6y`#B-Nb9KU#QSFbADS<4)yCBLyy37xAc;b z$!I+Lj|Vzth@U9F>bCf+muua27^on91kfDe4LTHeDf+xd<2yu`!}u5a4}@-Dhvp^+ XG~TyJ^8tqVfM)%O-S%X!J^Az(k6Np- literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerListener.class new file mode 100644 index 0000000000000000000000000000000000000000..d4e77336c62bcc6be60f5e6b77f2f94ab5ae8738 GIT binary patch literal 608 zcmbV~yH3L}6o!wXv?W{$g)&>63PUm?aa&NCB02z-7+vS67#urtoQgN%5s*NForgl4 zm`Yp*28LKUzm9+ZpO4?(pI!i9A9h->z~HcSGRcK9$*q`)1hXp1l}{$x%DXa=HpB2+ zd8L!#eW9&Gm#WgELDzx?gN?9H3o}hdlUtOYLHkH*Wt2Z*usGNqGiaQWPYaeAbiTTW z&RN%n6$TGi#$jpo3^OimUMMZRvW6GVPBi8RJX*fIL7t)1!ck8lmp9y#1>P5w@Vf=!$2ERj2aEqSj3Q{m+A6F=he7jbPS_iyUrZO? zDKkB+nLDX6cwXfbbeDoK7<5xBg&qs1>Uu8rC{no8;S7x*Nm)5UWN`LsruyJ@5u$)CIcD}y#;^;B3ptc)h(*_=4$i|?dxvz2&=E5XM@(d2k6@jO8o%3 LuoaZ;p!7ZfX%esA literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard$GlassButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard$GlassButton.class new file mode 100644 index 0000000000000000000000000000000000000000..8c5a1ecc03dd701acc24f932f0be7df5d7ebf456 GIT binary patch literal 8551 zcmeHNZEqVz5S|N7?YL7lTS5Vs7aK|ei6BJdv`vcBMon8(_0#5V?c4Tl_q4lq z8-51g_$5dn!FPTXVs< z^I$la3W*ZxKcZbmmeIfsG;kv|a3g2nWfDlH ziI9fG)c7GWD1tpnm~XNoaNio%V;WYo#*qS3EqI(rWr!oEj}7suux6iX0|9xOe@K|77EOw}C5Nt)O~&J7JwItXr9 zuo2si?Z3^^sP$pb+~M7xO54Drc`~7ciRULCm=MD|3)}LsvtJb(8S@`3f9s5Q!=q#H zFgXelbb?)~D1}>IAVcLh@+o#8hpi?y2<}Y4u_A8SY*^qoN5|pNdGkwjT$7iAvM()5 zw@NklFiPg2ZH-z>ZLW|c%?i)RaT-#Z?SQAi&j)0MaafvgY>YBC!#J@y zPw^J}2lE>O&wE<-be`!7T=d}bBxls1$f!rBW8nh$ngr^T}CPP-vMfWz|#H2 z*M5UH{&F;L;kT6v_<0+@=iPM;-hp@BGXn2rB+THmRKoHI3BQbxFbfxuX9hli5AiR+ eNBF6sL=WolF+TqS@2jZWC-50G;S%1>K>c4jfp_u% literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.class new file mode 100644 index 0000000000000000000000000000000000000000..4d99be6197b6694e1bbf2db76abd95219c82ec53 GIT binary patch literal 8036 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 F!apqp1R($b literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$EnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$EnlargerTimer.class new file mode 100644 index 0000000000000000000000000000000000000000..a79ee939c8c8d8e2ea75f2b23c1dca9d5d442f7e GIT binary patch literal 5928 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 V@Dh(Wbts?%>QNtKXAJF^{{zdJ;OYPX literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorerEvent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorerEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..ac53d410795b1c117097fcd91f74baa0a991d591 GIT binary patch literal 1294 zcmbVL-%k@k5T1qF(z93u5%Cub{z&_B_hNzp#h7y7CABrSlK4cncWb+_cYE2}Yv3<4 z(L~?G4ptod$BOy zK&tRK^FkHz!p)74-o9j6=AWceX|DY-PfP_$1Qv=)$&#Vh9USoxPs;>eUIBOtlfYW9 z9qb03{liwb(|;Ru{EvrwK_}?F^LG!sAN&ph5)hbgsU$NjF$YZMd=~FS2&`XH+G=-u z{;o~Ldsn&T-#<+`ftewit@afNPjzCOK>3wOgxMjm)3`oN&^#beYGKPOaECzstgXJ* zO3%SvLdu^K%`+v(JffkBQz4lVDxs-X1IgoTi#pZ*h|`FNl4(pzS$NEboNl19E-LFz zly#?+-Jp@;8BLU-F*D(a8ie2{DQbBh0vqJoQE@FZ_fkNo8pNp-p)fSdQ?8LLily_= zC`~6*(r8kV(L9Ox7m@JDrSJ31*uNHK@|22Xtd2QlNNY5W;5e`Z_iC^Js|1!C?Xynx zj26jo+jg?vM%Yds54i3#Yz~3NwhEa%U|QJt?_tS|L`LAvwRI~N0cW5# zfjRW6b}7KY_~yB|hG+8_+i$m^j&EDH0JqUDV)O!IyH3t`So*xU{1sMy7Py#S$pA;Jbc`EP`!3lW~;UuWRiAKSKIga7~l literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassHorizontalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassHorizontalBar.class new file mode 100644 index 0000000000000000000000000000000000000000..f1c202f914f8f2ea4f4e6d2fdecaacd1e1602933 GIT binary patch literal 6580 zcmeHMTXP#V6h7-FUB^wDCM5-0E=!=`aIv|xT$+Z`IBD##AtiCs;ZfdIZ8dAjNV1dg z2YBU$8F=8Kzk(Th9fz~G2Zyr4AY@`@Lse>-#L=bInw$3_^;po0Dw1-(y!LG^%BBb`Qu33~_i-=NrA=!6=YZ5IJ>B5);7i`an z@N#yu^pFM`n-rCdL_1U}CiuO=iUZEN15-J{l_p&8kf=__(G0(Q{ijC`q^hVWk_bT^ zxacp7IuB{MW!^W;mqirOm3p<56OoV(xW0X`&5{JWht20D#eS0Ua-MOm&<=mAqXj!m z)g)EQ7Xi^|8roHG;OtGtnf}~?tLefaa_iP@%EFEVV>z_Sh36fZZV!G{N+FZ*qBB#x z$5Dxh8Z`6*QLVAaD)VYmlpBR6x15Va#|1^OlKYQc@aI z8pb%)6%l&5cE^me7+V*R@u|SBc3rTHDR;#3COIsr=$W%Z4YOGz z-_~imBt%3B9}Z~=sNfJF~9e| zFnAj8tXEDz>40uF?0Ao4|1#Bi%E}d;?v=0YAqWdX%>r9GrX~io>{QH@kw=bEPeC{h z>n+cAblhj5uJjL%4rb*vJeu@L+wW6w39d}SMR>`9xwPNrUGUI^jL)LsWu|>Ra(;z8 z5tT)A4tHSIFg?-E;ko>RvGE9u-eMhXlECT&rA*YJ2W#6?g0_CR0{#di9e0xOb~ z%SK?z%5PCDDQpL18?mUh^=u1lm1~MboE;Q?TirLccV!^I?O>K+14CozZJZtXX zb-g9ru)V+oq&aO#tn-XYB7@3-3pX5?>6&8~ZlV|2^ymT-kja)Cx$p(@lFd}_!ZPY^ zkI{t{9F%=;on~CPgT$$A>O2>@kaysG=cxk6wZW9apebTquD}Ba&LA0k7B0g$UXfqL zw*(|%7E*8ypJ!nbrtJOv;e8q|SeY681}KBt;W@m{;oCJtGvsdScewP;>u(&-a<>@a}(`qH(FvT1}y<^K^jrI5f)+) z!dQfNjzM@g27$*QIFNztNF&;dMSFilwC`ilJ{S@0hgh@^M@0KE7VV=E(SD9ayEY=) rFR^IXM?`xRgLVc!M$b;*zcHWU9iV`}S&X~SU=fz!7Tks$tisygH-+gy literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassVerticalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassVerticalBar.class new file mode 100644 index 0000000000000000000000000000000000000000..64c28e799d9535e026849eb35b20141bbaedace0 GIT binary patch literal 7236 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 K7RvtxeEBzE?)SU^ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HorizontalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HorizontalBar.class new file mode 100644 index 0000000000000000000000000000000000000000..f5a80c0dba7ce19b2421f9fdf9ca19c91e582f20 GIT binary patch literal 6703 zcmeHLOLrSJ6uy(Doy1N0NSe}8C_{NUJZv6?mZTIKCvBWgl9IUTVTU|cZ8hVO(a3JY zo-G>|ELiX}I0w#wJ%56K!r_w~d*<>DP&PK zzh1t_1C38HSAvCGT*X30w~LDoIV%oL7GxA_7U?Y(Hu+(U;Pf9e-X(`Jb?68cAh<)* z{(@{q6<*me?N#$<9wNHdtd|Qil*%F3w=ej7OmT=R5mlE(q+_V|H+sH6X0oAp9Q!h0 z8l%BbiVhvQA|j!$I&?l;+yzTeJG9j+~yAxefN~$qB7eFmK=20*SodKFtXs~kTh5Fu*B7uo3Q=!Jr9CUo?rSe#kXhzzzFC>e&gSj4@0Gu9r085xF0+GYn4)sP2GdSK;PqYqLC z*EL!33f+#mx@^Y$PL1<$RbrL1tADqbT0oj@FZ*Lq9NWQfAc2+SmWTzCW7f2g<3kR$ zH~Ee)V$CD25*E_a(qo<(R%U#qJDow21teq{84K-AbUl!11#Q{c7p%ol^)Ru_cv`uY zN29oHnEpz4jrVUWT#yR&*=IYlIcOD3ncQ{RnCtZh`>M&aWhq0>qFGPGp4k=L6%kzg zu2k0P_jS|*xk+k=>I!ytGI0uL7_JurVpA)*&G*&NUQx)|(EX=kUFRK$__#&aTU;qo z88q{hVv7Pf((FSASSTgj|3GZT)R1t1Ic#M}nUbySsx;f{gY>XIL zPYRC!Fr{y7)))$V|B`gj`9739t6VR0QLX80zpRPFnHGUP#%0Fs0;WkLDQEcfi2Vm* z>7cIibcev!1|?0Z1y%p3OQ zxR3qb8kirhN@i>A(3Bx^!mZt{_U^|~T@xUG=KNuqEYL)U8(>mEUQK5G8;Uh*B8cq} z&TTX!jXgv$YPHWT*9>Q3Sstj&_#LawkI`!mE%)bx3?0T^yr#9Qu4P{sHq3bXmI3oCEp& zF?!dbF9$2>t#1bnVpy(jPP(@Y6UZy@tE}Ixd3KrG0*i`Ot43hb%5QKSK5Pe2l<02{ z%^k3%NOLfHc0TyG^uV0HJ3kAd2)0c#vniV@;Maw5-m^)kdCT4*1d34re$*a<^|IiK zsi3yw(kBj`++$*wK845HAam)OLt`D6b*TV$vmK%?EkS>Go-W>v9QX=(PRR zyMJ@(CfL>99g<6{P}*_DRT0Ms(-IElF?r zpU3F9{da;+;yD4?DVoOp6j~R7GKy#B7n=EE>balj>~B`~1>6lP;d&8w(+g5`o?f!w zJbD@0F5ulry@F>4ZN$h~v{(0{jpP&1M(A~V11KGY?s&2Z2y2N5Z_-;2A#}&^b^<~< z5h1q^LOuZ@Oh9nxJ$ipAn=}*AJ{S`1n?$sWL!y0~i1y)-Xx}BGeKaK6_lanihD7@z r5$*DjXg?;P9iopB8zVGF^LP@i;W|a*bcL?cXS6_zbe)!Ih5Ww&cA5Uz literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverHorizontalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverHorizontalBar.class new file mode 100644 index 0000000000000000000000000000000000000000..f87a394b06e1ded059fb136dc28a1f8bbfca7ef8 GIT binary patch literal 6662 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 Mlc;A63jNcIznRYZvj6}9 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$BlockLabelTextField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$BlockLabelTextField.class new file mode 100644 index 0000000000000000000000000000000000000000..0a93651d69cb2b60b7c3d832cdd907cfe636cac4 GIT binary patch literal 6976 zcmeHMTW=dh6h33pZtOa35?UzXwhaXwE_S(<(u6|e+?=k{&|E6Q(`0uNPqVvY?T&N# zA^Zd+BqStw0RbvJ@POzmzXx$6&}-%Ey?|gL)V#qmwTH`UY=9}x?`E` z${Egl&w@SzgBr%C;b!Ib`aR}K?21{$slUpin2T_wHbsEU6Bww9FqSlwtJH6?Q>fE} z*4p=z1d7|#=iWjqSjQ0ra$i&l`I^i|Ph7F-~3u49SmC=yXWJWGbYTnQr<3xAt=wkv`r_o+mq*v&|+ z`z(mB+lBmcgV`Q)eHx)qle$}Uli8!_nKF8&oOq^uz%!$^Cs=HULfQe9Zo`%c!FHQy z{xk&IrmS3DR+^O$1x&QyK~qH1*5Y(W+Aa;%9P7+(FXBY*#4d`=Cp^<`bOV%Cdn zU8uYw;|P^;1WY!BhX;ETGXz;0vw3VIdDsRIF^AYdU#X-*(a%ohfo1(%XJIQj0rpWa zLsV&DW|XA{^~8?GD&#YnZbozsl1w<6gz8i_4F1ljYRbB;rbi`vm^PP^*~jdSNCZav zqCYk;3s%fh<_~xrtI*PJNCszAA}eoG%EnACF&}eCB+`d`U^>^Is55?3QIU?f5@# z+4)5pGXEGiDsA?ja*A1%)lh%Yd~~Ka%y~_$C#h@!&cky>7=jT37fMd2aFZOd#j)<|GI)t@C z7m0w!&?FB%Oa}>!lpJg#Tg4U|SC7fi+S=F})=QT}D{|QkSEL|g*yRb!7}3M zb{h{ZR8R8pWxN$((DyH}Sk9r7zy<fJ918^2# za1hSHAodTS)DXT!n_=sHM9JZA;b%Di`S3G8z{Ov&m4oN;TcHAeUcm37elEa^@RII( zS!?hp!lg$M$X7;$S9(DB+K6zu2ZV2o2(R{l@U0QywH^?@Ga|eWC8ICK43_-Si0~%7 zWkh(}fbfeEq0$4wZ$^YG|AO$2L5JUs2=5^mO`J3#{9#1+pa+Bp282GiivL=5bWr~o zC2?WW;V%QiDY%AXa_|vc$6tVP{1gz8zy#dD{uOLr#HjoPZbB8NVHRp|3+iwiK7%D# J#kV<__y^`rYdHV_ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$LabelMenu.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$LabelMenu.class new file mode 100644 index 0000000000000000000000000000000000000000..9c7c4a176046b1db9046e7719df3be6c5b4d8238 GIT binary patch literal 6539 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 E10+{TJ^%m! literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LowerRightCorner.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LowerRightCorner.class new file mode 100644 index 0000000000000000000000000000000000000000..daafc35364e60c94fb45febd2af63b5d3a380ff5 GIT binary patch literal 4981 zcmeHLUvnEZ5MQN9+*}jV1`3qFnm#!%_6rO%4e$`ROcKt7NnCe$l<&4aH9E;iI=A7I z@J(P~2HyEl3@h2i?a$*KXa_7M)RJ%z0+YkyOHyIzF;yps;kec(T?jkmr~wVF@%6 z*@+k;zez^6$jH{j$ktOv-sHJK$F=di6h14sClUB)M20;ng1puWUTcMwwdM+(tU{I} zV?B>>@zC>3=%8bO{IL(Jq8CISpBd{%|C| zt*|*TMxoH#TsmIq9Pdj_A%5T381!cb>bb(Cc0kR5kDCZrBN+bPEJ}!DZ_NpwsbR9C zgo~;Bys%mDE|mD9p@(C%R_2Q=uL-*?i6cV`xWGd-#r+Rp2cd?j1@4HIp(Z6qY}bUw z_dGLV9jZBD*M#iPkEmW?mpbxA%dbO*M@S;A)Wbcg{n?pZpIvLl#&IF2u+J|^=e73< z@*JYy!*D)o&SOnF7kQZpwJU707B{dCjnuU8;=uj`xpdx8x!9?3Pv*Xun;Cn?%I}Q! z)7-c?v0T&AS|MK}$P(Cqt#wG?bq3d)>Fjoe`W_A)MQor|ARSwYhLTk-nD>cMg z{b{Q`{kZH4=@@*LKF2-M4uj;_R5rseWKeYDStqY}(?ZML*BM3@*{V6N7hP1y<>|L8B$OOmDOXxI)i$`tlK> z0xtO(Hon=~`~j~08gXyXGt3GSuG4cpz9;Y|yhWo+@HRb{;08$#e;?BSDvjTT_x}Kq C!?5iD literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer$EnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer$EnlargerTimer.class new file mode 100644 index 0000000000000000000000000000000000000000..bc44ebe444d4ee0645f8e09d73ea98af715e782f GIT binary patch literal 6209 zcmeHLTXP#V6g~<`oVaO|rj$EW4Fwzuc7bx4wv=g2LK2)bGYMtjP2N>vHEYR8+FXX= zFY(F@%+Pm!1dq({Cm4>jNxV*-SoXL>A9(QIeDvw))4AxJKmPgkcL4YlJ}JNmfkmUE zN|Om$dBk>Eg~w^7DQu;lsA$JjA{BH0m|BrkR@t_Q7WP|-(p+C#kO|YW_G235@ND*ft1|Wqh_ylE9^!liRPDJ%N&b_-z8?e80tHjH2J;i){#V z?FNBcwL$fBkavU>_AY_XOM}DAKO`_(MIH)pk-&6&i3?gQJpq@9+fp(Jf-RZn=++@i(F%?772kB~AHYO!dCZF4$@beECtaz=N#gYG#RD{iP%mNuD< z8q^{Ll7zhGA&{T4+rP5Ytb8V5riEy>l(y81vpq{ACfyu$PLCGxzud5SaqbgDbg1Bd z*?Uh2=6@=R_IRp}_MpXSM@*s3)L4oJieAH|^%gH=gKObTp4E-jEJAnSwxMEr6p6}) z+b=cS!v4xO6JfWeg^_3QJM)Ii(&DY?FhF6V+L7oKo|=U8E!z&k#U^f z=$2N^cJRw`H6BE_Fqyk#U|k3m#$bx|IgV!O76aAsCiQUk&RN^TO7nfs-5y+=+=#SF zl694c=-^Zh+D6-_c&F0d+Xm3rk8`Jju-KoQ6rJE+50HG1p7=EX<4vcwyHa|DLQ&I?e~777$|SAwe_*Cse1lDLree3<@tfQ_&nxB*yyK zhBg{}u<3Um3>n|LUP3=}?BL`3o<4Y!J$WHEA1rumhasrXh;UzV!ncrm z_|7sGk|Gk8nzZF=AtkYZOe2dY;jBM(!WPPO)zzQaWAVe111jXM+ToO8g9NM4JOZA~ zT{o+T1|c%x5ibNSK&A*YaCr*O!wUp1mwYp>;+u9^ZoTa~Ueh(KOxDt79s7H(G9WNp zQxQuZ9##s6A4grEj=<8u?X}J>BKGX2na?}xTw_(#`AS27#~7?zy>^ zTW-|Z+eF~Gl7qcUV4*i`0K?dNG!1ME>=2m1%FhQ5>>`$y-7IetxY~0T0>urL>WD82 zPkzS%)VKO@@0O)AX|meZll!&_Z+_`3_j p7`%gek3b3L@ec4V{)&i5;5xjI-*5W&Q7FR=CZ3HfwGUOb&hGTgH)qa$&iwP=AAbSB zSzsv`AaE`acA-XHzwm%IX@NP7Ld}(hvd8U*LBZw@)2|KbdW8jAaqa2#y2k|*DcDV5 zpPuAVzf!nfe!y&*f*}H@6JWOB5G!E9rQQk?fy@2db5{tEc>;Tj+z%x6FM+g8{U!}qKwzj;asxR@V0g)`_*6CoBXCd;PL<}1yjJHv^X24uB*~N;QgZ(W z^^qoBnpZEL8V}*Z@j>a@7)O0bnK@tm0UJt`_pEGs0$ADVJ~SDq)ZE1O#(u)Bz& zO~H!<#v&O`3&BMiULxba-S!0wxYuNkWh4KtMYB1lW!Q+<0Sz!5GS~V)|swEMEt=Ca;oe;R^yfTTr;w--{V914w z0v6KJn04Vm>Do|m)Sz-sso zTXlUj>{TwbsXu9(q0L4Z*X#7F2FsQ?_ZamPz!W*w0b2^ZNimsYszPJyn`VrV`pVW- z;X0v^x7=vxCPu6oxm{AhnYeONOcRY==E7m3f5Pdj-kt$TcX%pwoF~F)wkt~|aJz2Y zu5i0!Oe5&7N2;5ghxy+YAY^VOT$Nm3>v6l z2T>|<$@p|DR=mK&TpDQ|(@{3pc_){Kj|t3gFDrH16+vuoVVK@lbq|^c5{r&(DJpPv zy1HbvS~RKGYJ2o*SMj=xIe3X_w=NrRvB3RW4IRjq+RmX%XU)b8fyLgN?w;6-mC^R% z3s?Z)($To^QYGE2N6Y&PTSf~>14rLX_6o}2SknX6Cja@J*n3cI?2 zv1iW5Q+&~*0p7u;;5ybs{kbeflj*uVO~EbPO1CIdu#9D1drSoj)l*0TmNc12c`5h= z(e!sjat}!&Yf8a=+)HP}Fa@9Eb#3UHDfkk@s+x;L3t`u28DltBsCyRijJm*7J&W5% zX;18U`={U-U~P%dApScFDM;h{Fy3_!Kn9-?*o)tz`g;t&_rZSsKEC<)035{cF{C*J zhw=9X{Q5xS0c8G!BX`G-{thqyt>?Ukze7j^_*nQmqTe&f!ErtII-H0_cq0a3CKll> z$i^b%Vi2yyBAkSGIuHhsuW%P}JS@f{yqf^wW-LM;3MlDN=I^y78u4-}W;gd^kxrv7 zBArACXJQZ@#Uh;DLaXOu5WbB?n1IO+9!OiFQ!xnN#Uh-C3mpj2E-uC({1A(9IRV0t zu?R)D63fGM3=coWB3w;?@N+D}YyyN|ViD#NAp9DGFbMOgzX7-gCHxDpfKLYHvWU+O g9H;m_juGT0EWvHK19#z5_zb>)GL8@7|J$(mKR}jJFaQ7m literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$ExplorerSwitcher.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$ExplorerSwitcher.class new file mode 100644 index 0000000000000000000000000000000000000000..fe1b7c36bf25c4aa57061c06705787a028f282ab GIT binary patch literal 6024 zcmeHL-Etc>6h3Q`I^L#D2$Y`|s0aZPD0YFg(1u|qb==08jl4;EOsluZiM8p+eidL6wk8rK46LB$L%cuKXsGS(tKQ z-Y^6-Y7};A&zY~VDrSQZ4UP9JuUl@Q_8CcFlpDo`FYeEO21P z+cIyuI$-;%Q*GYYr4)w_-1E*b>!NA&AW_P6R`wj2D&nGL;RCcNyhHEcLv zZzwwONF$ZQR=|C(NSw5o#4y8bClentCn-fqxLj2d?R$&xNUabalO(FMeI8+?>>~u< zX%e8X_nYO(b`mT71yO`XI<(RrPJrB;#}PCfB18#7i8^jEH@8*wr3iwbDDsR!7BM@B zh(+Tlp9*;pW0n|4Xp1|=dg;EhJZQ9zak?f6j?u1daiHxaFbxgZ-_6;M!WL&?bKD>3 zu?23+*5X@w`9{V3z)IV)6$S3)FLj1C#T^`X26P=;!ZY~T*+E8XI@1&3wvM)twHe1~p=^Z9;d)&uE zm*&wsameFXXLJKfd$r0IC;DzMRiPon*c^~T_=2`|Eu_M8?rw}AXd zope&evarB}!^@(_$w2Jg)cV9_b0D;hB3oQ4vy2N#BftD>pq)08lGn#wMJ!=fzP#>h z{X}~Pi}YnHQ#qvtGzT7?OZytqBvDUuQO7_rYL7E5`i&Ue@NkD~R`zCK z#es*X>tXAily!`0r2-AH0+!g8dq^v0XiCTEgLzj=(xXgNafDh4!; zS)7G}1FL7yFnhhAB-=f(_qE$^P$}&NeHKln~o2jr^ZHia{0SAnH3)f*9E@3H)Vr~XzU;$jX+$+yw`3hV$-{xT6Jm2g*7vL>Z ze!Ek?rpxp5@D99d>NDtf?<3Q7EUjX18GO3G!Hu66KKuo4{$VhS_^*2h{C$G|v*z7} zCHNFe0H49w4uuTTOgj<>pzQUi2j1J`CHrC%WNMg3U{42f{Fu34u7cNr!|me3Z{hqUKKWNIEzE zWz4_~3}5)bk78Ke*|j}!V%2qknexFt-Q8-n`)GG{`~3OW&%Xk|J-C;L83NxJ9adu| zWc49yvnp>U)mYeSBU0h1sfMb_(_vyoRNZB5am=jJ%iWPsazl#PJ<3ClKq=J`F?n3w zYdqwkB@ncjw!)&MAwX&bZfxSvGHDN4l<;e4NpBdhBZYeAr>OKC6lsJkc_+Dr?ECj*9#ufivYvFS%+ zUt{kmHy*xCI4jNL3)N>Cx8E_A$0LM-Vpa!6yc*m`cNoXqo+vzuv257%DDRe#6?&vq zoF2ArG5Yu$2#?1ju8q^ryT{rMe$C|LO_VKSRct>4CY2$bU3Qr)8E00#i;ej}@mQ;vM(?f<7OFzFFie zw^L`0@n50;tk7PYYb~1NS`kk%uUOs)9e?5?gG<+JoMR}4KIR;OG)CrX`yc;9#1EtZ zZoy0QP=c2U+%DJqlv4)Yx}&5P>e#mKCUJx71J_FsSgfm%MTgzqqWduC2s8qJl7H*`0s_kdn6z`F#t#~aw2aCso1>V1{ykbf;4a?9zI6XhI1$n zYq)bM*NWEM&w7^w>~9dQ!Y(&yoHu5ch`9vujlP~XN0ytMrfOba%$BIyoXnS_wg5?eFRpa Xf~$O*-shkSAHgT+@m;*1fz`hOY~9l_ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$Type.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$Type.class new file mode 100644 index 0000000000000000000000000000000000000000..3ed13532da5f184e7944d665895bf1b4cf9c37eb GIT binary patch literal 5398 zcmeHL|8EmF6n|IRrnz+#%3xy~n<@OzN+=N$(gd9*LfS#PG^vz8#gER#O-%3X$o2*D zmmz_~e%~K8?fLHD5|I*9(hZ6IkUU@V@q6~?-WU7*_4lhc0PqXkEWm;XceM)25#^%% zj1Fm;b>nixO}P`w;8>Rf*=5NvHasjh=#clQk?Ll9G++f-^x#4=E2N@VZg!rrz<99q zuwH4kJlL+ETJ<(+*{?jTRZ$)^4;~+&Y_%)ZKRj4&R~|gr-NC_Ot+CTQ#KEszaPyl7 zS2pYUYFb8d(c7+VJ@H_%irXl_1rOG8z^+nKt-!js-h3<+(=r^gE(v5b;2||!3Nlc# z6S7F(BYv^nXQa!5kSYWXXmCt>jBFrVC1k6VvQ?U3YlCzp(?m!^B5Hy@F{pyQ7$8UE zDv+a+rN3lXR{EgAbQL@rNM%R@r_T)usIWFVjJ(~%|2XTdPQ`Up5pS zcq&P?Xb|#%8=~U@Qy6AK8x;qbOUSN>qs=s2ZxJrc7U7!2qRWoBz(_el2##qSqOa%E zN@PFQ#{PpSLWK>j)WR6ZFV;DN-VYICB%#D$7W0dHtw6~zJfNs&2C|CTK?){jsXUbG zSYwu$rO*}k0rt|YyE#c(M$TJG!V&U1l*g7QiD_tpf4}Iu3Rj#1=M|;s$N{(K%J`mr zebZuo;!V41tI80)?j&azQpG7&26P=)g&*N#^Y_MFW7WnF6-GPk?Ub{UvU{TXG~!w# zZCEq~=dDvUA*i*t-AXJ?$;LO$(O8_B1Cc`t9C3GB>X zio+ruAWm`Vpl5QMpBz4Ckyk%@7kLPLas=h7W~9I!9xkQvK# z;M@W7nL6pbmgT^}oWsk(;(Q>^e(w%+IS{%=kt=SmPCK(tq5m$ZIb=%l?yRebBh1N{ zD}n8wSkGX>UN+wAP)r==Fq6%~obCO`y@0F9!YKP-v$rP zVV`mN{#96lWdM|gOs-_Im`OjAUs;Ls7LdEIQJ%-AJE+C#@n6H*)Afrl;nJV@v;bG| ydl@kn|1Ey6CSxDIOLQ#3)dclD{D2bRNBsDR@ZcK!j4Ro|=S6%Xa05pRaP1$Y!7hRT literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator.class new file mode 100644 index 0000000000000000000000000000000000000000..70c86d105c5bc1eb3babc43c48c01d5ecdcdbf00 GIT binary patch literal 10016 zcmeHNOLH4V5bjZoS5oXe3?U>Tuml4V2@(k*A+hr?iUTsTogl{{;W=83t&R5~W=C>- z;s@|sI8#6s+&FOI4^Tz%FE~;3>`K~Iys}2J%%hTnJ^SeWy62njp6MC=^4Ir20>DM6 zX^zTrI9Rj3CAk_x<2#l9XrYBG) zRW{chDjJ*-xZ*#Y9Yp7R%ifu*h&ApR+_li`$OgPf#PtWEqJ7Dt_6j#sZEz}cy($ZP5VoC z+c)@TeAaYKah1S2>Z_EM|L`^>k{b#`G#PEXq*`wQtaMrk_F|%b}0u0w2qD`PeDF>M~DvT%jWkMokw8 zfdh~36@@^z%1NiqNy~CO0tQx?IBs0%zBt_!xX+OW{q!_RX1V#5>i4NB?Mk)ai6hzO-qGP%YWqzhN4y1?w5PDL_gKgmwg>?7Do zOCyrofxTeD%5;;~BBxD>wS~Mk-3`f;i)pBf|8#29)+%s5$2r|nkPD}&K1?pi2`(egN~eN65c4WJj&d@#nW(uq6=T{E{#4#dAz6KmyS6{sN@aRyje^tT8snbC zku$MvdY;VazEGf5DO*HzuQRbkZHBSet+KrsQqiayd!vk%?kP`i=6JG7*}nddrb=bNy;?r21XoS3K~ZvqVA@uiyox~p=uPV$}N;=rT;4QpA}keGS1B^>ys!H#gu$` z&XD^j(leMNi;ZnN6wwT|f|;zJ%-+^N>S;=iq%<6d7boB-=md^rO5v7MK;Depk~&zz zvURCpR~TQBwFH5wl50?FwN+cR9*&8ciJOEMhT1^GJ+WeRD{Lr`U<*^4oDSF8NyreW zC~TW4xl8YI0F}~eb^f8h6Ptw7g#11#rIAb-_UlOvp_*PJ^kEqkrtjUZfN=MgGuv&l zb`h0?93kI68TDam)o@t)<>0WO9`R^SAYOYYF_9%R+4gzIwbtdZryNOmi$G1mF-EdN z!NZ0c_1Zn@k=O4h;UajZvNaLE20QQK@(z!`NEYRIn)!6X#a`Z}s~@-OstEK`(O<|cu!M>D7j zedsTOC+A%gp*&R1Mi0%Cus~p8XN%>zahQ>Io`P|HL51z(b41d0%)yOFZ$kf=k3l#YgMdK@??(_q zK8i62v#|&t41iFGK^TJ)dO`vgVF}yg7;DRD(QSP4A+{^n-of_n^LhAOO~{GGo6wlR{L literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$PrecisionSpecifier.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$PrecisionSpecifier.class new file mode 100644 index 0000000000000000000000000000000000000000..4329e8d0d785d262cb166d0f4c5a663beb34c77e GIT binary patch literal 2561 zcmeHJ-A@!T5T6CSj}_%ZK=C7Kh!1y$>^_TTYcLX4Xw^xn(-UZ_Fy_HzVM%h;58rfm zFmfK$mLn;Ya4$U=Z8YC|Ft$pTt5Ek~;#hm#7;S2B+pB(mrwm#x_b_IWPEsMcqkULv zbXQ_xmzZDQ9w3V`lH8C|%A;N0N47u!0s;_}0D@Bh7Fev&GNm0O1kr#wGJ*T#ygO-v z7zuJlg50yHH3`5_*~>GdYhwOY@wpG$(fahC7lAYWu9NsFwjwM4FlJC{a&x%#@Vper5Z-&T5+ z^(f(g6FudoS5m$3in@u3E0NRI=Vpsv|L0e?l*9hHhvoZFgFEAJ7bZNYEFTsCvyJxg zlV75Hk(UG$ZF(Qetl8%D%6l-~))ANQxe@vJP&j2pUs16^H;Y>nec>!s6OC50<-wdC z=#MLQjf#mE2miRe0#Z(w`Sd zgkU)9sTkTq>t1W?Djtw;REz<&HMj*88dqub>`>}|f!c>@{}YUVBk2fCQk&}leN%-b kueYY*9_0TSm?haL%oQ{D;Q{@9()3^+9#!h_xRB5P0v6_J3IG5A literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$StandardPrecisionSpecifier.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$StandardPrecisionSpecifier.class new file mode 100644 index 0000000000000000000000000000000000000000..ec69d1e3f4879129de829882835f9754c9fb57c4 GIT binary patch literal 3180 zcmeHJTW=IM6h2;-Y<38QY#~sf-~?!P+pznBgaoJ(4WN#+p_Ou}`skfGnKAL$E8CO6 zFGB(e-gxMbs(NMzmRxp|2uQ>O4`X|L`Fzg#?Bnm>|6acZfO~MK1{DTt&PJU~NZolZ zwnPWxypu`a=_wO!x=v(b95iz;Rp(ir_0T>wHWS{Xy|vHOJyj*+jy1cT)-*l_feb)P6Y3pt?j+szHOn z^e2y>SZnMgTwt~LYnqHQY71i?nXE6BC}4Ttnx4YU-RD7lHANm{qy*W-`y$#D3G#U& zqfKPAOETKK$e8D`LC3Z6oY;s`?g;{45CMKC1O>ZYu-h&yYaa+0)WfW=WF$Rzc^@qq ztDU!b?qBxtq?auVpN=r7WN2qV_S}W`_`A@Q+AmUM%A!S1ZlHCXTr4Qdq;pay184cT z5Pjbscb&!)4*rU_1x1IP)8oB7$BJI0p92neb8ozdDRr3e7kL?^Mcy+;q0svq2cGL@5BN6$vC;gsp(1kzb^pu+(Y3kS%brJ(d3QpIIye&cfn_nGjkI6`~f&gYY(o${6sw;5h~PIB3vJV@Ngsohq)aH#ZD!{ r{0M}l5eQYdMQbW>8-Av`L9NrU0Ii8Sp)SBL5Wuh0UwXPYn7QyjR|*ZG literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter.class new file mode 100644 index 0000000000000000000000000000000000000000..a5311e1bf4cb7a3379a24760960fc0e6088dc428 GIT binary patch literal 4276 zcmeHK-EUhp6h97G(qvsb!U}YJd8I%CUBbsCq-{cCX|_d5+Nxr2Jz<2Btq>Csn8JEoJFs(`s8_az%=vFI0Oof*QRM%Eo2`xUNQsqQ=4n`fcKQ< z>v)%d`2r(p7X(7TzVW z_*z^|Yo+JleUklSS88sQf55xcQ$Z+vX3>Z=)T-n2z}%(z+|Gd0F86$<@leRTeb(o6 z1tX!1kx)(|p?oY7R%lmoL#475L%|zRixB(}J!6kTpxetXw8~Di@~MFNTs;VV;R#Dk z6mpHqN@I28S*2+bSj7?*hDNf>dqVPVnKmP1oz$4ke?f&jQ2U%RRBLb?0nvS*_nH5r z?neRIwRY(7FgAq8q`O9k(^qz~iZW_ng#5DEn#>O9s6vT{jvC}dB9$wV`-L=dwT;gK-&OmQFI!8}a;DG+wgtlhQFJESwWx#p%T+&xNA9@^eaX7f;%I zwDPXe#7Jwjqm<8?9G#pR`3d($m!PQ}dESQ}L_JLSe~6w$=u}51mZ;0vn94W}g#~R~ z5&h3|*QMqCvChipVF_-|LjgX(7NR)XSh!ALv4OwEBw2PC{@h&$qCDpBF)iHpa4~HM z0^5lDGc-Tg$7~m8;9nh0;d|}|d*=;WZMWMFxPRWjqaGMa%3xQAEs^umdTI339DGhv zOH=e@Qw8f8^7afzFC&vD%9!fj|H~97kZ-9-d;FnrxqIW}Z_oA61m^2fa$WVAG2CR~ zD+0|K9#^Azh(%*`F$-k^yEDj{+@BJ-Ie9Y+-yC~jCc%M5XeNE@4)*9+%C2s3W1HN) zO%2=vd>P^UHV4aa1u{5WhU}2e4QVc>DagZB+)u$gT#M-fEXMTukiH$$D~MQtcW}Ic zyLS+sAkF^@OHT{${S3>$$2=e6n2C1?e1!A)

}ipWv56pg6unNa5Pq5!~HgBDkBK z9bsiggim4h2!gY7qQhrn?65z^4r%xTc~Ve>64Cb#%no{nUp#*Ta*acczdZl$!lE`Tz(iZVJ-ksRftY?;)SvTRA z@Hcou0twzLAyq=+jR)TO4Tv+lan`1rc-90}s65!~S)cjN{mh*6@Xzmm1b}n!X$i(W zxS^F_>rgIg_i2~bSP<7b+|-((^fz_QmjO$D#)gNrH5tXx;#L$&#nk-u*cd6+s9<3U z#yyx#075ESwcE}6%s2Q-GsS6mk15TixVwDA18>EHnYt9(P+{)TFlG}dO`~=8n?F35 zFucQ*2TP5SrCJmrRV}9OSfq;{95!vP=TCcZVPs5;a)}FWu6S^{GCIt{JrBm~XweeP zd2lQ<*P>EVO~NzY+@rffF)hO`3y3c}5f7pNT!L9hIFX$+r%IQ+ltUf{SavLs*QxIm8`liU@8UgL{b@& zkkbc-_*7UPO-6c3{7?6^*~JzLr$BHe+^XsaT(n#;pC~Ej%bqft?TC?q>Pb4WHUtw0 zvziH$WF!}DESEMVX;T|TeN0zo+A<)$npMQ>O(?pqdqtL;KzS5xE46B+wQ*vxcj3ks;oy${oERIs3<*cYo zFg1jJB{`=KglL!b5Hu^jUuXl+Q9 z1l!}GlZI4=aXX@4#jMhlGGtT~fT>HoAnd7mm*SNG4>NT4f%)XRQ~^_|(t9#a182q6 zeNNJ?`$~r4nhd$Wy(i;LJHBOHLXD zyAjx{U6p~Op+Khf;o`}VxuUW_Hk9n_k?43k+rUb1%c;ExcDUB|fK4hwhEbk!s5%Ej zk}=&ghteP()b|S>m^P|9N_|6fEiv9|n3ARD4*ZJ3Y{<|yfRL7i%2Ia_f zd@S11`+{qjITi0LKl`LmtV=^4P*cbt0{{{BJB4E4fFj<-@BbmEWWg{bgLiA+V%J`K zAMY4*FL_Uv*vSv8GS;kD(1+-i(5_0`**os&i&?zgjd(Mw_DyWcQ=cgswYjfdWOcEB zqSRAIc+D^1MLQ_j8e;EdYzeu~4bgFAyBa$wQ?YOGMx9R8{#N^|WYu<(IL%46h1-OS zuH0mV;wT3D$$o_LR4T5Emy-F}5Lq2)%5WT>ora_EoChZ>jcn$XHhmZEOzc<#JCj>+ zr-@TL+ZlK;*N{Gr4R<<)otNWwlIOwAkq2=76HA=w9ZhQgZb8DaWTnwd3Y2RSUc*7; z{_{9Hj_YmN-&P)!JGMfsN*wK>%9TczFA1|ZJXjgdEZa1U-E_jPjzO_$8Kz6@@mnps zoJs!uoMC6Dv%lAHY}dD36vlSr9vn%i7q{$e0u@=8vGUnXo_K2D>Y7Xr(b3Do#% znzTqF2Pw3CVO5k z!8x1;rzb)QK0#|_E-3*<)l9PPmGu%__TWVFYOvm;F;>%i_Z^&PU|3JyV%jW8ZGeCW zhj1o-2wsE)qFgpv=FoW-=U>q~+7*fpQ>J07}!)N&iIR53_iSOX# zPszUL@!O&ReqO-u>Ew4A(O<&VIJ^w6kMMZ~-%n$Fo`H|yJY0ZFa24N-LG>@3L4K(K literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$EnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$EnlargerTimer.class new file mode 100644 index 0000000000000000000000000000000000000000..6eb839b689a1f5d8b378278a15c0317142788729 GIT binary patch literal 6120 zcmeHLTXP#V6g~<`9Xn~`rj+|dlt3LWc43%-X-k_W1=%|%4 zAzKewkF|K5w^CtSokT^urWL7}``g@#q_v^4JX_w+5~aCbSe6OXJ6vyxlz{04z@d_Q9{M$vEa!FGjNxJKZ5 z`?UHw$eTh6dyBxQjnl&{J|Hl;ggjK>B7wQSiOX6mJq?%0{BK`L&5cTWJf@LKGm$VW zl%$zforI_6I;~Z=x}3&5LdsAmW6>_#;q(g9-9);Z1>Ma7y06e!aYLoDG-WpGQi~8s z67pJxKz^Fee@&-Z^F+Wx3z23@Tk6Hxo~03!ZjTP9herG__q6fi(mN;+LIwAmKD$FO z|4~uQmt%Fb2N|aWHIJsbu@n;svzklmGg8Pd*TSVF>lmw9gz3s{SH<+OQZ{$Ey~k4C zSS%9j%y132pKG?qwOL|1ZnTB5H$TG?VY!SAU1GAw%&os+Q*X?s)mXj}eXY$7I99a{ zCixI9sa2FwXLGH(gvC)wWX`F|CD$Y5*Bs`sz$}A?2|eC=#FkF8zb<9^1z%Xy=tRKl4Y17=C#XZ={q zdrS+4A2W3Knfc_7(lOVC(Z_CF1kPHh`+~IFjI>IU4V8%K;Mk4(7LO?&O619MuBHh+1Jtood zbheF^-c>$#5KM(JSbu$CrG1QAHK6L8jYxmfV{@no;z4`A7P0N3si&!LNY@G%J6$`@ z`d~f71w(>u(CSU`J%0bgjSi|~K|+Ii^ldy6ZN+&ZG|YmEcRxQ%T4>&5iHMmUi;w|; z4Evq2V&IG-KE&_;A*b|%VMGQ$u6@frckDgdF_zC`{}SOKKdh_V@WX;W!Y(hnu3Tpy zxS|xZc)B~~$*g%Nw^m6XdbR2onq^%PnGjt=oaK#r>I82`V|dXIt48p>iY=jtgrz3W zTvwwcwt{(N@kCur!k(!8O}g$nNu1{RWyt{*vZr=AWjKn#ezJ^Es}|~pc*zgbM(7$K zQ-eBOo`v)99D&OXKdx)}v0l;i-EcFpxi)qt_wuxZ6F}D)5SVYPh$RmmbqbGOPP$1R zft6Da;0EW6IMtiO78`SLgKO-HQjQbDdZS&U2(_Dr*9d%h@>I?Z6L_ut1ody` z=YN1_fAMRc$NzIE1NeIZ|7ZPu4PJzo{JWRom7xf)4ng>RC_)upFCn;{3LWTC1Tr%e x;mQ~Y^&tpT@Fwm$0SoXJUIE_5Uk!C4a1|Eu{WbqQ3Gcvr$WjwNz~>3L`X{oy{SE*C literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer.class new file mode 100644 index 0000000000000000000000000000000000000000..2b00369b51b5e8aeaf97e22780078a81c74f0dd1 GIT binary patch literal 8860 zcmeHNTXP#V6g~=RoVaP)rnHoD+m-?j1smvv(uDMqOOw<|QSmw2QZDyv60=%DJfVBs^rEtZkt3KAZsmhb*Dsr3K2lPQmmPVO+cjpzQl?d{2hzd-!l=eX zq$ASxE133FNYYXu1+_6;nXGWfYGuZJnaL$uWx261uzH3YFgY#gCg$5IDx93kf)f`p zMM&m5ffc5+$$w!{EzF7(XkbKNDAH|)Sxu$y1YKH^ThvlAXNTG;T(Qc0Cc4mvTS8BW z+DmsqQ=I*ClFLHSZ38H^D>S_Yjfslnb(!<)o;PN>fmQb%w(k1qTI*bBXM50fLYIm# zuGi@OI?I(f_Zan4z)W$h3U-vdL2+xx%?!=0x9J@TLqi)8UE#uEA{4qCo~ika7GBXs z#WMF?dwa))BZ*Uzn<{d5x~3kDw;Hz2z0E@)-ltobgBx$sv87qgVh-!!pII8WS!oS zM2mLup}4%aTt`+=)Q8D$sIEEYmMb#N`^J2l6Ph?%T zwy<6>bu**n9mQt{7lJjY=Q>oTQb-J-hUcABKF}kNH?jNw$S9FBbcx`0?we_-viHFg zV`7o_Xo-#Nu*mBHYbEq9a%tK{u1@xbZ*=%9R(B6sndPsvyChzA=&GQ#ifacZyqf4= z3-#C$Uba(MQ8h}oy6AfzkA$x6N-L<>)Tu^wyhPoWSW$;+ z>o@oYvnaM=@I2XxkR1xyHL=pFTkU$NGN8%AQFvh(4#SHC4(Ezd&nrCijjNv6{vw`C zmg?0K6RYZEKwz}UZEXKFPYTV+epzv`M|UAjBQ920VK?p|^|!;_X@z;Z{iPdocLw2A z0>^i6zG3f;z!5AQTCavcx(d-K^Mmj@fiJqE=nh`4FV}_uwR-BJEzK=7sK(ysWj_`y2Os@*xDexL*T33wWu4RipMU| z)DseH5@W^8MRg6k$%Al~kS;dX+!=3)9l0I7;Ym?z(5XNlM-NoySk}$`bE$m1>1)c< z-Xr9`fu|W&07gV{V@E#nIMvX22NUS*8yW&HMRN1X81EBu-oO|=iRm6TpZ*gj#mlkS zR)RS?H`aO6H3*jpEbOjcb-NU~k5xsRV$O9OhBMg}UKci-b#;jmD-HCO7gi|qzACtMOIgmj zOi*E0w$WebeQYsLc{B)Ekbxxv(vqS8)b#vp(3KYwh?M_z+bUxj_c*paMFZXc@SR_nKk4%fKfXzv^8iS`0f$ ztJtB(LT&F73*;hGWnBQr0ZSzO?7_cdkbyxQ58(xFA7r5)hGCx`k2IhA;eh^q5Jr*i zkRCq`BRD<`NAUX@oH?WM0J1;B(c7cPeuU?L)pRf6_W;rWek}YR*5fR4a6-?$3?~y2 zUP(ZhO+B)Fk%*9o0%||h?OSb)M!dY8 zAkE!Gq|-atMgjuBIs6}l$f^+!=MxY%6A0>U?m2(u{=zD-29ngZebM1;8%2tOns?16dIT^}sKHGJZ~Xy9iQ me=nkLuH$nVpC91!Q=A{cNL_)Oa0_n3NANLxhI0d&cKI(Taqy}D literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SliderBlueprint.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SliderBlueprint.class new file mode 100644 index 0000000000000000000000000000000000000000..da4d403637108feb8a1585013388506fb5a141fc GIT binary patch literal 4763 zcmeHLTaVK^5FW#_mu_J%+%MV&68_Z7zWHm@yhN614AlrRKJNeMAPewBD@5^v3dx8^?HuJTZ$<%xDY7A}am zBN6yEC9+0E&_Xo*LNvW*&4~gFEo7W(<9H4iZyXOq;>YMC|1pUp+z~H+Gyk*?-j3ZY zPo9Yc)tF!0X)d^Xmtt+Ht22uoX&okLs$jd?pP`C9dX6m1V2ar1n2;SJ+#|9=_BVj{ zgpq%*lgQRs0Bd(DoK*X2{E5ycos7pS)43V=56*3FKXI zj4sk4x9EEEJvPW7T<7$<#--&MnTcJQkdxh|Gv~do*OIr3IHoX)!~R>Tc%5ORueCyv z%pjnh8LLgBC@S?Ypi>Ok6wq*o9o7O>kuyTQ2*Z6op;7W%iGeY4_WO%jr5Q{qmU4|s zT6Ber#;gK4yTki2GSeg74jRh|OwY<&B@5Dv1Q~>%1Lx6z=b;aDgnBl9E6j%clgHgu zN~RWX+@HeB@0!Eb9vVXz(JAUZG$M^;FfBa%0h>DA%D{>tVHr)2-&GUNL&fR;e_+3~ z(U0R)$v`@8v(#TzbYh*!0!Ohxk*XNy94KNCnWD?|5Z&b6%sRUC`&fdD#NXWu!6Tqr z4c6dX9Ztb{24@?cVS1r3L>oT+u+kw3PbuMnX4~H%C@Ip>flxc;eWGlfbCI+R?sR6) z&1^8J^>k(ed?5We_0lQl$pzp*2@y&HEz)xW=IITvP?n2jxm1?5vRp39dRd;#OGZ6U y!3xP+rP@uB>RW1`VC}{F=?`%B3w<4f3-q4P|1h{n^?HGVOK_RK7+lFw|9l6O2~HUR literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Sound.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Sound.class new file mode 100644 index 0000000000000000000000000000000000000000..bd78dcb2c733ed9e53fcba2e37258a949c9eaf1b GIT binary patch literal 1116 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardPane.class new file mode 100644 index 0000000000000000000000000000000000000000..96b24bc6872ffc2dc070a3cab5f920257691edda GIT binary patch literal 6317 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 WA&eZ$@Buu4k8l@%iof)0%JP5i860c? literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackExplorer.class new file mode 100644 index 0000000000000000000000000000000000000000..8e02389487614e08bd494ca207494895f0be82d1 GIT binary patch literal 8050 zcmeHM+j7%J82&ee*fAj-3bfFZptO}sYtwQpNfXi#N>Xzu31Q%FEp2Rpv~pJ~C%Ni< zd)4VpU!hOXnRceV=Uw^=o&LLukqp9KWdd9@ld&VozrOv?`|a+NfB*Ok04~A(5{wYI z90{i$P>W$WgU;iO6 z(Tt@G`3>f^+7e|K_uy|w2$Wnw*AaxkSfk-Za*DwCve)8N#)1);(GRB^1$5MQ&r{(} z%^=ub=><&SIE@u`p`JKl%u$80X^(qyhQJ=Xx=LVl9=%tB69f*VZdwo`6lHja?Emc^ z7c2_>E^{p>3_6}qB^qvZMA-CM5M8k<<11}uxyT z%5p;%Sv-_hK&8{RBto!_4#p-6f!5bl)N4w!+CacW3oqz|LRwm!u1m|IT#eCWR?mo+ zFQ<~wXkb&pjaszs@ss1_FqSrteZOjX zkri{7t$7@yw-yQ=&*$Tk#4E+P-J##d%x;FE&nPbdV_?yo5OmW(&d74r_RPJ5Azhls z{uXjfZM$l%i75Y` zqK7sn^H7oZ?_y8JnbRMZ-KKIGdr+VIo-5l$)aifye{W8|JJRgS&tTOeO|#div2`hu zA>;vlO~Rm*UZNrfC3P2h5O#-!4Tp6!nR%WjWczl;$AWdK@3~a6ZRV_C9pp2r!59~? zfkCfKq@d?snO+718O<4KuiaL!G*H7p#I%!|%4PC*x8v%?%GP|ktr(|0b_lsh=-xtC zQRN{G#(=5}&zlMyhxaDn7`#v5sNF~xa|!XDQj5I<4P<+_;-JaIit5`04mUyvm$O@a zeCy$;Y>A4_jLAdv5FRCVViNH^4EQ&J3T~~0B3SjdF#) zhciQVzo`VvI5{Z!65PX+D{U6a+)TDwS8zK$f|Gzt0sQR6zY|b`GG344;o1mP@O}dJ zKfRyCX9wUQ-XGGxAI9%D;E29HigEz^@V8^|CVsz#cjq-OK;=(3{^0Q2zr(wKYgr4w z$500Fa}vKN^mPSJ!3X-;Y4|V~;iDXcGr0&hRC5tN$w4@qi|{FYmO&Uny%H<(bU2rb zP%D6NF&Ci@XVK${uRnk4(Nvc&a;%xnMLG``a;>?TgYY01;WB)gK~RUUi9fF7AUL@Q z(=W)2uW}GJauH_XYDNc@KZy==IS4=IBFw|J3_|M3g&c&Ra}f5xH#q7D+<-;=53q`# QNzCOXXuvJF19xHNKT694WdHyG literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabCard.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabCard.class new file mode 100644 index 0000000000000000000000000000000000000000..46d802f6d5ebbc420d5c958cf458b54b023a9aa1 GIT binary patch literal 4503 zcmd^CTXWk)6h3Q`$adVOO)r%DCKRx_*fdRBXiA~=guxvrbS9w;JTSACHt{x+*0WkU z@i6=@2AF|&eiXx5$&Rd!8cUv*7apvYup2725NJDPh0mb;I3#t#Pgp74dfPavpw3PH!N7g2e}*&iEE z2rRTQV-{Q?u#zNbTPdl^@G2?)_MNYIAl)H%sEy$eF4IE#bf9F<ydBv8Ko=vqz89i4!khuE&`l>dZg=T4LEgn>2$iqzZ@75-2jamq0J{WL-Wa}BROuKUuVhg>IK;_e4ZdJ$<&1Zdoa zkYfj21tv0v&YlPYle9=8QLa|@q6YI=qOGIn24cvRU|3;=#nVQ&B{s!5?2YuQm1xOf zW8&U(g=4CutxMGAFfmb%YdXo)F7x;tfO}eDzK|a|S(;Za?ejiA(P-Q>edz%b+fXJZ zQ+#BkoMMjiz&3q%Qjv9^AJb=EHGcjj7j9Z@M#5s@?I9k5GbHnd<0WmMj&eedIf#%b z7iboV(hG`H-gu^4cAiYdM4w@1I-dVgNxjHTt8f`!tHDKhoxqiPHyLhX_qWXOv(m-m zV>k4AT;XiwassPeX*2i9xciP@F6h3%$+XbqhpJ}u#R0E^hev!u5V%!u6dBmY<82w% z39OwxiQym?ZxtUe1kU4D2`RVA@IC>3HbykfB|0-0l2WZqVVrbk z0_Ti(lSg#!V*)CVa}$+WzU7m{DB~bJH8BymR_|t1B(kjxpAxc_!^RBt8P@(k3YtK5 zPln3oUkg*IwQ+?-9|u_C9pB7}(Zs615nM54_eU1oLbZgc7TiHPo)X7`&k0=02)G4U zxL4DEOwL~1dMBRk_Hp>bzOcN@1Ei+uB7p^8VxuVV1v~cQ`V9*n%%`~lYe3)?{6t@Z z5-j2saJ8Tutre(7>oU}$^&Fg!))lybtC773tEhho?=}%-5!dP;aQTPTtG~jvzwoI9 zZ{T$aWdMI~;(}G1OlHxa|)q!8i!T}!XN`-0dAm92{zy+t^oJ&SHp~K!fp5r?qYVn Mz&9q#_u;F50p-4m+yDRo literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabbedExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabbedExplorer.class new file mode 100644 index 0000000000000000000000000000000000000000..0e2ec71ba9bab33d737a5b88e07fe7047fb35bdc GIT binary patch literal 9394 zcmeHMTW=f36+SClro>9VHF0lgvvF=zE@a!-O%p42EK0ViP_h!ya^u`O+#Qi?FL&A5 zp)LjbQXoLz^OFCN9}plZ+J_~nqFkwI9h zv3i~RD|_uQ7F^`$s6!|9sE|dC()Idn?#Ub-bLg2dKzne&O1KDExWz>h#LzkG9 z>kfUVx*W84q<}Br$ro&wi!u{_;?S{bHAp00&u#{dh{=xN4lU}Ji`6kCfqE3;g^Pg7 zdo0>v$p(vnHCJ6N$E|i8@kmXR+ih|la^cYVap220(_uh33Q;;5cO!0h+G}`HZ$rK< z9XdA_=u$^Yt&?dHG@2NG)Q@)~ho&X;1r~GFnz{k}aX%0+F!yV5RZryHf}Dvb;xJ_O z5OU5Z5KB>1BA@R;v5P?z$cqjgDJ*OOxeRa0(Sk!KGOt+?A{I0Bq;vY?8T2{UB;0%3_VWte!~0Jgf^Yo3Zcq z0&y|na-Fq!VN(hyXCd|DiNY`I@SCV;Sx~We@e-D#(}JuQd{Iq6kVH9&;>= zCQvlXWW-AOZw|oS(H2#DZk<&NeLUrr!2{Em8X}f=ax9Kf=?k2`yAJ zAc){QEDU@mIV3r_G#K7h-E|Y`+`6)(c5q+qG7OfFlP9z(BCTh&0kfg8UY`@?EZyW; zm?2LEdU}o?rJ_Uk7phsSE3MZqs8-mCDhkl`POHuZoJ;l2PFG_Oz0Yom-+g&hHUl&$ zFO1XC8+KOJ7A)LSQ=Vece!98d>~`sNU+&fnJ?qdzhxgvldUNOuVq9-%3Uo8@WmBV6 zW(YH_jzqCu@#xW_Mpdg>?Y|v*u`rGfdaaD!c&+o}g16$G{+=EUO>7hfIuYpq7Sc|z zQrD&Qe(}k1=1tXt2Jphx43!<{)58^_TbdRT%YwvuP1s=BM&)}+d}u$GC2_Ro(^h!u z5NZupluKN7oR99FOW2yxI=K#HP8AFOk4pfYF%3k+?s3Pd^em(n>w_9q3eM0=4mIzV z#c>*gZb2+sTLIt2X$&~bOp9<=SQtKsnro>ZXE_YKJKRT3Dpa$CsUz4cRv|qbba;7! zMWH8Li6lp71`$4e+*94?8A8mBEi`32n@x|b#}QgLNuqdo)uBJ$Wgcw!M8~>!%r{EK z^IE5`Aj30A1f!xOiQe=E7s@fzo0Em=Kq;f`{H8-M9WJ&ydm9)vii`Ya+z}qX5~#}N zyTcWUK4C*;REboBNGEuCE#QI)ueqNi4}LK)Q;vXeJbls2<~eF0SNC^wISSzUnWyLI z4vrqvCV!4v>RVrZIf@aC6;O_TgD;sk0Tcs7w@Mq`&s?{VSSyVM=+ln=b-3(4F8Yg>73?|DE}c9UOoN9`}EYG z_1F^rkAa5p`zikC^nIRwMnBi@9;Ign5T@{MT!eFUegHwulp_4Xz{Bs1Jp7WLGa@{1 zK={28VUb=KK**#p@$j}0;o=wwe=s6kq8DMS)Y_N(HpzHdGD!1|5owuLjM7{&AiQTp zxORX>P5Su2fIw6^fQMBB4}UQrI8;5rH%&bJ&4{o@>jQeoJj>)4e>Wmrr;P!G%oZ;j zr1*ysVRH$1C!e;dNw+Dah}tAbegXAJOMd_W literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/VerticalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/VerticalBar.class new file mode 100644 index 0000000000000000000000000000000000000000..08f1daa9002e17f387e20f5381c3704f43006954 GIT binary patch literal 7089 zcmeHLOLH4V5bkxHNLK7PaULWD!p6L09ukj`gg69Z*@@+>?L?Lx0#w0zHL)gM?TFct zV)IAxBREr3K~=azapl5+0|#!LI8%HxvRJ#kmewMn2+3hzvprw;^z?MkeBb~1&3z&| zN1vpq&!V%T^zt>A2l+d0)6KI=BVXexzw8TdHOzaW!pv(!aX-Jrq~f0IPq;Eg{T3ZG zU3@oK$l7MZ?L`4|HEhZ!cmJdHE8f9 zAecpmoe9whDy&k{-?RG9I7C#nQCltuUr38mj(I`z0m&dLd9X6g0~JEGQ`*u3nW4I5 zVdx0YRj>x86w$U&D9t-gaqjBkT(NA?zKcBI>XJpLvc(PX7&FF}Eb1@7q7*%4(Qq{I zDJg|a(+TU)g~b5cgx_Qp+Y_}q_l;J&F2%CXYT*StGf=KFyTUx*l@O}C-m1I8>`^#9 z2dC#+PS0&|`lwwIEVKim?3$~*s;vOQ*6Q%~W(dq;PS0XaTbAnx*s_Ax>Ov~ph`V={ z?YV*0vCQoDAfCuQ@rw@TM=lQ5k_7XkC8XBt%r2BAGKPb zZ?NpL5I%E*F`I|B-X+}T0Ydz?kS6GN4AfnPN#cNt1lv2CFhMZ%)(Z<_K}oU7cGS?C zQOKF4`%lH9;O&a|utn#aOiEtqHu8jGlN>ox?@POQC?VYcKx{_W5WkB%Ol3%zl8x-F z(A(|Z^e}ZOVTWyJgf8YMNrqcb4i5k@VQef^T@?1tC26vgW2^ zU1q>cV3IVFaD8D38p*;}gpXN17<)69id? zj?u|MI!w=4bTsQk>|vT3a-ti5-7wW2?Q<*srP_WYBr1 zH(m>*(cU_E6i``1S?8*B>s9WB#(&WYKhI zHb|2}?GByuKZq^Ku*zKYa>hchmHyMW1$8@{g(;99PrF-0PYaWEBKe)`R)To3I5Vt6Jv{tfWOyovm5LP%m3_y6aF8*$bi}J$8lbHFqM8 zgfOHdR&FuyK=YcjyPD=qy3(tzr|61BhqlE=il(vDOm0XK7~*t$t)<8TDci~{DVl@+ z$k{2n4i}p5_GU3fB@oA^Y3sH#MId*F&5y_;YvlOX^z?T|_F3FDI^jBn`=EKx&~varx1FX@Xnh{HDY{BUx<<1!Pd8|R7U?G4 F`U`xWT>Jn4 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/WindowExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/WindowExplorer.class new file mode 100644 index 0000000000000000000000000000000000000000..a9028b1c384172fed8eb010f3129b176db8b0ff2 GIT binary patch literal 7103 zcmeHM?Q;`F7=N~u=7pAbQ1FEVQ4`Tb1Vm_QfwYCzfXo!i=(o+?Hd(mbcJ?+29fwc; z6aFX8=#0+z(SOD-es+9zx9KH%Z8ms{<1n4O-0eO4+h?EmXZy?V-~R{zS79{=69lfs z(yz8DkE%~-msVNOskXVQHbUV)jjO&0n0f3d9#$XoC=k7+XPcprOy*#cz+p2hq*1f_ zMdJzcRSu>ITp9zk4~JMWlbnX@OvYS9k5(25kW~URH4(*%Mrxgg9kw5NuQ#uJ`x}Aj zMn@?T-DSMlQb@b955LV2$on+v(wM~rrs{Pbt62htHQtP<>PSZ5xEY+Quhv9+Q$#FM zv-3z&w9_8Y2x;>5Rs9g^al4EipPJ(lSMvn+mCEY`CTl359GoU_C=tYxltSj=O)~TA zqe!w?gk2VRJ}$;Xs&H%GrWB2kwd3nvvGB0Pyny*3l}NNn{in3aymP3B3hJR^^-vko z!#OVyEcPOyyf#&S%Tox!o^7J^2O&@g6|LBc=B%J5r52LD5F6 zB=ynQm}-f@>pN^EX6im|v(lQ9xYM#Vj!fYfCGBA}s8Jb|v?I?gpq(og1+iB%K0crM zs?F_9A+U`ADT4Hr@TjMES}bU`Mvx?NW)z_bIav_h7BXP6PPas76n9x};FgqhD@#Bp z6*v)%ArU9M?1(I9%jjW3Zlx%{Sf~k1xG7%-?a+yzy@9$E(=X;FN6UAT=$M#yBoCad z)@i%{1cwgR?LhJpLc$`)*scq!5r(Aek?lyo6AQf!DcUA2nDB06FIEK`7@V~c>H?(A z<5(v=Lt#?_8q!XQHP))hv{HHOwUf!k!kRBd7(Ngo_tRX+O*OGJW7?-7doT5yY3l1nmvMvpIKovuq+Fj% z|Jy{4f+)f%czYU7!WjZ5O7)~AwDE9Ow~UAC=s5Q~?FN$%b+#pNv@U#Xd$+Ui_TZ#y zacp2`>tnRi!?u8}>k%4l*CZQUJ}6mRbXk9lz(H(S2098n6e!u_0j-t= z`#g7HoOP{8@bsX(o`*|h^5?yUVfuXsUvVHwl3W%s)5)D)6%e~+rzAPQDj;4J5HGc2 z`P&5q9;?PCSJ>EwN1UY<9o?=H(#s~gxrZ*ttot85gK-L~E<|_)jjfiD?RCz2cpi>9 zIgufzwNiQTC_4{x1XlM}l|FY)Aok86xcZvtNS`fpU921%E;7vFG8Q{4k&mbJrgczv zIg?cSt*so~!r93}IjG^0yxnpRme96zrbCOnXM4woc%p_i&w=|aR`-~$km4MyU=j4f zHPHEsa2Bvy!D~PMorWCb@wtHiD42jEzE8u<&ig?eI|PUE{fPN~6yJ}*ar1n_{1))r zNq7zKujA-tg9}jn0Zx5+^o{S}t)C37hxaL@0ld!QecC)1;T*hU#?HgLsR-|-AY4gB zC_y!}DI!bbxL6Udj{MH&w`QV}X+AlytvsKUo6VJqv4I}%NJ`6OjGpQj>S zhAXMN`7{MVq#}H_i&oR*@jMmb8eAXXL2KVibT);DZ&DB@;Reo`fO%NJUw~!2@@Qc< P;WjM79ekTa{JVbuJ*(By literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/XMLStringWriter.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/XMLStringWriter.class new file mode 100644 index 0000000000000000000000000000000000000000..1436012bceeff3e333df6e101d87aa6664a1de0c GIT binary patch literal 8022 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController.class new file mode 100644 index 0000000000000000000000000000000000000000..18f1c5318d7061ba5f16d2ca63a168c84aaed99a GIT binary patch literal 9752 zcmeHM+jrbX8UJQ+qTRLQI7u%dfuOdbT?e{LN=s>-27HOrP1l!Zouo~HB5NmJ#ad~R zM!pmZ1X^w_P+IQLaxG9U&pn48;Dsj+ue|m2k-vav4!@ChrCob$$;aiCOI{?+=$qes z^UXKk%=eqW{PXvJB%*uicN*mwjrpEgX&IJNxoWH!72XIcElX4uZP#4(E2irR&$Vst zRW7;SvfnmLJ{i|(G{9&iY-bzJQe|%ODmMkAL0OvOSI)aGN`=}Po42?l#uy#7{1|86 zaJXG{EMXb8^#pG)VwV{WuXg(h|1-+h&V^rSU5Njok6H{Q|M=YS%;tpQ$v^dO0e^-% zx=dM~SZ7r176tm-SF1YhK-7iDjTU70$M`kZXh@Cr*@iFB6vJ{oG~ZjBwrnn8eQu+Y zH)NU7o-3Zw!W+s?%P&YAls%p2z8iQZp9q|WlpCq_*Fdh|i*=jVEFY%YTa#~DS+|xP zLj)e$91SZ^JyuH$4UH{lY3wv4-_~|pj1Jf4J=etKd3-Jq7}Jd57)#uPz|r%8Bdiv$ zIxCiME!uqCaa>^t%XNHcS*r)_w#R+{lHoZ3_0eR{ieU%nd1#4?*vc?QX|&Ji1Cwrp zYjg(;m#B8e^IR`aql~H-9N@b43UBD9+iF{O*s0$3Txij{UoRG7aNRVdR{A2><2J(8 z4PC6ad9g^h(|d;Ky>ur`bjpIuoMv=mX|q8_FG81^zYT{`KEV*d2x%vy-DmK33k2jD`S(WKz@l$#Hz)1u|9Cqg1#w zs$0H}+>c*DQqm~vGXX}2BYfD*Ue_&W#a-sQfir%yAE8*tK9_HafwQYuAAjV`n#tQT zejeu}G2*_#mT)wx*}u>k9V%_)lVta&7|o`4-;cGuhlP9>c(RzNDwHCoN)j%|qHi@pCG{C+G?lJT zdf*3>lh|JFU-O1&=4p!2bUJ*t$sI{LKm)LXc{5Xhd;O%db(^Hk^MSa-kTe4?%jkd&HZ+Wq((eP1R`7>X%<4)d z<{6z$S0Yo$zz99wnFiTcp6Z#n#EfAa@L)CT#tM%-g3%42H52|ass*z**b$TA8pJMy zj)!J>EckjSwFPd$yE3UC9<2v+hESZrY$k$H&lb z&ksiTWg3-woWr3%#wN;>&FGfY34+BXQyn+!TxT5U<F>>#(XFzUSb=3y9k6M+z}(*cvDeVi^ZI)dW3ZAUed|CZM`V2im2_In5& zR|WTEJzV~_p5m#_ElOXL@Wx@pL|_!SMrhQV?&{eKRYn7nf5u#t6qgiI?P5K=1&PLU zI5vq?CAwV-xohZC#VO32#HEYR;XR*0WZwlne|)aZo#;#f6_SERpW7v{3?DIYQqbsW z1moRk9Af!h=%L=CMqfgd=*Dr4zQRcBIJ-vAVh*HrHTs%damlTgM$e&DcaAlB9+pU4 zO`~t(MkPw(H2Svu4!uaD?*dTn$QpegUox0!^h3!BAq3AIoaMfl;qsOTj`C|<u`7pgbd>^5s=I-BRv6rv3Iw9ZwwQ~LD0H}{Kw$K-Ei9>;i!x6AA=I4!J#}Nc>x+!#xTFqBeaZWmZ&J&nd7NdB93`g2dBR2&%Z1BYy|ud0DB0 z*a5<;N`!z`;+8h_Yt)GG*CW^nrnD}9`C2{{sP{=#Q)OOwV9VewDsX-=G)hTl5|J9{qq` aq#w~w=x6jY{R)ypIH$ZqzX94cdg@<~!P@-* literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockControlLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockControlLabel.class new file mode 100644 index 0000000000000000000000000000000000000000..d9f100f6736c7d4bdc5b6203fffd8e2a7715d726 GIT binary patch literal 5347 zcmeI0-ESL35Wr_s$6q8(3AB8}HBh)fvH55zZAu|=ohHF0h@`2=1Je4uvA4OqHG69( z;ekJZMH6xj+8=^$`GEgGvS_ z2wab(R}3f*iw|g<7Fn%T47e&*ec|m!MajY%leFry;*!2n5}}g9uh1&Kb zjnjXGK$?1rw-H0O31o~(dQAEz54pNUV8%`0*XFkfq)MX3GVm1Miw!GFDP$JTlibhu zLdhcGw^_~cM9}0uRcMLRlme$1L^qs#ZnMFh8uNTAQ3z+TOY6*;L%$TzFNKa@3b9}2 zoSI;f6AI-7RCx_Y;dr*+L{}uoqn8WX%LQ##p*O9gp9f7Lm1AV-o^m`IY6Vs1bj|S z62{V6?O1TRC)Q*{>q{*eS^bW_>~-t!6B;&zyS9c{T!q|dP>iWw3m&^GF?$TuittR$ zcX_BTJNPx?e2>#M_&4lyNSkb5xf@DiEc_#j#^>CTwAtWZ?+EPFroQRe5n0^P$-gOS z7-9YgJ=bU)>4g95hh=Ace@WKFXR>lfB$x~;x7onbHMHRA6{i2P%3*EG!z?^A1vBt0 zf%9%9-pO_HV?poqW-1tBpS6N2lbiYhKwws&Bc9dy49>v zg(}Xt^IKVP2zfZfM)Gl0V`}_rl*n_e+GBGFOqvwOF2k*KD;x$;7G5K;(tj0oH_#o@ zzlLGcgGMeMb}K1&TPtu0TpXx?K$b_{ff!!c=%kgX*L6VWk!c=zy6H)|roqW$(L1_^ z^4LC2q1d(%L4~!MuLW;w?e7zEslRs9?L4mL=)gd4w@W_vc3I7Im2sgmp>mDDT7O^a zP>BZ(3YLz-a;O;gm|3_%;D`QrvsAGQeL8J!e!+0h zYtHihXo5fF7!bc+z9$E-z;1))}1bhsi U;4i?Z_?g1YUW5{q;SQ|+1&$>cHvj+t literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon$ImageLocation.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon$ImageLocation.class new file mode 100644 index 0000000000000000000000000000000000000000..d5cd685f544003a339c760a61aad7cfef7168aee GIT binary patch literal 2349 zcmd5;|8CPT5I&c!UBY0nF<|^OV?Z}XDkKCFLkJi}E9y2x3kd#mQ*ZT_*p=-7<2`r> z-T(!zZ)Y;(<85wF~HGqsql@>;0mR644wkXfN*2?hupN)1Fzu2z;?Ydo|B ziu2W_X7w?F2ld@>Ge=;cdbiO;cvf{VxU~GZxq#SMe&WzeF{5PTjOV4id_Em#^Tk_2 z3VWNt(QXDuG}u|ln) zjM|MZ_q|%&jYKFcHA$CiR8ktNlh7(nt1^kpSw?25kan61LlgWeSA;}8R*-^YmPELz z&1C^yOpJAJkVTnv0%jhzkbEz*yG?K|e=)Zm)y9ys73DrrxHP%l(B47`dJ4sDHLsv; zyzZ2@B|5|HBh6R1#t*F_-th8$5p!vDme!!QEJ35@q?cCOcr)UjBWlDNfn)3tm8qprb6Pnj0(IiDP`9bvHDuX3Ai`uib3 z;6*>fyVLoH;4Fc+JLtB1U(y8phDvnE9|)(}*iZHEdM;{Sldkg!W4W{o0?$+(b~XqM z*QDfnK4QjjQ-TWwuK(FdN#H^$lmp)w2Kq literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon.class new file mode 100644 index 0000000000000000000000000000000000000000..f43a46eac7b38acb97a646980b23c9c443659581 GIT binary patch literal 2798 zcmd5;>vG&Q6h2Bf*^QGXY1#rUHzl-X7mCfL7ltwnkfhViYy#7yJ460yy(hbBZP_Eq zP0E|_2D||?Fa!U2D25|D*>%7)O9>1=WJ~hVcfNDcIsWyxAAbgbyKuJ-Qw;7H9R{(G zDtIiOiU9jr5K9~Mq9lA`0*$JVTJ$0ezH~e7SPZZoCaMlK221&oNT@;ZRqru|mbMIP zDWWcFBNO$gz0QDbGC04MC}V}PT@htCP5L{7+uscsEaZwtungupqs2W24N@vBAu+h$ zc`>Hfa=gwF4q zjLKc?$?1BtqeG_e}>`)p8AHQIkrIJ2BKs)jmb(?0ZRJ|Lp%0N$0 zS4Rk^B!h)$>;p-^1v(r)BP-iVpv&spleWR3co58zqD>hqo&@Y*r#HKx<-z?Mj5D uzk%?u0%027Aq5+@X2Refu4n#wo%8 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel$Type.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel$Type.class new file mode 100644 index 0000000000000000000000000000000000000000..aaf6b7c4f4b938202ef03bba4fb502c26c767c9f GIT binary patch literal 4865 zcmeHLTW=FN6h2eZONK(b-7WWvsrI2rXrf)MRPBNgp$$-&v=s!4Ty9w(pA@i}wu@7}+90{}~~FbQKGENK;0Qp!c;Ic?Jl zi}Om#O{JO0XiHZV6ERb?nXt-j`%6fhEcv~$ld(xCc`#d?NvPPYtT&&t$avtdRqM6? z!s_i>=)vFNS5m)@gf^;oKN9jc)*m)@sroC`Ms;^Haf1tPZhCNPG3?#ukx^W1USGZX z#DmhZjPbfBJ(%eMYD!5p1+(64{jpF?%cRX>63H~<2{l{_k|~K|r}`h_mm4icViqM- zAt1%6SauJ^K3gq1@)gt-2_(ifxTAnWojM% zJk6vsq`=Y_hD20Y22DnGuYZIawO(?=6Bk8q2l@rt+X$g(4a2A%21s4znuS~&CYTx^ z5HXTaVlbZgA#Ux8>$u<$V#_i?fBZc4^&m+hoa|r}Xv;0@)e;l;o@n8hf4DfV42$|~fNK2m!(14ivf6gUvZA!vUw;no z{s4w#3q~iCb9(+iib zT%;*mW!h9qK7smWcfJnU$eq|>L2gLQ`$LT7u*l+M)J~x9A@PVA-(SXtO$s*3w>R92 zorG`#jWklNx0zBr9+r=fV7Alm>pMoO5Fbv!+%)*`s|WJ~CK7faF%x3Xu$HGyrW&?# z_h2rR5lx=OB+{t|E4aTi{GzXt$F9WU?x3$5FIc<{rmkjfz@39!#$a zY`K;bsx{M-aKVE=4?c^*;YnxKbJ>HFeZv!MnUF)BYmHs6Mc_TB)|fW;q&Bzy01uAg zh^chzER4eh0IrkWb*j6T?TWZDRMl}@r*Zcep0els*Kp$BxtW*n%Uj%y!Eg9Iff$RQ s$M5Ol*@sgFjd3_#pw7TqTmjDE$47(*=iwr9Cb%!*?h;(Vr!hGH0V%0$W&i*H literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel.class new file mode 100644 index 0000000000000000000000000000000000000000..c22fff8fe8ff519c06bdd013418c4babfd9262f4 GIT binary patch literal 9596 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockNode.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockNode.class new file mode 100644 index 0000000000000000000000000000000000000000..8ed7abfc52a4e7df974f2784d482c58f185f63ed GIT binary patch literal 2946 zcmd6pTW`}a6vvNCx29#VQ5g4&H*PJLgaKn38%Qt)LMj8XF^MCs$mq^zMm zv_hs*$q6i(#pTAp8!kQ8B(|lv)cX^-Hv|I-Egq)H8Vit6ZFKdoD=ESjZgDtfs9wF$ zW(3B3*5p3E%d!ZCdQ4!k_ODYvEA>qR#T65{;{+zV8?Qm(dN|Su8$f$8Z&pBwK$!{eA$>UJIj~d&DSjTBA(DNQZ!)7 zZBvE*{8Nmn>h;HD*gE^RmSyiv%k~#R97#ouZK{M%T^8ycnwwdKtvNaD}2t8gq#$3lk+%S4EO$Uqh`p&*b^j){Hzj>BM`zSW@<(Gb zI?4YbsRC6vH35@wn!t2U9n&>xvVli+Ee)DnZs>}yt7POdf0Id}pF4|1)fQMDE#`SE zy5JLdP#dBi*EcP=MBv%}l}{JGgVT#@60V-;24TT0ftdrL1SVP?kF2H4*Xl#O1ojNX zm@t^WXCXz)#b)xTGaatqSx_g?-v2dBS2#F0eZ@~l!}PtZJ)S`E-9D9_=Oqhn6Y%@c zG_v!LClGbL>2~EzorQ~ytT|WKqg1;5xzNY;=$~H{)6Gh74;!xzPzmP$`eVri;u&}) zk_3DI2KJf+W`MvU{4*MZ0$$_zRKlkMSa_A8V&;co!i+~c<54qOxHbt>=y42Z_mNV> zvGNtF@2e+1!^!W)=M3I874SNX_X#tvz&XPPI1d+k2nDpr2p4k*Gr0u12Vo|Ma5a~3 z8Lsqb&{{JMd4zf{;VN9icx92h{wE$?QY}Zz?Of6gxS6ZvRt{kF^PfS~LIpCW0Bi{bfy}55iB&^`(#v!xeNXX&7iW8=pRk{vq1g>UW zA|{9JZ~BjTXbIF$_}OEn2Lv{|)2}_NarGX7^_xNpdyBx-m!e)hVt=%e9>4S`Jq0@44mjMVu&YX-3N)TN*Oy z1oSyQhhL^k(cJ$Nj(7JNn+Nx=%GCcIl1`jNA{3UIG~pWKN*b%v5Tl&tVZF0Ug`p{C zhhrfzD30+9-m^49&z@4Z=wWKC`+`)INf$*q;{s98JY>ln+f%D3qxLM}K{HPm6+|6r z`Ov{Fg;tT(0W+iLD)6}qd#Ln@!4$_Utk6|*SV7`t^QrM`}Qa+-Bm@ z8IQG!vo!78g?=|FTRA+d}QcyCV>U^~f5Eq`_7*3fMu15=+xw|jUe_mnjMKrNig>}4` z`6X{JR@Di&n!-zvA7(!)FM-v#{e=1WNk-GNX}@B3SI)~p)G zjVm1UYKv!U;{T}-nsX1Ta@(|u3bi=+r-f;D$5!atvy4~e3eSeC zuVeVqO=m9^9_f{Ryod^hu_|9tio7HK#HK8|!(1ev(X-wW+${@FJYqmPljY+WL;0feFU>()r=#0Qd2g{`1kC-vs)Zu*spZznBKtG!| z$K6ItO!cV4jhVS_9pIf7m9OG;BfAe^6Ru_NUW2Uy2PYxt@Oqg8`C$%+ ub$Aok)Zi_6JNthJ-o<}__wW}WX9Cv|djKEda|1DcfWHsnV|=Q?^}hgC(d@qf literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities.class new file mode 100644 index 0000000000000000000000000000000000000000..a58980a79e4b24f5abc02df55a66f6ddf6bd255c GIT binary patch literal 11103 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 P3)=7w#_bZ$)!_1P$kShU literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment.class new file mode 100644 index 0000000000000000000000000000000000000000..c797b9c299641d69cb7898c7b28fd5ec4c79c598 GIT binary patch literal 11182 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 K?I-jUJ@QXdWiCJf literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow$Arrow.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow$Arrow.class new file mode 100644 index 0000000000000000000000000000000000000000..6781e9f54420271301e0bde833f7c1a09e6cae46 GIT binary patch literal 4146 zcmeHK-Etc>6h1OZ{L_S{f$&p)D$)QB6uT{HOVbWB)CJ;>Q#v#?bhwh&idW69v?Iy+ zx#5B*;1*ti2Ve$f;GTEjRTz%sY_q1D#`ZK9o#DbOORMwg(>dpp&i?h!Z+`&5HCQV` zfxw#4K|N+d)*rDQR_EP*Jr=g!iBzy{>YB?g*Q^uqdPBuAm-aKQ)$X!?7Ga9Oyf=%O z?A5>OJmP^RP~1zDkk$|=eAmS8e%hUih1?@RaM1nTM{C2iU{RZEBb0p5yp3<~5SVKy zX)Ker&7wY^M!K!um7lf=%-B$v<%g&Me;uancZa>apu`tF3*gMWIeNrql^s-rTgr|mg_>Jh=a5NVW z8?JNF3r7sju;u7s^%<7t*)svzU^dLj!68wMm3c=|L}j&w5qOGLJ4!{I$#Hdc2a_*R z5*3g`I4hbjHA_Mfm=UL4zWuBwe(mpE%<*-1i5`PG;^ZBM*DQLiQXbo2I6-bHjRiqN zMM`6O=gRhJg7t=#@{#%SoW02S1~c=P!mGnPKJoprKhfEL(&u_sT@_e_v$L=OZxC3l zwhqgg`&MHP-f-p4=@woxcl&XN>rIzM1Qy)k7_|?w>R@on6=wu)PE=P7N=huyrW3r< zu!@|kwo(Zqi4vSAE;8E;n{v84DCJTKEY!gY7gv0o$T)0ZLHDK0w8{XWK^Dqx* z@c%US7T_g(^D_2U5v|~Ceuu?}3$OkPum9=izll$`hQoggpAN|(zYXX77=?Fo5tecg zOb!CTGQ68Xm~!Zz!+SXhKjb1*$3XZo7hwfH$Z+sG^c+6S;qY?~!Zdt@ybDl+I<^28 b@mE1a0+--p9RCFSGuW=eRk)7-3vlUQIzSgn literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow.class new file mode 100644 index 0000000000000000000000000000000000000000..07567a5744dbf489e9d130430e520c1877b84dd1 GIT binary patch literal 4811 zcmeHL-EJF26h4!>@lVpG4U~WAG!$5uvZiThA&HP$Q)rM=DjI?aSL5A@J_5w*X`P|X;P_DFTBpI&-vz@GvE1{{PXW0e*wTvSTDj1ffcQS zTFgXJd&u@#jfb6DEKIE#$zV^{6i-5~STo|ax{PCnh$wk z2o!^^5P@rrDRI{boMslA!1}bh&Zf)mi7>M)Fk+t*AUn8N7l|-mqMzQhsB6`20)@H^ zc@Y)}EDYSegLbMCoF}E@>ZMEkOvV{D3r2b zkF_{m!a(~NXulh1e-P*;8cMEdA`Ok13EI@4K7W*AfV27-Uf&*@Z_V;YqjmQeaVnLe zPL>@Q8nDD}(B$;c{1;B{k*^O#(#myZBTgd`2t#!zyxrFV_udOBO*2I;g2FT z?a4wstaz7;R(rz38P=TqSRKO-d3G!yo6NLxI5?CPQ!#IpiI`d2LJO>-UQ^15vt-)5 z`WDHT$^68zqESLFCztN=%CKcVnGQ^NM^N_lF9VS?P2 z3R{0&Mp7ZYbJKQQ!aBuDc_d$6upct9L1x~T*gAB-;=8i{ziR(U*Y#|6Rp2bVG7od` zDuD}LV=&GJmt%`6HW7Q8%5x&4*Tn)ty zH@j2*7T%7qqs-mo+H7*$e>7YIteg0+3i~+?v-kukLJ6NUP=<vKP{g79Txv~vKR045 z%R#u3i$I;Xhh8}QoEJ+u2+KJL0GHu|j12>X4|5QH&OspHK{bOg@Zw4iLYRwi6+X!z t3~cao5Pr=;D8Q!}{Ta9h%kG2-Tt~dm@Xac&XYu<6d=6{)cLCpD{|{T;8` ze~cNJfp;GG2fXn+7|u$LtrFQ$5(ggY%tW%}v)?&;uAle!zkmJ}06vC#1xf_&8tpeC zCS>D#)@KbK^cs<{jdrN~ebdlf23)gt$Qw-+MO@kzYxA%IWdffRU3t%8HI=klg~@UP zR}I&Kg}YoEq2%L@FA0zb1Qt=sSSIZ*3w!)Bn(6)sfw|9w6!vohOSRS$rT0zDe7^Qz zb(cW7sRCYs7x24e2O*PtjdiV+uEJH~{qb08ZdBOk0rgcBi;!7VNn@>WSCRRYdhT zJ{~RAFQQm!OA}f4)KZ^Gr=ZR0k@;tqJE)tdLhhXei58wmq$@B{wBJ3Xs*`xc9>$zz zvxW*oh4eAR!dOftZ+;lc9L3Zs%BTY=F4t6{(qpmu408^Ho;ot(wyOeaxZRA|4?SLM zD;07kSDl$XO#6gh zWAZ)bMh8pCxysoX31eKK6I&C3XSO;+oq6D5Jb*>iQhw4{YeL#PSmw5P9c2<9fwsku z{M;Zr{J_?>t;T97ZpY;Akrwl_wqAgmaZL&vX{;o6&F?lfj^tXlv7YGff3=Omt?Qxc z8NS{}tyAi8r*8PuRGx_)mcb*O_R>BP0e(K#X9wQhRz2;z2|TvT4mXqnWk%Ix%X7o5 zd7p(MV3wmnC+-PQG`T_cPs{D$;Lgc7ZGZg+l50Ybx(Nx4H zU4`4E^v(2o;0Sz5&9dk~9m-9nJLmZ&JR@o$AN-gfdV6w|kJ4{lT8>9rRd}1gU;jh0 z{pb9Sz?G!#)(-?8#UblR3H*KGNYJ$`e@PDIkV0)_&ZE9MI>D;I`?z*gQx&*FV02i8 z?tPe^wCv#Nl!4oT9LSwh!VS0#b9k@dQwgg0gg9^ouM7C*E=ra0?)?Ib-!3ox1lN8` zkV?7_?MO7iYicn#5R45V%*5-FNnlcK$zgLW$y?H0T_2CXziqd90> pxo9f|(B8^HYv-c9b4E0kgLVnt#r>4vJ*eRw;6wbM!{=4_;2+KDlkETi literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentSource.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentSource.class new file mode 100644 index 0000000000000000000000000000000000000000..998b78a1ab4ca37f7328a69b6dc85cc2111f3e06 GIT binary patch literal 1193 zcmcIkT~8D-6g}l@cE?3<5ykI{U%Nc)JQ))qK8Tu_tV#kxeC*CNOJSy+bPDP(Gtorf z{ZYo-?ywMo;)^f6(>tg4o_liIpTE9-2k->l2onsCE1M>TP&(NYha!>LK~gA}404n1 zSBaH6lU59JnXH?lklJmU1DnbSQw;OrL@x9&c{kXTsbgrYrMc3|J!6>cbhjC%)=fs} zCd1q@`lYqTHgJJWti0D&Rwh4`8Ba}7s$4i_G%u~8o<;SP$IY!>$upVe!V;(y>Ao0B zzDz`WM6@>|+B+t?%rhe^u8re`aOp00bY6ZciQmcdGHyB8MME}3yh~Akk*Nt{GgS2P-<<4-y-RDxq%^hR+E0Rv`sB9?DqJI*-VU#`( zLvARICO@3h`CoB;qlbSl6{CUK7A|6rVP>s1*F2oKli-ZNk-e!?*DEWoQyK z$Vh-mk!1`^9jabyw(2__eKW*V;kmzWuV2s&qLW?>Iv9`c+A9_K*F8qL;MxdxsMEMo zgu7u|TOz_ex_-V?ga-`Mflh=+G});k7+P;sRgrdE2-urpy@d|N7InJ~ Jj%D1(!`}_LT`B+o literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/ConnectorTag.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/ConnectorTag.class new file mode 100644 index 0000000000000000000000000000000000000000..59bcbf660587daa8eedc0fb92735e9a6b7b8023b GIT binary patch literal 4289 zcmd^CU2_{X6g_gC_@i#qrj+to)Bx?efDI;1N>eCp+=3YwI+HXr#7(A*JwqAB~Mrmu9f=Y{TW+>B(H3=8RoZbwlVm2sBM{dqr# zWE^^Xvd`VnA1Y61T7(aykW}&GYrI<7+?KpAT~9=0G!*Wx7)ZWEQZ`7+##qWmD&-RI zhcf0tsJSn+yUjJtmk);|VRk<0)-aA~7+Q^k(Z=g5e;7uZC${2S&0P_g1$vTC=s#0C zqGw$)@t)-k*C7{NKN`wvWxp?H7*9Pr!>;2GJ>@FRp0@-iyyQ5eeHzd=%M_dJa;jZL@WZd45@RXGEXpqMy@7AA6&;O%wULl@0yW|kH z+B0rOo}>00+f=cLb2TjBC5E$3H_ZtfI#R)4&E$-QE`^LQM}ALIHl#Gbut?cTcv~V; zX8iciqTW_9!%FTHI8A7jV<~ghVyVBTjM|lZCY2VQc73Z1&T!%Iq(nK1GAG4-qD0(^ zPN&|X3^|Z`oMVZuQ-3lSmT{5c`@?~gZ1>C}22rF9PbikDpA-WOSDoAnW{U{psWNT) zG0H0K`QOzd#t+k2!f?{b)ECAhO@=6ka8rmG7c{3Goe$dF)R^G}ZE!kVE8|0kKaQSO zWlG_{*=Alms_)26H+z)kg{#eVG<6z@HSfy1p0(YPhJUk=!+&HRKn*JTa#{!Y-)E^98+4@q)Ijh2g5P?xSB(Oe)H5T zpoDVLR!~jaKP7)@8Yr*;WFOIAf&sn>Cmtuyo>iT2q}k#MTeFZ;eC9NK}b2YEC?%B zgk@aGAfy~tEC@HO2v_k@1|j8e&4SRjB3wTJ;bRLz$AVD64LU;we2R`aODN(d)^Qu3 F{S9}*#2)|v literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/FactoryRenderableBlock.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/FactoryRenderableBlock.class new file mode 100644 index 0000000000000000000000000000000000000000..92462177c86079a312c08275a51a0b2cbdfbd602 GIT binary patch literal 5463 zcmeHLTXP#V6h2Db+Hq2nrj(YJixMa}6l`bU?&iQmM``6#U{Q&@Tu$qMt0`ppV zrI3lJ^n&fO68BrBP?*woAiW)3QatjxV%q^PEi=zZb+Fcb^3aN8Awys;EykhA1SU0C zf(2V#X(6M{$|3=>O5ps0jI?2q*}Z8We!vxh%hlBd88&6aBeR(Nf%DJZ7m+aY1g;mVPo>(?P3G}(a{E;H zb#BVls*LL8*)0N@1?lrFyh&gpwsXLudTB{1sdDfZ$=%wF6xTA?Jz8ZzTGsKNPszsWtc zUoszUShVghTD6M((c0?^w1zS?mSuZ}dMvUFY;)RCe_*-&qTUlx{Uk`#@D+NkLwb1#|E`!p_wdr+&wB_CjB7-P9 z$egqrv=k4yX-J>q@reUWWw9_zYf6TRD-J~wq+SiQ5)*;GT#ru2G0haC56>v zzE_DWI1iUB7iLofABtGz9844VB}H}AHQn(>i>s(4EDtNi5Eu__l6itty6cihU%r(r@JdT=i1j@LJ@m4x?<}f$d2S3Iu*0CVx^B?c@}P4O`6qH6Cz= z^v}T!Laq!`+1DvGc09Wj8IG-74vGYR8m6%ZNP5`$#vWYS7uX$kG+YRTw_`QDNnrJO z4Q+#(mQhF-Z0=RuQr9t4;d0u@X3X?>NM8z`N4jboP3H(49IsK_GpAK4X~EL8R#std zo=X{4`7RHzyDuzSr7-_ZAFmXei9o(x?k@|QkFU8?Y21!uUa#~tmn)sdGz$;#FQ=Qc zfNw@Jw(ZFRzD&s{2FSuPzCY=v$tq?Tcn98%pS=g~_aIogHUf1Z+;k$$zz01DBVB|K9SC=v2p{!9_}GC^aU#t2 zLHNXhu;xVgv=72(4uowdLg^F;H7CO7eGtBI=whn5dS$D_tM3+ORte;5D&iiTB{0&1exbF}!*Gri ze!h{K8x?Qzh=wZZh?rTSB<*O0Rww2W^@}SlP9q-1Od}C$*=9{nr_faubX6sDRi)>u zDH}W8%cxf6=wi} zvAPObyt-}B_Q$+!2}9sP-+j5;Hmcb4H#!ls2z{nJvpNh{$k0+B4fwR!r$O(dG4+=m zCzYBfbNB`v^|aWx2P@zDJ463*u_xd!s|_9Um%>%?^W6fRjvCki=6BuQU+rA=36$pX zlBjDjGlm-vZW5S1;_QWEmm9%6xJ{rp8+dSsz-Vs@%Z34z`#QT~I~D^Jush&{N+1VA zP{5}gK6@~XYZ2cb;;x7P{#Wqdj+H*c`R^&s1zZbA<2c7~Ev3&sT!c&b1~3kncOf{s p3}Ip)go%9+@-T@!Ik*bf92{K7pO1()P@h{*Ct(`j3%E~V>NktFDFOfh literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/PageLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/PageLabel.class new file mode 100644 index 0000000000000000000000000000000000000000..365eeb2b445829b061e619e277aeda4724dadac1 GIT binary patch literal 1475 zcmb_c+iuf95S}j&p-nDi&h5ifw zfdmq~^HGRdr%j4zML<04de@#gGjryQzyJ9B6#&-YS^yOWH>^pbTu2qY6T2e9bP(mz zMcqs%J2o$IjP$N4^;Xwn7%8OboUs%ZN{&(*|CL4upO6y zGogCXrZZCY+VS6mU+?S{*nabLb&ElDU8fj8ox$uF`jIi()Ziqm%)e9yt2pW^ z_@ThW9rmZPTAu2bPpfr2+AzM%3vC=PZN+=X6QO*7F7ku)f3YLDV@>*!nrM>#9@pDt zZjRXEqmFWExm1Z(R$7P3h4oQ)j)3G&bHP1ASRXd*4@T=c)8<&4U16jb*yKTdb8>Wj zo$?;KQeYboo2z`==zLt=Sa`(OHX7^m_I=5vwWPAL0v>DC3qz>EsRm5J41>ky?|Ss2 znvJEx=Yzb9rsLCPun_A+WLx{`@4u|NzO)Q(O)TM26WTN%gCZ4f!N&=- zI%%)|J8cZYO+7FPK9-)3nNcaFzKP0>Lz;SWAVCI=4W-bmXTn;v0bF9R_KyQkv+n0U zfMo__%?5Cl!Q6QCha#o8&xW1%E*3Zt&-5b%sL+~%X}Sk=x=nBWGyDRz*9+k%XnZSe zW@+~}Kx>ZnMtKfl9v0{Za2n1WLhyD&gvBEe=8r(A!a4G(zgJQHelOM&uCVQ@410b;19`_v2Cy*@4 zAD0Qd!h< zA;4a{P@*dgnJtc0mY12&EcrnEHNssUULi1&>3D+SMFKtJp2d>z7S7R-`h@R$ehN;I z!M_$=|Wht|80DNz{54wVthN zJ=@UwNyGA3V7OjrlxS$$Mu_9tqcZBbc|1xjD{Lq$*vf8>R-K=h%AOw@l9oOU4U@WJ zf+c1|?C;X;%0-xQ$9C{28$9IhijHY%lA=+^p>0NTa~xkr&tLsxy)D0*i4`2=$p~cJ=Ua`4l)K)xWgEd7WWoIEBsA~g|=rI0So8&cPzu*@U($n z!v+tG3dWaZ?xHhU_I&AGgeZ)S!KP{o4XEid{kFm~OP=R2>b8s3B}p``ZiR(15(xQa zhK*(4D>W^rHCmvb!}t&gRSJJv;z1ycRjyo&Z&@p~tPOh3Y?RNI5@?2`}|dY$<`w^)oFYM8YK$&1i;WJudFB58>&YVIQH%aqfc@ahX8cX-HgU!vMM%vM}i zY*-b4Hv3L(r>tpUH+)*QxvAo*dD@8V?DZJ_v!Op^Xl0BqA}%}NCesj z8Fk7wmHsB+p-M&RzF3l~IM*rW7^voSUpwKb9opHk8HzjM_@M2Exb=+<)|mZh(Y5NT z%0k<6?g~g`f)nmK_dU0ymc>rF86CUs7EP5?}=k?p+a8_>rFmUE^*Buw2G>IGTx9tJ34!)BZKm%^hg}%3@3M$P3Sn;Zh z4b665cQIZhZ&-$k3F$Tb0*=ZW6*WLvuSDIXi;*c_PQgWz_BuOe>0YSXO@py{*vQ4l{!K z7^DCXoM>b%8p$(;J~Qgy;(-$EU|IwYiA=B7)SXzz!l(@4w+ZC84k+RXhF+qA+s*p4 zQy6%0(#C^1+k5C@!ds`vbIW4*l2c=~-am|3#SClCtN13HL^uOyn-B!A)m40~ zK$uh_oJWKNe1apzS}))=l1T&YQw7>BCE6vpya`%E!XpZ_`%1JcaJ6Z54TNh7gjFTN z*e3EBS0MOGgo#ZMCKU*e6bK2(Z-P)zApD>}AaDzcu~MBN9hiJbl z(LV1G?Wq!N7UnvV+cO1P56t7ck$?qQ#4ErWevY7Dx&wFNOZXZd00k2mtN;fG|LZ}^ GE&T&-8&UuO literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock$RenderableBlockState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock$RenderableBlockState.class new file mode 100644 index 0000000000000000000000000000000000000000..078eb1030cb1cf49a150f2ac8615541280aa0824 GIT binary patch literal 4947 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 Sfcuzt0UkgTpGE8q!NXrSvf4EO literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas$Canvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas$Canvas.class new file mode 100644 index 0000000000000000000000000000000000000000..c0d4c0b6a0d42ce580667021ad0eb7ef4077bd5c GIT binary patch literal 5722 zcmeHL|8E;L6n~esyY|+uS-0_JeDg|yc0dB7P(~4gT?1{EY*pJ8kdTmb@fxpp_R038 z&0mHD68z5p!M}lc=X6V^UKVHSm?rq)F0t?Vvy`4{lRCK6b?EUyK;X&E1im5oL-fcc$k-;g= z6sPe%Q<_V0Z*$!PZ_9((Pzr6RF#9yl*d(%Wf90<$*YIQNfnVR2T$nWv&YL#ZiywKg zQXikQeEpYPaPyT1t4mJKqEQ+Z@BGlg@Jz!)3m0LmOR(i^s%L|34GHUKGmP zGLOC14wjItfrVF5rX4(%+~s<9$j%l$dqQ{d@8U6{cx!k>_A>u-b9NQhQe!b^tot$YE1= zPj%9SqdPk=wl1SA8C_%4@G>`=s#ipeaK15%v#mPqGQ2rDls65TX_m{(L|&Vmy5tQ8 zv88Ru+yNX{*h~2cR2Le%bFDL4oBv6|04~8xGjI`J_TcJLz29@_#l>3QlbEYxae609 znoRBGr>qC_bs1ro<)mOcnViVGCmyUlMeF0FtAj0+nIw0r?ff>uTDbL6y>Av|W(wZ& zVC%_Ekh}-dU-V=TdbnYTmFZ!=VQ>F+MGp@0;jCq6hsBIqegZpgV3qucwk9z72L+YADf0V(jUKbXF`1~S-9-jA1x8aCQ&fQV;e8Ko zj^B&IR#a%)Wj<68axkWS!2VXy*N+c3QA|627??h+cyQTHJsz<>eCENV4LU?^aIG!;~)Kz5j6k+ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas.class new file mode 100644 index 0000000000000000000000000000000000000000..e4c72fa7c97ec2de2ed897bd18f5582cc4113ab3 GIT binary patch literal 10679 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 UgB74)0)rCRumKhD;0p-;0)rzD1^@s6 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryManager.class new file mode 100644 index 0000000000000000000000000000000000000000..2084d3d88f8c3effd8621c38644d4f6b39ff4702 GIT binary patch literal 12196 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 MxC<}n?8FIw0AOFgJpcdz literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapAutoCenterTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapAutoCenterTimer.class new file mode 100644 index 0000000000000000000000000000000000000000..407cbc97f012228a7910078a87372e5e26ef4fe2 GIT binary patch literal 6646 zcmeHM>r)#y5MQ}~!6AW=M;~b$O`5hxo7nV8n`AOW4M|8%!i1DeKgwr;70%LC(i!MK z)|qyu{ocQ*A3B|`WD^eCaA!*BOw$j(v+s6St9@#J{{63?e+7VfxK)G#fhD8EN{b0u zdCuCb!W&7YC2XZ0sc_3www2y8F$;NRMM$y2;_Kb}LSj{wOUw0B(c-!YBLt?sgow$_ z%H#TT9$EsU*1aWgq2}K0RLr)(x1QxTz716(k%}x6C^UB5WtYI1Z3=UJj=)@PINea< z*d0{U-X*XY49i@5!exVNR*(2MZu7Ti*9nYNRf8AdJb|hG%`IuI^f+7~7w5l|nj00h zd4qjp(Ks9LNP6KiT*^?W)8EGKr#DDhy4q!*2+QDY~JwPug^% zby9Di`*F;ENO(|JD&kBYL%=;HZQw4scpYKJ?v5mBGcDZd<-j&DNe(zB=oYYC8l{Z6 zC+DEkjw=mavnGDzfspnF#Y--2ju!&!!U#0ValNQ{jK?e+k64L2InPTVClmu4j4+Jy$>WfZsTRh zT*WD+Urpa{JIfuVs*Bdr#PI%bi+Zj;`?xnpt?0S(E%^j{Dvqd`S(-EI_T7>ZdU@Af zRakE_WaXjpWq+ydPNzrb#H&d-T)BKTs4qvN~Ujq4KpoFW3NO*66gg*yLcppAU=}>r~!-xG6 v3WWg@Mqw6t3h)tpjCX(=_$i@80ym+8&%eUolW5gB_|)6!OZXa}6yWCHwIH#H literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapEnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapEnlargerTimer.class new file mode 100644 index 0000000000000000000000000000000000000000..0dca06b5456fe2b06a2b42ac1d2d37b5086dcb95 GIT binary patch literal 6491 zcmeHL>vK~@6hF6?K0>9XfNy0*)LX;^MTZ$+n88w{m_nr$M!s!sw#m|)-Rth&(E5)# zqci&5Kg#j9n^e*^_TJQjGvbHbSI%pH=dpXv?|=OKD-m6xFDGd%qD5SWW_o@%pcGoFarid1riXXpF(C6#j15@ua?gqfuAh~@%+%2lg&zwtyQ zE}~HX}GOn6ndK^)uDN?>2i13eV zOMCuOM3?HL*$nv;*I~Z95z*y%ROW?;5sfeErkJGD5zRhZ<&rVlOwnu6=_}tUBdkul zqRA57$z;l%)QV+BH&W5DS6O9xy)9T%BtQ*BKy;J01Um<~tAM-OgS+|{+~-(R3(J&t ztixT>W)AE?2CxpY1Ba^jUDaDv{aax@?Xr_;<5(c&PaR9R^70#k?HK<*-G2p_+{v_* zgUb?bRYSs-k@>HZA_t0W{D&lNI}@y51z9Jzjv=v-g%!#cwgq_A*p z-DHn;is>WSY>9r-FKv0+_<>MOVK~agSHAKt^iuJNb=@+&)p~Ktbe6pUWxUx8ki8fP zmy{Ez;Llyz&Z=y@sM8c>AN$GmJwbBg$fLxFj_&p%aL5Ypu5u-Yl@;bRY94-VNN-F`%VZCTXhGUkCOIfA%~i z;Ke=JTtI!(7{2YZq=0TTsROPZX^8`T*vVFLs4WZ5;W@uHJZsCu765>HiKH%F9$-GU zW7jU{+TGUQ5wg`T85FxY7rE+k3!NKAclK2v9LP6>vA&==U&y4jXqG~OWp@|RU}y!r zcO^KM@jPU%qD$FtX4r3g>JBp1M{8wzbbolIfomT={-1+12Ci}{A7D>KuUeR;C8O?{ zTM9z2tlm|PdQ%{)3{5EeOI?3DJvb*`PQua3<;y{hEb5;)3qoczIF39;o|Bz7!(qGR zfiw)WjufUa?JAJCmS-7;Hue!W3Ohs5me^ZSnIdrHYcGS(GWutkNXKlR`JO>5^v!wV zu#NX7iF@|uDqHbwH^yOsE#1c1v8y))X!P z(U~|5Mr&b!y5XX|KG?&X~ZX085E8PR-QCp>-FKj!y8j{D(gL`x%1H;0aM zF)y9vAqiH6L5I{47{|`V^#LSd+7!JX(KiQAKKj_8%xi#?BJ6pJkZFUG#M z4Ino$NM6&qNyKgG0i5YKKVfPLBXxzMt@I}&Gile963o>^9CVHZ*k z0)QCoW2#TbXaY}Tc%BOP>Hd4Ae?Lw$;rpxp|G7CjL9=)thlDvgiR(PxzJRnb+$+D( zsqg2{{6w$+7I@ymbpkYm-`lv(gy#yqL+^%f@6p+z64-tTV^@btI8NsVBzR3d8$K8! z;oG4SJ{&>9;~^4`(MQlaMjum*JJAAu71$Kf1-gjum&5xweM&W;^ck@7)EE8)#g=q_ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap.class new file mode 100644 index 0000000000000000000000000000000000000000..3d1c1a3732391559eda43d9db17a5b306c2c64ed GIT binary patch literal 11856 zcmeHN`*Ryt6+Y|Oku1AO>ZGMKKsO;!nHH%nNkiihuw^BdkrHFeHVKcimae6ZrCoJ* z2HXIr&=ThopFb!}bCvwAn*)}8!H%dD;0`3=)rvpZUi zT74E9DVa?-UvlQZH!6x@IeMx*T&+Q(RZ>s0oD*vdxZW)WO&_OvH?q zW;OUSi*eyRO`r0vMGv8>x0wa}jALnry=q$R4`L1oD|m2Kp<&-*6nY}=jJ`#1_Rqu6 zoC^w_$tE8@zNFA#!K||sWfeLcm}$|nOe;!8lG%RMDt#wvcYi7Hnw=@T8S38yo zt7_Zl)XZ?T$<#WlL2@91^{>Hd)RSP8c>pS!8HVk55A;KIylnswC= zN$w`)I(>1I(`M(HQD+w4ghb>WcU^Ix=bE;(M&r&+W_CJvU^1;<7b3eeA}ksXLj=F= zll4|*XA5Slg|LtPh#GP_RJ=(bwps&1=Y_}VJ+yt;~%LpW{N z(OlOHMqlY@&vaRK#WY(?Gxh**5ou+X|HK;02_sgwE6KWs%oA~>Zy7MBKE-6c02Yg* zkT82V{Yu*_8dS5OKg+VZ;XJD1Cl)t*Gl3=D)*+O=YSCgHq*+cj7KbH-2(Ez$EpGGX z2g5pN=};?Rh&UtH(e>Fz#pcM>KGmv;wska0$sOfqroyNlc=J|{)89Wx>2-IUFJ z6_e}Aa|urow$iSCNx1c7~DdmQA5Yb55=BvK#F%F|4(P+;QDpW2%OJ7K-mMLS{JW;^T-Zj*eo`Wawdfbd*lfI~BSw zTjsLLiw^jLV?nJGy!Cjvj6&sdx4puwDo-jE8Y`PMw3fXz-+MUdGa<49c(1#cFhM_rK3;KL0^y++hTTGp}Fp(y7uK%_>&!WZL!;c6a z+h&NMzAbf!LdRWwcqcBlE3$cJcUummHJH7|ZU0`#-n4bzAMgw`O$CKsi6M*rbo-7J zC<+aUA`z!H*>W#!gb%0bk}_~J2G6}Q5gHLmZUjyL@?S4-Zdo+l^#u-gn7XBHOqpnk zVb7T|Hx+syWWQx!bi$Nz&^WWZDf93d&yo=a{jwFOnh1kIiioIpMWNZ~se&Q9y9CZH zkuhQ8WH@3R%$CMWXe_0AGt zKG||mItm+EiKVz;P}Jh@5fjccv|nw8wP(bA1)XZ#xZKP^KH{Bw>vid&FG1>_vGiyQ z$QswgP;u(&FXVW3$L8CUF=BX2p)1kSO|-XyA&&!bQlikYogDCO(4`92BnI`?lVQGi*&-2;DxV`=2Y_jW^1#~_5X9}4GvuoAZMV+V5qh2Z@ z&diapl?+~Rh%Yys86BNldISMTec4epNvv97MpH6uAy>A@?MnpxR(ET34 zwihY-f~uz641G@=Vc-5Vs%QQ}k6Rq!+kT^mW|z63P^P149GN zrRZD8sNLhB6#pV66F751FKd;R+{+#e0yAH)59q5JzW<_);#V;}IYZv+j$KTdDLb&TFjZxQzokt(hy#C42L z(pz!Q`8h>z!|&U1cN&}x;F|d@J$!X+{55*y4`NIXzXw4>_@Bow=NMG<7(FhYJwfjZ zA&7SZ;j{$dIVr-Ew?H^6LAW7Bc#6(}_X+SbKAm#6&}ssC$ar~4 ziZFSL)l5lvcv*@tO+_gW7bOUctQ5h=n)=%cX_PD>CJ zdYV2aMbIQXT#zEv5+D?%2=xRAvr+_>0HGp9SWSR1Cq-x^KvKzL1xV3F{Yi@Oar%TWkLP@O1kqn6k3UP1 zKAAus|BxUI(eq+A{}g>1SEA40{}_0?ffarZ*U#hnMO=S^=MN$$d4ax6U!kwjOY}{8 ZnZ8Zmq3_WT=tuNZyiX&uxq%Ts`!}CfjL`r9 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$CollapseButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$CollapseButton.class new file mode 100644 index 0000000000000000000000000000000000000000..5b0e1e4e9d028cf9c3713eb34d4a10a59e3dc8c2 GIT binary patch literal 7132 zcmeHMUvnEZ5Z`m1I&sq`OhvcCn-zm15^XW#C zlax=w$KZh(W?%+*;DO-@J_R#;2!@qxH%@!C&mjqArVqBPyVY-3D`|K2^KXBD|04i= z467+fSa3@UH&-Jp$UP)mBuBk^uEtcZ>~nWh=C--mlp%3xZkbf*XrB8%2_>DXE5(Bp zBrO;=!+a7{a!cih)K&OMQo)G7N`+)RxL26Az?!$pv_w zBdf&Y+sj-sg##vqAdf6Kw!U7_Smqrn=A!u`u|8`-ns01Ks*3C@is+~zx@|!|)6>Ycr>z)UwIG@29!XE`3`E^r`!7U__0Z&#`$Pn|h%!Qz zt+-8W^(dr`kfwjxI;+~Xx>PnsLJZ3^P$sOhpo%$E$5m36N)Q)gE>%_T+4ox+`9AY1 zRAmLN@hv)~({*Nr1|AgzAG68C6B=(HtV)xCW&%YqKOOGm zjHYS9!|<>*wcL0l^C6YWVb7lzMqn+3MG6`tZ)uMep7I&1s6LLS;%7{nTJ$h$xwC!rVg8}`#zeHaqbEdR+%fuHDh+lywhIQ z940b+qI;#k+AeaXz41{W1}%eUKcK%WqJ_@^aau| zZMgJ>z(t1DghDmP@FFPODiW!Kg#bfi-X}=X={b{I~Zb_C9t_AHz; z?Muz}Wq1W(co<$qO#FeE=iznyegk_SqP8Tq=^x<2mm~IfaOo#A_HF#u+5tcB;P;^U zorZTIW1fw{duY|=rquh`w$SvL2HKUU(T;r+iI#)WHhU5s5x$K;0JsX*Vk7(Q%dy!MQB>Fm`%BhV6X13qe-QAdR2*$4y+ z|Bv}(KlUUqM55i?Ct5ZV?G~c#o`TM^yAg>nzE68@MxsshV9%XMgirTr&vYc(?R}y- x5omqz8J_9{+<{4K0jBViM(^X_MlgfVOV}UAST_rEFb@ta!ZNJDJ$#yg{6ErJKM()_ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$PageState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$PageState.class new file mode 100644 index 0000000000000000000000000000000000000000..7ad7829ec594e05fa0954094234529457639b352 GIT binary patch literal 5515 zcmeHLTW=gS6h2;(?1ezKfkL^~q@ipmohdg}B2gq7ikfKCR^7A_ym@DwT{koK$oA}} zzYGZ^c;~0^BM`?kn`T==W>##LBK2kLnfZLK_BqGr_dkFB6##C+msO|`_}b{ekC~AE zV>Vzu4^uxD*6&6tI5hrH=|hvSfcy7ZkFUB%$1=;SFh`)7t%#WH`S-eyd0+|5NfvVg z%k7h29jk@xtrMt-kih&jdoih@iBI}BGM4XQOED5+Smx4Z zVO7XJ*TThB)-_hM0Ant842 z0%gVAGzgXARtn_Gr_rg@Ji(I3w$`XHG{ySxKuA2i2TEth`RQ5r+}UA?;kQz2mCO(5 zi$J54!lgjZSjEMrZ=R5%L0BCxNX1SjrHkKxMXd z8B8f=+p$YGf3LB}Q`6K4O-<@j5|!bGH@gDm-LAk z)2WTykCDmQp*Z6lkZ-p17*SNm#&i8|#-|p=kdBs!TALtgL;2RU!6m zq9T)&#qDX%JN&e+!1xZBEMJ@lO_#iwW)`#k*}-)(Q8A{C>g==0HsBI`um~67Ljo6D zV_mC!E3dn5(NY@=lDlc#<$BMxu3R@w1uS~Rv~cgEk8`e*Md0Qn-KdlP9d@)D9hK^U ze=i)1y1U+FeINph+Y%4xR>X|qrV5`BxHdtrY(#6+CHxe7cUi!%!e`hBb5Xkr9)VXd z5>^5GaAQ5h+y=;hR~Um=vpu|ap@y})+}JzHSfGFlv2|I)aUK?MhP}hlSc7`@-hfxL zaS>k2#@As9QB9mz-~!H;$KRVxcmv+da20gQTloKNeESNyRB&wk0+)VRe)lJM|F>-Y zWqd9m#_^^2T+HST_y|_;Z4R#BvjVH|F^&!VN8l>7@XO~Jb{^K?8eB)(K75fOul@yF C4nr9L literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page.class new file mode 100644 index 0000000000000000000000000000000000000000..616537c8c0c64ea7c1ae6a6f765aac0e0e8fce55 GIT binary patch literal 16661 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeEventManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeEventManager.class new file mode 100644 index 0000000000000000000000000000000000000000..756f60a8486b682060a159ae10986e04fd9cdf50 GIT binary patch literal 1529 zcmb_cOK%e~5FUrLc@Rh`lvfM5?Iq=~dqF~?rASmoAftH_TaV0GvCa7Gvn_+K7R#($FN?35`(AKL}4nV3XjAxDqYx3 zbaZUPkJ=pDOhg#I6+PVP3)REj0V=mA6bVcP$_y3?%Y^R2H{BzQ9D|zfS~LSRmcd-R zgKm>#9obXD>T^ftc#;tVljf9U;0X?VRKXv?hTdhGY2$dInmd{BNGR{1i+mLQ z42rMPERm6P+~ye?N?TcH^2lk!hm~q=aA|q2Vmy?Jf_p}r@7$nG{buBrLg_!TJLh@WQw~d5oSe=ekWlPbUNTvjXE^oS_5jZ z$Y80}9`{ej8L4`kzQ3AnO8#}8cG2t$Y8eKLZ5@f^Kp5%IXTq}UOX~V(vp4tTU{QN7 zi8vll-Kg^!Y`12I9$8Z&Rk+K*{=+c*?$ZcUh2C{qy_H9}L2IMf*I@~6(y0cw;Px59!(R~YT!64%Ae0Kb f<#W&8&VNJCD;L-W=XNEyPnsoo0BiIwlV|=Dxk|?A literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeListener.class new file mode 100644 index 0000000000000000000000000000000000000000..ba5324c0763502969af2853c3f1e596a88c59d4c GIT binary patch literal 521 zcmZ{h!A=4(5Qe9SEUYMq60Z#>^ssw0D)B<}MAQT%@mRVODD1YIZb9G1$1u@E?>>}q zb|q?JJhaLD{ipfG*7LW#F(6Nzc!j7k5I1j9ST8W3yn#TtCG zc6ekk2}iH~&@8RQOO;y>{tmf-t1zHh($WA* q1hWYhsy(WX)~f#k)w`De1ogMV)1*810G-`J$#>NvEm!smW&ab5YmT%4 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDivider.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDivider.class new file mode 100644 index 0000000000000000000000000000000000000000..84d2393a97d19ea7f2a1be027ff742eba67f99ff GIT binary patch literal 4205 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ReundoManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ReundoManager.class new file mode 100644 index 0000000000000000000000000000000000000000..5daaa4c86adc4fd4db80c243d9e705cb9a030bf1 GIT binary patch literal 6637 zcmeHL>uwuG6h5=K@g<=NNgE*CCMg%2f=wZ`B@Ur!no5xzD%EKa{Wsp7*i-Mtnw<^J zOYk~KAi;kgs_L29G;z|kJw=v*sIqMBtj~PsGT+QOXa0Wn`=0=C3%2v%5Lk_+TML*7 zYfsoAt8p)>1wz$Ye&lxJ+Aopp#y#fp+C!d%UbM?X*5)z~IRbNLg3rQs?Lq4acU2yy z2;8>B`{@O8L&S=QToSk(7<6yTXK~D90#gnBXPrQ?DcT`ZiR1+Cn3wAfOFcWyq}Pk2 z+T{TcRaDAgb*-{bAh#8HJP&UZm_7AlTgpfl;9WB9JPIX`Bmal! zXuy=)p$ez-r#<9D|8!ifs%BYLTU8whmTDJ)UNLG!6D54=vQR5%ar(mge^pSkGQ%dS zBFd;b>hV(1LL}WZBXA7GM#%ghb?pQ_U${ciIO%bTTnu9+6IVr&rg14(sE8@O$!_g5i3=b zT#9koJT4sDooW?G3!^MVtW@bd8gSK#Jlf`It$~Nyfs6u^BXypj=c*G-ZwFk)I+5r! z8i+U+VcVpX<73h4Y_l?Nl9bv}Trz#OznsYXlcts37Rxh9*DTB#ms?gilk|PEx}@F; z!wJ+>qlHSa2=C3n0=!S)YPoS*C8v|?x{97{V9oJk612G7V^|mym~TWb^Y@t)dVKsc zr#b@Ll$*8%`SSPy{aUyG zLPRcra($;!e|ospZU^wV{a-XZ4B*yYqtiWT95(m5ox^7L+3t1#Yg^mf`HS6d@BHP` zBdMf&9KfB8_JvLR&Pa9iuyy|+fW^8VpwS-$uyO%t7^BTHtOTpSJX1zk9goC-MLJ1k z%$?MVrAGH-k=XB9Sndr48;B_820_ToF+URQ9@17t+NwEi)t9v0V*@QLQ`)hFyJ*N9 z4i~2>vNSy$8LIj%kK+zZv1=Pym`r-j7dbl1HjX& zJwcD4Oy^yJqQ}gfPW{JBm~m5z7#;dwZo-^qoVjr-!t#@zICT_Y9!?6R?TcA%IjwJp z+hH-P!_&EFnuna8OoS=0hJtA&X)Gh@n9WizP%G<97CCKLLuJWEPVhHODtDhr%Q7_( z&!xg}`5Ynm%(EETy%<(yoyn-@fa-{>0_@! zV-&w+d03`xi^)+`z+oK^9<78b+Ce0ZbO)d#$*%GiM3QxrflVD{wk@p_s&IQxu#Hji z+K_={GoOm_)_|w3&_)DOEG&eLxRD&Qo-2e#@?^G=^8{HW(tZx7%(_ z6XAw>z{JlPkL||Gaz=HkoN+k;oaCGSzV2@bZ03NlOpk2T>4Z>$TNNn7S^&3a6f%4r zW2KF$?rxU!h3WZlg9VYcj(B`e}w;)$#V#|Co-@Q;Pb71(i0PFt% Dx9f)f literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar.class new file mode 100644 index 0000000000000000000000000000000000000000..93fff64166fabadf430abdb5ba0f4efe45c05ce9 GIT binary patch literal 8577 zcmeHMOLH4V5bklDtRz2i9*{s_69UK(q{K-G#Kwsu%h-7BgLI6iZewORD~2u0L64p3`TColneN`6-~RdO z0RWr_TY&)rr(8$NR;giSZ_{m>WxAKG8a%sU+S-f=ZE@ttoDxHsy#@Rcpe19|qTF*Bft+ZYDRea(x?!?h19^HD z5k~@=Mdl(QS7=(HHEh2pejf|HM|ydaRhh++T!`LUO{bipC6z+is4@o$9w_DKin+y` zYuD!I%K75W`FvsS1_82!bHXXQoLYRHnjYH&u>U@R(O{zGieqzbqWuom0m_TTtL1Vb zA0VJK{MB6BBCa=z&UR;IT=Nqpe{cBXk?g)1!!r0RfvNPPs~ypjv#T}R5@wiOCoq_^ zb*8{E0%NVMl6M^2Nx-XQ{N9@7FxNJ>nXYO$&@d@CY)h>7_ubd#yaaqnkv?`ML&pK0#>siD#zjMZVk76csOpoj5tUc!78&W zSfJg&897|_Md=-`YSa?=8%%AG|6i`(cJa7jN*VeY5WJgl@1Sp#na;B!iYF#=I-x)k z(XVn_r7GX4u~f1ZR$>H$z!E3KqK;))-y(G@7%dw}b{8y?7h*R8nqR_(@5O4Vw`wMovnj z`~i@cls+m?08(1FwBUlRd2YdQIl~k&#^k1uVzTt;n_)1~9ss3Wpp=lb*`x*I_lJ0CuQFb-b(MYT zQPWKaRRydsWJ2|Y_5{$+H^uw9ctcPl2c(kno=tW-DNy0HVK@q}V`U|x$RX+&V+Blg zSH0>6bIQWqh}xH}QFFZ>wCjz7ykcM_YO3p^3l>_2HyLmGM=biJCkriqIh}wE0Z*b_ z(i*etZVX<)qvx&J*AnaZbb>NQB+bOieZaTa@Y5q$^1(7rHE1R<*X6l>_(DJ&vkwS- zD`AKKKn{S;qiz2Fi_9Xmbd%u)#4>^9&hro+O7>(BNR@2Q(b$3^@`KUl#_{hMFupHY zSn$Z1)ODGwz*Pb>U0r}Zv=VsHQ(tOv(W5{S8$uynfim8?HS-AtFo{VtVwVCRA=_4_ zpuorCxp~p2z^CX^(M>AwIsQRkr@$9@!RDJ!fsM91#bCSR{8kLt#WHsplQ+zPhE|!& zSD46{aJIKFDe8K*rxmF5GHyzN+r5lCqX6E9cF*&y0#+~M&cQK2^WwE#3MODL?8AQ( zpg_X^O=2s+01Uw}N{#scNAY@gj|;Xwq#0KC5o!fXV>uaO9sc0rhnK=?fpA-4-clqLU&M3{$s$PTTwScu^8 zcO=5%E*zE~MIhr52!n71_s{?oV8!3D1XhvJwM$1p!{-B#gzHd(HTV#2z$fq-+yn|b R_Kf0wXRrwdY(W)P{{`69ot6Lq literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableContainer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableContainer.class new file mode 100644 index 0000000000000000000000000000000000000000..0368f27e570374cab5de35ae2381bdc308035527 GIT binary patch literal 773 zcmb7?O>Yx15QfJkWRoS35(pFulGRgMq}?M@6ZKLRsZs!mgi3I8yraa;uD!Co1%4S4 zNN_~rMd{8fV6ap*4fv*hrCI z2&+Q8O7`dIx7MGL9jLuy&>0+#*Hl9W?TMOe;VVmh&Tsr0y%_)Z{jLrfo>1TYs?3C6 zU%9&`d55mb14Lu+F-VCgrm_-Wsi0zSOS>7A+TRHFX*AZ%q~Nu3j@+1%b*{;PhK0rw zXl=o5Xi^+ebhOIG-=X!P7k`D$Ps;AVF0G*k=(%5K!Z7yW0mTpNxKHsTcwB$))$0>@ KM(+kyJpBvfH`~wv literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableElement.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableElement.class new file mode 100644 index 0000000000000000000000000000000000000000..b91dc2ca9843f58a4457388f92dcd0899eb74b92 GIT binary patch literal 670 zcmZ`%O>Yx15FMA0O_o5~(3G!>)l=HT?h#ZfE~rR|01^q6;O6y?5;tCZWqS+#Wk?{w zi3>jpG2TQisN&$U=4n3Oo0(s~zkUaR$M7hDEe21#lX)eS$E2F|Q1~(=LrwlsJZHWo= z84RzYPn@%^2e%mfd~Y0jtIx6I(pI(7A}DKk?JPB`{1H$4^Cj{Ur528Yh|WqZkna=M zjJRfNuGuBmeO_Ah+}OY?5#*8wO2^MN(fd1{glAEB7FlKgEtd9Y!6~!gQkYn>Kz_+L zST1OMseA83~x_O)^gVEGVp-+WV(cggS z0>dl3AYCPc-O0iAVhqMjU5bD&&3ZrY&^J1G8v5j8?3B)I<0QUNvB}=G9k$XFc<|36 z*F+f%UMufO_?-0lE(6*p-3^fK!A?TRF3U2;oCcGm)X1( z*`CmL)0Iv)wD+Xyh5>W9-H4hY*9H^`j3r2y`EC1EbB8;cK+$I&CooYzTxw_~{Pr?| zK}Wh$5isg&@c?IrQg#AneO+_Knl8uLaznIzrXz(!v;BpY`fKjDQqc3*spZv}VMX{t zuM$|Op4{?apFYKMZJWT;9Kfu-V%y@HY;gl72#g+{?}buQm0*$--@Wk_52d@yThx(W zAY7(}^l6|Zp3DoMQM0_&;k3mamnj6Hpk3DHbRN~VP;D#K!|JO&Pg|0Q)R&riOgkN_ z(VTw>Q0rgKF?3cOIxF_d`Yl?6^_s}i~_DO8h)r%zK})k=NvEE3T(;EtU>*x0w?0_rYXQcSK0QuAiyuW5G4rTyG{dezICSS#nD- zN5IWd2XjR@4~ResT}tANtpj~Zn@b6964=S%NS+MIfx*4ejifQ5t`+p7SJzOqxnDlB zdP@na1it5Rw#Rv%SylcMq}b9MGExqIDdHR)PHzoKe=^`c-USj#4X`kLz5NY%fcbmu zA7Q|wBNvS{B~alF5r%lL*up*&!VMrWfR~v8D8L{L;iv!xl#+KDOk5pK#uX^ycmyus zdO9--W4N+}mPLGcpRSt^|%L%V8g?o(2fgL literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/TrashCan.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/TrashCan.class new file mode 100644 index 0000000000000000000000000000000000000000..986f338f1bf79bd6df5b976aceb4364261d00164 GIT binary patch literal 9379 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 a(mpVO;onglm+R1gHQ0bnaKM8m1pfe0`0J(s literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEvent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..ba57330ea3f9885e925962000a355723ff060024 GIT binary patch literal 7303 zcmeHMTT>iG6g~|kdjSH0L~}Dv;tjm)YAz-QOk8#s7}*PE7ch9iVYb6gn4MW?W=Zf# z|A3D^`s$;PRpA_M@ANs{)7||2&#%7&zzy(Y z&`039@0sa_VL9ms#+H$$wN|=e1?hF$H8=hAL)Y8%n}$i#D?5MXx2O}uV1U3V?_nFx zM!LNIfSLh;zQ40z=&DZoXJv&gWPg>KL3U zl(P$>D{JbIKm) z){#=m6h&LS(^k<}MO#AB5*j8$&0!dWJ2KYh@}(uzIG-ua35ucc6$&WkOVv)K!vszX zg*&gLh)?Y47kV3s=od;JC2(;!>9Ss#(F=O@URxF$spX+5Fn9 zUeYV``P^EeoXP2>Io7>~W7T$2D3?T_R|zD-sv&Tt&~1H95s2~X)3Jn(7YeSkflUd@ z%C5TIq}ce-s%=oLwwqm(ukfD8H(*=NCT6fO!wS8C02_y0yCy73Mgtv<6*?7O2|SA{ z8EpB~t2B*=4#oJ%D(acG94oj@z?tY;&{Wqw+9BwZ%NRx0t= zys+eW)OYPITGLFo(X?zMuv|xLdhWVS8~!aVnW)yOR->kEcxZ$(ebd;W+GSh@Qn(DH z#4?Zy6M9*zxzyJjH_#eJVAiz&yVFNaocwZk%z28fDJiBZwJ(|QZZ(>&7iegunTErt z*QvInTgimgNJL*Pa5X~R}3SDfC)q;Ch-^FefH8%hy^?jo!DgoKjk`<>N>^65Z@=&2qNfO{y6jgo}tD`bUe6il9OS`-8*m^@vL;g|D(RZ!JVAt2RN{J9HU zb!-&AT&n3%S{Zt0q!6KkiE41Fb_y;POnT_8cT`EZ1GyoXhCChuCid=h+5U0_>xq_H zjdki(+5U)aiCxpMm)rZLcH=-$w|oLOy57t3vm|c3-J{$%ud>L#JwlIr$Chv2zk9Y4 z_%H-Vse#RuDIR+3=-u*gw~x|qI8{Z=-#jDVJn$hrFNZfc1g=d?c0E_8;!q`U>B&b* zJW=AI+VYq1jLauDf&Pg}JR^^wfQsAlOe)T=1a2KdLwI~24e9tOv#WwQ^6?6b!{-F* zPu9tgz6vY%!6tYGf?9a2;&uY#W%pj8K=w&SjOscC5r=gGo`S@%OKu6OecvCI8 zgQ@U3SX9`o#kLOP;R3{G3%?tRK?CphLYFac@luO1$KdN-7tEp{aIzIG-^YtMHrIT( z1h~H7MdW!n3&-F%q8Oq+h$Bu&IEi>r!b6CMC42($h=fNGpOo+z;&BO|LVQ}nFCczV z!eXDk*ChNp;x{Bbfp}8FZz6t6!fzvf zN5Ux>gEYL$$L>A2!k<_1JsZnwaGgKj$A1|xd=oz4&s#8s&ruxnY4{L-ZzH;f*%-iQ z@;A71Z!Gf*WdGo{v-r!hgSY=MhrdJo?W=s5e$DuGHmR_P>*2vD}td9 U9$*FZ!6tb4jN=Mng9FWf0s4_6IRF3v literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceListener.class new file mode 100644 index 0000000000000000000000000000000000000000..ccfd1f19aa65e48866ae7e7c75ca70e3f23a516b GIT binary patch literal 596 zcmb7>!A=4(5Qe9UEUYMq!nxsu9(Io!Bwh@jHgW(l9!qxuh255PyXf2a7$%zN-G?%E zR|FH|!9$zQpPA|R=YRireg%M2XgaV(;4IPHkC~AEj4hduVd}@i_~S_NdE(zIJx>;l zqksGT3PfU1qIRG_pq39sOiuj%c!t~%D0O)xq%ao*w%f-e0)ogvt9x{thpdKjBq7l;~t5;%k4cl9yG=0ufZM_lbw1fZVk#ER9cLyrf9Ir(7 zZ}V4RxzQp4n~TjKV9OfYfugM)Tb-;__XSFKb@vG>Z+TD6-dPXWbC4@p?sYiKm7`o~ Fd;-TYs`dZ? literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceWidget.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceWidget.class new file mode 100644 index 0000000000000000000000000000000000000000..bea7dd70be655bc2ccc3389bb099342e9547bfd3 GIT binary patch literal 1600 zcmd^9TTj$L6h6bPyJfkE;9VKlTh~kbril<9L`*QNCV~)sn{6j$pq*)^vw*+ML=%1Y zM;Xt|b}0c2(N`aKPtVME&iUrte*XIU9RQv|PK zdu4Q>^j=x8m`B^guWgZ}+;}iXVAh#rOs3Jh-Y$;~fyQ#22`S79fzhC|MPO`ICESB1 zfteb;rnS-ym?Wd{L26#AY@a7IR(T;ZW`vTo(5jd5ynIgm=H?Ek36C?T5rky+SjuS| znTE(T954-!n6_!6cuA!)G-oE>p$5(QVS)6Ho8z-X`|QxN3jgSA5MAVj(uO){--wLH zOxgfFPKWGI0T09SK*;nwC`LXL@}A3tYlca9VM}oah8jf~HJ=OaH~$axs>(7fqwSB= z1^D-Lyk5n|Q<6(_j@xxJsK`06zbb|g4VY@dG|Ui~SguBAA?Vh_vSBp#(UKjenXZuh zZ9ngEy=hy6z+6|wEZbsQSiL%IxtVyWRZ;MSzLCHBAqF9<*)IeR6_(rQvIv;C? z0;dKw&2zOsXhj@ymL#q#2{ebFC9(^;b%k7r=7vZmGkuLr+sAL0Pcd3?28~!rgHws# z#)I|s&L;v>xNYhR5tt4--CAEl3J7p)(5Qu%!z$s`;xYBCkOce<)z>k9C2TV1Pb@jN z8$5V`u=-&hbT9+MARauz+nSFDPcRWD(v7^{h_b{gZsN3-69jNO;tmFw#Oja31nM4Y z535uE8#F%7`Cp**15Za_7XK{<@OQzT*zG$97s1N;N-k9LQY9}}@=7JI!ZozN?(A=% i-A%aV>=%JLc^leC_jfSrU5C5}Axa;{;64P%@bPa9IoWCe literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ZoomSlider.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ZoomSlider.class new file mode 100644 index 0000000000000000000000000000000000000000..b0c20b0b43cb0c1e4942cb51292f726740b411cf GIT binary patch literal 2679 zcmd5;*>2N76upxsbz{<|3oT_gWlLFNwhBQJ52P)$GKkwrM4|b|nxz*zq{$o_puaUHtvm=dS?p5bjuzBXCzM-wi1j?i$^o zE^D;ikQ=uiNPk_sn^LXo7WJ9?UdnJW;0>lM$P*Zh(E$~!?(6y*^9{bzOmP~lFr~Q^ z%kwh?$O3`>niSelVOD6+W(9QZtxkRXL7-R1bOefCt;0Nx&wCyT-19QV_I5W)Bc@^!Tf+K1fhECbd@<1C~Xy`t#+iX?rn6!X-K9WA&nDK<2N0H=4`8lqV6|G zEvnHuRimh?hmv)?^ROkAabhUlG>%V2#9wF5Zt(vPuFj~?nIg=L+^XtLE>^RUW`v^N ziEIls%mFEwNYdCb(xHyoZZW&~M#&aaX1mtJnqeN-h6$z;IQJXv)I|#FnN(Po9^IDh zv?ykH$V610DU{h9XG1M`w9bMQhnYZgGF9dyAsZAM6jrHStjRzgE`Ar6N!l(vn;?IM z^k9C?Zlq^qTCm66RvKTY4*np@h9MX$!2p~hFk11t-Fnd|tp4e!o0mN<*sFF}XKE=r zdIH0q^l?hD+* zy8gq{Bv8Pq!|)TKrxIy!nZWa-HHe02+J@qEB497dw({8=kIuH-J(qY)VqVM(AHP51 zc57a6rl|6p+ZI#^SUVmpxPdg?MsC3^0wW10U_q6@*ug(`8##f}ORhDh-4eEY4VM6S zi{Cmua0Uv{iz^FPIq1X7h7-2M$5utoF$ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$EditorListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$EditorListener.class new file mode 100644 index 0000000000000000000000000000000000000000..4510dfaa01bc51144a2f7eb7b65db5237148df3e GIT binary patch literal 5864 zcmeHLZFAd15Z*IsZL7`;ftGhr(?VS+HgBa&%PIiTUU1(%ynddRj4yq9GhHKN~#*1V@u!e zL<+SGhZwj%IW0nNgpAx+$zF&9ebaU7-9EYj`XN^YqImcCV{}(Yj24N}IuxVzw-~KS zF;?6_qIM%`+yOU!-!;UA2QdXa$wlF|Qkh$+i!D3mL%+lzmdd!&9=ds0 zr?^vH()9lS=-FoR}53~rv+Nez;+ho(MFgCGS zB=^4));JqFT}8LPkap;{uVfgeRjg!R*(i2@h)Ri|jOrAYUd|^Di2t%6+eQ^%MJ5Ay zPDS^79Ni9hY_RNnyCeN%fRV90GS>*MEwMTE>X7(L_Q><&KSNtmU32gC43jOcPwx=Yp-kNd(exs5qcgZT!W zfdvNVo8Gv`a99bl9>k(2BD|LjdZ@bT{er==Cw(679^E&N2Iov)Xa>8p>3%%bb-Bf0 z-tSYt1%sV9;3jpV=^fjG5L7f!UxvL+BE)7{9IkZ>_CAJuP7qS-sO(kY zI;o$lM?q}~t?A%Q7lXDy?H+2gK}!TKFnEbNl0e&x(Jnhn&nmrrL8BG=c7BE0Ps`5F z(D~xX9|Y(LWXzYy+R+{0v~=TWLTMkVW)uM3|yi$t-xh?pS}S;ppQd7F}MO( bY5YriU!ZLG5UxQBK7r3DYi`h31+M%Bqn%P3 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$MenuListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$MenuListener.class new file mode 100644 index 0000000000000000000000000000000000000000..2134c67065ff11d903564457b0d9127f1b545d96 GIT binary patch literal 5763 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 QT>PFvZu00Wa4b;yFJT*zumAu6 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/BlockDropAnimator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/BlockDropAnimator.class new file mode 100644 index 0000000000000000000000000000000000000000..2a40cd97111c7f27dba45c0d94c9af5d610bbc04 GIT binary patch literal 6475 zcmeHM>u=jO5I^Q6+e!0qAA4_X_Hx?JTDJlP)?q-`rCkAM3)-wjKgtqQvzADKqMYO} z8?XV}_x(rvGVDk@irTo51SmkZ=7V1J@yC1cj(6w3{`u_>0Jsge9GD@nnJC|lJTBZ9 z-pF%Vkh&4qZaP_dP33Km42FROD+)A z>Dd<~n%6vHionI5S$p42_6&PFW)Oc}_?8Q!|21D!SXZitc85>gE-_P6NpjDx{{UW`966VzK=gb(_aR6LyUWyN1PXIpi^4Jc^~# z)XwwvH1$1U7V9&5DAuXcA*)48{!d8m`etABc%qqLYKqWQOX^W${8lsblLER|oTgT4 z>tO|m*5?Xn9!7D+mw`nOR1h}9&jMqSpVmafOeut57|U7{>qHEB)m+U|LRv z=gZ4wMS2()|B_rfQWY+^Dvrw2SC@Ss;qVT)Ddif428ZKigmidcY!Zl{;a zGLX3jd_){lq87|eE7ISazH=+df1aFRL#EapRWZ&~vQ{bCbYav8u{9(rpVDbD)R9bjobIQ2)rWGp_u>fdd`vi|29(2d)uV9uFM$ z79F^OeQ|4B2fCQPyrM}5zC=4^@yda(u>Wp*I{EH7fu${;B$#{cU`sNAt3Y5D|2CM1 zHeL(()&>U}_Su{~Td-)qm*4_EXK}_dtl)hWzi#38JU&~$!`id<#b4p_pZGNcZ{vLd zX#lTx@V;c!uk}1p+zvO%)%#l bpMg)|GkgMkjn^tl{5fpEb@&2Yq`3Jn#+Hs_ literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/FocusTraversalManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/FocusTraversalManager.class new file mode 100644 index 0000000000000000000000000000000000000000..841b1b933c223e3fbbcb8bbc69b0133bd5d1261c GIT binary patch literal 9939 zcmeI1&2Jk;6u{rOY5WnlY11!g`Pilf96oG53WWw0+B6|)oez?k)wCb1YrdO(1j>=)>F!ho9x+6BsO)9lM5t*^VXzhRT=QYT=W?7fsvrP7~N&i1d$LA}}!FRB0Oa zpbDW@lZ-hm10!Vkw~IETu46T6RWqD=!?bkIbZo7`oQg&3?kO#oU0$VHl^T}LPzdd? zh7;9B(MUx!QZX=6v7=fsYNS!E>QGm+9Z#$4p0TQV$f6q!v`LhO<}Y&d7rBZ>HFBVr zS#LPZ)5LrFx~HKj`Ct{QwWsyplk+{(Qksa0AR04{b?1o8I=)NGrt49gGKpC<&(U;^ z2XHQXfo>{Fb{3+dyjb@!qxVaOXO5VmM3(6))6|)%V=BmHJJakc8yIe;-mpx=^fcFR za4S2u>oMQ(9Hs@?urQ{XuIAfSx?1`rrmVbsHWpeUfoJi*FsfW z1p_IFsJLs`5?CpQe*5IJ^xu8PLr9gFOfxfL)8J)%JTmz;JR5369byKdN8u_Vm` zy%Ttll>2Yv-lHbpHu|rjLg@8zmrzBi%BigBe#t0U>K_y79alj#FZqoI*7xpZo!R(P z%#Eo?5{j#6a9f$9PYSDGLQN0b&!K$ z*q?_y93XI@P!5j+f|tknalvpIOY%9tUZHH6m;D4r%8sF1ms&pqTAc&ls_7EAQ108o z2_9k$*Qh5BK|~zRY9uA^nX|ayU>?n0Sg6i4ZE#XO(0h& zizk?AGVm|~U%{;^n^LlA@aPJ%3Rh!{kgpZgQ1EkaP45=O(L>p2rO?^udhcFYg@DGh z^g=6dgdTpJz+`U^^FwYWItH+i6IHwsv*Je(ZD&e9c!(N@5O4MNNU+wI zoyPpil84s<;`V`03ss9R>WWx_B|U5z9Q{GMs&HuOb1hqUY(Y+_qH z!82jhS$S+PSbnWFO18%I$`rrn5wx&i7U{7};C%e_!Zww~arB(EtXf9HV z>Y^Pyp0qKv_~Rk*cyhzUYZ?Nt*>6?$JJFdeUV`;|DYhj6G+ z$qcrZ@o*k>IJn-v{SwvjykYoEXudCU0VW;^tzIWE7q3+(6Dd^O7z~~h6wU5moR)~Wbfy&?<;Jj;2{1VL>a)pL-;>0zUSZ`xL5QY zh9eOImkS8@NeC4w;Q@G1O3);P52S?A1cd8S!ZA1=(IK?MLlPan?Lv4&N+?JOKXf5H z8X<5W29|tGLikfc05}FuL&# zi3Eh35(2=p@La?Wp(RgB?C`sk@B*BY5>9U?q>f7oFL%*FMwpfo&cIoz4w6}ZCS!fS9vI*Y54S^Oa-ya8`U2;q+N)^@^GQ ZJB(F|0TgOr!Wz`Ufp@_LA1j>ozX5;Q>`4Fs literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/KeyInputMap.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/KeyInputMap.class new file mode 100644 index 0000000000000000000000000000000000000000..978442f62af55f0ccf8b440652b9f5bdba284999 GIT binary patch literal 6148 zcmeHLZEqVz5T12j&OS^NQVJ!!Z9@u9DR*CxkZ=?f8dp@kv>)OI(W<}mXFM}IGk^Z|>+b;Y4Y(Fm2z;lN?}ki7 z?h7_xF7GC8D2&?)q~F)>OR4%gW#w!AGOVRi^CG`0>2EZ&h_Zow+gp6pcWGCRE{+8Occ8}98_XDO-2o2F^N1Se;l^nE^lUvCt ztmK@v(gy8Hu4yC<4Vm$K)F2oCIY#rGfK!VW>`Gt}xUhZB*hLsc4=p8e3Fonnai!M8vxe-N(32LnVU+$5ccE+2@p@d-p~e z>>B2x)__Oj+&_1d0aJouK+i>IzycFR;gmz-$KfSck{n7sEl)^oDT6+G`?z#mN-;yu zx+fG~Rq2KJswOiRS(kL!IW4Bm|CSLhC&bQUgGnnAOmo|X?Cm@=K6$$H+HlL$%QR8N z>1OCm7t{Yun%Fk1z`J#*!!-ie8n5;mX)m$jVQKOp2|HZ1(`tginkRi09G+AcCyR@w zCp3Xw?;o~R*xkI(qjaOaykkPQM$KbveXy@-Jl;C2!pEf2ouGxeoPe0KUXBH3ut35_ z8(U(ZYmF+WfkfbX!z-$$rZ==iGxf?FWO;J}uPoptsb$DrA~r9&MjHR=)Mw|p6iffd z)5>>FJ1@Gje*HX-@TLp??6~M+<-;^l{|`-U0``GSl+W*qw3=GQ1Th@sW}{FGZsJt9 zFop$R5U38bhy`0X&WW__&59j z?noek#E~C`7(3~9fo;1Ik%|O|eb}D)JoC+XJm0>5{0smO!E>NMU@2C<7cvofd#uMi z-t2mz&|V{uemnMFOVy4$%;%nd+u?RnM7v&HMD0}(HM!c-B5+`oz_e8l7_L5V>~UWc z7=J7xp`Q>KsZ_TKj4sP2cc4UI>OgiyDXEHZij1+XNby((J>I0g3_BuVTF8iYlxze% zj33c*X|u&?lluWvD1>IU*)FFGXtRqpyM3G8#AY{b^8#&39@9u_8Zzy-s75UQrh}HI zv5*bdu;CgL-F(P>yF}QLN>fy!K8wsg4Nmtx`nyD)g`Gh7Lese0;R@M~Vy(KqmWuXc zSE*7F(=G;hM?^@^4zA!o>jpY4?b5Ywtj!8aQ5G3K`@kv4a%surl1Z5iVyKpsQ4^?g z>BWAs9V2J)h9$EsqX=^V9sE6NY2)%bk;pB#xZgJHW+a0ZI=P*5#NwZGW2l^D1U;Qg zbs6m*BVzeKRHnz2U|1CgXDeqWm7xfe6EFs+3CvaM2Ss>8E3E1@Q>3Sm2fp478(eLg z9SF?SrO$%x!H$E;QQZTY(={)BiQKWJZ>WbYXZGj5hEB+hA#p-rLPR|lh^F;}K)EtF zLDg49xI|#(=mTTgEUS6+Ss_rW)J+|$8Q7}?!lPkr`!>9~hyCWj%Ov^)W(S@oQ`WY5 z0_#WHmbjcK9_M>`Lw1$VSA{8%vnFx}-LUN(9k@kc%<|~KZ33t5Z-VbY6$!L+M%jV8 z*d7~p9Jr4QN%6yAu8BCt;=G9+QVjEe%``UefJGefVI1EMjvnAF!EgB!6kpDiKfuHn z92H;+-$n-Tna1}-Ukc8^j2+FwS)4HlcM!oK_YvkY5aujG0cDDC9xkNx4tBnnq4(}5 ry~~+;S2Fb8r}VDD^-MjQq4zb>E5HI;TYwwj;@4b!H(?Pf= literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager$Direction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager$Direction.class new file mode 100644 index 0000000000000000000000000000000000000000..410ee3dc86d7c524c17326aecb61150fc880c001 GIT binary patch literal 5379 zcmeHL;cpu?6o1azra8*G6*?GfV7h(iBy_s?7#l`?GFI>1|FB8M4)AKSdE#G z)fa5Qs=S+2V_~bENQK9ydZP5P>9dem?Xb_&mqH#@+t~QgA-0)hM_fPN6q<)tC|QO% z0(VkX5kus&&I|lNptQe3V5d3T!JZPB+kAG=LeUKBZ36SVji0tqE(CkEA9ezK5wzOD zF249qNMXMxaBsbNVcee8IGd-9C(ltsO?7!0?hshM00deqy$CDh?%(@TbEBdG@6u4k zeGxG?UE0^G6Y`5z`1l(vFcDx`vGU$f%z&>Yp>}k21POyNVksm8CJW zVUJqW#ZUXl-KZ|4&v$F(I}`n4nlrmZ+*jJtv>!XMG-T2Z*5UMQTCa^e_00*=SVZNG zLXoaXHok+5cZVD2<=`w1jaflz6=l@zCa=)DR~ zk_u^`P+@2yyZlf{++&9b!Dp64xH&Gm`E)xm)_p+~WzucRY=jYzS4o3mjmZHs6D-Uu z_#c9Pu4@+a35H+6f0hZ>FVmjWdq!$B#FZJSW5=|@5O`??y-HCpD83rA*I0b);>eq{ zvgp`NH8ur|Zq9VVuXLaR(}H0x^(r$|Rn+=f|mW$>tVIYg8`TJtlz6joa;4aH<4DvJU9(`Kdlg7Hlz5S$dX#oMRoP(HBXLXzSM4) zUhP2B*?m601JOkn8RJExj7>@K?o=jEhfYbTDJii`$MWIom3|G?6Evp7xA5390e8;t z8^&D`6pEUj;`XhGgcW!`dYR!j5nqb(_in!V2|2Ha3%F)cKbXN1Tz_;dYUJBvNl}a6 zc3hjE+Jr@Q=Hl=$b*eG3;!+lwCM|fd3?DAR608zf9dm)??vIw6ctC6=afj=+OOOOs znkr<`^SrFhU(VT{Fa*3kmFSSyg#)g(|8t#|Uhm-hhIEHafu)tSTLKfW4tqlaOAX98 zx)w2GxGBSD1U6@JuSTFUa*g)|f!iY&VR(4Pfw!~b%h`*QSZr})x0JCPUjczzc&WIs zaUbSk0RUw=my5Zq!%G=ob8nrk*-tVyd%gWtf;e$W1Rf2o?zknEr v{|Nt=(q|7oPIb(~{S@^He2Nm_0scHh5O@fmZ#;lCY|mkf!Xtbt!NY$6?b|Ta literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager.class new file mode 100644 index 0000000000000000000000000000000000000000..772cbe33d841d489e67e27a3b87789c606ec26c8 GIT binary patch literal 11888 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 A6aWAK literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/closed_hand.png b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/closed_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..cd9eec722bbc6e3e7e82a11eb64772262a1747f9 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngd!3HEhbh*6;QY`6?zK#qG*KS<#k1zuAB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%rFgnHhE&|z670yupumxR>Hq$m zN`YyOQzj~`d~k=&F*Mq=MVcXN=2e-w;&WZYZd+I9Ot+2jnv%M=nS=K^&&p#QDn7rj zZICOSdiUSHoP9cZ^Jh$rvtxX)TKa7?n}6HGr^!5wYz*rg9pp2XSmy%mWAJqKb6Mw< G&;$T=Hb~Y0 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/codeblocks.xsd b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/codeblocks.xsd new file mode 100644 index 0000000..84f42df --- /dev/null +++ b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/codeblocks.xsd @@ -0,0 +1,189 @@ + + + + + + Root element + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Restricted to format: "r g b" where r, g and + b are between 0 and 255 + + + + + + + + + + + + + + + + + + + Whether pages should display a control to + collapse them or not. + + + + + + + diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/open_hand.png b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/open_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..58bc7247cdd48a05d3b1736a0a8640caebd21f3d GIT binary patch literal 238 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/open_hand.gif b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/open_hand.gif new file mode 100644 index 0000000000000000000000000000000000000000..4d123a6df8306813add79ac016cde707f94a4b8b GIT binary patch literal 99 zcmZ?wbhEHb6krfwn8?Hc1pmPR$WZ*r!pOkD#GnHb1<5lonM~1VII&ZpDT>FdJ3FLW uy`^+|Nz0@kHW#~+#7-9}y-_vsz4?9C{_?yJ2OAE?FSf9GmDJ9}U=0Az3?l;o literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/plus.gif b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..72412c45dbd7b9914c68f562ecfffd67c6161fad GIT binary patch literal 6165 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 literal 0 HcmV?d00001 diff --git a/openblocks-master/openblocks-master/bin/src/site/apt/index.apt b/openblocks-master/openblocks-master/bin/src/site/apt/index.apt new file mode 100644 index 0000000..29c922c --- /dev/null +++ b/openblocks-master/openblocks-master/bin/src/site/apt/index.apt @@ -0,0 +1,5 @@ +OpenBlocks refactoring branch + + This is a fork of MIT OpenBlocks (covered by the MIT license) for refactoring purposes. + + The principal objective of the fork is to make the code more amenable to inclusion to other projects. diff --git a/openblocks-master/openblocks-master/bin/src/site/apt/language.apt b/openblocks-master/openblocks-master/bin/src/site/apt/language.apt new file mode 100644 index 0000000..57a23ae --- /dev/null +++ b/openblocks-master/openblocks-master/bin/src/site/apt/language.apt @@ -0,0 +1,252 @@ + ------ + Language Definition File XML Specification + ------ + ------ + ------ + +Language Definition File XML Specification + + The language definition file (lang_def.xml) describes two parts: + + * block language + + * Workspace, which is the programming environment for the specified block language. + (Note: The lang_def.dtd files specifies rules, elements, attributes within lang_def.xml.) + +* 2 Specifying the Block Language + +** 2.1 Block Genus + + A block genus describes the properties that define a common set of blocks. For example, + fd is a block genus that describes all forward blocks in Starlogo. For each block in your + block language, you must specify a BlockGenus. + ++------------ + + + Agents moves steps forward. + Number of steps to move. + + + + + + + ++------------- + +[images/block.png] The forward block + + <

>: The forward block and its block genus fd specification. + +*--+--+ +||Block Genus Attributes||Description| +*--+--+ +|name|Unique name for genus| +*--+--+ +|kind|Block genus class. Currently, codeblocks uses three kinds: command, data, variable| +*--+--+ +|initlabel|The initial label for a block in this genus.| +*--+--+ +|color|The RGB color for a block in this genus.| +*--+--+ +|editable-label|If “yes”, block label is user-editable. Unless specified in block genus, editable-label = “no” by default (i.e. genus fd is not editable.)| +*--+--+ +|label-unique|If “yes”, every block instance of this genus must have a unique block label. Set to “no” by default.| +*--+--+ +|is-label-value|If “yes,” its block label determines the block value. This attribute is applicable to data blocks (i.e. number, string, true, false). Set to “no” by default.| +*--+--+ +|label-prefix|A string to always precede its block label| +*--+--+ +|label-suffix|A string to always succeed its block label +*--+--+ +|sockets-expandable|If “yes,” sockets expand whenever a block is connected to them. Set to “no” by default. +*--+--+ +|is-starter|If “yes,” this block genus begins block stacks of code. Set to “no” by default. +*--+--+ +|is-terminator|If “yes,” this block genus ends block stacks of end. Set to “no” by default. +*--+--+ + +*** 2.1.1 Description + + The description element specifies the formatting and text of a user-friendly description of + the blocks within this genus. + (Note: this is not completely specified yet.) + +*** 2.1.2 BlockConnectors + + The BlockConnectors specifies the properties of all the connecting points of a block + genus. There are four kinds of connectors, differing in their meaning and location: + + [ Plug] Returns a value. Resides on the left side of a block. + + [ Socket] Reads in a value or branches the flow of execution. Resides on the right side + of a block. + + [ Before] Connects to previous command. Resides on the top side of a block. + + [ After] Connects to the next command. Resides on the bottom side of a block. + + Each connector has a type that determines its shape and the data (number, string, boolean, + polymorphic) or command type that it reads/returns/connects to. Before and After + connectors are always of type command. A Socket may be of any type. Similarly, a Plug + returns any type except command. + +[images/plug-socket.png] The if genus and its block has two sockets: one Boolean labeled “test” and a command labeled “then.” The true genus and its block has a boolean plug mirrored on both sides. + + <
>: The if genus and its block has two sockets: one Boolean labeled “test” and a command + labeled “then.” The true genus and its block has a boolean plug mirrored on both sides. + + Sockets and Plugs are specified in the xml file. Before and After connectors are + dynamically generated, depending if the genus kind is command or if the genus is a + starter or terminator. + +*--+--+ +|| BlockConnector Attributes || Description +*--+--+ +| label | Label that resides by the connector on the block. For example, steps is a label of forward’s socket. +*--+--+ +| label-editable | If “yes,” connector label is user-editable. Set to “no” by default. +*--+--+ +| connector-kind | Determines if connector is a “plug” or a “socket.” Before and After connectors are dynamically generated depending on genus kind, starter, or terminator properties. +*--+--+ +| connector-type | Data (number, string, boolean, polymorphic) or command type. +*--+--+ +| position type | Determines the position of this connector. single: either left or right depending on kind mirror: plug is mirrored on the right side of block bottom: sockets are placed in the bottom of the block +*--+--+ + + Some blocks have default arguments or blocks that are connected to its connectors when + the block is dragged onto the block canvas. For example, the forward block has a default + argument, the number block with its value set to 1. Default arguments can be convenient, + especially if the default argument is a common choice to connect to a block. + +*--+--+ +|| Default Argument Attribues || Description +*--+--+ +| genus-name | the block genus name of the default argument +*--+--+ +| label | the label (if genus is editable) of the argument +*--+--+ + +*** 2.1.3 BlockStubs (Advanced) + + Some block genuses may have dynamically generated blocks when its block instance is + dragged onto the block canvas. These dynamically generated blocks are called Stubs, + and they reference the parent block they were created from. Examples of stubs are + getters and setters for variables. The block genus agent-var-boolean specified below has + two stubs: a getter and a setter. + +[images/getter-setter.png] The genus agent-var-boolean has two stubs, a getter and a setter. + ++-------------- + + ... + + + + + + + + + + ++--------------- + + <
>: The genus agent-var-boolean has two stubs, a getter and a setter. + + Currently there are five stubs available, each with its own genus: + + [getter] a data block returns the value of its parent block. + + [ setter] a command block that sets the value of its parent block + + [ inc] a command block that increments the value of its parent block by a fixed value. + + [ caller] a command block that executes the commands enclosed by its parent. This + stub is used by procedure blocks to create their call blocks. + + [ agent] a data block that returns the value its parent block for a particular agent + +*** 2.1.4 LangSpecProperties + + The Codeblocks library is language independent and not all properties specified in the + language definition file can cover all the properties needed by a block language. Each + LangSpecProperty has a key-value pairing that when loaded is saved within the + properties HashMap in the BlockGenus class. + +** 2.2 BlockFamilies + + Block families provide additional convenience for the user by grouping block genuses + that have similar functionality into families. When blocks are rendered in the workspace, + blocks with families have an additional drop down box included in its graphical block. + Family members are included in this drop down box. + +[images/forward-back.png] The forward and back block genuses are in the same family. The graphical block shows its family members in its drop down. + ++-------------- + + + fd + bk + ++------------- + + <
>: The forward and back block genuses are in the same family. The graphical block shows its family members in its drop down. + +* 3 Specifying the Workspace + +** 3.1 BlockDrawerBars and BlockDrawer + + BlockDrawerBars manage BlockDrawers, which are block containers. BlockDrawerBars + contain a series of buttons, each button toggling the visibility of one block drawer. + There are four types of block drawers, each differing in behavior and functionality. + + [ Default] contains one instance of each block contained. Blocks may be dragged and + dropped within the drawer and to and from the block canvas or other block drawers. + + [ Factory] contains blocks that can produce an infinite amount of block instances. + When a block is picked from a factory drawer, a new instance is created. When a + block is dragged back to a factory drawer, the block is deleted. The blocks contained + within this drawer never move, but only produce new blocks. + + [ Page] contains blocks for a particular page + + [ Custom] Similar to the default block drawer, except that this drawer may be saved + with the project for future use. + + [] + +*--+--+ +|| BlockDrawer Attributes/Elements || Description +*--+--+ +| name | the name of this drawer. The name is displayed in the button corresponding to this drawer +*--+--+ +| type | drawer type: default, factory, page, custom. Set to “default” by default. +*--+--+ +| is-open | If “yes,” drawer is displayed at workspace startup. Set to “no” by default. +*--+--+ +| button-color | The color of the corresponding button +*--+--+ +| BlockGenusMember | the genus name a block within this drawer +*--+--+ +| Separator | Formatting property. If specified between BlockGenusMember elements, a line is drawn between the genus members in the graphical drawer. +*--+--+ +| NextLine | Formatting property. If specified between BlockGenusMember elements, the genus member after the NextLine element is drawn in the succeeding row in the drawer. +*--+--+ + + + +** 3.2 Pages + + Pages divide up and organize the block workspace. Pages may have associated block + drawers that contain blocks that are “special” to that page. + +*--+--+ +|| Page Attributes || Description +*--+--+ +| page-name | name of this page. Name is drawn on the page. +*--+--+ +| drawer-name | drawer associated with this page +*--+--+ diff --git a/openblocks-master/openblocks-master/bin/src/site/resources/images/block.png b/openblocks-master/openblocks-master/bin/src/site/resources/images/block.png new file mode 100644 index 0000000000000000000000000000000000000000..e1b92846e5d21840cb0ba12de63106c3f68e839c GIT binary patch literal 6852 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 + + + openblocks + https://github.com/mikaelhg/openblocks + + + + + + + + + + + + + \ No newline at end of file diff --git a/openblocks-master/openblocks-master/bin/support/ardublock_def.xml b/openblocks-master/openblocks-master/bin/support/ardublock_def.xml new file mode 100644 index 0000000..52f499a --- /dev/null +++ b/openblocks-master/openblocks-master/bin/support/ardublock_def.xml @@ -0,0 +1,881 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports the boolean true. + + + + + + + + + + + Reports the boolean false. + + + + + + + + + + + + + + + + this is the loop of the arduino + + + + + + + + + + Digital Var + + + + + + + + + + + Digital Var + + + + + + + + + + Read digital value from pin + + + + + + + + + + + + Read analog value from pin + + + + + + + + + + + + write digital to pin + + + + + + + + + + + + + + write digital to pin + + + + + + + + + + write digital to pin + + + + + + + + + + write analog to pin + + + + + + + + + + + + + + set a pin to pwm + + + + + + + + + + + + + + + If + + is true, the agent will run the blocks attached to + + + + The condition being + tested. + + + + The set of instructions + that is done when the condition is true. + + + + + + + + + + + + Does the first set of commands if the condition specified is + true, otherwise it will do the second set of commands. + + + The condition being + tested. + + + + The set of instructions + that is done when the condition is true. + + + + The set of instructions + that is done when the condition is false. + + + + + + + + + + + + + While Block + + + + + + + + + + + + Reports true if both of the two conditions are true. + + + + + + + + + + + + + Reports true if one or both of the two conditions are true. + + + The first condition that + must be true. + + + The second condition + that must be true. + + + + + + + + + + + + + Reports the opposite of + + . + + + The boolean (true or + false) that should be inverted. + + + + + + + + + + + + + + + Reports the sum of two numbers ( + + + + + ). + + + + + + + + + + + + + + + + + Reports the difference of two numbers ( + + - + + ). + + + + + + + + + + + + + + + + + Reports the product of two numbers ( + + x + + ). + + + + + + + + + + + + + + + + + Reports the quotient of two numbers ( + + ÷ + + ). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + program delay in x milliseconds + + + + + + + + + + + program delay in x milliseconds + + + + + + + + + + + generate a random number less than the number + + + + + + + + + + + + generate a random number less than the number + + + + + + + + + + TinkerKit LED + + + + + + + + + + + + edu/mit/blocks/codeblocks/brick.jpg + + + + + + + TinkerKit Mosfet + + + + + + + + + + + + /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Mosfet.jpg + + + + + + + TinkerKit Relay + + + + + + + + + + + + /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Relay.jpg + + + + + + + TinkerKit Servo + + + + + + + + + + + + /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Servo.png + + + + + + + TinkerKit Button + + + + + + + + + + /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Button.jpg + + + + + + + TinkerKit Accelerometer + + + + + + + + + + /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Button.jpg + + + + + + + + + digital-high + digital-low + + + and + or + + + true + false + + + addition + subtraction + multiplication + division + modulo + + + min + max + + + sin + cos + tan + + + + + + + loop + digital-var + number-var + set-digital-var + set-number-var + + + + + loop + ifelse + if + while + + + + pin-read-digital + pin-read-analog + pin-write-digital + pin-write-analog + servo + + + + number + digital-high + digital-low + true + false + + + + and + or + not + + addition + subtraction + multiplication + division + modulo + min + max + abs + pow + sqrt + sin + cos + tan + + + delay + random + delayMicroseconds + millis + + + + Tinker_LED + + + + + + + + + + + + + /support/images/trash_open.png + /support/images/trash.png + + + diff --git a/openblocks-master/openblocks-master/bin/support/lang_def.dtd b/openblocks-master/openblocks-master/bin/support/lang_def.dtd new file mode 100644 index 0000000..10541da --- /dev/null +++ b/openblocks-master/openblocks-master/bin/support/lang_def.dtd @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openblocks-master/openblocks-master/bin/support/lang_def.xml b/openblocks-master/openblocks-master/bin/support/lang_def.xml new file mode 100644 index 0000000..33563af --- /dev/null +++ b/openblocks-master/openblocks-master/bin/support/lang_def.xml @@ -0,0 +1,3631 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports the value of the variable. + + + + + + + + + + + + + + Sets the value of the variable. + + + + + + + + + + + Calls the procedure of the specified name. + + + + + + + + Increments the value of the variable number. + + + + + + + + + + + Gets the value of the variable of the agent ID. + + + + + + + + + + + + + + + + + Reports the number shown. + + + + + + + + + + + + + + + Reports the text shown. + + + + + + + + + + + + + + + Reports the boolean true. + + + + + + + + + + + + + + + Reports the boolean false. + + + + + + + + + + + + + + + + + Selects a random color. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Agents moves + + steps forward. + + + Number of steps to move. + + + + + + + + + + + + + + + + + Agents moves + + steps backward. + + + Number of steps to move. + + + + + + + + + + + + + + + + + Makes agents turn + + degrees to the left. + + + Number of degrees to + turn. + + + + + + + + + + + + + + + + + Makes agents turn + + degrees to the right. + + + Number of degrees to + turn. + + + + + + + + + + + + + + + + + Heights of agents increase by + + steps. + + + Number of steps to move + up. + + + + + + + + + + + + + + + + + Heights of agents decrease by + + steps. + + + Number of steps to move + down. + + + + + + + + + + + + + + + + Sets the x and y coordinates (a.k.a. position) of an agent + + + + + + + + + + + + + + + + + + + + + + If + + is true, the agent will run the blocks attached to + + + + The condition being + tested. + + + + The set of instructions + that is done when the condition is true. + + + + + + + + + + + + + + + Does the first set of commands if the condition specified is + true, otherwise it will do the second set of commands. + + + The condition being + tested. + + + + The set of instructions + that is done when the condition is true. + + + + The set of instructions + that is done when the condition is false. + + + + + + + + + + + + + + + + Repeats some commands + + times. + + + The number of times to + repeat the command. + + + + The commands to do. + + + + + + + + + + + + + + + + Reports true if one or both of the two conditions are true. + + + The first condition that + must be true. + + + The second condition + that must be true. + + + + + + + + + + + + + + + + + Reports true if both of the two conditions are true. + + + The first condition that + must be true. + + + The second condition + that must be true. + + + + + + + + + + + + + + + + + Reports the opposite of + + . + + + The boolean (true or + false) that should be inverted. + + + + + + + + + + + + + + + + + Counts all agents that satisfy a certain condition. + + + The condition an agent + must satisfy to be counted + + + + + + + + + + + + + + + + + + + Reports the number of agents that are currently alive. + + + + + + + + + + + + + + + + + + Causes this agent to "say" the supplied text by popping up a + speech bubble in SpaceLand. + + + + + + + + + + + + + + + Displays the text attached to this block in the bottom panel + of Spaceland. + + + + + + + + + + + + + + Causes agent to play a sound with the following + + . Select a sound from the Sounds drawer and attach to this block. + + + The text name of the + sound to play. + + + + + + + + + + + + + + Returns a text representation of the given block(s) connected + to this. + + + + + + + + + + + + + + + + Appends + + to the end of + + . + + + The text to which to + append. + + + The text to append to. + + + + + + + + + + + + + + + + + + + + Reports the value of PI (approximately 3.14). + + + + + + + + + + + + + + + Reports the mathematical number + e + , which is about 2.718. + + + + + + + + + + + + + + + Reports the sum of two numbers ( + + + + + ). + + + + + + + + + + + + + + + + + + + + + Reports the difference of two numbers ( + + - + + ). + + + + + + + + + + + + + + + + + + + + + Reports the product of two numbers ( + + x + + ). + + + + + + + + + + + + + + + + + + + + + Reports the quotient of two numbers ( + + ÷ + + ). + + + + + + + + + + + + + + + + + + + + + Determines if two quantities are equal ( + + = + + ). + + + + + + + + + + + + + + + + + + + + + Determines if two quantities are different ( + + != + + ). + + + The first thing to compare. + + + The second thing to compare. + + + + + + + + + + + + + + + + + Reports whether the + + is less than the + + . + + + The first thing to compare. + + + The second thing to compare. + + + + + + + + + + + + + + + + + Reports whether the + + is less than or equal to the + + . + + + The first thing to compare. + + + The second thing to compare. + + + + + + + + + + + + + + + + + Reports whether the + + is greater than the + + . + + + The first thing to compare. + + + The second thing to compare. + + + + + + + + + + + + + + + + + Reports whether the + + is greater than or equal to the + + . + + + The first thing to compare. + + + The second thing to compare. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports a random integer greater than or equal to 1 and less than + or equal to + + . + + + The upper integer in the + range. + + + + + + + + + + + + + + + + + + Rounds + + to the nearest integer. + + + The number to round. + + + + + + + + + + + + + + + + Reports the whole number part of the number. + + + + + + + + + + + + + + + + Reports the integer remainder of + + divided by + + . + + + The number to divide. + + + + The number by which to + divide. + + + + + + + + + + + + + + + + + Reports the smaller value of the two numbers. + + + The first number to + compare. + + + The second number to + compare. + + + + + + + + + + + + + + + + + Reports the greatest value of the two numbers. + + + The first number to + compare. + + + The second number to + compare. + + + + + + + + + + + + + + + + + Reports the power of one number raised to another ( + + ^ + + ). + + + + + + + + + + + + + + + + + + + + + Reports the absolute value of a number. + + + A number from which to + get the absolute value. + + + + + + + + + + + + + + + + Reports the square root of + + . + + + The number whose square + root to take. + + + + + + + + + + + + + + + + A Trigonmetric function that reports the sine of the specified + angle. + + + The angle in degrees for + which the sine will be reported. + + + + + + + + + + + + + + + + A Trigonmetric function that reports the cosine of the + specified angle. + + + The angle in degrees for + which the cosine will be reported. + + + + + + + + + + + + + + + + A Trigonmetric function that reports the tangent of the + specified angle. + + + The angle in degrees for + which the tangent will be reported. + + + + + + + + + + + + + + + + Trigonometric function that reports the arcsine of the + specified number. All angles are reported in degrees. + + + A number from which to + get the arcsine. + + + + + + + + + + + + + + + + Trigonometric function that reports the arccosine of the + specified number. All angles are reported in degrees. + + + A number from which to + get the arccosine. + + + + + + + + + + + + + + + + Reports the logarithm base 10 of + + . + + The return value + x + will be the number for which 10 to the power of + x + is equal to + + . + + + + The number of which to + take the natural logarithm + + + + + + + + + + + + + + + + Reports the natural logarithm of + + . + + The return value + x + will be the number for which the mathematical constant e, which is + about 2.718, to the power of + x + is equal to + + . + + + + The number of which to + take the natural logarithm + + + + + + + + + + + + + + + + + Reports the color of the patch where the agent is standing. + + + + + + + + + + + + + + + Changes the color of the patch on which this agent is to + + . + + + The color to which to + change the patch. + + + + + + + + + + + + + + + + Reports the height of the patch where the agent is standing. + + + + + + + + + + + + + Decreases the height of the patch where the agent is standing, + smoothly connecting the edges to surrounding patches. + + How much the patch + height is decreased. + + + + + + + + + + + + + + + + Increases the height of the patch where the agent is standing, + smoothly connecting the edges to surrounding patches. + + How much the patch + height is increased. + + + + + + + + + + + + + + + + + + Sets the color of the agent to the given color. + + + + + + + + + + + + + + + Reports the color of this agent. + + + + + + + + + + + + + Sets the heading of this agent to the specified value in + degrees. + + + + + + + + + + + + + + + Reports the angle, in degrees, where the agent is heading. + + + + + + + + + + + + + + Reports the x coordinate of this agent. + + + + + + + + + + + + + Reports the y coordinate of this agent. + + + + + + + + + + + + + Reports the size, or scale, of this agent. + + + + + + + + + + + + + Sets the size of this agent's shape. + + + + + + + + + + + + + + + + Reports the ID number, or "ID" of this agent. + + + + + + + + + + + + + Pulls the agent's pen up so the agent will not stamp every + patch where it moves. + + + + + + + + + + Pulls the agent's pen down so the agent will stamp every patch + where it moves. + + + + + + + + + + Reports true if this agent's pen is down, and false otherwise. + + + + + + + + + + + + + + Reports the shape of this agent. + + + + + + + + + + + + + Reports the breed of this agent. + + + + + + + + + + + + + + Causes this agent to change its shape to the supplied shape. + + + The shape + + + + + + + + + + + + + + + Causes this agent to change its breed to the supplied breed. + + + The name of the new + breed. + + + + + + + + + + + + + + + + + Reports whether the up arrow key is being pressed. + Arrow keys have a drop down menu that allow you to select + other arrow keys. + + + + + + + + + + + + + + + Reports whether the down arrow key is being pressed. + Arrow keys have a drop down menu that allow you to select + other arrow keys. + + + + + + + + + + + + + + + Reports whether the left arrow key is being pressed. + Arrow keys have a drop down menu that allow you to select + other arrow keys. + + + + + + + + + + + + + + + Reports whether the right arrow key is being pressed. + Arrow keys have a drop down menu that allow you to select + other arrow keys. + + + + + + + + + + + + + + + Reports whether the space bar is being pressed. + + + + + + + + + + + + + + + Reports the current position along the x-axis of the joystick. + Reports -1 at the extreme left position and +1 at the extreme + right. + + + + + + + + + + + + + + + Reports the current position along the y-axis of the joystick. + Reports -10 at the extreme left position and +10 at the extreme + right. + + + + + + + + + + + + + + + Reports the current radius of the position of the joystick. + Reports 0 when the joystick is in the center and 1 when it is full + deflected in any direction. + + + + + + + + + + + + + + + Reports the current angle in degrees that the joystick is at, + with 0 at the top and 180 at the bottom. + + + + + + + + + + + + + + + Reports the angle in degrees of the direction pad on a + gamepad. + + + + + + + + + + + + + + + Reports + true + if the first joystick button is down and + false + if it is not. + + + + + + + + + + + + + + + Reports + true + if the second joystick button is down and + false + if it is not. + + + + + + + + + + + + + + + Reports + true + if the third joystick button is down and + false + if it is not. + + + + + + + + + + + + + + + Reports + true + if the fourth joystick button is down and + false + if it is not. + + + + + + + + + + + + + + + If + + is the ID number of a live agent, that agent will run the blocks + attached to + + + + The ID of the agent + being asked to run something. + + + + The set of instructions + that is run when by the asked agent. + + + + + + + + + + + + + + + Reports the ID number of the agent that is currently being + followed by the camera. + + + + + + + + + + + + + + + Reports whether over-the-soulder view is on. + + + + + + + + + + + + + + + Turns the over-the-shoulder view on. + + + + + + + + + + + + + Reports whether agent-eye view is on. + + + + + + + + + + + + + + + Turns the agent-eye view on. + + + + + + + + + + + + + Returns + true + if the aerial camera view is on and + false + if it is off. + + + + + + + + + + + + + + + Turns the agent-eye view on. + + + + + + + + + + + + + Returns + true + if the overhead camera view is on and + false + if it is off. + + + + + + + + + + + + + + + Turns + overhead + camera mode on. This is a 2D aerial view of the entire spaceland + with map view turned on. + + + + + + + + + + + + + Turns + overhead + camera mode off and goes back to the previous camera view. + + + + + + + + + + + + + + + + Defines a section of blocks as a procedure that can be called + from other sections of blocks. + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds a number parameter to a procedure. + + + + + + + + + + + + + + + + + + + + + + + + Adds a boolean parameter to a procedure. + + + + + + + + + + + + + + + + + + + + + + + + Adds a text parameter to a procedure. + + + + + + + + + + + + + + + + + + + + + + + + Adds a list parameter to a procedure. + + + + + + + + + + + + + + + + + + + + + + + + + + + When switched on, agents do commands over and over. + There are different commands for each breed. + + + The breed of the agents + performing the commands attached here. + + + + + + + + support/forever_switch_on.png + + + + + + + + + + + + + + When switched on, agents do commands over and over. + There are different commands for each breed. + + + + + + + + + + + + When switched on, agents do commands once. + There are different commands for each breed. + + + The breed of the agents + performing the commands attached here. + + + + + + + + support/forever_switch_on.png + + + + + + + + + + + + + + When switched on, agents do commands once. + There are different commands for each breed. + + + + + + + + + + + + When switched on, agents do commands over and over for + + seconds. + There are different commands for each breed. + + + + The number of seconds + for which the commands are run when switched on. + + + + The breed of the agents + performing the commands attached here. + + + + + + + + + + support/forever_switch_on.png + + + + + + + + + + + + + + When switched on, agents do commands over and over for a number of + seconds. + There are different commands for each breed. + + + + + + + + + + + + This block serves as a wrapper around blocks that set up a + model. + + + + + + + + + + + + + + + + This block serves as a wrapper around blocks that set up a + model. + + + + + + + + + + + A block used to define a monitor. Mointors appear in the + runtime space where they dynamically report a value. + + + + + + + + + + + + + + + + A block used to define a monitor. Mointors appear in the + runtime space where they dynamically report a value. + + + + + + + + + + + A block used to define a slider. Sliders appear in the runtime + space where you can dynamically change the value of its attached + shared number variable. + + + + + + + + + + + + + + + + Use the slider to change the value of this slider's attached + shared number variable. + + + + + + + + + + + Defines a table that appears in the runtime space. Each input + to its sockets describes a series in the graph. Values are graphed + against time. + + + Data values to be + graphed. + + + + + + + + + + + + + + + + Use the table to moniter the value of this graph's attached + shared variable. + + + + + + + + + + + + Defines a line graph that appears in the runtime space. Each + input to its sockets describes a series in the graph. Values are + graphed against time. + + + Data values to be + graphed. + + + + + + + + + + + + + + + + Use the line graph to moniter the value of this graph's + attached shared variable. + + + + + + + + + + + + Defines a bar graph that appears in the runtime space. Each + input to its sockets describes a series in the graph. Values in the + graph may change dynamically over time. + + + Data values to be + graphed. + + + + + + + + + + + + + + + + Use the bar graph to moniter the value of this graph's + attached shared variable. + + + + + + + + + + + + Resets the terrain to flat and green, and kills all of the + agents in SpaceLand. + + + + + + + + + + + + + Kills all of the agents in SpaceLand. + + + + + + + + + + + + + Flattens the terrain in Spaceland and repaints it green. + + + + + + + + + + + + + Scatters all agents randomly around the terrain. + + + + + + + + + + + + + + Sets the score to be the given value. + + + The new value for the + score. + + + + + + + + + + + + + + + + Reports the current score. + + + + + + + + + + + + + + + + + + Creates + + number of agents of the given breed. + + + The number of agents to + create. + + + + + + + + + + + + + + + + + + + + + Creates + + number of agents of the given breed and has each do the specified + commands. + + + The number of agents to + create. + + + The commands for each + agent to do. + + + + + + + + + + + + + + + + + + + + + + + + + Reports the name of the given breed. + + + + + + + + + + + + + + + + + + Reports the number agents of this breed. + + + + + + + + + + + + + + + + + + Reports the number agents of this breed that satisfy the given condition. + + + A condition that must be + true of the counted agents. + + + + + + + + + + + + + + + + + + + + + Scatters agents of this breed across SpaceLand. + + + + + + + + + + + + + + Clears all agents of this breed. + + + + + + + + + + + + + + Constantly checks for collisions between agents. If a collision + occurs, causes the collider to run the + + code, and the collidee to run the + + code. Which agent is the collidee and which is the collider depends + on the block. For example, if a Turtle and Frog collide, the + collision block with "Turtles" as the first port and "Frogs" as the + second port will assume that the Turtle is the collider and the + Frog is the collidee. + + + This is the code that the collider runs. + + + + This is the code that + the collidee runs. The label of this port determines which breed + will be assumed to be collidee. + + + + + + + + + + + + + + + + + + + Selects a random shape. + + + + + + + + + + + + + + + + + + + /models/animals/turtle/default_icon.png + + + + + + + + + + + + + + + /models/animals/sonic/sonic_icon.png + + + + + + + + + + + + + fd + bk + + + rt + lt + + + up + down + + + penup + pendown + + + true + false + + + min + max + + + round + int + + + sin + cos + tan + + + log + ln + + + over-shoulder-on + agent-eye-on + aerial-on + + + overhead-on + overhead-off + + + overhead? + aerial? + agent-eye? + over-shoulder? + + + joy-button1? + joy-button2? + joy-button3? + joy-button4? + + + joy-xaxis + joy-yaxis + + + xcor + ycor + + + random-color + black + blue + brown + cyan + gray + green + lime + magenta + orange + pink + purple + red + sky + turquoise + white + yellow + + + keyboard-up + keyboard-down + keyboard-left + keyboard-right + keyboard-space + + + equals + not-equals + lessthan + greaterthan + lessthanorequalto + greaterthanorequalto + + + and + or + + + sum + difference + quotient + product + + + stomp + yank + + + + + + + setup + forever + runforsometime + runonce + clear-all + clear-everyone + clear-patches + set-score + score + + + fd + bk + lt + rt + up + down + setxy + + + if + ifelse + repeat + and + or + not + equals + lessthan + true + false + + + keyboard-up + keyboard-space + joy-xaxis + joy-yaxis + joy-radius + joy-angle + dpad-angle + joy-button1? + joy-button2? + joy-button3? + joy-button4? + + + stamp + pc + stomp + yank + patch-height + + + who + setc + color + setshape + shape + setbreed + breed + seth + heading + penup + pendown + pendown? + setscale + scale + + + string + say + set-status + to-string + string-append + equals + not-equals + + + number + pi + e + sum + difference + product + quotient + equals + not-equals + lessthan + greaterthan + lessthanorequalto + greaterthanorequalto + atan + random + round + int + min + max + remainder + power + abs + sqrt + sin + cos + tan + asin + acos + log + ln + + + procedure + proc-param-number + proc-param-string + proc-param-boolean + proc-param-list + + + setc + random-color + blue + cyan + green + lime + magenta + orange + pink + purple + red + sky + turquoise + white + yellow + brown + gray + black + + + + + + + + + + + + + /support/images/trash_open.png + /support/images/trash.png + + + + + From 34b2181baeca5bc240bc541a0bf3b4e3f6f07f27 Mon Sep 17 00:00:00 2001 From: Tetrapix <24587704+Tetrapix@users.noreply.github.com> Date: Mon, 27 Jan 2020 16:23:56 +0100 Subject: [PATCH 2/3] update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8a20aa7..ed2a11f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ArduBlock 2 Source (for Arduino IDE 1.8+) # -Source-Code for ArduBlock V2 for letsgoING Project. +Source-Code for ArduBlock V2 tetrapix workshop, forked from the letsgoING Project. ## Setting up Eclipse ## 1. Download the files @@ -10,4 +10,4 @@ Source-Code for ArduBlock V2 for letsgoING Project. 5. Test ArduBlock by running ArduBlock-Main as Java-Application (src/main/java/com/ardublock) For more information click here: -http://blog.ardublock.com/2012/06/11/setup-ardublock-development-in-eclipse/ \ No newline at end of file +http://blog.ardublock.com/2012/06/11/setup-ardublock-development-in-eclipse/ From 21689058d6e1954aed6ba03e0502e62802f4de5b Mon Sep 17 00:00:00 2001 From: Tetrapix <24587704+Tetrapix@users.noreply.github.com> Date: Mon, 27 Jan 2020 16:27:18 +0100 Subject: [PATCH 3/3] Update README.markdown --- ardublock-master/ardublock-master/README.markdown | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ardublock-master/ardublock-master/README.markdown b/ardublock-master/ardublock-master/README.markdown index 6d6a05e..e8ef390 100644 --- a/ardublock-master/ardublock-master/README.markdown +++ b/ardublock-master/ardublock-master/README.markdown @@ -44,6 +44,7 @@ Authors ---- * David Li taweili@gmail.com * HE Qichen heqichen@gmail.com +* Bastian Brabec bastian@tetrapix.de (for the Tetrapix Fork) ToDo @@ -55,6 +56,8 @@ License Copyright (C) 2011 David Li and He Qichen +Copyright (C) 2019 Bastian Brabec + This file is part of ArduBlock. ArduBlock is free software: you can redistribute it and/or modify @@ -93,3 +96,13 @@ Source: github.com/letsgoing - hack to remove \n at array declaration -> AutoFormat.java line 602-606 - removed \n after function declaration -> AutoFormat.java line 845 - removed headerCommand for subroutines (now done in BlockFiles)-> Translator.java line 78-85 + + +Changes by Tetrapix +===================== + +Contact: bastian@tetrapix.de +Source: github.com/tetrapix + +- added the blocks for the tetrapix Workshop +- removed some other blocks