gitextract_80_zfnjb/ ├── .babelrc ├── .eslintignore ├── .eslintrc ├── .github/ │ ├── pr-labeler.yml │ └── workflows/ │ ├── build-and-deploy.yml │ ├── pull-request-workflow.yml │ └── release.yml ├── .gitignore ├── .prettierrc ├── COPYING ├── Gruntfile.js ├── Jenkinsfile ├── LICENSE ├── NOTICE ├── README-en.md ├── README.md ├── contributing.md ├── example/ │ ├── example.ejs │ ├── example_mini.ejs │ └── example_webgl.ejs ├── extern/ │ ├── blockly/ │ │ ├── .ropeproject/ │ │ │ ├── config.py │ │ │ ├── globalnames │ │ │ ├── history │ │ │ └── objectdb │ │ ├── blockly_compressed.js │ │ ├── blockly_uncompressed.js │ │ ├── blocks/ │ │ │ ├── colour.js │ │ │ ├── lists.js │ │ │ ├── logic.js │ │ │ ├── loops.js │ │ │ ├── math.js │ │ │ ├── procedures.js │ │ │ ├── text.js │ │ │ └── variables.js │ │ ├── blocks_compressed.js │ │ ├── build.py │ │ ├── core/ │ │ │ ├── block.js │ │ │ ├── block_menu.js │ │ │ ├── block_svg.js │ │ │ ├── blockly.js │ │ │ ├── blocks.js │ │ │ ├── bubble.js │ │ │ ├── comment.js │ │ │ ├── connection-animation.js │ │ │ ├── connection.js │ │ │ ├── contextmenu.js │ │ │ ├── css.js │ │ │ ├── field.js │ │ │ ├── field_angle.js │ │ │ ├── field_checkbox.js │ │ │ ├── field_colour.js │ │ │ ├── field_dropdown.js │ │ │ ├── field_dropdowndynamic.js │ │ │ ├── field_icon.js │ │ │ ├── field_image.js │ │ │ ├── field_keydown_input.js │ │ │ ├── field_label.js │ │ │ ├── field_textinput.js │ │ │ ├── field_variable.js │ │ │ ├── flyout.js │ │ │ ├── generator.js │ │ │ ├── icon.js │ │ │ ├── inject.js │ │ │ ├── input.js │ │ │ ├── msg.js │ │ │ ├── mutator.js │ │ │ ├── names.js │ │ │ ├── procedures.js │ │ │ ├── realtime-client-utils.js │ │ │ ├── realtime.js │ │ │ ├── scrollbar.js │ │ │ ├── toolbox.js │ │ │ ├── tooltip.js │ │ │ ├── trashcan.js │ │ │ ├── utils.js │ │ │ ├── variables.js │ │ │ ├── warning.js │ │ │ ├── widgetdiv.js │ │ │ ├── workspace.js │ │ │ └── xml.js │ │ ├── dart_compressed.js │ │ ├── generators/ │ │ │ ├── dart/ │ │ │ │ ├── colour.js │ │ │ │ ├── lists.js │ │ │ │ ├── logic.js │ │ │ │ ├── loops.js │ │ │ │ ├── math.js │ │ │ │ ├── procedures.js │ │ │ │ ├── text.js │ │ │ │ └── variables.js │ │ │ ├── dart.js │ │ │ ├── javascript/ │ │ │ │ ├── colour.js │ │ │ │ ├── lists.js │ │ │ │ ├── logic.js │ │ │ │ ├── loops.js │ │ │ │ ├── math.js │ │ │ │ ├── procedures.js │ │ │ │ ├── text.js │ │ │ │ └── variables.js │ │ │ ├── javascript.js │ │ │ ├── python/ │ │ │ │ ├── colour.js │ │ │ │ ├── lists.js │ │ │ │ ├── logic.js │ │ │ │ ├── loops.js │ │ │ │ ├── math.js │ │ │ │ ├── procedures.js │ │ │ │ ├── text.js │ │ │ │ └── variables.js │ │ │ └── python.js │ │ ├── i18n/ │ │ │ ├── common.py │ │ │ ├── create_messages.py │ │ │ ├── dedup_json.py │ │ │ ├── js_to_json.py │ │ │ ├── json_to_js.py │ │ │ ├── status.py │ │ │ ├── tests.py │ │ │ └── xliff_to_json.py │ │ ├── javascript_compressed.js │ │ ├── media/ │ │ │ ├── click.ogg │ │ │ ├── delete.ogg │ │ │ ├── handclosed.cur │ │ │ └── handopen.cur │ │ ├── msg/ │ │ │ ├── js/ │ │ │ │ ├── ar.js │ │ │ │ ├── az-latn.js │ │ │ │ ├── az.js │ │ │ │ ├── be-tarask.js │ │ │ │ ├── br.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── da.js │ │ │ │ ├── de.js │ │ │ │ ├── el.js │ │ │ │ ├── en.js │ │ │ │ ├── en_us.js │ │ │ │ ├── es.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fr.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hu.js │ │ │ │ ├── ia.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── ko.js │ │ │ │ ├── lrc.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── nl.js │ │ │ │ ├── no.js │ │ │ │ ├── pl.js │ │ │ │ ├── pms.js │ │ │ │ ├── pt-br.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tl.js │ │ │ │ ├── tr.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-hans.js │ │ │ │ └── zh-hant.js │ │ │ ├── json/ │ │ │ │ ├── ar.json │ │ │ │ ├── az.json │ │ │ │ ├── be-tarask.json │ │ │ │ ├── br.json │ │ │ │ ├── ca.json │ │ │ │ ├── cs.json │ │ │ │ ├── da.json │ │ │ │ ├── de.json │ │ │ │ ├── el.json │ │ │ │ ├── en.json │ │ │ │ ├── es.json │ │ │ │ ├── fa.json │ │ │ │ ├── fi.json │ │ │ │ ├── fr.json │ │ │ │ ├── he.json │ │ │ │ ├── hi.json │ │ │ │ ├── hu.json │ │ │ │ ├── ia.json │ │ │ │ ├── id.json │ │ │ │ ├── is.json │ │ │ │ ├── it.json │ │ │ │ ├── ja.json │ │ │ │ ├── keys.json │ │ │ │ ├── ko.json │ │ │ │ ├── lrc.json │ │ │ │ ├── ms.json │ │ │ │ ├── nb.json │ │ │ │ ├── nl.json │ │ │ │ ├── pl.json │ │ │ │ ├── pms.json │ │ │ │ ├── pt-br.json │ │ │ │ ├── pt.json │ │ │ │ ├── qqq.json │ │ │ │ ├── ro.json │ │ │ │ ├── ru.json │ │ │ │ ├── sq.json │ │ │ │ ├── sr.json │ │ │ │ ├── sv.json │ │ │ │ ├── synonyms.json │ │ │ │ ├── th.json │ │ │ │ ├── tl.json │ │ │ │ ├── tr.json │ │ │ │ ├── uk.json │ │ │ │ ├── vi.json │ │ │ │ ├── zh-hans.json │ │ │ │ └── zh-hant.json │ │ │ └── messages.js │ │ ├── python_compressed.js │ │ └── tests/ │ │ ├── blockly_test.html │ │ ├── blockly_test.js │ │ ├── generator_test.js │ │ ├── generators/ │ │ │ ├── colour.xml │ │ │ ├── index.html │ │ │ ├── lists.xml │ │ │ ├── logic.xml │ │ │ ├── loops1.xml │ │ │ ├── loops2.xml │ │ │ ├── loops3.xml │ │ │ ├── math.xml │ │ │ ├── procedures.xml │ │ │ ├── text.xml │ │ │ ├── unittest.js │ │ │ ├── unittest_dart.js │ │ │ ├── unittest_javascript.js │ │ │ ├── unittest_python.js │ │ │ └── variables.xml │ │ ├── names_test.js │ │ └── playground.html │ ├── face-landmarker.worker.js │ ├── face-landmarker2.worker.js │ ├── gesture-recognition.worker.js │ ├── human/ │ │ ├── human.js │ │ └── models/ │ │ ├── blazeface.json │ │ ├── emotion.json │ │ ├── facemesh.json │ │ └── faceres.json │ ├── khaiii/ │ │ ├── cnv2hdn.lin │ │ ├── config.json │ │ ├── conv.2.fil │ │ ├── conv.3.fil │ │ ├── conv.4.fil │ │ ├── conv.5.fil │ │ ├── errpatch.len │ │ ├── errpatch.tri │ │ ├── errpatch.val │ │ ├── hdn2tag.lin │ │ ├── preanal.tri │ │ ├── preanal.val │ │ ├── restore.key │ │ ├── restore.one │ │ └── restore.val │ ├── lang/ │ │ ├── code.js │ │ ├── ebs.js │ │ ├── en.js │ │ ├── jp.js │ │ ├── ko.js │ │ └── vn.js │ ├── model/ │ │ ├── face_landmarker.task │ │ ├── gesture_recognizer.task │ │ ├── object_detector_lite.tflite │ │ └── pose_landmarker_lite.task │ ├── object-detector.worker.js │ ├── pose-landmarker.worker.js │ ├── tfjs-backend-wasm-simd.wasm │ ├── util/ │ │ ├── CanvasInput.js │ │ ├── CanvasInputOrg.js │ │ ├── DragDropTouch.js │ │ ├── filbert.js │ │ ├── handle.js │ │ ├── ndgmr.Collision.js │ │ ├── static.js │ │ └── static_mini.js │ ├── vision.worker.js │ ├── vision_bundle.js │ └── wasm/ │ ├── vision_wasm_internal.js │ ├── vision_wasm_internal.wasm │ ├── vision_wasm_nosimd_internal.js │ └── vision_wasm_nosimd_internal.wasm ├── images/ │ ├── cursor_eraser.cur │ ├── handclosed.cur │ ├── handopen.cur │ ├── media/ │ │ ├── FlashAudioPlugin.swf │ │ ├── click.ogg │ │ ├── delete.ogg │ │ ├── handclosed.cur │ │ └── handopen.cur │ └── sounds/ │ ├── click.ogg │ └── delete.ogg ├── jsconfig.json ├── karma.conf.js ├── package.json ├── scripts/ │ ├── build.sh │ ├── build_action.sh │ ├── deploy.sh │ └── deploy_action.sh ├── src/ │ ├── class/ │ │ ├── AILearning.js │ │ ├── AIUtilize.js │ │ ├── DataTable.js │ │ ├── Expansion.js │ │ ├── LiterallycanvasPainter.js │ │ ├── blockCountViewer.js │ │ ├── container.js │ │ ├── dialog.ts │ │ ├── doneProject.js │ │ ├── engine.js │ │ ├── entity.js │ │ ├── entryModuleLoader.ts │ │ ├── function.js │ │ ├── hardware/ │ │ │ ├── bluetoothServices/ │ │ │ │ ├── event-dispatcher.ts │ │ │ │ ├── index.ts │ │ │ │ ├── promise-queue.ts │ │ │ │ ├── service-helper.ts │ │ │ │ └── services/ │ │ │ │ ├── accelerometer.ts │ │ │ │ ├── button.ts │ │ │ │ ├── device-information.ts │ │ │ │ ├── dfu-control.ts │ │ │ │ ├── event.ts │ │ │ │ ├── io-pin.ts │ │ │ │ ├── led.ts │ │ │ │ ├── magnetometer.ts │ │ │ │ ├── temperature.ts │ │ │ │ └── uart.ts │ │ │ ├── externalProgramLauncher.ts │ │ │ ├── functions/ │ │ │ │ └── createHardwarePopup.ts │ │ │ ├── hardwareMonitor.ts │ │ │ ├── hardwareSocketMessageHandler.ts │ │ │ ├── webApiConnector.ts │ │ │ ├── webBluetoothConnector.ts │ │ │ ├── webSerialConnector.ts │ │ │ └── webUsbFlasher.ts │ │ ├── helper.js │ │ ├── hw.ts │ │ ├── hw_lite.ts │ │ ├── intro.ts │ │ ├── learning/ │ │ │ ├── Chart.js │ │ │ ├── Cluster.js │ │ │ ├── DecisionTree.js │ │ │ ├── ImageLearning.js │ │ │ ├── InputPopup.js │ │ │ ├── LearningBase.ts │ │ │ ├── LearningView.js │ │ │ ├── LogisticRegression.js │ │ │ ├── NumberClassification.js │ │ │ ├── Regression.js │ │ │ ├── SpeechClassification.js │ │ │ ├── Svm.js │ │ │ ├── TextLearning.js │ │ │ ├── Utils.ts │ │ │ └── bayes.ts │ │ ├── maxrect-packer/ │ │ │ ├── abstract_bin.ts │ │ │ ├── geom/ │ │ │ │ ├── ImageRect.ts │ │ │ │ └── Rectangle.ts │ │ │ ├── maxrects_bin.ts │ │ │ ├── maxrects_packer.ts │ │ │ └── oversized_element_bin.ts │ │ ├── object.js │ │ ├── painter.js │ │ ├── pdf.ts │ │ ├── pixi/ │ │ │ ├── atlas/ │ │ │ │ ├── AtlasCanvasViewer.ts │ │ │ │ ├── EntryTextureOption.ts │ │ │ │ ├── ISceneTextures.ts │ │ │ │ ├── PIXIAtlasHelper.ts │ │ │ │ ├── PIXIAtlasManager.ts │ │ │ │ ├── PIXIScaleAdaptor.ts │ │ │ │ ├── SceneBins.ts │ │ │ │ ├── SceneTextures.ts │ │ │ │ ├── loader/ │ │ │ │ │ ├── AtlasImageLoader.ts │ │ │ │ │ └── AtlasImageLoadingInfo.ts │ │ │ │ ├── model/ │ │ │ │ │ ├── IRawObject.ts │ │ │ │ │ └── IRawPicture.ts │ │ │ │ ├── structure/ │ │ │ │ │ ├── PrimitiveMap.ts │ │ │ │ │ └── PrimitiveSet.ts │ │ │ │ └── texture/ │ │ │ │ ├── AtlasBaseTexture.ts │ │ │ │ ├── AtlasTexture.ts │ │ │ │ ├── EntryBaseTexture.ts │ │ │ │ ├── EntryTexture.ts │ │ │ │ └── EntryTextureBase.ts │ │ │ ├── etc/ │ │ │ │ ├── PIXI-ndgmr.Collision.js │ │ │ │ ├── PIXIBrushAdaptor.ts │ │ │ │ ├── PIXICanvasInput.js │ │ │ │ ├── PIXIPaintAdaptor.ts │ │ │ │ └── PIXITempStore.ts │ │ │ ├── handle/ │ │ │ │ ├── PIXIHandle.js │ │ │ │ └── PIXIHandleEdge.js │ │ │ ├── helper/ │ │ │ │ ├── PIXIDragHelper.js │ │ │ │ └── PIXIHelper.ts │ │ │ ├── init/ │ │ │ │ ├── PIXIBaseAsset.ts │ │ │ │ ├── PIXIFontLoadHandler.ts │ │ │ │ └── PIXIGlobal.ts │ │ │ ├── mesh/ │ │ │ │ └── PIXIH3Plane.js │ │ │ ├── plugins/ │ │ │ │ ├── PIXIGraphicOverride.js │ │ │ │ ├── PIXIPixelPerfectInteractionPlugIn.js │ │ │ │ ├── PIXIShortPropPlugin.js │ │ │ │ ├── PIXISprite.ts │ │ │ │ ├── PIXITextMetricsPlugIn.js │ │ │ │ └── pixiGetChildAt.js │ │ │ ├── text/ │ │ │ │ ├── PIXIText.js │ │ │ │ └── PIXITextStyle.ts │ │ │ └── utils/ │ │ │ ├── AutoFit.ts │ │ │ ├── TimeoutTimer.ts │ │ │ └── logs.ts │ │ ├── playground.js │ │ ├── popup.js │ │ ├── popup_helper.ts │ │ ├── popup_list.js │ │ ├── project.js │ │ ├── property_panel.ts │ │ ├── reporter.js │ │ ├── scene.js │ │ ├── sound.ts │ │ ├── source/ │ │ │ └── DataTableSource.js │ │ ├── stage.js │ │ ├── stamp_entity.js │ │ ├── time_wait.js │ │ ├── toast.js │ │ ├── variable/ │ │ │ ├── answerVariable.js │ │ │ ├── index.js │ │ │ ├── listVariable.js │ │ │ ├── slideVariable.js │ │ │ ├── sttVariable.js │ │ │ ├── timerVariable.js │ │ │ └── variable.js │ │ └── variable_container.js │ ├── command/ │ │ ├── command.js │ │ ├── command_util.js │ │ ├── commander.js │ │ └── commands/ │ │ ├── block.js │ │ ├── comment.js │ │ ├── container.js │ │ ├── dataTable.js │ │ ├── engine.js │ │ ├── function.js │ │ ├── object.js │ │ ├── painter.js │ │ ├── playground.js │ │ ├── scene.js │ │ ├── textbox.js │ │ └── variableContainer.js │ ├── core/ │ │ ├── collection.js │ │ ├── db.js │ │ ├── dom.ts │ │ ├── event.js │ │ ├── model.js │ │ ├── modelClass.ts │ │ ├── observer.js │ │ ├── promiseManager.js │ │ ├── singleInstance.js │ │ └── svg.js │ ├── css/ │ │ ├── codemirror_theme.less │ │ ├── common.less │ │ ├── components/ │ │ │ ├── block.less │ │ │ ├── block_menu.less │ │ │ ├── board.less │ │ │ ├── console.less │ │ │ ├── container.less │ │ │ ├── context_menu.less │ │ │ ├── curtain.less │ │ │ ├── engine.less │ │ │ ├── extensions.less │ │ │ ├── function.less │ │ │ ├── global_svg.less │ │ │ ├── helper.less │ │ │ ├── hw_monitor.less │ │ │ ├── object.less │ │ │ ├── painter.less │ │ │ ├── pdf.less │ │ │ ├── playground.less │ │ │ ├── popup.less │ │ │ ├── property_panel.less │ │ │ ├── scene.less │ │ │ ├── stage.less │ │ │ ├── state_manager.less │ │ │ ├── table.less │ │ │ ├── target_checker.less │ │ │ ├── textcoding_helper.less │ │ │ ├── toast.less │ │ │ ├── tooltip.less │ │ │ ├── variable_container.less │ │ │ └── zoomController.less │ │ ├── entry.less │ │ ├── minimize.less │ │ ├── prefix.less │ │ └── static.less │ ├── entry.js │ ├── extensions/ │ │ ├── CloudVariable.js │ │ ├── dmet.js │ │ ├── dropper.js │ │ ├── extension.js │ │ └── target_checker.js │ ├── graphicEngine/ │ │ ├── EaselResManager.ts │ │ ├── FakePIXI.js │ │ ├── GEDragHelper.ts │ │ ├── GEHandle.js │ │ ├── GEHelper.ts │ │ └── IGEResManager.ts │ ├── log/ │ │ ├── activity.js │ │ ├── activityReporter.js │ │ ├── recorder.js │ │ ├── state.js │ │ └── state_manager.js │ ├── model/ │ │ ├── block_model.js │ │ ├── block_render_model.js │ │ ├── box_model.js │ │ ├── drag_instance.js │ │ └── thread_model.js │ ├── parser-no/ │ │ ├── block.js │ │ ├── js.js │ │ └── parser.js │ ├── playground/ │ │ ├── block.js │ │ ├── block_entry.js │ │ ├── block_entry_mini.js │ │ ├── block_menu.ts │ │ ├── block_menu_scroll.js │ │ ├── block_view.js │ │ ├── blocks/ │ │ │ ├── block_ai_learning.js │ │ │ ├── block_ai_learning_cluster.js │ │ │ ├── block_ai_learning_decisiontree.js │ │ │ ├── block_ai_learning_knn.js │ │ │ ├── block_ai_learning_logistic_regression.js │ │ │ ├── block_ai_learning_regression.js │ │ │ ├── block_ai_learning_svm.js │ │ │ ├── block_ai_utilize_audio.js │ │ │ ├── block_ai_utilize_face_landmarker.js │ │ │ ├── block_ai_utilize_gesture_recognition.js │ │ │ ├── block_ai_utilize_media_pipe.js │ │ │ ├── block_ai_utilize_object_detector.js │ │ │ ├── block_ai_utilize_pose_landmarker.js │ │ │ ├── block_ai_utilize_translate.js │ │ │ ├── block_ai_utilize_tts.js │ │ │ ├── block_ai_utilize_video.js │ │ │ ├── block_analysis.js │ │ │ ├── block_brush.js │ │ │ ├── block_calc.js │ │ │ ├── block_expansion_behaviorconduct_disaster.js │ │ │ ├── block_expansion_behaviorconduct_lifesafety.js │ │ │ ├── block_expansion_disasterAlert.js │ │ │ ├── block_expansion_emergencyActionGuidelines.js │ │ │ ├── block_expansion_festival.js │ │ │ ├── block_expansion_weather.js │ │ │ ├── block_flow.js │ │ │ ├── block_func.js │ │ │ ├── block_judgement.js │ │ │ ├── block_looks.js │ │ │ ├── block_moving.js │ │ │ ├── block_sound.js │ │ │ ├── block_start.js │ │ │ ├── block_text.js │ │ │ ├── block_variable.js │ │ │ ├── hardware/ │ │ │ │ ├── block_0uboard.js │ │ │ │ ├── block_CloverSEntry1.js │ │ │ │ ├── block_ITPLE_board.js │ │ │ │ ├── block_KKMOO.js │ │ │ │ ├── block_KRC.js │ │ │ │ ├── block_LineCoding.js │ │ │ │ ├── block_Lline.js │ │ │ │ ├── block_RichShield.js │ │ │ │ ├── block_abilix_Krypton0.js │ │ │ │ ├── block_aidrone.js │ │ │ │ ├── block_aidrone_tracking.js │ │ │ │ ├── block_aiot.js │ │ │ │ ├── block_aiservo.js │ │ │ │ ├── block_albert.js │ │ │ │ ├── block_albert_ai.js │ │ │ │ ├── block_altino.js │ │ │ │ ├── block_altino_lite.js │ │ │ │ ├── block_altino_neo.js │ │ │ │ ├── block_alux_connect.js │ │ │ │ ├── block_alux_nemo.js │ │ │ │ ├── block_alux_technic.js │ │ │ │ ├── block_ardublock.js │ │ │ │ ├── block_arduino.js │ │ │ │ ├── block_arduino_cake.js │ │ │ │ ├── block_arduino_ext.js │ │ │ │ ├── block_arduino_nano.js │ │ │ │ ├── block_armz.js │ │ │ │ ├── block_asomebot.js │ │ │ │ ├── block_asomekit.js │ │ │ │ ├── block_avatarbot.js │ │ │ │ ├── block_bingles.js │ │ │ │ ├── block_bitbrick.js │ │ │ │ ├── block_blacksmith.js │ │ │ │ ├── block_bridge.js │ │ │ │ ├── block_brown.js │ │ │ │ ├── block_byrobot_base.js │ │ │ │ ├── block_byrobot_controller_3_4.js │ │ │ │ ├── block_byrobot_controller_4.js │ │ │ │ ├── block_byrobot_drone_3_10.js │ │ │ │ ├── block_byrobot_drone_4.js │ │ │ │ ├── block_byrobot_drone_8.js │ │ │ │ ├── block_byrobot_dronefighter_controller.js │ │ │ │ ├── block_byrobot_dronefighter_drive.js │ │ │ │ ├── block_byrobot_dronefighter_flight.js │ │ │ │ ├── block_byrobot_petrone_v2_base.js │ │ │ │ ├── block_byrobot_petrone_v2_controller.js │ │ │ │ ├── block_byrobot_petrone_v2_drive.js │ │ │ │ ├── block_byrobot_petrone_v2_flight.js │ │ │ │ ├── block_c3coding_arduino.js │ │ │ │ ├── block_castarter_v2.js │ │ │ │ ├── block_cheese.js │ │ │ │ ├── block_choco.js │ │ │ │ ├── block_choco2.js │ │ │ │ ├── block_chocopi.js │ │ │ │ ├── block_coalaboard.js │ │ │ │ ├── block_cobl.js │ │ │ │ ├── block_coco.js │ │ │ │ ├── block_coconut.js │ │ │ │ ├── block_codeino.js │ │ │ │ ├── block_codestar.js │ │ │ │ ├── block_codewiz.js │ │ │ │ ├── block_coding_box.js │ │ │ │ ├── block_codingmachine.js │ │ │ │ ├── block_cp_moving.js │ │ │ │ ├── block_creamo.js │ │ │ │ ├── block_cremaker_3Dpen.js │ │ │ │ ├── block_cuboai.js │ │ │ │ ├── block_cue.js │ │ │ │ ├── block_dadublock.js │ │ │ │ ├── block_dalgona.js │ │ │ │ ├── block_dalgona_basic.js │ │ │ │ ├── block_dash.js │ │ │ │ ├── block_davinci.js │ │ │ │ ├── block_diaboard.js │ │ │ │ ├── block_dodaland.js │ │ │ │ ├── block_dplay.js │ │ │ │ ├── block_eduino.js │ │ │ │ ├── block_edumaker.js │ │ │ │ ├── block_elio.js │ │ │ │ ├── block_etboard.js │ │ │ │ ├── block_etkit.js │ │ │ │ ├── block_ev3.js │ │ │ │ ├── block_exmars_cube.js │ │ │ │ ├── block_firmtech2.js │ │ │ │ ├── block_freearduino.js │ │ │ │ ├── block_freelinker2.js │ │ │ │ ├── block_funboard.js │ │ │ │ ├── block_gbot.js │ │ │ │ ├── block_genirobot.js │ │ │ │ ├── block_hamster.js │ │ │ │ ├── block_hamster_s.js │ │ │ │ ├── block_handino.js │ │ │ │ ├── block_hasseam.js │ │ │ │ ├── block_hexaboard.js │ │ │ │ ├── block_hummingbird.js │ │ │ │ ├── block_hyact.js │ │ │ │ ├── block_iCOBOT.js │ │ │ │ ├── block_iboard.js │ │ │ │ ├── block_iotsmartfarm.js │ │ │ │ ├── block_jcboard.js │ │ │ │ ├── block_jdcode.js │ │ │ │ ├── block_jdkit.js │ │ │ │ ├── block_jikko.js │ │ │ │ ├── block_jikko_basic.js │ │ │ │ ├── block_jikko_lidoc.js │ │ │ │ ├── block_jikko_make.js │ │ │ │ ├── block_jinirobot_aibot.js │ │ │ │ ├── block_jinirobot_toybot.js │ │ │ │ ├── block_joystick.js │ │ │ │ ├── block_kaboino.js │ │ │ │ ├── block_kaduino.js │ │ │ │ ├── block_kamibot.js │ │ │ │ ├── block_kamibotPi.js │ │ │ │ ├── block_kingcoding.js │ │ │ │ ├── block_lecoboard.js │ │ │ │ ├── block_lecoboardAvr.js │ │ │ │ ├── block_lecoboardAvrBT.js │ │ │ │ ├── block_littlebits.js │ │ │ │ ├── block_magkinder.js │ │ │ │ ├── block_makermate.js │ │ │ │ ├── block_mechanicblock_controller.js │ │ │ │ ├── block_mechanicblock_uno.js │ │ │ │ ├── block_mechanicblock_uno_mini.js │ │ │ │ ├── block_mechanicblock_uno_s.js │ │ │ │ ├── block_mechatro.js │ │ │ │ ├── block_mechatronics_4d.js │ │ │ │ ├── block_memaker.js │ │ │ │ ├── block_microbit.js │ │ │ │ ├── block_microbit2.js │ │ │ │ ├── block_microbit_ext.js │ │ │ │ ├── block_mindpiggy.js │ │ │ │ ├── block_mkboard.js │ │ │ │ ├── block_modi.js │ │ │ │ ├── block_mrt.js │ │ │ │ ├── block_nemoino.js │ │ │ │ ├── block_neo.js │ │ │ │ ├── block_neo_cannon.js │ │ │ │ ├── block_neo_spider.js │ │ │ │ ├── block_neobot.js │ │ │ │ ├── block_neobot_game_theme.js │ │ │ │ ├── block_neobot_purple.js │ │ │ │ ├── block_neobot_robot_theme.js │ │ │ │ ├── block_neobot_sensor_theme.js │ │ │ │ ├── block_neobot_soco.js │ │ │ │ ├── block_neobot_thinkcar.js │ │ │ │ ├── block_orange.js │ │ │ │ ├── block_ozobot.js │ │ │ │ ├── block_palmkit.js │ │ │ │ ├── block_pingpong.js │ │ │ │ ├── block_pingpong_multi.js │ │ │ │ ├── block_playcode.js │ │ │ │ ├── block_plrun.js │ │ │ │ ├── block_robico.js │ │ │ │ ├── block_robodog.js │ │ │ │ ├── block_roboid.js │ │ │ │ ├── block_robolink_codrone_diy.js │ │ │ │ ├── block_robolink_codrone_edu.js │ │ │ │ ├── block_robolink_codrone_mini.js │ │ │ │ ├── block_robomation.js │ │ │ │ ├── block_roborobo_base.js │ │ │ │ ├── block_roborobo_cube.js │ │ │ │ ├── block_roborobo_robokit_rs.js │ │ │ │ ├── block_roborobo_roduino.js │ │ │ │ ├── block_roborobo_roe.js │ │ │ │ ├── block_roborobo_schoolkit.js │ │ │ │ ├── block_robotamicoding.js │ │ │ │ ├── block_robotis.js │ │ │ │ ├── block_robotisDream.js │ │ │ │ ├── block_robotisRB.js │ │ │ │ ├── block_robotisRBCar.js │ │ │ │ ├── block_robotisRBHumanoid.js │ │ │ │ ├── block_robotisRBKoala.js │ │ │ │ ├── block_robotisRBPracticalAssembly.js │ │ │ │ ├── block_robotori.js │ │ │ │ ├── block_robotry_parodule.js │ │ │ │ ├── block_robotry_robit_stage.js │ │ │ │ ├── block_rokoboard.js │ │ │ │ ├── block_runcoding.js │ │ │ │ ├── block_runcoding_display.js │ │ │ │ ├── block_sally.js │ │ │ │ ├── block_sciencecube.js │ │ │ │ ├── block_sensorboard.js │ │ │ │ ├── block_smartCodingHouse.js │ │ │ │ ├── block_smartboard.js │ │ │ │ ├── block_ssboard_nano.js │ │ │ │ ├── block_suno.js │ │ │ │ ├── block_talebot.js │ │ │ │ ├── block_telliot_Base.js │ │ │ │ ├── block_telliot_lite.js │ │ │ │ ├── block_thinkboard.js │ │ │ │ ├── block_timbo.js │ │ │ │ ├── block_truerobot.js │ │ │ │ ├── block_turtle.js │ │ │ │ ├── block_uglybot.js │ │ │ │ ├── block_uo_albert.js │ │ │ │ ├── block_wearable.js │ │ │ │ ├── block_whalesbot_eagle_1001.js │ │ │ │ ├── block_xbot.js │ │ │ │ ├── block_zerone.js │ │ │ │ ├── block_zumiMini.js │ │ │ │ └── index.js │ │ │ ├── hardwareLite/ │ │ │ │ ├── block_alux_connect_lite.js │ │ │ │ ├── block_alux_nemo_lite.js │ │ │ │ ├── block_alux_teachnic_normal_lite.js │ │ │ │ ├── block_alux_teachnic_power_lite.js │ │ │ │ ├── block_arduino_lite.js │ │ │ │ ├── block_choco_lite.js │ │ │ │ ├── block_cocodron_controller_Lite.js │ │ │ │ ├── block_codewiz_lite.js │ │ │ │ ├── block_hamster_lite.js │ │ │ │ ├── block_microbit2_lite.js │ │ │ │ ├── block_microbit2ble_lite.js │ │ │ │ ├── block_neo_cannon_lite.js │ │ │ │ ├── block_neo_lite.js │ │ │ │ ├── block_neo_spider_lite.js │ │ │ │ ├── block_neobot_purple_lite.js │ │ │ │ ├── block_neobot_soco_lite.js │ │ │ │ ├── block_neobot_thinkcar_lite.js │ │ │ │ ├── block_robolink_ZumiMini_lite.js │ │ │ │ ├── block_robotis_kkokdu_lite.js │ │ │ │ ├── block_robotis_koalabot_lite.js │ │ │ │ ├── block_robotis_rgee_lite.js │ │ │ │ ├── block_robotis_rla_lite.js │ │ │ │ ├── block_robotis_robotai_lite.js │ │ │ │ ├── block_sensorboard_lite.js │ │ │ │ ├── block_whalesbot_drone_lite.js │ │ │ │ ├── block_wizwing_controller_lite.js │ │ │ │ ├── index.js │ │ │ │ ├── metadata_alux_connect_lite.json │ │ │ │ ├── metadata_alux_nemo_lite.json │ │ │ │ ├── metadata_alux_teachnic_normal_lite.json │ │ │ │ ├── metadata_alux_teachnic_power_lite.json │ │ │ │ ├── metadata_arduino_lite.json │ │ │ │ ├── metadata_choco_lite.json │ │ │ │ ├── metadata_cocodron_controller_Lite.json │ │ │ │ ├── metadata_codewiz_lite.json │ │ │ │ ├── metadata_hamster_lite.json │ │ │ │ ├── metadata_microbit2_lite.json │ │ │ │ ├── metadata_microbit2ble_lite.json │ │ │ │ ├── metadata_neo_cannon_lite.json │ │ │ │ ├── metadata_neo_lite.json │ │ │ │ ├── metadata_neo_spider_lite.json │ │ │ │ ├── metadata_neobot_purple_lite.json │ │ │ │ ├── metadata_neobot_soco_lite.json │ │ │ │ ├── metadata_neobot_thinkcar_lite.json │ │ │ │ ├── metadata_robolink_ZumiMini_lite.json │ │ │ │ ├── metadata_robotis_kkokdu_lite.json │ │ │ │ ├── metadata_robotis_koalabot_lite.json │ │ │ │ ├── metadata_robotis_rgee_lite.json │ │ │ │ ├── metadata_robotis_rla_lite.json │ │ │ │ ├── metadata_robotis_robotai_lite.json │ │ │ │ ├── metadata_sensorboard_lite.json │ │ │ │ ├── metadata_whalesbot_drone_lite.json │ │ │ │ └── metadata_wizwing_controller_lite.json │ │ │ ├── index.js │ │ │ └── inputs/ │ │ │ └── keyboard.js │ │ ├── board.js │ │ ├── code.js │ │ ├── code_view.js │ │ ├── comment.js │ │ ├── connection_ripple.js │ │ ├── executors.js │ │ ├── executors2.js │ │ ├── extension/ │ │ │ ├── extension.js │ │ │ ├── guide.js │ │ │ └── side_tag.js │ │ ├── field/ │ │ │ ├── angle.js │ │ │ ├── block.js │ │ │ ├── color.js │ │ │ ├── dropdown.js │ │ │ ├── dropdownDynamic.js │ │ │ ├── dropdownExtra.js │ │ │ ├── field.js │ │ │ ├── image.js │ │ │ ├── indicator.js │ │ │ ├── keyboardInput.js │ │ │ ├── led.js │ │ │ ├── led2.js │ │ │ ├── lineBreak.js │ │ │ ├── musicScale.js │ │ │ ├── output.js │ │ │ ├── statement.js │ │ │ ├── text.js │ │ │ ├── textDynamic.js │ │ │ └── textInput.js │ │ ├── globalSvg.js │ │ ├── mutator.js │ │ ├── renderView.js │ │ ├── scope.js │ │ ├── scroll.js │ │ ├── skeleton/ │ │ │ ├── basic/ │ │ │ │ ├── basic.ts │ │ │ │ ├── basic_boolean_field.ts │ │ │ │ ├── basic_button.ts │ │ │ │ ├── basic_button_disabled.ts │ │ │ │ ├── basic_create.ts │ │ │ │ ├── basic_create_value.ts │ │ │ │ ├── basic_define.ts │ │ │ │ ├── basic_double_loop.ts │ │ │ │ ├── basic_event.ts │ │ │ │ ├── basic_loop.ts │ │ │ │ ├── basic_param.ts │ │ │ │ ├── basic_string_field.ts │ │ │ │ ├── basic_text.ts │ │ │ │ └── basic_text_light.ts │ │ │ ├── clickable_text.ts │ │ │ ├── comment.ts │ │ │ ├── index.ts │ │ │ └── pebble/ │ │ │ ├── pebble_basic.ts │ │ │ ├── pebble_event.ts │ │ │ └── pebble_loop.ts │ │ ├── skinner.js │ │ ├── thread.js │ │ ├── thread_view.js │ │ ├── toast.js │ │ ├── trashcan.js │ │ ├── vim.js │ │ ├── workspace.js │ │ └── zoom_controller.js │ ├── textcoding/ │ │ ├── ast/ │ │ │ ├── jsAstGenerator.js │ │ │ └── pyAstGenerator.js │ │ ├── data_processing/ │ │ │ ├── map.js │ │ │ └── queue.js │ │ ├── error/ │ │ │ └── textCodingError.js │ │ ├── hint/ │ │ │ └── python.js │ │ ├── parser/ │ │ │ └── core/ │ │ │ ├── block/ │ │ │ │ ├── blockToJs.js │ │ │ │ └── blockToPy.js │ │ │ └── text/ │ │ │ ├── jsToBlock.js │ │ │ └── pyToBlock.js │ │ ├── parser.js │ │ ├── static/ │ │ │ ├── codeMap.js │ │ │ └── keyboardCode.js │ │ └── util/ │ │ ├── console.js │ │ └── textCodingUtil.js │ ├── theme/ │ │ ├── old.js │ │ └── standard.js │ └── util/ │ ├── audioSocket.js │ ├── audioUtils.js │ ├── binPacking.js │ ├── block_driver.js │ ├── common.js │ ├── contextmenu.js │ ├── curtain.js │ ├── dataSource.ts │ ├── destroyer/ │ │ └── Destroyer.ts │ ├── domUtils.js │ ├── eventHandler.js │ ├── extrablockUtils.js │ ├── functions/ │ │ └── showConsoleBanner.ts │ ├── fuzzy.js │ ├── hardwareUtils.ts │ ├── htmlElementPatcher.js │ ├── init.js │ ├── loader.js │ ├── location.js │ ├── mediaPipeUtils.ts │ ├── modal.js │ ├── restrictor.js │ ├── scheduler.js │ ├── static.js │ ├── tooltip.js │ ├── tvCast.js │ ├── utils.js │ ├── virtualScroll.js │ ├── workers/ │ │ └── newmotion.worker.ts │ └── youtube.js ├── test/ │ ├── class/ │ │ └── container.spec.js │ ├── entry/ │ │ └── entry.js │ └── textcoding/ │ └── block.js ├── test_util/ │ └── helper.js ├── tsconfig.json ├── types/ │ ├── entry.d.ts │ ├── index.d.ts │ └── window.d.ts ├── webpack.config.js ├── webpack_config/ │ ├── common.js │ ├── dev.js │ ├── lint.js │ ├── prod.js │ └── serve.js └── weights/ ├── age_gender_model-shard1 ├── age_gender_model-weights_manifest.json ├── face_expression_model-shard1 ├── face_expression_model-weights_manifest.json ├── face_landmark_68_model-shard1 ├── face_landmark_68_model-weights_manifest.json ├── face_landmark_68_tiny_model-shard1 ├── face_landmark_68_tiny_model-weights_manifest.json ├── tiny_face_detector_model-shard1 └── tiny_face_detector_model-weights_manifest.json