From 2c47b309ae160c3441e1fecd497f906791760310 Mon Sep 17 00:00:00 2001 From: Daniel Snider Date: Sat, 13 Aug 2022 19:33:12 -0700 Subject: [PATCH] Add dialogic --- addons/dialogic/Dialog.tscn | 17 + .../Documentation/Content/Changelog.md | 540 ++++ .../Documentation/Content/Events/001.md | 42 + .../Documentation/Content/Events/002.md | 26 + .../Documentation/Content/Events/010.md | 14 + .../Documentation/Content/Events/011.md | 11 + .../Documentation/Content/Events/012.md | 22 + .../Documentation/Content/Events/013.md | 3 + .../Documentation/Content/Events/014.md | 11 + .../Documentation/Content/Events/030.md | 21 + .../Documentation/Content/Events/040.md | 23 + .../Documentation/Content/Events/041.md | 5 + .../Documentation/Content/Events/042.md | 35 + .../Events/CustomEvents/CreateCustomEvents.md | 121 + .../CustomEvents/Images/CreationProcess.PNG | Bin 0 -> 9707 bytes .../Images/CreationProcess.PNG.import | 35 + .../Images/CustomEventsShowOff.PNG | Bin 0 -> 16110 bytes .../Images/CustomEventsShowOff.PNG.import | 35 + .../Events/CustomEvents/Images/EventBlock.png | Bin 0 -> 10930 bytes .../CustomEvents/Images/EventBlock.png.import | 35 + .../Images/EventBlock_EventData.PNG | Bin 0 -> 6727 bytes .../Images/EventBlock_EventData.PNG.import | 35 + .../Events/CustomEvents/ImportCustomEvents.md | 9 + .../Content/Events/Images/Call_Node.PNG | Bin 0 -> 13441 bytes .../Events/Images/Call_Node.PNG.import | 35 + .../Events/Images/Event_Change_Timeline.PNG | Bin 0 -> 5634 bytes .../Images/Event_Change_Timeline.PNG.import | 35 + .../Events/Images/Event_Character_Join.PNG | Bin 0 -> 11510 bytes .../Images/Event_Character_Join.PNG.import | 35 + .../Events/Images/Event_Character_Leave.PNG | Bin 0 -> 8163 bytes .../Images/Event_Character_Leave.PNG.import | 35 + .../Events/Images/Event_Character_Update.PNG | Bin 0 -> 13007 bytes .../Images/Event_Character_Update.PNG.import | 35 + .../Content/Events/Images/Event_Choice.PNG | Bin 0 -> 4767 bytes .../Events/Images/Event_Choice.PNG.import | 35 + .../Events/Images/Event_Choice_Condition.PNG | Bin 0 -> 7689 bytes .../Images/Event_Choice_Condition.PNG.import | 35 + .../Events/Images/Event_Close_Dialog.PNG | Bin 0 -> 4423 bytes .../Images/Event_Close_Dialog.PNG.import | 35 + .../Content/Events/Images/Event_Condition.PNG | Bin 0 -> 4935 bytes .../Events/Images/Event_Condition.PNG.import | 35 + .../Events/Images/Event_Condition_in_use.PNG | Bin 0 -> 20921 bytes .../Images/Event_Condition_in_use.PNG.import | 35 + .../Events/Images/Event_Emit_Signal.PNG | Bin 0 -> 6500 bytes .../Images/Event_Emit_Signal.PNG.import | 35 + .../Events/Images/Event_End_Branch.PNG | Bin 0 -> 2830 bytes .../Events/Images/Event_End_Branch.PNG.import | 35 + .../Content/Events/Images/Event_Question.PNG | Bin 0 -> 17944 bytes .../Events/Images/Event_Question.PNG.import | 35 + .../Events/Images/Event_Question_in_use.PNG | Bin 0 -> 36583 bytes .../Images/Event_Question_in_use.PNG.import | 35 + .../Content/Events/Images/Event_Set_Theme.PNG | Bin 0 -> 5338 bytes .../Events/Images/Event_Set_Theme.PNG.import | 35 + .../Content/Events/Images/Event_Set_Value.PNG | Bin 0 -> 6105 bytes .../Events/Images/Event_Set_Value.PNG.import | 35 + .../Events/Images/Event_Set_Value_random.PNG | Bin 0 -> 7535 bytes .../Images/Event_Set_Value_random.PNG.import | 35 + .../Events/Images/Event_Wait_Seconds.PNG | Bin 0 -> 6409 bytes .../Images/Event_Wait_Seconds.PNG.import | 35 + .../Content/Events/Images/audio_event.png | Bin 0 -> 12238 bytes .../Events/Images/audio_event.png.import | 35 + .../Content/Events/Images/text_event_1.png | Bin 0 -> 8151 bytes .../Events/Images/text_event_1.png.import | 35 + .../Content/Events/Images/text_event_2.png | Bin 0 -> 5691 bytes .../Events/Images/text_event_2.png.import | 35 + .../Documentation/Content/FAQ/CSharp.md | 14 + .../Documentation/Content/FAQ/Signals.md | 18 + .../FAQ/can-i-use-dialogic-in-my-project.md | 4 + .../FAQ/create-timeline-using-gdscript.md | 28 + .../Content/FAQ/custom-portraits.md | 3 + .../FAQ/how-to-make-dialog-show-up-in-game.md | 13 + .../Documentation/Content/FAQ/input.md | 5 + .../Content/FAQ/plugin-shipped-godot.md | 4 + .../Content/FAQ/portraits-not-showing.md | 6 + .../FAQ/resolution-small-dialog-big.md | 4 + .../Content/FAQ/touch-support-tutorial.md | 41 + .../Content/FAQ/why-not-graph-nodes.md | 6 + .../Content/Images/dialogic-hero-1.3.png | Bin 0 -> 25849 bytes .../Images/dialogic-hero-1.3.png.import | 35 + .../Documentation/Content/Reference/000.md | 5 + .../Documentation/Content/Reference/001.md | 166 ++ .../Content/Reference/Character.md | 41 + .../Content/Reference/History.md | 133 + .../Images/history_button_positions.png | Bin 0 -> 10348 bytes .../history_button_positions.png.import | 35 + .../history_character_color_example.png | Bin 0 -> 2289 bytes ...history_character_color_example.png.import | 35 + .../Reference/Images/history_log_margin.png | Bin 0 -> 2330 bytes .../Images/history_log_margin.png.import | 35 + .../Images/history_row_scene_tree.png | Bin 0 -> 9236 bytes .../Images/history_row_scene_tree.png.import | 35 + .../Images/history_row_script_variables.png | Bin 0 -> 10319 bytes .../history_row_script_variables.png.import | 35 + .../Reference/Images/history_scene_tree.png | Bin 0 -> 8789 bytes .../Images/history_scene_tree.png.import | 35 + .../Images/history_screen_margin.png | Bin 0 -> 2925 bytes .../Images/history_screen_margin.png.import | 35 + .../Images/history_script_variables.png | Bin 0 -> 23313 bytes .../history_script_variables.png.import | 35 + .../Images/history_settings_explained.png | Bin 0 -> 70891 bytes .../history_settings_explained.png.import | 35 + .../Documentation/Content/Reference/Theme.md | 110 + .../Content/Reference/Timeline.md | 31 + .../Content/Tutorials/AddingNewAnimations.md | 37 + .../Tutorials/BeginnersGuideStepByStep.md | 166 ++ .../Content/Tutorials/GettingStarted.md | 3 + .../Images/Character_Editor_With_Portrait.PNG | Bin 0 -> 131805 bytes .../Character_Editor_With_Portrait.PNG.import | 35 + .../Content/Tutorials/Images/Dialogic_Tab.PNG | Bin 0 -> 27584 bytes .../Tutorials/Images/Dialogic_Tab.PNG.import | 35 + .../Images/Empty_Character_Editor.PNG | Bin 0 -> 43578 bytes .../Images/Empty_Character_Editor.PNG.import | 35 + .../Images/Empty_Timeline_Editor.PNG | Bin 0 -> 36649 bytes .../Images/Empty_Timeline_Editor.PNG.import | 35 + .../Tutorials/Images/Glossary_Example.PNG | Bin 0 -> 14927 bytes .../Images/Glossary_Example.PNG.import | 35 + .../Tutorials/Images/Glossary_ExampleLook.PNG | Bin 0 -> 85254 bytes .../Images/Glossary_ExampleLook.PNG.import | 35 + .../Tutorials/Images/Import_Selection.PNG | Bin 0 -> 56000 bytes .../Images/Import_Selection.PNG.import | 35 + .../Images/TimelineEditor_Example.PNG | Bin 0 -> 96974 bytes .../Images/TimelineEditor_Example.PNG.import | 35 + .../Content/Tutorials/Images/Toolbar.PNG | Bin 0 -> 3647 bytes .../Tutorials/Images/Toolbar.PNG.import | 35 + .../Content/Tutorials/Images/ValueInUse.PNG | Bin 0 -> 6697 bytes .../Tutorials/Images/ValueInUse.PNG.import | 35 + .../Tutorials/Images/Value_Example1.PNG | Bin 0 -> 3238 bytes .../Images/Value_Example1.PNG.import | 35 + .../Images/Value_ExampleTimeline.PNG | Bin 0 -> 60928 bytes .../Images/Value_ExampleTimeline.PNG.import | 35 + .../Documentation/Content/Tutorials/Saving.md | 52 + .../Content/Tutorials/Updating.md | 17 + .../Documentation/Content/Tutorials/Values.md | 19 + .../Content/Tutorials/VoiceLines.md | 20 + .../dialogic/Documentation/Content/Welcome.md | 71 + .../Documentation/Nodes/DocsMarkdownParser.gd | 202 ++ .../Documentation/Nodes/DocsPageViewer.gd | 206 ++ .../Documentation/Nodes/DocsPageViewer.tscn | 178 ++ .../Documentation/Nodes/DocsTreeHelper.gd | 224 ++ .../Documentation/Nodes/DocsTreeHelper.tscn | 11 + .../Documentation/Nodes/DocumentationTree.gd | 32 + .../Nodes/DocumentationTree.tscn | 14 + .../Nodes/DocumentationViewer.gd | 21 + .../Nodes/DocumentationViewer.tscn | 49 + .../Documentation/Theme/DocumentationH1.tres | 7 + .../Documentation/Theme/DocumentationH2.tres | 7 + .../Documentation/Theme/DocumentationH3.tres | 7 + .../Documentation/Theme/DocumentationH4.tres | 7 + .../Documentation/Theme/DocumentationH5.tres | 7 + .../Documentation/Theme/Font/LICENSE.txt | 202 ++ .../Theme/Font/NotoSans-Bold.ttf | Bin 0 -> 398652 bytes .../Theme/Font/NotoSans-BoldItalic.ttf | Bin 0 -> 285736 bytes .../Theme/Font/NotoSans-Italic.ttf | Bin 0 -> 274624 bytes .../Theme/Font/NotoSans-Regular.ttf | Bin 0 -> 398968 bytes .../Editor/CharacterEditor/CharacterEditor.gd | 374 +++ .../CharacterEditor/CharacterEditor.tscn | 547 ++++ .../Editor/CharacterEditor/PortraitEntry.gd | 55 + .../Editor/CharacterEditor/PortraitEntry.tscn | 61 + addons/dialogic/Editor/Common/SectionTitle.gd | 12 + .../dialogic/Editor/Common/SectionTitle.tscn | 20 + addons/dialogic/Editor/Common/TLabel.gd | 11 + addons/dialogic/Editor/Common/TLabel.tscn | 11 + .../DocumentationViewer.gd | 65 + .../DocumentationViewer.tscn | 42 + addons/dialogic/Editor/EditorView.gd | 196 ++ addons/dialogic/Editor/EditorView.tscn | 330 +++ addons/dialogic/Editor/Events/AudioEvent.tscn | 129 + .../Editor/Events/BackgroundMusic.tscn | 113 + addons/dialogic/Editor/Events/CallNode.tscn | 92 + .../Editor/Events/ChangeBackground.tscn | 86 + .../dialogic/Editor/Events/ChangeScene.tscn | 73 + .../Editor/Events/ChangeTimeline.tscn | 69 + addons/dialogic/Editor/Events/Character.tscn | 123 + addons/dialogic/Editor/Events/Choice.tscn | 97 + .../dialogic/Editor/Events/CloseDialog.tscn | 69 + addons/dialogic/Editor/Events/Condition.tscn | 90 + addons/dialogic/Editor/Events/DummyEvent.tscn | 75 + addons/dialogic/Editor/Events/EmitSignal.tscn | 73 + addons/dialogic/Editor/Events/EndBranch.tscn | 74 + addons/dialogic/Editor/Events/GoTo Event.tscn | 70 + addons/dialogic/Editor/Events/LabelEvent.tscn | 72 + .../dialogic/Editor/Events/NoSkipEvent.tscn | 83 + .../Events/Parts/Audio/AudioFilePicker.tscn | 50 + .../Events/Parts/Audio/AudioPicker.tscn | 151 ++ .../Parts/Audio/AudioPickerComplex.tscn | 43 + .../Parts/Audio/EventPart_AudioFilePicker.gd | 59 + .../Parts/Audio/EventPart_AudioPicker.gd | 96 + .../Audio/EventPart_AudioPickerComplex.gd | 42 + .../Parts/Audio/EventPart_VoiceEditor.gd | 95 + .../Events/Parts/Audio/VoiceEditor.tscn | 24 + .../Events/Parts/CallNode/CallNodePicker.tscn | 72 + .../CallNode/EventPart_CallNodePicker.gd | 107 + .../Parts/Character/CharacterAction.tscn | 29 + .../Character/CharacterActionSettings.tscn | 143 ++ .../Parts/Character/CharacterJoining.tscn | 75 + .../Character/EventPart_CharacterAction.gd | 84 + .../EventPart_CharacterActionSettings.gd | 163 ++ .../Character/EventPart_CharacterJoining.gd | 71 + .../Character/EventPart_PositionPicker.gd | 94 + .../Parts/Character/PositionPicker.tscn | 72 + .../Events/Parts/DummyEventDataShower.tscn | 23 + .../Events/Parts/EventBlock/ExpandControl.gd | 51 + .../Parts/EventBlock/ExpandControl.tscn | 35 + .../Events/Parts/EventBlock/PopupMenu.gd | 17 + .../Events/Parts/EventBlock/VisibleToggle.gd | 49 + .../Parts/EventBlock/VisibleToggle.tscn | 17 + .../dialogic/Editor/Events/Parts/EventPart.gd | 46 + .../Parts/EventPart_DummyEventDataShower.gd | 23 + .../Events/Parts/ExampleEventPartScript.gd | 36 + .../Events/Parts/Images/BackgroundPicker.tscn | 47 + .../Parts/Images/BackgroundPreview.tscn | 30 + .../Images/EventPart_BackgroundPicker.gd | 73 + .../Images/EventPart_BackgroundPreview.gd | 39 + .../Events/Parts/Logic/ChoicePicker.tscn | 42 + .../Events/Parts/Logic/ConditionPicker.tscn | 95 + .../Events/Parts/Logic/ConditionPickerOld.gd | 58 + .../Parts/Logic/ConditionTypePicker.tscn | 16 + .../Parts/Logic/EventPart_ChoicePicker.gd | 47 + .../Parts/Logic/EventPart_ConditionPicker.gd | 85 + .../Logic/EventPart_ConditionTypePicker.gd | 76 + .../Parts/Logic/EventPart_GoToSelector.gd | 57 + .../Parts/Logic/EventPart_LabelSetter.gd | 38 + .../Parts/Logic/EventPart_OperationPicker.gd | 71 + .../Events/Parts/Logic/EventPart_Save.gd | 53 + .../Events/Parts/Logic/EventPart_Save.tscn | 35 + .../Parts/Logic/EventPart_SetValuePicker.gd | 99 + .../Events/Parts/Logic/GoTo Selector.tscn | 23 + .../Events/Parts/Logic/LabelSetter.tscn | 33 + .../Events/Parts/Logic/OperationPicker.tscn | 15 + .../Events/Parts/Logic/SetValuePicker.tscn | 123 + .../Events/Parts/NoSkip/EventPart_NoSkip.gd | 35 + .../Events/Parts/NoSkip/NoSkipPart.tscn | 56 + .../EventPart_TransitonLengthPicker.gd | 29 + .../Parts/Numbers/TransitonLengthPicker.tscn | 35 + .../CharacterAndPortraitPicker.tscn | 39 + .../Characters/CharacterPicker.tscn | 53 + .../EventPart_CharacterAndPortraitPicker.gd | 78 + .../Characters/EventPart_CharacterPicker.gd | 156 ++ .../Characters/EventPart_PortraitPicker.gd | 170 ++ .../Characters/PortraitPicker.tscn | 115 + .../Definitions/DefinitionPicker.tscn | 22 + .../Definitions/EventPart_DefinitionPicker.gd | 79 + .../Definitions/EventPart_GlossaryPicker.gd | 79 + .../Definitions/EventPart_SetGlossary.gd | 133 + .../Definitions/GlossaryPicker.tscn | 27 + .../Definitions/SetGlossary.tscn | 87 + .../Files/EventPart_FilePicker.gd | 117 + .../ResourcePickers/Files/FilePicker.tscn | 87 + .../ResourcePickers/ResourcePickerMenu.gd | 32 + .../ResourcePickers/ResourcePickerMenu.tscn | 66 + .../Scenes/EventPart_ScenePicker.gd | 28 + .../ResourcePickers/Scenes/ScenePicker.tscn | 19 + .../Themes/EventPart_ThemePicker.gd | 78 + .../ResourcePickers/Themes/ThemePicker.tscn | 29 + .../Timelines/EventPart_TimelinePicker.gd | 79 + .../Timelines/TimelinePicker.tscn | 20 + .../Editor/Events/Parts/SpinBoxPreventDnD.gd | 8 + .../Events/Parts/Text/CustomLineEdit.gd | 16 + .../Events/Parts/Text/CustomLineEdit.tscn | 39 + .../Text/EventPart_SignalArgumentPicker.gd | 29 + .../Text/EventPart_TextAndVoicePicker.gd | 55 + .../Events/Parts/Text/EventPart_TextEditor.gd | 130 + .../Editor/Events/Parts/Text/GreyLabel.gd | 5 + .../Editor/Events/Parts/Text/GreyLabel.tscn | 13 + .../Parts/Text/SignalArgumentPicker.tscn | 32 + .../Events/Parts/Text/TextAndVoiceEditor.tscn | 26 + .../Editor/Events/Parts/Text/TextEditor.tscn | 44 + .../WaitSeconds/EventPart_WaitSeconds.gd | 49 + .../Events/Parts/WaitSeconds/WaitSeconds.tscn | 56 + addons/dialogic/Editor/Events/Question.tscn | 112 + addons/dialogic/Editor/Events/SaveEvent.tscn | 89 + .../dialogic/Editor/Events/SetGlossary.tscn | 86 + addons/dialogic/Editor/Events/SetTheme.tscn | 72 + addons/dialogic/Editor/Events/SetValue.tscn | 92 + .../Editor/Events/Templates/EventBlock.gd | 310 +++ .../Events/Templates/EventTemplate.tscn | 210 ++ addons/dialogic/Editor/Events/TextEvent.tscn | 120 + .../dialogic/Editor/Events/WaitSeconds.tscn | 74 + .../Events/styles/InputFieldsStyle.tres | 32 + .../Events/styles/ResourceMenuHover.tres | 11 + .../Events/styles/ResourceMenuNormal.tres | 13 + .../styles/ResourceMenuPanelBackground.tres | 17 + .../Editor/Events/styles/SectionPanel.tres | 17 + .../styles/SettingsFieldBackground.tres | 18 + .../Events/styles/SimpleButtonHover.tres | 17 + .../Events/styles/SimpleButtonNormal.tres | 17 + .../Editor/Events/styles/TextBackground.tres | 15 + .../Events/styles/selected_styleboxflat.tres | 12 + .../GlossaryEntryEditor.gd | 71 + .../GlossaryEntryEditor.tscn | 87 + .../Editor/MasterTree/DragPreview.tscn | 47 + .../dialogic/Editor/MasterTree/MasterTree.gd | 949 +++++++ .../Editor/MasterTree/MasterTree.tscn | 28 + .../SettingsEditor/Scenes/HistorySettings.gd | 14 + .../Scenes/HistorySettings.tscn | 341 +++ .../SettingsEditor/Scenes/SettingsCheckbox.gd | 19 + .../Scenes/SettingsCheckbox.tscn | 12 + .../Editor/SettingsEditor/SettingsEditor.gd | 449 ++++ .../Editor/SettingsEditor/SettingsEditor.tscn | 631 +++++ addons/dialogic/Editor/Theme/MainTheme.tres | 3 + addons/dialogic/Editor/Theme/PickerTheme.tres | 7 + .../Editor/ThemeEditor/AudioPicker.gd | 113 + .../Editor/ThemeEditor/AudioPicker.tscn | 146 ++ .../Editor/ThemeEditor/ButtonStylePicker.gd | 81 + .../Editor/ThemeEditor/ButtonStylePicker.tscn | 133 + .../Editor/ThemeEditor/ThemeEditor.gd | 1128 +++++++++ .../Editor/ThemeEditor/ThemeEditor.tscn | 2195 +++++++++++++++++ .../Editor/ThemeEditor/default-theme.cfg | 3 + .../Editor/TimelineEditor/EventButton.gd | 16 + .../Editor/TimelineEditor/FlexContainer.gd | 119 + .../Editor/TimelineEditor/SmallEventButton.gd | 63 + .../TimelineEditor/SmallEventButton.tscn | 70 + .../Editor/TimelineEditor/TimelineArea.gd | 209 ++ .../Editor/TimelineEditor/TimelineEditor.gd | 1124 +++++++++ .../Editor/TimelineEditor/TimelineEditor.tscn | 282 +++ .../TimelineEditor/TimelineTestingScene.gd | 13 + .../TimelineEditor/TimelineTestingScene.tscn | 6 + .../Editor/ValueEditor/ValueEditor.gd | 65 + .../Editor/ValueEditor/ValueEditor.tscn | 62 + .../CustomEvents/EventBlock.tscn | 8 + .../CustomEvents/EventPart_Example.gd | 33 + .../CustomEvents/EventPart_Example.tscn | 16 + .../CustomEvents/event_yourname_000.gd | 17 + .../Example Assets/Fonts/DefaultBoldFont.tres | 7 + .../Example Assets/Fonts/DefaultFont.tres | 7 + .../Fonts/DefaultItalicFont.tres | 7 + .../Example Assets/Fonts/GlossaryFont.tres | 7 + .../Example Assets/Fonts/NameFont.tres | 7 + .../Example Assets/Fonts/Overlock/OFL.txt | 94 + .../Fonts/Overlock/Overlock-Black.ttf | Bin 0 -> 38308 bytes .../Fonts/Overlock/Overlock-BlackItalic.ttf | Bin 0 -> 38100 bytes .../Fonts/Overlock/Overlock-Bold.ttf | Bin 0 -> 37532 bytes .../Fonts/Overlock/Overlock-BoldItalic.ttf | Bin 0 -> 39668 bytes .../Fonts/Overlock/Overlock-Italic.ttf | Bin 0 -> 38040 bytes .../Fonts/Overlock/Overlock-Regular.ttf | Bin 0 -> 44592 bytes .../Fonts/Overlock/Overlock.tres | 7 + .../History/HistoryBackground.tscn | 22 + .../History/HistoryButton-theme.tres | 40 + .../Example Assets/History/HistoryButton.tscn | 15 + .../History/HistoryReturnButton.tscn | 15 + .../Example Assets/History/HistoryRow.gd | 96 + .../Example Assets/History/HistoryRow.tscn | 74 + .../Example Assets/Sound Effects/Beep.wav | Bin 0 -> 22092 bytes .../Sound Effects/Beep.wav.import | 23 + .../Sound Effects/Keyboard Noises/LICENSE.txt | 4 + .../Sound Effects/Keyboard Noises/typing1.wav | Bin 0 -> 25516 bytes .../Keyboard Noises/typing1.wav.import | 23 + .../Sound Effects/Keyboard Noises/typing2.wav | Bin 0 -> 21932 bytes .../Keyboard Noises/typing2.wav.import | 23 + .../Sound Effects/Keyboard Noises/typing3.wav | Bin 0 -> 21356 bytes .../Keyboard Noises/typing3.wav.import | 23 + .../Sound Effects/Keyboard Noises/typing4.wav | Bin 0 -> 23404 bytes .../Keyboard Noises/typing4.wav.import | 23 + .../Sound Effects/Keyboard Noises/typing5.wav | Bin 0 -> 24876 bytes .../Keyboard Noises/typing5.wav.import | 23 + .../backgrounds/GlossaryBackground.tres | 12 + .../backgrounds/background-1.png | Bin 0 -> 43364 bytes .../backgrounds/background-1.png.import | 35 + .../backgrounds/background-2.png | Bin 0 -> 2973 bytes .../backgrounds/background-2.png.import | 35 + .../next-indicator/next-indicator.png | Bin 0 -> 2825 bytes .../next-indicator/next-indicator.png.import | 35 + .../Example Assets/portraits/df-1.png | Bin 0 -> 7501 bytes .../Example Assets/portraits/df-1.png.import | 35 + .../Example Assets/portraits/df-2.png | Bin 0 -> 7661 bytes .../Example Assets/portraits/df-2.png.import | 35 + .../Example Assets/portraits/df-3.png | Bin 0 -> 8722 bytes .../Example Assets/portraits/df-3.png.import | 35 + .../dialogic/Images/Context Menus/Remove.svg | 1 + .../Images/Context Menus/Remove.svg.import | 35 + .../Event Icons/Main Icons/audio-event.svg | 4 + .../Main Icons/audio-event.svg.import | 35 + .../Main Icons/background-music.svg | 4 + .../Main Icons/background-music.svg.import | 35 + .../Event Icons/Main Icons/call-node.svg | 4 + .../Main Icons/call-node.svg.import | 35 + .../Main Icons/change-background.svg | 4 + .../Main Icons/change-background.svg.import | 35 + .../Event Icons/Main Icons/change-scene.svg | 4 + .../Main Icons/change-scene.svg.import | 35 + .../Main Icons/change-timeline.svg | 4 + .../Main Icons/change-timeline.svg.import | 35 + .../Event Icons/Main Icons/character.svg | 4 + .../Main Icons/character.svg.import | 35 + .../Images/Event Icons/Main Icons/choice.svg | 6 + .../Event Icons/Main Icons/choice.svg.import | 35 + .../Event Icons/Main Icons/close-dialog.svg | 4 + .../Main Icons/close-dialog.svg.import | 35 + .../Event Icons/Main Icons/condition.svg | 4 + .../Main Icons/condition.svg.import | 35 + .../Event Icons/Main Icons/custom-event.svg | 5 + .../Main Icons/custom-event.svg.import | 35 + .../Event Icons/Main Icons/emit-signal.svg | 3 + .../Main Icons/emit-signal.svg.import | 35 + .../Event Icons/Main Icons/end-branch.svg | 6 + .../Main Icons/end-branch.svg.import | 35 + .../Images/Event Icons/Main Icons/go-to.svg | 4 + .../Event Icons/Main Icons/go-to.svg.import | 35 + .../Images/Event Icons/Main Icons/label.svg | 3 + .../Event Icons/Main Icons/label.svg.import | 35 + .../Event Icons/Main Icons/question.svg | 3 + .../Main Icons/question.svg.import | 35 + .../Event Icons/Main Icons/save-icon.svg | 4 + .../Main Icons/save-icon.svg.import | 35 + .../Event Icons/Main Icons/set-glossary.svg | 3 + .../Main Icons/set-glossary.svg.import | 35 + .../Event Icons/Main Icons/set-theme.svg | 3 + .../Main Icons/set-theme.svg.import | 35 + .../Event Icons/Main Icons/set-value.svg | 3 + .../Main Icons/set-value.svg.import | 35 + .../Event Icons/Main Icons/text-event.svg | 3 + .../Main Icons/text-event.svg.import | 35 + .../Event Icons/Main Icons/wait-seconds.svg | 3 + .../Main Icons/wait-seconds.svg.import | 35 + .../dialogic/Images/Event Icons/Portrait.svg | 3 + .../Images/Event Icons/Portrait.svg.import | 35 + .../Images/Event Icons/character-join.svg | 5 + .../Event Icons/character-join.svg.import | 35 + .../Images/Event Icons/character-leave.svg | 5 + .../Event Icons/character-leave.svg.import | 35 + .../dialogic/Images/Event Icons/character.svg | 4 + .../Images/Event Icons/character.svg.import | 35 + .../Images/Event Icons/event-outline.svg | 3 + .../Event Icons/event-outline.svg.import | 35 + .../Images/Event Icons/event-solid.svg | 3 + .../Images/Event Icons/event-solid.svg.import | 35 + addons/dialogic/Images/Event Icons/label.svg | 3 + .../Images/Event Icons/label.svg.import | 35 + .../dialogic/Images/Event Icons/warning.svg | 3 + .../Images/Event Icons/warning.svg.import | 35 + addons/dialogic/Images/Pieces/closed-icon.svg | 3 + .../Images/Pieces/closed-icon.svg.import | 35 + addons/dialogic/Images/Pieces/expand-icon.svg | 5 + .../Images/Pieces/expand-icon.svg.import | 35 + addons/dialogic/Images/Pieces/open-icon.svg | 3 + .../Images/Pieces/open-icon.svg.import | 35 + addons/dialogic/Images/Plugin/placeholder.png | Bin 0 -> 1087 bytes .../Images/Plugin/placeholder.png.import | 35 + .../plugin-editor-icon-dark-theme-0.75.svg | 3 + ...gin-editor-icon-dark-theme-0.75.svg.import | 35 + .../plugin-editor-icon-dark-theme-1.25.svg | 3 + ...gin-editor-icon-dark-theme-1.25.svg.import | 35 + .../plugin-editor-icon-dark-theme-1.5.svg | 3 + ...ugin-editor-icon-dark-theme-1.5.svg.import | 35 + .../plugin-editor-icon-dark-theme-1.75.svg | 3 + ...gin-editor-icon-dark-theme-1.75.svg.import | 35 + .../plugin-editor-icon-dark-theme-1.svg | 3 + ...plugin-editor-icon-dark-theme-1.svg.import | 35 + .../plugin-editor-icon-dark-theme-2.svg | 3 + ...plugin-editor-icon-dark-theme-2.svg.import | 35 + .../Plugin/plugin-editor-icon-dark-theme.svg | 3 + .../plugin-editor-icon-dark-theme.svg.import | 35 + .../plugin-editor-icon-light-theme-0.75.svg | 3 + ...in-editor-icon-light-theme-0.75.svg.import | 35 + .../plugin-editor-icon-light-theme-1.25.svg | 3 + ...in-editor-icon-light-theme-1.25.svg.import | 35 + .../plugin-editor-icon-light-theme-1.5.svg | 3 + ...gin-editor-icon-light-theme-1.5.svg.import | 35 + .../plugin-editor-icon-light-theme-1.75.svg | 3 + ...in-editor-icon-light-theme-1.75.svg.import | 35 + .../plugin-editor-icon-light-theme-1.svg | 3 + ...lugin-editor-icon-light-theme-1.svg.import | 35 + .../plugin-editor-icon-light-theme-2.svg | 3 + ...lugin-editor-icon-light-theme-2.svg.import | 35 + .../Plugin/plugin-editor-icon-light-theme.svg | 3 + .../plugin-editor-icon-light-theme.svg.import | 35 + .../dialogic/Images/Plugin/white-texture.png | Bin 0 -> 131 bytes .../Images/Plugin/white-texture.png.import | 35 + .../Images/Resources/character-1.25.svg | 4 + .../Resources/character-1.25.svg.import | 35 + .../dialogic/Images/Resources/character-2.svg | 4 + .../Images/Resources/character-2.svg.import | 35 + .../dialogic/Images/Resources/character.svg | 4 + .../Images/Resources/character.svg.import | 35 + .../Images/Resources/definition-1.25.svg | 3 + .../Resources/definition-1.25.svg.import | 35 + .../Images/Resources/definition-2.svg | 3 + .../Images/Resources/definition-2.svg.import | 35 + .../dialogic/Images/Resources/definition.svg | 3 + .../Images/Resources/definition.svg.import | 35 + .../dialogic/Images/Resources/theme-1.25.svg | 4 + .../Images/Resources/theme-1.25.svg.import | 35 + addons/dialogic/Images/Resources/theme-2.svg | 4 + .../Images/Resources/theme-2.svg.import | 35 + addons/dialogic/Images/Resources/theme.svg | 4 + .../Images/Resources/theme.svg.import | 35 + .../Images/Resources/timeline-1.25.svg | 6 + .../Images/Resources/timeline-1.25.svg.import | 35 + .../dialogic/Images/Resources/timeline-2.svg | 6 + .../Images/Resources/timeline-2.svg.import | 35 + addons/dialogic/Images/Resources/timeline.svg | 7 + .../Images/Resources/timeline.svg.import | 35 + .../Images/Toolbar/add-character-1.25.svg | 4 + .../Toolbar/add-character-1.25.svg.import | 35 + .../Images/Toolbar/add-character-2.svg | 4 + .../Images/Toolbar/add-character-2.svg.import | 35 + .../dialogic/Images/Toolbar/add-character.svg | 4 + .../Images/Toolbar/add-character.svg.import | 35 + .../Images/Toolbar/add-definition-1.25.svg | 4 + .../Toolbar/add-definition-1.25.svg.import | 35 + .../Images/Toolbar/add-definition-2.svg | 4 + .../Toolbar/add-definition-2.svg.import | 35 + .../Images/Toolbar/add-definition.svg | 4 + .../Images/Toolbar/add-definition.svg.import | 35 + .../Images/Toolbar/add-glossary-1.25.svg | 4 + .../Toolbar/add-glossary-1.25.svg.import | 35 + .../Images/Toolbar/add-glossary-2.svg | 4 + .../Images/Toolbar/add-glossary-2.svg.import | 35 + .../dialogic/Images/Toolbar/add-glossary.svg | 4 + .../Images/Toolbar/add-glossary.svg.import | 35 + .../Images/Toolbar/add-theme-1.25.svg | 5 + .../Images/Toolbar/add-theme-1.25.svg.import | 35 + .../dialogic/Images/Toolbar/add-theme-2.svg | 5 + .../Images/Toolbar/add-theme-2.svg.import | 35 + addons/dialogic/Images/Toolbar/add-theme.svg | 5 + .../Images/Toolbar/add-theme.svg.import | 35 + .../Images/Toolbar/add-timeline-1.25.svg | 7 + .../Toolbar/add-timeline-1.25.svg.import | 35 + .../Images/Toolbar/add-timeline-2.svg | 7 + .../Images/Toolbar/add-timeline-2.svg.import | 35 + .../dialogic/Images/Toolbar/add-timeline.svg | 7 + .../Images/Toolbar/add-timeline.svg.import | 35 + .../dialogic/Images/Tutorials/arrow-down.svg | 3 + .../Images/Tutorials/arrow-down.svg.import | 35 + addons/dialogic/Localization/dialogic.csv | 184 ++ .../dialogic/Localization/dialogic.csv.import | 16 + .../Localization/translation_service.gd | 60 + addons/dialogic/Nodes/Anima/AnimaLicense.md | 7 + .../Anima/DialogicAnimaPropertiesHelper.gd | 318 +++ .../Nodes/Anima/DialogicAnimaResources.gd | 83 + .../Nodes/Anima/DialogicAnimaTween.gd | 574 +++++ .../animations/attention_seeker/bounce.gd | 29 + .../animations/attention_seeker/flash.gd | 10 + .../animations/attention_seeker/headshake.gd | 27 + .../animations/attention_seeker/heartbeat.gd | 14 + .../animations/attention_seeker/jello.gd | 32 + .../animations/attention_seeker/pulse.gd | 12 + .../attention_seeker/rubber_band.gd | 15 + .../animations/attention_seeker/shake_x.gd | 16 + .../animations/attention_seeker/shake_y.gd | 16 + .../animations/attention_seeker/swing.gd | 12 + .../Anima/animations/attention_seeker/tada.gd | 22 + .../animations/attention_seeker/wobble.gd | 28 + .../entrances_and_exits/1-fade_in.gd | 5 + .../entrances_and_exits/2-fade_in_up.gd | 14 + .../entrances_and_exits/3-fade_in_up_big.gd | 14 + .../entrances_and_exits/4-fade_out.gd | 6 + .../entrances_and_exits/5-fade_out_down.gd | 13 + .../6-fade_out_down_big.gd | 12 + .../entrances_and_exits/back_in_down.gd | 25 + .../entrances_and_exits/back_in_left.gd | 25 + .../entrances_and_exits/back_in_right.gd | 25 + .../entrances_and_exits/back_in_up.gd | 25 + .../entrances_and_exits/back_out_down.gd | 25 + .../entrances_and_exits/back_out_left.gd | 25 + .../entrances_and_exits/back_out_right.gd | 25 + .../entrances_and_exits/back_out_up.gd | 25 + .../entrances_and_exits/bounce_out.gd | 22 + .../entrances_and_exits/bouncing_in.gd | 21 + .../entrances_and_exits/instant_in.gd | 5 + .../entrances_and_exits/instant_out.gd | 5 + .../entrances_and_exits/slide_in_left.gd | 19 + .../entrances_and_exits/slide_in_right.gd | 25 + .../entrances_and_exits/slide_out_left.gd | 17 + .../entrances_and_exits/slide_out_right.gd | 17 + addons/dialogic/Nodes/Background.gd | 48 + addons/dialogic/Nodes/Background.tscn | 9 + addons/dialogic/Nodes/BackgroundMusic.gd | 62 + addons/dialogic/Nodes/BackgroundMusic.tscn | 19 + addons/dialogic/Nodes/CharacterVoice.gd | 51 + addons/dialogic/Nodes/ChoiceButton.gd | 10 + addons/dialogic/Nodes/ChoiceButton.tscn | 12 + addons/dialogic/Nodes/DialogNode.gd | 1576 ++++++++++++ addons/dialogic/Nodes/DialogNode.tscn | 184 ++ addons/dialogic/Nodes/DialogProxy.gd | 52 + addons/dialogic/Nodes/DialogicCustomEvents.gd | 75 + addons/dialogic/Nodes/History.gd | 311 +++ addons/dialogic/Nodes/History.tscn | 54 + addons/dialogic/Nodes/Portrait.gd | 204 ++ addons/dialogic/Nodes/Portrait.tscn | 24 + addons/dialogic/Nodes/TextBubble.gd | 332 +++ addons/dialogic/Nodes/TextBubble.tscn | 194 ++ addons/dialogic/Nodes/canvas_dialog_node.gd | 84 + addons/dialogic/Nodes/glossary_info.gd | 66 + .../Nodes/random_audio_stream_player.gd | 91 + addons/dialogic/Other/DialogicClass.gd | 548 ++++ .../dialogic/Other/DialogicDefinitionsUtil.gd | 72 + addons/dialogic/Other/DialogicResources.gd | 461 ++++ addons/dialogic/Other/DialogicSharp.cs | 127 + addons/dialogic/Other/DialogicUtil.gd | 631 +++++ addons/dialogic/Other/export_plugin.gd | 28 + .../Other/inspector_timeline_picker.gd | 36 + addons/dialogic/Other/timeline_picker.gd | 109 + addons/dialogic/Parser/DialogicParser.gd | 236 ++ addons/dialogic/plugin.cfg | 8 + addons/dialogic/plugin.gd | 75 + dialogic/characters/character-1660444172.json | 21 + dialogic/definitions.json | 0 dialogic/folder_structure.json | 56 + dialogic/settings.cfg | 15 + dialogic/themes/default-theme.cfg | 18 + dialogic/timelines/timeline-1660443870.json | 21 + dialogic/timelines/timeline-1660444277.json | 10 + 603 files changed, 34501 insertions(+) create mode 100644 addons/dialogic/Dialog.tscn create mode 100644 addons/dialogic/Documentation/Content/Changelog.md create mode 100644 addons/dialogic/Documentation/Content/Events/001.md create mode 100644 addons/dialogic/Documentation/Content/Events/002.md create mode 100644 addons/dialogic/Documentation/Content/Events/010.md create mode 100644 addons/dialogic/Documentation/Content/Events/011.md create mode 100644 addons/dialogic/Documentation/Content/Events/012.md create mode 100644 addons/dialogic/Documentation/Content/Events/013.md create mode 100644 addons/dialogic/Documentation/Content/Events/014.md create mode 100644 addons/dialogic/Documentation/Content/Events/030.md create mode 100644 addons/dialogic/Documentation/Content/Events/040.md create mode 100644 addons/dialogic/Documentation/Content/Events/041.md create mode 100644 addons/dialogic/Documentation/Content/Events/042.md create mode 100644 addons/dialogic/Documentation/Content/Events/CustomEvents/CreateCustomEvents.md create mode 100644 addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CreationProcess.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CreationProcess.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CustomEventsShowOff.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CustomEventsShowOff.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock.png create mode 100644 addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock.png.import create mode 100644 addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock_EventData.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock_EventData.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/CustomEvents/ImportCustomEvents.md create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Change_Timeline.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Change_Timeline.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Character_Update.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Character_Update.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Condition_in_use.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Condition_in_use.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Emit_Signal.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Emit_Signal.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_End_Branch.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_End_Branch.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Question.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Question.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Question_in_use.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Question_in_use.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Theme.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Theme.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value_random.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value_random.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Wait_Seconds.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Wait_Seconds.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/audio_event.png create mode 100644 addons/dialogic/Documentation/Content/Events/Images/audio_event.png.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/text_event_1.png create mode 100644 addons/dialogic/Documentation/Content/Events/Images/text_event_1.png.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/text_event_2.png create mode 100644 addons/dialogic/Documentation/Content/Events/Images/text_event_2.png.import create mode 100644 addons/dialogic/Documentation/Content/FAQ/CSharp.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/Signals.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/can-i-use-dialogic-in-my-project.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/create-timeline-using-gdscript.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/custom-portraits.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/how-to-make-dialog-show-up-in-game.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/input.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/plugin-shipped-godot.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/portraits-not-showing.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/resolution-small-dialog-big.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/touch-support-tutorial.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/why-not-graph-nodes.md create mode 100644 addons/dialogic/Documentation/Content/Images/dialogic-hero-1.3.png create mode 100644 addons/dialogic/Documentation/Content/Images/dialogic-hero-1.3.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/000.md create mode 100644 addons/dialogic/Documentation/Content/Reference/001.md create mode 100644 addons/dialogic/Documentation/Content/Reference/Character.md create mode 100644 addons/dialogic/Documentation/Content/Reference/History.md create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_button_positions.png create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_button_positions.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_character_color_example.png create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_character_color_example.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_log_margin.png create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_log_margin.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_row_scene_tree.png create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_row_scene_tree.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_row_script_variables.png create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_row_script_variables.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_scene_tree.png create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_scene_tree.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_screen_margin.png create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_screen_margin.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_script_variables.png create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_script_variables.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_settings_explained.png create mode 100644 addons/dialogic/Documentation/Content/Reference/Images/history_settings_explained.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/Theme.md create mode 100644 addons/dialogic/Documentation/Content/Reference/Timeline.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/AddingNewAnimations.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/BeginnersGuideStepByStep.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/GettingStarted.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Character_Editor_With_Portrait.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Character_Editor_With_Portrait.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Dialogic_Tab.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Dialogic_Tab.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Character_Editor.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Character_Editor.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Timeline_Editor.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Timeline_Editor.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Import_Selection.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Import_Selection.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/ValueInUse.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/ValueInUse.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Value_Example1.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Value_Example1.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Value_ExampleTimeline.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Value_ExampleTimeline.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Saving.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Updating.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Values.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/VoiceLines.md create mode 100644 addons/dialogic/Documentation/Content/Welcome.md create mode 100644 addons/dialogic/Documentation/Nodes/DocsMarkdownParser.gd create mode 100644 addons/dialogic/Documentation/Nodes/DocsPageViewer.gd create mode 100644 addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn create mode 100644 addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd create mode 100644 addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn create mode 100644 addons/dialogic/Documentation/Nodes/DocumentationTree.gd create mode 100644 addons/dialogic/Documentation/Nodes/DocumentationTree.tscn create mode 100644 addons/dialogic/Documentation/Nodes/DocumentationViewer.gd create mode 100644 addons/dialogic/Documentation/Nodes/DocumentationViewer.tscn create mode 100644 addons/dialogic/Documentation/Theme/DocumentationH1.tres create mode 100644 addons/dialogic/Documentation/Theme/DocumentationH2.tres create mode 100644 addons/dialogic/Documentation/Theme/DocumentationH3.tres create mode 100644 addons/dialogic/Documentation/Theme/DocumentationH4.tres create mode 100644 addons/dialogic/Documentation/Theme/DocumentationH5.tres create mode 100644 addons/dialogic/Documentation/Theme/Font/LICENSE.txt create mode 100644 addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf create mode 100644 addons/dialogic/Documentation/Theme/Font/NotoSans-BoldItalic.ttf create mode 100644 addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf create mode 100644 addons/dialogic/Documentation/Theme/Font/NotoSans-Regular.ttf create mode 100644 addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd create mode 100644 addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn create mode 100644 addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd create mode 100644 addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn create mode 100644 addons/dialogic/Editor/Common/SectionTitle.gd create mode 100644 addons/dialogic/Editor/Common/SectionTitle.tscn create mode 100644 addons/dialogic/Editor/Common/TLabel.gd create mode 100644 addons/dialogic/Editor/Common/TLabel.tscn create mode 100644 addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd create mode 100644 addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn create mode 100644 addons/dialogic/Editor/EditorView.gd create mode 100644 addons/dialogic/Editor/EditorView.tscn create mode 100644 addons/dialogic/Editor/Events/AudioEvent.tscn create mode 100644 addons/dialogic/Editor/Events/BackgroundMusic.tscn create mode 100644 addons/dialogic/Editor/Events/CallNode.tscn create mode 100644 addons/dialogic/Editor/Events/ChangeBackground.tscn create mode 100644 addons/dialogic/Editor/Events/ChangeScene.tscn create mode 100644 addons/dialogic/Editor/Events/ChangeTimeline.tscn create mode 100644 addons/dialogic/Editor/Events/Character.tscn create mode 100644 addons/dialogic/Editor/Events/Choice.tscn create mode 100644 addons/dialogic/Editor/Events/CloseDialog.tscn create mode 100644 addons/dialogic/Editor/Events/Condition.tscn create mode 100644 addons/dialogic/Editor/Events/DummyEvent.tscn create mode 100644 addons/dialogic/Editor/Events/EmitSignal.tscn create mode 100644 addons/dialogic/Editor/Events/EndBranch.tscn create mode 100644 addons/dialogic/Editor/Events/GoTo Event.tscn create mode 100644 addons/dialogic/Editor/Events/LabelEvent.tscn create mode 100644 addons/dialogic/Editor/Events/NoSkipEvent.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/AudioFilePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioFilePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPickerComplex.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/EventPart_VoiceEditor.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/VoiceEditor.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Character/CharacterAction.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Character/CharacterActionSettings.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Character/CharacterJoining.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterAction.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterActionSettings.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterJoining.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Character/EventPart_PositionPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Character/PositionPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.gd create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/PopupMenu.gd create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.gd create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/EventPart.gd create mode 100644 addons/dialogic/Editor/Events/Parts/EventPart_DummyEventDataShower.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ExampleEventPartScript.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPreview.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/ConditionPickerOld.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/ConditionTypePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_ChoicePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionTypePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_GoToSelector.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_LabelSetter.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_OperationPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_SetValuePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/GoTo Selector.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/LabelSetter.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/OperationPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/SetValuePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/NoSkip/EventPart_NoSkip.gd create mode 100644 addons/dialogic/Editor/Events/Parts/NoSkip/NoSkipPart.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Numbers/EventPart_TransitonLengthPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterAndPortraitPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PortraitPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PortraitPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_DefinitionPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_GlossaryPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_SetGlossary.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/GlossaryPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/SetGlossary.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/EventPart_FilePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/FilePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/EventPart_ScenePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/EventPart_ThemePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/ThemePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/EventPart_TimelinePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Text/EventPart_SignalArgumentPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Text/EventPart_TextAndVoicePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Text/EventPart_TextEditor.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Text/GreyLabel.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Text/TextEditor.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/WaitSeconds/EventPart_WaitSeconds.gd create mode 100644 addons/dialogic/Editor/Events/Parts/WaitSeconds/WaitSeconds.tscn create mode 100644 addons/dialogic/Editor/Events/Question.tscn create mode 100644 addons/dialogic/Editor/Events/SaveEvent.tscn create mode 100644 addons/dialogic/Editor/Events/SetGlossary.tscn create mode 100644 addons/dialogic/Editor/Events/SetTheme.tscn create mode 100644 addons/dialogic/Editor/Events/SetValue.tscn create mode 100644 addons/dialogic/Editor/Events/Templates/EventBlock.gd create mode 100644 addons/dialogic/Editor/Events/Templates/EventTemplate.tscn create mode 100644 addons/dialogic/Editor/Events/TextEvent.tscn create mode 100644 addons/dialogic/Editor/Events/WaitSeconds.tscn create mode 100644 addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres create mode 100644 addons/dialogic/Editor/Events/styles/ResourceMenuHover.tres create mode 100644 addons/dialogic/Editor/Events/styles/ResourceMenuNormal.tres create mode 100644 addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres create mode 100644 addons/dialogic/Editor/Events/styles/SectionPanel.tres create mode 100644 addons/dialogic/Editor/Events/styles/SettingsFieldBackground.tres create mode 100644 addons/dialogic/Editor/Events/styles/SimpleButtonHover.tres create mode 100644 addons/dialogic/Editor/Events/styles/SimpleButtonNormal.tres create mode 100644 addons/dialogic/Editor/Events/styles/TextBackground.tres create mode 100644 addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres create mode 100644 addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.gd create mode 100644 addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn create mode 100644 addons/dialogic/Editor/MasterTree/DragPreview.tscn create mode 100644 addons/dialogic/Editor/MasterTree/MasterTree.gd create mode 100644 addons/dialogic/Editor/MasterTree/MasterTree.tscn create mode 100644 addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.gd create mode 100644 addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.tscn create mode 100644 addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.gd create mode 100644 addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.tscn create mode 100644 addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd create mode 100644 addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn create mode 100644 addons/dialogic/Editor/Theme/MainTheme.tres create mode 100644 addons/dialogic/Editor/Theme/PickerTheme.tres create mode 100644 addons/dialogic/Editor/ThemeEditor/AudioPicker.gd create mode 100644 addons/dialogic/Editor/ThemeEditor/AudioPicker.tscn create mode 100644 addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.gd create mode 100644 addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.tscn create mode 100644 addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd create mode 100644 addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn create mode 100644 addons/dialogic/Editor/ThemeEditor/default-theme.cfg create mode 100644 addons/dialogic/Editor/TimelineEditor/EventButton.gd create mode 100644 addons/dialogic/Editor/TimelineEditor/FlexContainer.gd create mode 100644 addons/dialogic/Editor/TimelineEditor/SmallEventButton.gd create mode 100644 addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn create mode 100644 addons/dialogic/Editor/TimelineEditor/TimelineArea.gd create mode 100644 addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd create mode 100644 addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn create mode 100644 addons/dialogic/Editor/TimelineEditor/TimelineTestingScene.gd create mode 100644 addons/dialogic/Editor/TimelineEditor/TimelineTestingScene.tscn create mode 100644 addons/dialogic/Editor/ValueEditor/ValueEditor.gd create mode 100644 addons/dialogic/Editor/ValueEditor/ValueEditor.tscn create mode 100644 addons/dialogic/Example Assets/CustomEvents/EventBlock.tscn create mode 100644 addons/dialogic/Example Assets/CustomEvents/EventPart_Example.gd create mode 100644 addons/dialogic/Example Assets/CustomEvents/EventPart_Example.tscn create mode 100644 addons/dialogic/Example Assets/CustomEvents/event_yourname_000.gd create mode 100644 addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres create mode 100644 addons/dialogic/Example Assets/Fonts/DefaultFont.tres create mode 100644 addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres create mode 100644 addons/dialogic/Example Assets/Fonts/GlossaryFont.tres create mode 100644 addons/dialogic/Example Assets/Fonts/NameFont.tres create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/OFL.txt create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BlackItalic.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Bold.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BoldItalic.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Italic.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Regular.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock.tres create mode 100644 addons/dialogic/Example Assets/History/HistoryBackground.tscn create mode 100644 addons/dialogic/Example Assets/History/HistoryButton-theme.tres create mode 100644 addons/dialogic/Example Assets/History/HistoryButton.tscn create mode 100644 addons/dialogic/Example Assets/History/HistoryReturnButton.tscn create mode 100644 addons/dialogic/Example Assets/History/HistoryRow.gd create mode 100644 addons/dialogic/Example Assets/History/HistoryRow.tscn create mode 100644 addons/dialogic/Example Assets/Sound Effects/Beep.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Beep.wav.import create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/LICENSE.txt create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav.import create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing2.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing2.wav.import create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav.import create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing4.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing4.wav.import create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav.import create mode 100644 addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres create mode 100644 addons/dialogic/Example Assets/backgrounds/background-1.png create mode 100644 addons/dialogic/Example Assets/backgrounds/background-1.png.import create mode 100644 addons/dialogic/Example Assets/backgrounds/background-2.png create mode 100644 addons/dialogic/Example Assets/backgrounds/background-2.png.import create mode 100644 addons/dialogic/Example Assets/next-indicator/next-indicator.png create mode 100644 addons/dialogic/Example Assets/next-indicator/next-indicator.png.import create mode 100644 addons/dialogic/Example Assets/portraits/df-1.png create mode 100644 addons/dialogic/Example Assets/portraits/df-1.png.import create mode 100644 addons/dialogic/Example Assets/portraits/df-2.png create mode 100644 addons/dialogic/Example Assets/portraits/df-2.png.import create mode 100644 addons/dialogic/Example Assets/portraits/df-3.png create mode 100644 addons/dialogic/Example Assets/portraits/df-3.png.import create mode 100644 addons/dialogic/Images/Context Menus/Remove.svg create mode 100644 addons/dialogic/Images/Context Menus/Remove.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/background-music.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/background-music.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/call-node.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/call-node.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-background.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-background.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/character.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/character.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/choice.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/choice.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/condition.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/condition.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/go-to.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/go-to.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/label.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/label.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/question.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/question.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-value.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-value.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/text-event.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/text-event.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Portrait.svg create mode 100644 addons/dialogic/Images/Event Icons/Portrait.svg.import create mode 100644 addons/dialogic/Images/Event Icons/character-join.svg create mode 100644 addons/dialogic/Images/Event Icons/character-join.svg.import create mode 100644 addons/dialogic/Images/Event Icons/character-leave.svg create mode 100644 addons/dialogic/Images/Event Icons/character-leave.svg.import create mode 100644 addons/dialogic/Images/Event Icons/character.svg create mode 100644 addons/dialogic/Images/Event Icons/character.svg.import create mode 100644 addons/dialogic/Images/Event Icons/event-outline.svg create mode 100644 addons/dialogic/Images/Event Icons/event-outline.svg.import create mode 100644 addons/dialogic/Images/Event Icons/event-solid.svg create mode 100644 addons/dialogic/Images/Event Icons/event-solid.svg.import create mode 100644 addons/dialogic/Images/Event Icons/label.svg create mode 100644 addons/dialogic/Images/Event Icons/label.svg.import create mode 100644 addons/dialogic/Images/Event Icons/warning.svg create mode 100644 addons/dialogic/Images/Event Icons/warning.svg.import create mode 100644 addons/dialogic/Images/Pieces/closed-icon.svg create mode 100644 addons/dialogic/Images/Pieces/closed-icon.svg.import create mode 100644 addons/dialogic/Images/Pieces/expand-icon.svg create mode 100644 addons/dialogic/Images/Pieces/expand-icon.svg.import create mode 100644 addons/dialogic/Images/Pieces/open-icon.svg create mode 100644 addons/dialogic/Images/Pieces/open-icon.svg.import create mode 100644 addons/dialogic/Images/Plugin/placeholder.png create mode 100644 addons/dialogic/Images/Plugin/placeholder.png.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg.import create mode 100644 addons/dialogic/Images/Plugin/white-texture.png create mode 100644 addons/dialogic/Images/Plugin/white-texture.png.import create mode 100644 addons/dialogic/Images/Resources/character-1.25.svg create mode 100644 addons/dialogic/Images/Resources/character-1.25.svg.import create mode 100644 addons/dialogic/Images/Resources/character-2.svg create mode 100644 addons/dialogic/Images/Resources/character-2.svg.import create mode 100644 addons/dialogic/Images/Resources/character.svg create mode 100644 addons/dialogic/Images/Resources/character.svg.import create mode 100644 addons/dialogic/Images/Resources/definition-1.25.svg create mode 100644 addons/dialogic/Images/Resources/definition-1.25.svg.import create mode 100644 addons/dialogic/Images/Resources/definition-2.svg create mode 100644 addons/dialogic/Images/Resources/definition-2.svg.import create mode 100644 addons/dialogic/Images/Resources/definition.svg create mode 100644 addons/dialogic/Images/Resources/definition.svg.import create mode 100644 addons/dialogic/Images/Resources/theme-1.25.svg create mode 100644 addons/dialogic/Images/Resources/theme-1.25.svg.import create mode 100644 addons/dialogic/Images/Resources/theme-2.svg create mode 100644 addons/dialogic/Images/Resources/theme-2.svg.import create mode 100644 addons/dialogic/Images/Resources/theme.svg create mode 100644 addons/dialogic/Images/Resources/theme.svg.import create mode 100644 addons/dialogic/Images/Resources/timeline-1.25.svg create mode 100644 addons/dialogic/Images/Resources/timeline-1.25.svg.import create mode 100644 addons/dialogic/Images/Resources/timeline-2.svg create mode 100644 addons/dialogic/Images/Resources/timeline-2.svg.import create mode 100644 addons/dialogic/Images/Resources/timeline.svg create mode 100644 addons/dialogic/Images/Resources/timeline.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-character-1.25.svg create mode 100644 addons/dialogic/Images/Toolbar/add-character-1.25.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-character-2.svg create mode 100644 addons/dialogic/Images/Toolbar/add-character-2.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-character.svg create mode 100644 addons/dialogic/Images/Toolbar/add-character.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-definition-1.25.svg create mode 100644 addons/dialogic/Images/Toolbar/add-definition-1.25.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-definition-2.svg create mode 100644 addons/dialogic/Images/Toolbar/add-definition-2.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-definition.svg create mode 100644 addons/dialogic/Images/Toolbar/add-definition.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-glossary-1.25.svg create mode 100644 addons/dialogic/Images/Toolbar/add-glossary-1.25.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-glossary-2.svg create mode 100644 addons/dialogic/Images/Toolbar/add-glossary-2.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-glossary.svg create mode 100644 addons/dialogic/Images/Toolbar/add-glossary.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-theme-1.25.svg create mode 100644 addons/dialogic/Images/Toolbar/add-theme-1.25.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-theme-2.svg create mode 100644 addons/dialogic/Images/Toolbar/add-theme-2.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-theme.svg create mode 100644 addons/dialogic/Images/Toolbar/add-theme.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-timeline-1.25.svg create mode 100644 addons/dialogic/Images/Toolbar/add-timeline-1.25.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-timeline-2.svg create mode 100644 addons/dialogic/Images/Toolbar/add-timeline-2.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-timeline.svg create mode 100644 addons/dialogic/Images/Toolbar/add-timeline.svg.import create mode 100644 addons/dialogic/Images/Tutorials/arrow-down.svg create mode 100644 addons/dialogic/Images/Tutorials/arrow-down.svg.import create mode 100644 addons/dialogic/Localization/dialogic.csv create mode 100644 addons/dialogic/Localization/dialogic.csv.import create mode 100644 addons/dialogic/Localization/translation_service.gd create mode 100644 addons/dialogic/Nodes/Anima/AnimaLicense.md create mode 100644 addons/dialogic/Nodes/Anima/DialogicAnimaPropertiesHelper.gd create mode 100644 addons/dialogic/Nodes/Anima/DialogicAnimaResources.gd create mode 100644 addons/dialogic/Nodes/Anima/DialogicAnimaTween.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/bounce.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/flash.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/headshake.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/heartbeat.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/jello.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/pulse.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/rubber_band.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/shake_x.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/shake_y.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/swing.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/tada.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/attention_seeker/wobble.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/1-fade_in.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/2-fade_in_up.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/3-fade_in_up_big.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/4-fade_out.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/5-fade_out_down.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/6-fade_out_down_big.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_down.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_left.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_right.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_up.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_down.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_left.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_right.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_up.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/bounce_out.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/bouncing_in.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/instant_in.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/instant_out.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_in_left.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_in_right.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_out_left.gd create mode 100644 addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_out_right.gd create mode 100644 addons/dialogic/Nodes/Background.gd create mode 100644 addons/dialogic/Nodes/Background.tscn create mode 100644 addons/dialogic/Nodes/BackgroundMusic.gd create mode 100644 addons/dialogic/Nodes/BackgroundMusic.tscn create mode 100644 addons/dialogic/Nodes/CharacterVoice.gd create mode 100644 addons/dialogic/Nodes/ChoiceButton.gd create mode 100644 addons/dialogic/Nodes/ChoiceButton.tscn create mode 100644 addons/dialogic/Nodes/DialogNode.gd create mode 100644 addons/dialogic/Nodes/DialogNode.tscn create mode 100644 addons/dialogic/Nodes/DialogProxy.gd create mode 100644 addons/dialogic/Nodes/DialogicCustomEvents.gd create mode 100644 addons/dialogic/Nodes/History.gd create mode 100644 addons/dialogic/Nodes/History.tscn create mode 100644 addons/dialogic/Nodes/Portrait.gd create mode 100644 addons/dialogic/Nodes/Portrait.tscn create mode 100644 addons/dialogic/Nodes/TextBubble.gd create mode 100644 addons/dialogic/Nodes/TextBubble.tscn create mode 100644 addons/dialogic/Nodes/canvas_dialog_node.gd create mode 100644 addons/dialogic/Nodes/glossary_info.gd create mode 100644 addons/dialogic/Nodes/random_audio_stream_player.gd create mode 100644 addons/dialogic/Other/DialogicClass.gd create mode 100644 addons/dialogic/Other/DialogicDefinitionsUtil.gd create mode 100644 addons/dialogic/Other/DialogicResources.gd create mode 100644 addons/dialogic/Other/DialogicSharp.cs create mode 100644 addons/dialogic/Other/DialogicUtil.gd create mode 100644 addons/dialogic/Other/export_plugin.gd create mode 100644 addons/dialogic/Other/inspector_timeline_picker.gd create mode 100644 addons/dialogic/Other/timeline_picker.gd create mode 100644 addons/dialogic/Parser/DialogicParser.gd create mode 100644 addons/dialogic/plugin.cfg create mode 100644 addons/dialogic/plugin.gd create mode 100644 dialogic/characters/character-1660444172.json create mode 100644 dialogic/definitions.json create mode 100644 dialogic/folder_structure.json create mode 100644 dialogic/settings.cfg create mode 100644 dialogic/themes/default-theme.cfg create mode 100644 dialogic/timelines/timeline-1660443870.json create mode 100644 dialogic/timelines/timeline-1660444277.json diff --git a/addons/dialogic/Dialog.tscn b/addons/dialogic/Dialog.tscn new file mode 100644 index 0000000..02720d5 --- /dev/null +++ b/addons/dialogic/Dialog.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Images/Plugin/placeholder.png" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Nodes/DialogProxy.gd" type="Script" id=2] + +[node name="Dialog" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="."] +margin_right = 40.0 +margin_bottom = 40.0 +texture = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Content/Changelog.md b/addons/dialogic/Documentation/Content/Changelog.md new file mode 100644 index 0000000..63de74b --- /dev/null +++ b/addons/dialogic/Documentation/Content/Changelog.md @@ -0,0 +1,540 @@ +# Changelog + +## v1.4.4 +* Added no skip event [[zaknafean](https://github.com/zaknafean)] +* Added auto-advance mode [[zaknafean](https://github.com/zaknafean)] +* Translation Service Speed fixes by [[thebardsrc](https://github.com/thebardsrc)] in https://github.com/coppolaemilio/dialogic/pull/995 +* Fixed some Anima bugs [[zaknafean](https://github.com/zaknafean)] + +## v1.4.3 + +The biggest changes in this version are fixes to a bug when exporting the games. Thank you everyone! + +## What's Changed +* Update Chinese Translation by @magian1127 in https://github.com/coppolaemilio/dialogic/pull/920 +* 1.4: Added simple slide_in character entrance animations by @champbob in https://github.com/coppolaemilio/dialogic/pull/945 +* 1.4: Added simple slide_out character entrance animations by @champbob in https://github.com/coppolaemilio/dialogic/pull/946 +* Fix multi-line code by @lemon37564 in https://github.com/coppolaemilio/dialogic/pull/970 +* 1.4.3 - Fix for export error due to settings theme failure by @zaknafean in https://github.com/coppolaemilio/dialogic/pull/978 +* 1.4.3 - Fix for #904 by @zaknafean in https://github.com/coppolaemilio/dialogic/pull/979 + +## New Contributors +* @champbob made their first contribution in https://github.com/coppolaemilio/dialogic/pull/945 +* @lemon37564 made their first contribution in https://github.com/coppolaemilio/dialogic/pull/970 + +**Full Changelog**: https://github.com/coppolaemilio/dialogic/compare/1.4.2...1.4.3 + +## v1.4.2 - Afterlife +- Fixed an issue with MacOS and text events not adjusting their size properly +- Android exports should work again [[zaknafean](https://github.com/zaknafean)] +- Add setting to disable the mouse block of the dialog node [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Default settings adjustments [[zaknafean](https://github.com/zaknafean)] + - Fixed the 'default' setting not appearing after you set it for hotkey choices + - Fixed hotkey choice settings layout + - Changed the default status of autofocus from true to false +- A basic touch to advance implementation (#876) [[zaknafean](https://github.com/zaknafean)] +- Added support for 9-patch rectangles for Dialog Box textures (#286) [[zaknafean](https://github.com/zaknafean)] +- Added finer controls to Text and Box positions (#761) [[lamsorsen](https://github.com/lamsorsen)] + - **Box margin** replaced with **Margin** for the DialogBox settings + - **Box Padding** has been removed from the DialogBox settings, and replaced with **Margin** for the Dialog Text setting to clear up confusion + - The margin Top/Bottom and Left/Right are no longer linked, and can be individually adjusted + - **Please note this change may break some existing themes** +- Added option to recenter character portraits automatically [[thebardsrc](https://github.com/thebardsrc)] + + +## v1.4.1 - Animations hotfix +- Portrait-Animation fixes: + Because the animations should work both with Controls and Node2Ds, just using node.scale won't work. Now they all use DialogicAnimaPropertiesHelper.get_scale(node), which will automatically use the correct one. [[Jowan-Spooner](https://github.com/Jowan-Spooner)]. Thanks a lot to @[zaknafean](https://github.com/zaknafean) + + +## v1.4 - Curves Ahead +#### Events +- Wait seconds event can now be set to be skipped with the user's action [[SimonLammer](https://github.com/SimonLammer)] +- New events: `Label Event` and `Go to Event`. This will help you creating an anchor position to go back to.[[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Text event improvements: + - You can now make a list of words like this: `[word1,word2,word3]` and Dialogic will pick a random word from the list. If the word is a Dialogic variable name and it gets picked it will show the value of that variable. + - New commands [signal=argument], [pause=wait_time], [play=soundname], [nw=v] (for waiting until the audio finishes) added to the Text Event [[KvaGram](https://github.com/KvaGram)] +- The Character Join and Character Leave events have been removed in favor of the new `Character Event`. They will be converted automatically. The new events allows for more customization including animations. These use the anima system. Learn more about the [event](./Events/002.md) and the [animations](./Tutorials/AddNewAnimations.md) [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- The `Call Node Event` now sends arguments instead of a single array. If you were using it in one of your timelines you will need to update the functions you are calling to accommodate this. [[AnidemDex](https://github.com/AnidemDex)] + + +#### Settings/Themes +- Added: `Autofocus choices` in the settings [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Added: A panel with `History functionality` can be enabled and configured in the settings. For further information read the [reference](./Reference/History.md) [[zaknafean](https://github.com/zaknafean)] +- You can now set the character dim color from the theme settings [[Tim Krief](https://github.com/timkrief)] + - Removed the setting to dim character portraits from the global settings + - Added a setting to control the dim speed [[thebardsrc](https://github.com/thebardsrc)] +- You can now set a `custom theme per character` [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Added a setting for behavior to re-center the portrait each time it's changed from a text event. This fixes a number of portrait issues and is enabled by default, but is a BREAKING change, so please remember to disable this if you need the old behavior. [[thebardsrc](https://github.com/thebardsrc)] +- New setting to use "Keep Aspect Centered" instead of stretch for the Background event [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- You can now vertically align the text in the dialog box [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- You can now specify hotkeys for the choices or use default hot-keys (1-9) [[zaknafean](https://github.com/zaknafean)] +- A new `dialogic_default_action` has been added and is the new default. We encourage you not to mess with the ui_* input actions. [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- You can now make portraits appear in front of the dialog box with a setting in the themes [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- The name label can now be disabled [[nickfla1](https://github.com/nickfla1)] +- A new option will make it so the dialog doesn't get deleted after the last event allowing for it to be fully integrated into your design [[mechPenSketch](https://github.com/mechPenSketch)] + + +#### Editors +- Character Editor improvements [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- You can now connect signals to the DialogProxyNode (the one you drag and drop in) [[KvaGram](https://github.com/KvaGram)] +- The Timeline Editor has been greatly redesigned resulting in a cleaner view +- You can now preview a timeline by itself from the Timeline Editor [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Improvement of the translations and introduction of German translation [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + + +#### Script +- You can now change the timeline of the active node with the `Dialogic.change_timeline()` function. This will preserve the previous state (characters, background, music, theme) [[mechPenSketch](https://github.com/mechPenSketch)] +- You can now reference values with their full path in `Dialogic.set_variable()` and `Dialogic.get_variable()` [[thebardsrc](https://github.com/thebardsrc)] +- There is now a function to check if a timeline exists `Dialogic.timeline_exists(@timeline_path)` [[thebardsrc](https://github.com/thebardsrc)] +- For the History feature, the `Dialogic.toggle_history()` function has been added +- There is now a function to go to the next event `Dialogic.next_event()` [[mechPenSketch](https://github.com/mechPenSketch)] + +#### Other +- Updates on the documentation and proofreading/fixes made by [[Aurora-Eluvia](https://github.com/Aurora-Eluvia)] +- Improvements on the custom events handling [[idontkillcoyotes](https://github.com/idontkillcoyotes)] +- Markdown parser updated [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Added a state machine to handle Dialogic's current state +- You can now use regular hotkeys in Mac using the `Command` key [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Anima added to handle character animations [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Many minor and major bugs fixed +- Animation can be used on custom portrait scenes [[bitbrain](https://github.com/bitbrain)] + + +## v1.3 - Save me some time +#### General Editor Stuff +- **Builtin documentation** [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Added a button to open the documentation from the nav bar +- The plugin has now **Editor-translation support** and some labels are translated to Chinese [[magian1127](https://github.com/magian1127)] + - Added some initial Spanish translations +- Replaced the default `/addons/dialogic/Dialog.tscn` node with a proxy that creates a dialog using the `Dialogic.start` function instead of the raw node. This will make it easier to update from version to version since the instantiated node will not be changing a lot from version to version. This also moved and renamed the previous `/addons/dialogic/Dialog.tscn` to `/addons/dialogic/Nodes/DialogNode.tscn` and the `dialog_node.gd` is now called `DialogNode.gd` to be more in line with the rest of the project +- CanvasLayer Argument (Dialogic.start()) added to the CSharp Class +- Creating new resources will automatically start the renaming of it +- New plugin icon! It should now display at its proper scale depending on your rendering scale + +#### Timeline Editor: +- A modular **Custom events** implementation [[Jowan-Spooner](https://github.com/Jowan-Spooner)]. Learn about them [here](./Events/Custom Events/CreateCustomEvents.md). +- Added a **preview image on the portrait picker**, so it is easy to know what sprite or scene you are selecting. Thanks to [EmmaH](https://www.youtube.com/channel/UC4y59CMiLxWQQVqVFBYLa3Q) for the idea and [Jowan-Spooner](https://github.com/Jowan-Spooner) for the implementation +- Added **Voice Line support** for Text and Question Events [[RedXGames](https://github.com/RedXGames)]. Learn how to use it [here](./Tutorials/VoiceLines.md). + - Added option to use a certain region of the audio files [[KvaGram](https://github.com/KvaGram)] +- Partial support for **undo and redo** [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Better **light/custom theme support** for the timeline editor [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Changed the Selected Event Style to only have blue borders and not change event color [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Adding an extra space at the end of the timelines so it is easier to drag and drop new events +- After selecting a conditional, the input field of that event will be selected +- Updated UI of the AudioPickers [[Jowan-Spooner]](https://github.com/Jowan-Spooner) +- Automatically scrolling to newly created events when you click on a create event button [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- If no characters are present in the current project the character picker is hidden and a prompt was added in the Character join and Character leave events to create one [[zaknafean](https://github.com/zaknafean)] +- Copy Timeline Name will now return the full path to that timeline + +#### Theme Editor: +- **Updated Audio Settings** [[Tim Krief](https://github.com/timkrief)]: + - you can now select audio for typing, text completed, next event, button hover and button selecting + - Attention: Old typing audio will have to be redone! +- You can now set the **position of the buttons relative to the screen** (Top, Bottom, Center, Left, Right) +- You can now set the choice buttons to be **aligned horizontally or vertically** +- More range for dialog text speed [[zaknafean](https://github.com/zaknafean)] +- A default theme is created on new projects [[zaknafean](https://github.com/zaknafean)] + +#### Ingame Behaviour +- `ATTENTION`: Rework and improvement of the **saving system**. + This includes some breaking changes. Learn all about the new system and how to transition [here](./Tutorials/Saving.md). + - A **visual novel template** with a working menu is being made. You can find it [here](https://github.com/Dialogic-Godot/visual-novel-template). +- `Dialogic.start()` will now use paths for specific timelines. A fallback is in place, but specificity is preferred. For instance: `Dialogic.start('my-timeline')` will search any timeline with that name; `Dialogic.start('/chapter-1/my-timeline')` will open the timeline namde `my-timeline` inside the folder `chapter-1`. +- If the text is too big for your dialog and you see a scrolling bar, you can use the `up` and `down` keys to scroll [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Rework of the character name coloring (using Regex now) [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Regex name compiler now properly escapes special characters [[zaknafean](https://github.com/zaknafean)] + +#### Export +- Removing requirement to manually configure resource export (No need to add `.cfg`, `.json` to your export settings anymore) [[LuRomao](https://github.com/LuRomao)] + +#### Other Stuff: +- Renamed the plugin entry point script from `dialogic.gd` to `plugin.gd` so it better describes what that file does +- Removed the need to use a DialogicSingleton. This causes some slight changes to saving and loading. Learn all about the new system and how to transition [here](./Tutorials/Saving.md). +- Deleted some legacy documentation files +- Adding a warning if you are trying to set or get a variable that wasn't defined + +#### Bug-fixes +##### Editor +- Fixed the `DialogNode` Inspector Timeline Open button issue +- Fixed a reference bug that prevent the duplication of Themes +##### Game +- Changed the default cursor shape that was weird in MacOS +- Dialogs only start typing after the fade-in animation happened +- Fixed a bug that performed the fade-in animation before setting the proper theme +- Fixed a bug that prevented to use the global input setting when selecting option buttons + + + +## v1.2.5 - Possibly breaking eveything. We will never know. +- Loading timeline events on batches to speedup big timelines +- Reduced the amount of nodes inside events to improve loading times +- Fixing the "first time running" bug where you had to reboot dialogic after enabling it for the first time +- Fixing a bug where if you had a node selected in the editor you couldn't open any resource picker +- Fixed a bug when trying to add a new resource after removing one +- Fixed the issue that allowed you to keep loading messages after a dialog close event +- Enabling bbcode to glossary entries +- Simplified some internal code +- Adding new setting to the Set Background event to add fade-in time +- Fixed an issue that caused nested timelines to be deleted whem moving directories [[zaknafean]](https://github.com/zaknafean) +- Settings Editor + - Added a default action key selector so you don't have to set it per theme. The theme action key settings will overwrite the one set in settings. + - Added new setting to select Dialogic's Canvas Layer [[RedXGames]](https://github.com/RedXGames) + + +## v1.2.4 - Gotta go fast +- Fixed an issue with the default scale of the portraits +- Trying to simplify and remove legacy code: +- EditorView.gd: Unified the remove resource confirmation dialogs and removed pointless variable definitions + + +## v1.2.3 - Two releases in one day? +- Hopefully, final attempt to fix the weird event creation bug [[Jowan-Spooner](https://github.com/Jowan-Spooner)] Thanks [[Drawsi](https://github.com/Drawsi)] for the report and testing! + + +## v1.2.2 - Here we go again :') +- Set Value Event: There is now a dice symbol that (when toggled) will reveal to boxes for a minimum and a maximum random number to choose from [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Making a small delay on choices to prevent the people that spam "next" to accidentally select the first option +- Fixed some issues when creating new events in the timeline + + +## v1.2.1 - Get them while they're hot! +- You can now specify for how long to wait in `[nw]` events. `[nw=3]` or whatever number of seconds you want it to wait +- Fixed some issues with the CanvasLayer +- Fixed some issues when creating dialogs using GDScript +- Fixed an issue when changing the current timeline +- Improved the internals of `MasterTree.gd` [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Fixed some issues with the `[nw]` command [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Improved the Timeline Editor performance when loading timelines +- Removed the `focus_mode` warning +- Added a new page to the docs about the [Text Events](https://github.com/coppolaemilio/dialogic/blob/main/docs/events/TextEvent.md) +- Fixed a bug when trying to skip fade-in dialog animations [[idontkillcoyotes](https://github.com/idontkillcoyotes)] +- Fixed an issue with typing sounds in exported projects +- Fixed an issue when selecting folders for typing sounds in exporting projects; Thank you [AnidemDex](https://github.com/AnidemDex)! + + +## v1.2 - Organize it! +- Functionality + - Added extra options to allow the user to disable/enable saving of definitions and current timeline [[Arnaud](https://github.com/arnaudvergnet)] + - `Dialogic.start()` will add a CanvasLayer by default to avoid the confusion of not seeing Dialogic when using a camera. [[AnidemDex](https://github.com/AnidemDex)] + - Fixed many issues with portraits fading in and out + - Fixed a bug that prevented the BackgroundMusic event to work correctly [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Experimental translation added! (This change simply adds a new setting to always treat text as a translation key, instead of displaying it directly. When on, text is sent through tr() before any additional checks are performed on it) [[bojjenclon]](https://github.com/bojjenclon) + +- Editor + - Added sub-folders to all the resources to better organize your project [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Improved resource picker aware of sub-folders [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + +- Dialog + - Adding `[nw]` commands to automatically skip the text after 2 seconds without user input (Will be improved in future versions) + - Choices can now print the definition values using the regular `[definition]` syntax + - Next indicator is no longer visible when there are options to select + - You can now use `[speed=3]` or any number to change the speed of an individual event text speed + +- Theme Editor + - Added new fonts selector for italics, bold, and names [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Added new Box Padding settings to the name label. + - Added a new option to make the dialog backgrounds full width + - You can now set a character for the preview message + - Three positions for the name label: Left, Center and Right + - You can set the vertical and horizontal offset of the name label + - Added a new option to enable single portrait mode. In this mode, once the characters join the dialog, only one of them will be visible without the need of making them join and leave every time + - Added a simple fade in animation for dialogs. You can change how long it takes in the `Dialog Box` tab + - New tab added: Audio + - In the audio tab, you can select a sound or set of sounds to play while the text is being typed in the dialog. [[Tim Krief](https://github.com/timkrief)] + +- Character Editor + - You can now add a scene as a portrait, so you can now use AnimatedSprite or whatever you might need + - You can set nicknames to characters [[zakary93](https://github.com/zakary93)] + - Fixed a bug when coloring the names of characters in text [[zakary93](https://github.com/zakary93)] + - Added the resolution of the selected portrait image on the preview box + - You can now import a folder to automatically add all the images inside as portraits + - Removed the legacy "Default Speaker" option. I might revisit something like this in the future + +- Timeline Editor + - You can now select multiple events (`CRTL` for adding/removing an event, `SHIFT` for range select) [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - You can now use `CRTL+C`, `CRTL+X` and `CRTL+V` to copy, cut and paste events [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - You can use `CRTL+D` to duplicate the selection [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - You can use `CRTL+A` and `CRTL+SHIFT+A` to select/deselect all events [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Some shortcuts where redone: Remove events with `DEL`, move selection up/down with the `UP` and `DOWN` arrow keys [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - A SetGlossary event was added that allows to change the info of a glossary item during the game [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - You can now set the portrait of a character based on a definition [[bojjenclon]](https://github.com/bojjenclon) + - New resource picker styles + - Modified the label on the emit signal event so it is easier to understand [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Updated the look of some events and added some useful event warnings + +- Other stuff + - Events have id's now. Nothing should change for the user, but it will be easier to manage the inclusion of new events or modifying existing ones [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Fixed a non-breaking bug that printed some errors on the terminal + +- And many more! (kinda hate not listing all the changes, but don't remember all of them) + + +## v1.1 - With a little help from my friends +- Improved event dragging and selection [[Arnaud Vergnet](https://github.com/arnaudvergnet)] +- Fixed a bug that prevented the deletion of Characters [[AnidemDex](https://github.com/AnidemDex)] +- Fixed a bug that allowed you to overwrite the event on the theme preview dialog +- Added a folder icon to each section of the resource tree +- Greatly improved how the plugin is displayed in different display scales +- You can now filter resources from the main view [[ellogwen](https://github.com/ellogwen)] +- You can now duplicate themes (from the context menu) [[ellogwen](https://github.com/ellogwen)] +- Organized the images and other assets into a tidier structure [[Jowan-Spooner](https://github.com/Jowan-Spooner)] _**Warning!** If you were using the example portrait assets you will have to load them again manually on the character editor_ +- You can now create resources by right clicking the section and selecting "+ New" [[Tim Krief](https://github.com/timkrief)] +- Remade all the PopupMenu items in gdscript and replaced the icons with native editor theme ones. +- Experimental: Added a static proxy for C# projects. _Testing wanted!_ [[mscharley](https://github.com/mscharley)] +- Timeline: + - New event `Call Node`: Call a Godot NodePath and a method name. In addition you can add arguments as well. The Timeline will execute those methods and wait for completion, if the method in question is async and/or yielding [[ellogwen](https://github.com/ellogwen)] + - You now can drag and drop events into the timeline! [[ellogwen](https://github.com/ellogwen)] + - You can un select a selected event by clicking it [[ellogwen](https://github.com/ellogwen)] + - The `Scene Event` can now take other Scenes (`.tscn`) files as backgrounds. [[ellogwen](https://github.com/ellogwen)] + - The `If Condition` event can now use definition variables as values to compare against [[ellogwen](https://github.com/ellogwen)] + - You can now hide `Choice events` if a definition doesn't meet some requirements [[Arnaud](https://github.com/arnaudvergnet)] + - You can now select a character to ask a question in the `Question Event` [[Tim Krief](https://github.com/timkrief)] + - Added very basic syntax highlighting to the `Text Event` editor + - Fixed an indenting bug when removing events + - The `Character Join` event now has a mirror option [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - The `Close Dialog` has a new setting for the duration of the fade-out animation. [[Tim Krief](https://github.com/timkrief)] + - `Scene Event` renamed to `Change Background` to better represent what it does. [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Both `Audio Event` and `Background Music` got more settings (audio Bus, volume, fade-length) [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + + - Shortcuts added! [[ellogwen](https://github.com/ellogwen)] + - Selecting previous and next event in the timeline with `CTRL + UP` and `CTRL + DOWN` + - Moving currently selected event up and down the timeline `ALT + UP` and `ALT + DOWN` + - Remove the currently selected event node and selects the next/last event node `CTRL DELETE` + - Create a new text event node below the currently selected and focus it's textbox to continue writing `CTRL T` +- Character Editor + - There is an option `mirror portraits` below the portrait preview now, that will mirror all portraits when they appear in the game [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Fixed a bug that prevented portrait previews to display if the extension was in capital letters. +- Theme Editor + - Refreshed the UI to make room for more properties for each section + - A reload of the preview dialog is performed when you change a property so you don't have to click the "preview changes" all the time + - Removed the limitation of only 100px for the padding of the dialog box + - Added a new option for changing the color modulation of the dialog background image + - Added new customization options (scale, and offset) to the next indicator image + - Added modulation settings to the name label background texture and the choices buttons background textures [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Added an option to use native buttons styles for choices [[Tim Krief](https://github.com/timkrief)] + - Added an advanced option to use a custom scene as a button for choices [[Arnaud Vergnet](https://github.com/arnaudvergnet)] + - Added new settings to set a fixed size for choice buttons (This is used to prevent premade texture stretching) + - Fixed a bug where the text alignment wasn't being shown on the preview + - Fixed a bug with the name label shadow + - Fixed a bug with the "auto color" option in game +- Dialog node + - You can now use [br] to insert line breaks + - Questions now properly show the theme text alignment + - Options now show up when the question text finished displaying [[Arnaud Vergnet](https://github.com/arnaudvergnet)] + - The close dialog now performs a fade-out animation + - Fixed a bug where Glossary Definitions plain text was being added to the name label + - Fixed an issue when trying to display small sprites as characters portraits + - Fixed a bug where portraits didn't come to the front when being focused [[AnidemDex](https://github.com/AnidemDex)] + - Fixed a bug when the display stretch was set to `2D` + - Fixed a bug where empty text lines were not removed properly [[Arnaud Vergnet](https://github.com/arnaudvergnet)] +- Settings + - Added a new option to enable advanced theme settings [[Arnaud Vergnet](https://github.com/arnaudvergnet)] + - Added a new option to toggle the character "focus"/"dim" while speaking +- Added a button in timeline inspector plugin to open the selected timeline in the editor [[ellogwen](https://github.com/ellogwen)] +- Special thanks to [Jowan-Spooner](https://github.com/Jowan-Spooner) for the QA and the facelift on the theme editor + +To view previous changes [click here](https://github.com/coppolaemilio/dialogic/blob/main/CHANGELOG.md). + + +## v1.0 - We made it! 🎉 + - When upgrading from 0.9 to the current version things might not work as expected: + - ⚠ **PLEASE MAKE A BACKUP OF YOUR PROJECT BEFORE UPGRADING** ⚠ + - Glossary variables will be lost + - Glossary related events will not be loaded (`If condition Event` and `Set Value Event`) + - The theme you made in the 0.9 theme editor will be lost. You will have to remake it. + - Video [https://youtu.be/MeaS3zZxpbA](https://youtu.be/MeaS3zZxpbA) + - New layout: + - All editors in the same screen. Say goodbye to tabs! + - You can now rename resources by double clicking them + - New Settings panel for advanced properties + - Settings: + - Re-added the auto color for character names in text messages + - Removing empty Text Event from timelines + - New lines to create new Text Event messages + - Propagation of input to the rest of the Tree + - Character Editor: + - Set the scale of your character's portrait + - Add offset to the portrait + - Timeline Editor: + - New `Theme event` to change the theme in the middle of a timeline + - New `Background Music Event` to play music in your dialog. Music can crossfade when changing track and fade in/out when starting/stopping. + - Re-enabled the `Scene Event` + - Allow making basic calculations such as `+`, `-`, `*`, `/` in `Set value events`. + - Theme Editor: + - You can now add multiple themes. + - Moved the preview button to the left side so it is never hidden by default in small screens. + - New section to edit how the character names are displayed. + - New properties: + - `Box size` set the width and height of the dialogue box in pixels + - `Alignment` you can now align the text displayed (Left, Center, Right) + - `Bottom Gap` The distance between the bottom of the screen and the start of the dialog box. + - `Next animation` Set an animation for the "Next Dialog Indicator" + - Glossary was renamed to Definitions. I feel like the word `Definitions` cover both "variables" and "lore" a bit better. + - Definitions: + - Dynamic types! All variables are just dynamic, so they can be ints, floats or strings. + - The name of a character can be set to be a definition. + - You can display definition values in a Text Event by doing: `[definition name here]`. + - Fixed many resource issues with exported games + - New icons all around. + - Added some basic light theme support. This is not finished, but it is on a much better state than before. + - The events now emit signals. Thank you [Jesse Lieberg](https://github.com/GammaGames) for your first contribution! + - Special thanks to [Arnaud Vergnet](https://github.com/arnaudvergnet) for all your work in improving Definitions, conditional events and many more! 🙇‍♂️ + + +## v0.9 - House keeping + - Video: [https://youtu.be/pL0RWVmlM6g](https://youtu.be/pL0RWVmlM6g) + - Moved `Dialog.tscn` to the root of the addon so it is easier to find. + - Added a link to the documentation from the editor + - Refactored a lot of the code and continued splitting the main plugin code into smaller pieces. + - Rewrote most of the saving and branching systems. + - New tool: Glossary Editor + - You are now able to write extra lore for any word and Dialogic will create a hover card with that extra information. + - You can create `strings` and `number` variables. + - You can access to those variables from the `Dialogic` Class: `Dialogic.get_var('variable_name')` + - In game: + - Portraits changes are reflected in-game. + - Many small improvements. + - Theme Editor: + - New default asset: Glossary Font + - Added new options to customize the glossary popup + - Timeline Editor: + - Added categories for the events. + - Color coded some of the events in the same category to avoid having a distracting rainbow in the timelines. + - Conditional event working, but only with "equal to". More conditions coming later. + - Renamed the `End Branch` file names to match the name of the event. This will break the conditionals you have, but this is the time for making breaking changes. Sorry! + - New `Set Value` event. Change the current value of a glossary variable inside a timeline. This will reset when you close the game, so a saving system will have to be added on the next version. + - New `Emit Signal` event. This event will make the Dialog node emit a signal called `dialogic_signal`. You can connect this in a moment of your timeline with other scripts. + - New `Change Scene` event. You can change the current Scene to whatever `.tscn` you pick. This will happen instantly, but in the future I'll add some transition effects so it is not that abrupt. + - New `Wait Seconds` event. This will hide the dialog and wait X seconds until continuing with the rest of the timeline. + - Created independent Character and Portrait picker for reusing in event nodes. + - Portrait picker added to `Text Events` and `Character Join` events. + - `Text Events` text editor vertical size grows witch each line added. + - `Text Events` now properly create a new message for each line inside the text editor. + - `Text Events` Line count are now displayed next to the preview text when folded. + - Re-adding the `End Branch` event just in case you removed the end and you want to add it again in the timeline. + - Renamed the `Copy Timeline ID` right click menu option to `Copy Timeline Name` since you now have to use that to set the current timeline from code instead of the ID. + - Fixed several bugs that corrupted saved files + - Thanks to [mindtonix](https://github.com/mindtonix) and [Crystalwarrior](https://github.com/Crystalwarrior) for your first contribution on the choice buttons + - New `Dialogic` class. With this new class you can add dialogs from code easily: + ``` + var new_dialog = Dialogic.start('Your Timeline Name Here') + add_child(new_dialog) + ``` + To connect signals you can also do: + + ```swift + func _ready(): + var new_dialog = Dialogic.start('Your Timeline Name Here') + add_child(new_dialog) + new_dialog.connect("dialogic_signal", self, 'signal_from_dialogic') + + func signal_from_dialogic(value): + print(value) + ``` + + +## v0.8 - Dialog enters the game + - Video: [https://youtu.be/NfTyRrsdB1I](https://youtu.be/NfTyRrsdB1I) + - Moved the theme editor tool icon to the left + - Theme Editor: + - Added a color background as an option + - Reduced the vertical size needed to show all options + - Style your choice buttons! (Color, background, etc...) + - Better default support for unchanged styles + - Timeline Editor: + - Moved the event buttons to a new column + - When creating a `Question` two `Choice` events and a `End Branch` event will be added automatically + - Added a warning for `Choice` events on the root level of indentation + - Disabled unfinished events + - The Change Timeline event tells you your current timeline (this is for going back to the start) + - New `Close Dialog` event. This event closes the dialog whenever it is called. + - When renaming a dialog the popup's text field is already selected and focused. + - In game dialog: + - You can now select the current timeline from the inspector without manually copying the timeline id. + - Change timeline event is now working + - Audio event can play sounds + - Character join (left, center and right) working + - Focus in and out of portraits when speaking + - Character leave events working + - Basic question/answers support + - Better scene resizing and position + - Button styles + + +## v0.7 - Looking good + - Video: [https://youtu.be/wREIVj55eBM](https://youtu.be/wREIVj55eBM) + - New plugin tab icon + - Removed legacy files + - From the theme tab you can now: + - Pick the default text color + - Set the shadows and shadow offset + - Select your own fonts (.tres) + - Set background and next indicator images + - Choose an action to trigger the "next" event + - Preview changes in a dialog + - Change text speed + - Set text margins + - Characters tab + - Added context menu + - Moved the Remove Character button to a context menu + - You can open the working directory + - Timeline tab + - Added context menu + - You can remove timelines now + - Right click no longer renames timelines, to do so you have to use the new menu + - You can open the working directory + - You can copy the timeline ID + + +## v0.6 - Character portraits + - Video: [https://youtu.be/okWYt_yGKNI](https://youtu.be/okWYt_yGKNI) + - Splitting the main script into smaller pieces + - Characters + - Characters welcome screen when there are 0 + - Different display name + - Autosave enabled on characters + - Character portraits + - Added Default Speaker setting + - Events: + - Text block now has a portrait dropdown + + +## v0.5 - Indentation Magic + - Video: [https://youtu.be/mrTyWy2TJOM](https://youtu.be/mrTyWy2TJOM) + - Added new events: + - Choice + - End branch + - Change Timeline + - You can now drag and drop events in a timeline + - Made new icons for the editor tabs + - Added some tooltips + - Restructured the events node structure to add indentation + - Changed event default colors + + +## v0.4 - Dialogic + - Video: [https://youtu.be/Hf_gywa6vZE](https://youtu.be/Hf_gywa6vZE) + - Changed how the main editor works, instead of being a graphedit it is now an event timeline. + - Renamed the plugin to Dialogic. Thanks to Òscar for always knowing how to name things. + - Moved all data to .json files + - Broke the addon for working. Nice :) + + +## v0.3 - Using Resources + - Video: [https://youtu.be/PzzOE4LbGAo](https://youtu.be/PzzOE4LbGAo) + - Removed requirement for `global.gd` and `characters.gd` autoload scripts. + - Added `DialogResource` and `DialogCharacterResource` resources to create a cleaner way of specifying dialog content + - Added icon to the existing dialog node. + + +## v0.2 - Adding Characters: + - Changed text speed to fixed per character instead of total time span + - New character support + - Added portrait to characters + - Created the `fade-in` effect + - Curly brackets introduced for character names. + + +## v0.1 - Release + - You can watch the presentation video here [https://youtu.be/TXmf4FP8OCA](https://youtu.be/TXmf4FP8OCA) diff --git a/addons/dialogic/Documentation/Content/Events/001.md b/addons/dialogic/Documentation/Content/Events/001.md new file mode 100644 index 0000000..1fd9094 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/001.md @@ -0,0 +1,42 @@ +# Text Event +![image](./Images/text_event_1.png) + +The text event is one of the most important, since it contains most of your text. + +## The header +![image](./Images/text_event_2.png) + +There are three different types of options for Text Events: +- **Character** - This is who will be saying the text written inside the text editor. +- **Portrait** - If you picked a **Character**, the different portraits will show up here. If the **Character** doesn't have any special portraits, the default one will be used. If you pick the `(Don't change)` option, it will continue using the previous text event portrait set. If you pick the `[Definition]` option, a new picker will show up. +- **Definition** - You can select a **Definition**, and Dialogic will try to match that string with available portraits. This can be used to dynamically show different portraits depending on previous player input. + +## The Text Editor + +Inside the text editor, you have special features that might not be obvious: + +- Each line will create a new text message. This will help make longer monologues without having to add a new **Text Event** for each message. If you want to disable this, you can do so in the Dialogic settings panel: `Settings -> Dialog -> New lines will create extra messages`. + +- When writing a **Character** name, Dialogic will automatically color the text of that **Character** + +- `[br]` This will add a line break in the position of the tag + +- `[nw] / [nw=2] / [nw=v]` The *no wait* command will tell Dialogic to automatically continue with the next event without any user input. The default time for skipping to the next text is 2 seconds (after all characters are displayed), but you can change how many seconds by setting a number to it (like `[nw=5]` for 5 seconds). You can use [nw=v] to continue after the audio (if any is used) finished. + +- `[speed=X]` You can use the *speed* tag to change the speed during a text event. Placed at the beginning of the event, it will affect the whole text, but each following speed command will overwrite the previous one. Higher numbers result in slower speeds and lower ones in faster speeds. If you want the text to be instant for one message you can do `[speed=0]` and make it show up instantly. +After the event containing the *speed* tag is passed, it will go back to whatever default value you have set on the current theme. + +- `[definition]` If you have a **Definition**, and you want to display its value on inside your text you can use the `[` and `]` characters and the name of your **Definition** within them. Let's say we have a **Definition** called `Money` with the value of `5`. we can write: `You have [Money] left` and Dialogic will replace the `[Money]` tag with the value `You have 5 left`. + +- `[word1,word2,word3]` You can write a list of words like this: `[word1,word2,word3]` and the text event will pick a random word from the list. If the word is a Dialogic variable name and gets picked, it will show the value of that variable. + +- `[signal=argument]` will emit the dialogic signal with the given argument as a String when this place is reached. + +- `[pause=1]` will stop displaying new characters for 1 second before continuing. + +- `[play=click.wav]` will play an audio file with the given name. These files have to be located in `"res://dialogic/sounds/"`. + +- Besides these Dialogic specific options, you can also use the default `BBCode` options that every `RichTextLabel` has like [b]bold[/b] or [i]italic[/i] text, [color=red]colored text[/color] and [wave]using effects![/wave] More about that can be found [here](https://docs.godotengine.org/en/stable/tutorials/gui/bbcode_in_richtextlabel.html). + +## Voice Line Support +You can find a tutorial on how to use the voice line feature in the tutorials folder! \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/002.md b/addons/dialogic/Documentation/Content/Events/002.md new file mode 100644 index 0000000..29730bf --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/002.md @@ -0,0 +1,26 @@ +# Character Event +The character event allows you to make characters join and leave as well as animating them and changing their position. + +The first setting picks the mode of the event, `join`, `leave` or `update`. + +For all three you need to select a **character**. +Similarly in all modes you can `animation` and it's `length` in the event body. The [Default] option will use the default join/leave animation that can be set on the dialogic settings page. +The `Wait for animation` setting will make sure the dialog only continues after the animation has fully played. + +## Join Settings +![Event](./Images/Event_Character_Join.PNG) + +You can select a `portrait` (if the character has more then one) and one of the five `positions`. +If you pick the [Definition] option, a new picker will show up. The portrait will be set to the value of that value definition when the dialog reaches that event. This allows for some dynamic portrait picking. + +In the event body you can set the `z_index` and `mirror` the portrait. Note that the z_index only sorts the portraits and is not equivalent to the z_index on 2D nodes. + +## Leave Settings +![Event](./Images/Event_Character_Leave.PNG) +In this mode you can alternatively select the `All characters` option to make all characters leave the scene. + +## Update Settings +![Event](./Images/Event_Character_Update.PNG) +The update settings has all the options of the join mode, but you can enable (pen icon) and disable (reset icon) each of them. Also there are other animations and you can choose to `repeat` the animation a number of times. + +If you want to know more about animations you can [read about them here](https://github.com/coppolaemilio/dialogic/blob/main/addons/dialogic/Documentation/Content/Tutorials/AddingNewAnimations.md). \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/010.md b/addons/dialogic/Documentation/Content/Events/010.md new file mode 100644 index 0000000..58f022e --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/010.md @@ -0,0 +1,14 @@ +# Question Event +![image](./Images/Event_Question.PNG) + +The `Question Event` allows your story to branch and give the player options. +When you add a `Question Event`, two [Choice Events](./011.md) and an [End Event](./013.md) will be added automatically. + +## The text editor +The block itself works very similar to a [Text Event](./001.md) and has all the options of that event. + +## The choices +To add choices to your question you can add [Choice Events](./011.md). + +## Ending a question +After all your choices, there also needs to be an [End Event](./013.md). \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/011.md b/addons/dialogic/Documentation/Content/Events/011.md new file mode 100644 index 0000000..347cdfd --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/011.md @@ -0,0 +1,11 @@ +# Choice Event +![image](./Images/Event_Choice.PNG) + +The `Choice Event` marks the start of a choice branch in a [question](./010.md). + +## How it works +Choice Events only work if they are placed inside a "question" ([Question Event](./010.md)). Once placed, you can place all kinds of new events below that choice. These events (which will be indented) will be executed when the choice is selected in game. + +## Adding a condition +By checking the `Has condition` check box and setting that condition, the player will only see that choice if the result is true. +The condition is made up of three parts: The `Value Definition` that will be compared, the `type of comparison` and the `value` that it will be compared to. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/012.md b/addons/dialogic/Documentation/Content/Events/012.md new file mode 100644 index 0000000..5a97bee --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/012.md @@ -0,0 +1,22 @@ +# Condition Event +![image](./Images/Event_Condition.PNG) + +The `Condition Event` allows you to set certain parts of your timelines to only play under certain conditions. + +## What's a condition? +In programming and games, a condition is mostly described by variables (in Dialogic, these are called `definitions`). +This means that you can check for a definition to have a certain `value` and only play the following events if it matches. + +## The settings +You can set your condition by first selecting the `value definition` that should be compared, then selecting the `type of comparison`, and finally the `value` that should be compared to. +Only the comparison types `Equal to` and `Different from` work with Strings, the rest work with integers (aka, whole numbers). +You can also enter the name of a `value definition` in the input field. This will compare to the current value of that `value definition`. + +## Adding events +You can then add new events below the Condition Event, and they will be indented and only be played when the condition is true. + +## Ending a condition +Every condition needs to have an [End Event](./013.md). After that event, all following events will ignore the condition again. +When creating a Condition Event a End Event will be added too. + +*Note: You can of course have conditions inside conditions. Just make sure to have the same amount of End Events* \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/013.md b/addons/dialogic/Documentation/Content/Events/013.md new file mode 100644 index 0000000..ba3c857 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/013.md @@ -0,0 +1,3 @@ +# End Event + +This event adds itself when you add its parent event. Its only function is to mark the end of a [question](./010.md) or [condition](./012.md). \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/014.md b/addons/dialogic/Documentation/Content/Events/014.md new file mode 100644 index 0000000..521ee09 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/014.md @@ -0,0 +1,11 @@ +# Set Value +![image](./Images/Event_Set_Value.PNG) +The `Set Value` event can be used to change the value of `value definitions`. + +## The options +You can select the `value definition` to be changed, then the `type of change`. Then you can determine the new `value` to be set. ++ `[to be]` will set the definition to EXACTLY the given value. ++ the others will use the existing value and change it in the given way. These only work with numbers. + +By toggling the little cube icon, you can use a random number instead of the fixed input field. +![image](./Images/Event_Set_Value_random.PNG) \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/030.md b/addons/dialogic/Documentation/Content/Events/030.md new file mode 100644 index 0000000..a710156 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/030.md @@ -0,0 +1,21 @@ +# Audio Events +*The Audio Event and Background Music Event are very similar, so they are explained together* +![image](./Images/audio_event.png) + +The `Audio Event` can be used to play sounds. In contrast, the `Background Music Event` is supposed to play long pieces. Only one background music file can be played, but it can fade from one to the next. + +## Options +Select the audio file that should be played. You can clear this selection with the garbage icon. + +Then you can set a `AudioBus` to use and a preferred `volume` level. More about AudioBus' [here](https://docs.godotengine.org/en/stable/tutorials/audio/audio_buses.html). + +The `Background Music Event` additionally has a option for the fade length. + +## Is the audio looping when you don't want it to? +The `Audio Event` doesn't loop by itself. In Godot, looping of audio is mostly due to how you imported it (default for .ogg files). + +To solve this: +1. Select your audio file. +2. Go to the import tab (it's next to the scene tree tab by default) +3. Uncheck the loop checkbox. +4. Hit re-import. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/040.md b/addons/dialogic/Documentation/Content/Events/040.md new file mode 100644 index 0000000..e4cc870 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/040.md @@ -0,0 +1,23 @@ +# Emit Signal +![image](./Images/Event_Emit_Signal.PNG) + +The `Emit Signal` event will emit the signal `dialogic_signal` of the **current dialog node** and pass the given string as an **argument**. +The event does NOT create a new signal! + +If you instance your timeline via script, use code similar to this: +```gd +func start_dialog(): + var dialog = Dialogic.start("my_timeline") + dialog.connect("dialogic_signal", self, "dialog_listener") + add_child(dialog) + +func dialog_listener(string): + match string: + "quest_point_two": + # do something + pass +``` + +If you instanced the scene using the editor, you can connect the signal like normal in Godot from the `NODE TAB > Signals`. + +*If you don't know about signals you should definitely learn about them. For example [here](https://docs.godotengine.org/en/stable/getting_started/step_by_step/signals.html).* diff --git a/addons/dialogic/Documentation/Content/Events/041.md b/addons/dialogic/Documentation/Content/Events/041.md new file mode 100644 index 0000000..dc580e1 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/041.md @@ -0,0 +1,5 @@ +# Change Scene + +The `Change Scene` event will stop the current scene and load the selected one. This means the dialogue will be stopped too. + +Be careful when using this while you your tree is set to paused! Consider adding an [Emit Signal event](./040.md) before and resume the tree with `get_tree().paused = false`. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/042.md b/addons/dialogic/Documentation/Content/Events/042.md new file mode 100644 index 0000000..d74dc55 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/042.md @@ -0,0 +1,35 @@ +# Call Node +![image](./Images/Call_Node.PNG) + +This event allows to call a function in a node or autoload and pass arguments to that function. + +Many people struggle on first setting the node. You will have to either put in a full path (starting from root) or a relative path. + +#### Using a relative path +*You need to have a basic knowledge of relative paths. You can learn a bit about them [here](https://docs.godotengine.org/en/stable/classes/class_nodepath.html).* +The path needs to be relative to your DialogNode. This means you need to consider where it will be added to. +Let's for now imagine an example scene tree like this: + +``` +- World +-- Temple +-- NPC` +``` + +Now in the NPC's script the dialog node is added as a child of the NPC node. When getting instanced, there will be a canvas layer inbetween resulting in an actual tree like this: + +``` +- World +-- Temple +-- NPC +--- CanvasLayer +---- DialogNode +``` + +But we want to call a function in the Temple scene with our Call Node Event. From the structure above we can see that we need to go up three times and then down one time to get from the DialogNode to the temple, so this is the resulting path: +`'../../../Temple'` + +*Of course if you have canvas_layer set to false in Dialogic.start() you need on '..' less.* + +#### Using the name of an autoload +If you use an autoload instead, it's wonderfully easy. You can just use the name of the autoload! diff --git a/addons/dialogic/Documentation/Content/Events/CustomEvents/CreateCustomEvents.md b/addons/dialogic/Documentation/Content/Events/CustomEvents/CreateCustomEvents.md new file mode 100644 index 0000000..2b5bf9c --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/CustomEvents/CreateCustomEvents.md @@ -0,0 +1,121 @@ +# Creating custom events +![HeaderImage](./Images/CustomEventsShowOff.PNG) + + +# Introduction +### What are Dialogic events? +Events are visual representation of data. Whenever you create one event in your timeline, you are modifying a dictionary with a lot of keys and values. Each pair will contain all the information needed to perform an action during the game. + +### What makes a custom event? +A custom event is made up of a two main parts: the **Event Block** and the **Event Handling Script**. + +The **Event Block** is the scene that will be shown in the timeline editor. It needs to inherit Dialogic's `EventTemplate.tscn` scene. + +In most cases you will additionally need scenes that have all the setting controls in them. These will be the "content" of your event block. These kind of scenes will have to extend the `EventPart.gd` script. + +Here is a very simple example of an `EventBlock`: +![EventBlock](./Images/EventBlock.png) +It contains two **EventParts**, a **header** and a **body**. + +The **Event Handling Script** is what contains the logic and what will happen when your event happens in the game. This script will need the `handle_event()` function that will be called if the event is reached. + +All of the files that are used for creating a custom Event Block and Handling Script should be in this directory: `res://dialogic/custom-events`. That way Dialogic can recognize it and show it in your timeline editor. + + + + +# Making your first custom event in 6 steps +Let's now create a simple event that will print some text to the Output panel in Godot. + + +## Create the event +Go to the `settings page` and in the `custom events section` hit the `New` button. +Fill in a name for your event, a folder name and an ID. For the IDs, I recommend using your name or a string unique to you followed by a number. +**The ID has to be different for every event!!!** +This is why I recommend the unique string, as it will enable you to share the event with others without breaking their games. +![Creating](./Images/CreationProcess.PNG) + +When you are ready, hit `Create`. You will see the folder appear in the `FileSystem` under `res://dialogic/custom-events/`. + +If you go to the `timeline editor` now, you should already be able to see your event in the event list. + +### What happened +This little menu already created a number of things for you: +- The `EventBlock` (EventBlock.tscn) +- An example `EventPart` (EventPart_Example.gd/.tscn) +- The `event handling script` (event_+EVENTID+.gd) +- A `stylebox` for your event (Stylebox.tres) + + + +## What next +The automatic process already set up a lot, but it didn't know the purpose of our event, so we will have to add that. + +### | Adding the data +First we want to open the `EventBlock.tscn` scene. (Do not rename this scene!) + +Select its root node and look at its exported variables in the inspector. + +We will need to add all the data that our event can have to `event_data`. +As you can see, it already contains your event id. This needs to be there, so don't delete it! + +I want to be able to set the text that will be printed when my event is activated, so I'll add an information slot for that: +![EventData](./Images/EventBlock_EventData.PNG) + +### | Icon and Stylebox +You can also change your events icon in the Inspector. Just drag an image into the `Event Icon`. + +Below that, you can open the Stylebox and change its background color to give your event a unique look. + + +### | The Event Blocks Content (EventParts) +Right now your event block will be empty, so let's change that if you want to. + +The content of an EventBlock is separated into `EventParts`. This allows for some reuse. +There are two places EventParts can be in an EventBlock: The Header (always visible) and the Body (can be hidden). + +*An EventBlock does not have to have a body nor a header EventPart. For example the End Branch event has none.* + +There is already a simple example `EventPart` (Script and Scene) included. You can change it as much as you want. + +#### | Loading the data +In `load_data()` you will need to set the values of your control nodes. This function is called when the event is added to the timeline editor. + +#### | Saving changes to the data +When the values get changed (listen to it via signals) set the according value in the `event_data` dictionary and call `data_changed()`. + +This is pretty much all you need to know. +*If you want to find more examples you can go to `res://addons/dialogic/Editor/Events/Parts/` and look at the EventParts that shape Dialogic's default blocks.* + +### | Using the EventPart +Once you've finished everything in your EventPart(s) you need to, go into the `EventBlock` scene and set the `header`/`body` variable in the Inspector to the new scene(s). + + + +### | The event handler script (event_yourname_000.gd) +Once you have your `EventBlock` finished, you need to add the event handling logic. + +#### | The handle_event() function +If you open the script you will see, that there is only one function by default, the `handle_event()` function. + +It comes with two useful pieces of information: the `event_data` and a reference to the `dialog_node`. + +For me I'll just add +`print(event_data['print_text']` +there, but of course you can do a lot more. + + +Some more stuff is already explained in the script: +##### Continue +Use `dialog_node.load_next_event()` to continue with the next event. + +##### Waiting +If you don't want the player to interrupt your event, set `dialog_node.waiting` to `true` while your event is handled. +Don't forget to set it back to `false`. + + + +## And done! +Great, you've created your first custom event for Dialogic. + +*Make sure to check Emilio's Discord server just in case someone has already created the custom event that you need. They are super easy to [import](./ImportCustomEvents.md)!* \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CreationProcess.PNG b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CreationProcess.PNG new file mode 100644 index 0000000000000000000000000000000000000000..1bd21d093061a439745b05dcd6f0528cd5a1d504 GIT binary patch literal 9707 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 B`L_T7 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CreationProcess.PNG.import b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CreationProcess.PNG.import new file mode 100644 index 0000000..6da6d9e --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CreationProcess.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/CreationProcess.PNG-05f3e3e7144b33f6a2e204a8d70bb677.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CreationProcess.PNG" +dest_files=[ "res://.import/CreationProcess.PNG-05f3e3e7144b33f6a2e204a8d70bb677.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CustomEventsShowOff.PNG b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CustomEventsShowOff.PNG new file mode 100644 index 0000000000000000000000000000000000000000..65c309b78cf211d03af51186839ad6e1afcd782b GIT binary patch literal 16110 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CustomEventsShowOff.PNG.import b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CustomEventsShowOff.PNG.import new file mode 100644 index 0000000..0983d5f --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CustomEventsShowOff.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/CustomEventsShowOff.PNG-1ca9776c8c1de417754bb64c0e9ae3f2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/CustomEvents/Images/CustomEventsShowOff.PNG" +dest_files=[ "res://.import/CustomEventsShowOff.PNG-1ca9776c8c1de417754bb64c0e9ae3f2.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock.png b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock.png new file mode 100644 index 0000000000000000000000000000000000000000..f617e371210442d986afc75e5da29f96dcb02856 GIT binary patch literal 10930 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 XwxrOXjN713E&`O~)ZUcJn0)>}oXxrS literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock.png.import b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock.png.import new file mode 100644 index 0000000..94c39de --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/EventBlock.png-460fc7d7eb7c57b17d7116ac3a401e04.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock.png" +dest_files=[ "res://.import/EventBlock.png-460fc7d7eb7c57b17d7116ac3a401e04.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock_EventData.PNG b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock_EventData.PNG new file mode 100644 index 0000000000000000000000000000000000000000..839fe75299f7caf6cae8132f3f3761aab5d77f68 GIT binary patch literal 6727 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 C+LWyT literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock_EventData.PNG.import b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock_EventData.PNG.import new file mode 100644 index 0000000..c8a1af9 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock_EventData.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/EventBlock_EventData.PNG-3ba75184a293de83ba741f739e02831d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/CustomEvents/Images/EventBlock_EventData.PNG" +dest_files=[ "res://.import/EventBlock_EventData.PNG-3ba75184a293de83ba741f739e02831d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/CustomEvents/ImportCustomEvents.md b/addons/dialogic/Documentation/Content/Events/CustomEvents/ImportCustomEvents.md new file mode 100644 index 0000000..6c990f9 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/CustomEvents/ImportCustomEvents.md @@ -0,0 +1,9 @@ +# Importing custom events + +It's very easy to share `custom events` because they are pretty much self-contained. +You will just need to get the folder from someone. If you have it, move it into `res://dialogic/custom-events/`. + +Then enable custom events in Dialogic's settings menu (if you haven't already). +You should now find the custom event in the bottom of the event button panel on the right in the timeline editor. + +*Vòila! Hope it works ;)* \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG b/addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG new file mode 100644 index 0000000000000000000000000000000000000000..b5b592d0509ca142d6c59b7c8070f04739ae0c2d GIT binary patch literal 13441 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 QtBfNrqx_=ixrzV(0z>WDN&o-= literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG.import new file mode 100644 index 0000000..11c931f --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Character_Join.PNG-c00e395692cca58b463fed8c9531c914.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG" +dest_files=[ "res://.import/Event_Character_Join.PNG-c00e395692cca58b463fed8c9531c914.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a46cb6cbefb98a6d4524a14069de6357282f3633 GIT binary patch literal 8163 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 L`kH0;Y+wB!3bA9F literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG.import new file mode 100644 index 0000000..eab4588 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Character_Leave.PNG-6bd42ebbbe4c9f56973b0c4c0d706b93.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG" +dest_files=[ "res://.import/Event_Character_Leave.PNG-6bd42ebbbe4c9f56973b0c4c0d706b93.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Update.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Update.PNG new file mode 100644 index 0000000000000000000000000000000000000000..f635a49b3bc944f5ef0031aa3ad30f9f606c49ec GIT binary patch literal 13007 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 i+RSwlmF#*!@~gP1HC8RaXoMM+sB$~HvEGJ_OZ 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG.import new file mode 100644 index 0000000..39f10a2 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Choice.PNG-298ca290c2de63f7b8f94abfe35b45f0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG" +dest_files=[ "res://.import/Event_Choice.PNG-298ca290c2de63f7b8f94abfe35b45f0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG new file mode 100644 index 0000000000000000000000000000000000000000..181f54699534dbc803ca0f4f073162aeb60479df GIT binary patch literal 7689 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 W=}#}g{A47)MNyX5kgJuo2>m}2rN&19 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG.import new file mode 100644 index 0000000..0ceb85f --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Choice_Condition.PNG-47064c87073a3b92a27167e9940f8c31.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG" +dest_files=[ "res://.import/Event_Choice_Condition.PNG-47064c87073a3b92a27167e9940f8c31.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG new file mode 100644 index 0000000000000000000000000000000000000000..ceafac7f0a623d0fe1a06a0022158e58508954e3 GIT binary patch literal 4423 zcmZvgcRbtO_rQ|~5-YYowGt&ZH7gz?f}-|lYgDvU6*WrHsx69IsZEEi_NY;tmLe#n zMvd02J&MF0-*}$y_xIQDkI(1c`#JY@KKGt;UiaMhi8M0MqNlk`0{{T%b+k21000o0 z+?Rz=k>9qp;oam0=xL&b0hIM~t&j&`2Q_^)0H89C_T(NVc?@;ew(tZ17}_r$V3%9L zeE@)QN=HM@>?wBR?csA)&C6Z;hT}HgUnrQF@%O1f{9H5|o9g&>_h}J_1u8YQ(5c%D z@H>1VQ~Oy{*FuU#U-Ffe1a;FJgQqv#^ozdB4EH@j$`C3J_jdhw9yAmcJ6+cH-x;-1 z4m@6>#TG)OWn^6Re&ZN15JY7NNCSev;csY#K^YO`PuiMlK)#DMFZ90>YRZU2wg}q%!)pBc zHcP7L=$evY5&tbY8#|EKWBRg@jZFROul7JyU+Xub`z#!U&aC%_d*%9j5e4T*$h^P#O1boo>{#El*Ccgt?GlXZ>0f)gE!v>=f-A_=TUL6Atd9x=4G z!6-^KVyFWXAp6itE99FXOAho|LneR;GZ!WeW!!lp&$hMqdC2UR$;(QttQxOxA-%t6 zloG-a#tO%1HyI&;pJjaEd;mgEzG5Z7e0(XBpJ<1@)a2~5gZZpP(!pAJEB}06ZNNsh zBr&o@iYoexg#jeePzbG3)cV6{v2Wn^OidvJg1=Tn4E@we1`H;2f8z1DRGMS_ox!j= zM#XDKu9Mjud-?42tB>^KohNqV-+RvI9YD@wZV5oQXz65SdZmqdNl{jK#>s*>R>JDz zhS`jqKm>kAkPrCzTJ730tfk?z8MVgRRVX8RT9Jlz)oQ`n7aM;fP`of?s9IbwOqzD> zKBLh3o!1vz)Wm0hZ+?;cONPn9U{06E#)Q{+wS9`L^Wb>-uR*)__ZJEX0ZSMrNsz3k zLCYJZ(>&hr*f+AHUg}K{jj_#8d*Xp(=Le(2r2~DtI}Il+D}z1-)Ac*KO_T*r9u0kO zUQ24lzLiSuV*c*n)dM?w(vlBmGHKD^N3TG!0z9+Xl7osNP<$)~7)>x+`ZA%v@c#Tx zvRl6m{*!vA_JiUwCtGv8m5@%&+uVU5CXbnKQohA zAA|zyt@r#$z9x0HF;fj*R<6IA^1#&0`MnfshYcjF424#gE-YJRkx6N+FRw!9t&PUs z;83lbydSrwZjusAFHio?JJmZ-YkIaO@yy7Kf2{l*iIQROe$QE(WRVR=e|PwOxtB4x zeStWBma}vC$xhm5)&ZPr9bN1X@B_t{~Rf%jp*GBtnkm{q`7$-%>BI&PFs^E;`(2PCs= zu9h!sO-H`o4qu~1r~mOGoe?REN||!<3wE$TPI0khK5v!C23Z%a$o^F}aZX62~Y zk-t!nX^`weD=Q2nEA9|WaPj)FcnXif#&dV! zJ1q?ddhS5Xv@h2s)4TQWUGp1SbVoA2`BE+D+=aRv^@WXU4Bkw7 zot)z?o?JHJwQir`JT9Rd0~`c6SnHF`*|E4i-zEJ=fBHU~kZdqIzN4tbcBJ1na+5 zFZs(i?St)zrN!Z(rGRw%b%R8Q;=IF}xE6INV?fTAL6q|hi@m{{4?)Y+3~r~30bVMH zPoe}w{~mGHFoZib?yc|le*fgQq(I!^sPj6GRZJQG5M@1}L$(N!1~lwuRO`ztgpN?! z_(4j0IdSJ?Td@8fDNI1h8k;_V!#SIxCdkXbXVRHNCtK*4Rz#=Evdh6%Bt*zBZM2_W z(prz?A;G1Cd&3Lf3;sEZu`E{fJ=7Ja*-(8t<)c3@-|6l7K+KHr z;VC!$MG(#03i`z*|Ert<;&qNz0D5>z>iI9Rm(U%KtN%CSL5=n=i3ij7zT&kb9Ulrq<)&g!ZA1+GRDEU4b;YMUBIL+|adknPaTz>pwz*C#o^=A)V} zp+*COk~v^mO1ETTW)Qog*762^ThnHZKNWx&!cn-)HG4*zZ$AAq6Rek}sC&vD=jpj5 z$smHBRbg46qt^ItaW*oxl*5P47q}`mfA`vtnJl}F=Q2*~X3s(4Z3Tq!HC2>dnwH_r zN{oMeR&v--`r&p7$tSMB>h7Ezb5N-MQPm=Q!5C8bleD2Dxclot@avX0L)lQD|J$-@ z&=k{wMVH|lc4ED%!ZjbY;OGqE8H+s*|AWzjxmsN*I|+QcJb2|Vl<$X^*Wu~G^OIWv z_^PFrTjg%kEp|)o4^QGVLnAI_^J^nJrSXMa3iiNWRyP_ ze$@N5ITN61Fyrv`(EVLAMW3*mlaKkf!PVi%SanDwH~DmUVaItABIFtx_$O2Qh{%iN zR@_hOJ#RMgyS4C<^V%uWf&OT8zAY8h3)~6EuhXVomiB9^ez@D<6gZU&Gs8i=-h2Sy zuSVMo3>S|T)J#YRb~#ZH^34r=d!49_-=_acNkZRENo!#r%q$)YxT$+vJEYU(rch)M zV8!LnkCD(d2CLTb=|-Pvx0GbhXhp?ghcIj0G5tb zBux;gDx;DB2qw-!>S$`{N9AJ%Q$lS&l*<^hkOMa{ZVaGJOPAS-Ph~meSxya6!j(Y2(d>UOQ`<2cM6fBE?W6DF;y-^G~r1U?AVY-jDrZ^S36__N$L9 zs=TXSc7U%N$+~uKgogYrKoDzHnDX~@byQW^Cl4@RR950ZId(9gM8o7;9im= zM;6m7z-(4%E4wP>v0EZ9F5)452dG~7sLj*QPqj@qV3Kl~)2_`NqYPnU#^v!m0&3+_ zd~pBsXFC&w+uh|5zX=mCv+8U;7&3VDBG>Qno@jmGdGOpqVO2nOhz=bJQ^yVhqIyKl z@1;ovH!5)Osy5gdH><}~fG;tK|0%$Y_R(3yAY9gM=5Mw!yc z!}a=dGD`rAsTNA_3OnpIeHkLeUs?jk>O4Kmwime(>@uOyL!NVW} zO_Y>0Jun2DdI!kt%bd~Acp;;=aFoJqo2M($xXv%;#_FBa+d_7N$?GrL+RygZ|1OA+ z-sbUNS%!56RW3L1OIPI3!ER}|LX)R!U8i%Bw~7R)4S57}tI3Fi*v52#z(;JVu;qMB zHC(TeWl%+wj$y6uabp!WsYqaJkmE>W`ch~WPb8g^?Mx#r$4LAYk6e62%oNnr8p9Vx zrp`!?9)7erIm>i$P=?@%HzbS@mw6$Ta$Jb_iVQEE?wr5-G(3r%x_X z8u7ES&T2)=v67Lw?nSTlKSD|=4!Gb!=Uz0pyjp+fM%?{4V(IKZV4c-6^7ev#`7b9H zlg&lmKnDdGJISq?qKID5|5rKqUwwdqY&)`c5$^xZCwqsis__2P-+|n6;me{H0cdjZ O1E8a6pizdo8}c7a|06vB literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG.import new file mode 100644 index 0000000..bda1042 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Close_Dialog.PNG-3654b068ff053b245b5a111cf97e619f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG" +dest_files=[ "res://.import/Event_Close_Dialog.PNG-3654b068ff053b245b5a111cf97e619f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e8a97d2a0f70a2017cc73a9fce99340dd7c880f7 GIT binary patch literal 4935 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 TyDtK}#lKmZBaV>GysrES)O6*{ literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Condition_in_use.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Condition_in_use.PNG.import new file mode 100644 index 0000000..3ba0ab5 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Condition_in_use.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Condition_in_use.PNG-86b74676182e6c775eae710456cbe8d4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Condition_in_use.PNG" +dest_files=[ "res://.import/Event_Condition_in_use.PNG-86b74676182e6c775eae710456cbe8d4.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Emit_Signal.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Emit_Signal.PNG new file mode 100644 index 0000000000000000000000000000000000000000..bbebf694a0ca4c4ff7370d9f8d119d3803a5203a GIT binary patch literal 6500 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 DFmmdR literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Question_in_use.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Question_in_use.PNG.import new file mode 100644 index 0000000..f1d2126 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Question_in_use.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Question_in_use.PNG-373002c26425df47606663984f025574.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Question_in_use.PNG" +dest_files=[ "res://.import/Event_Question_in_use.PNG-373002c26425df47606663984f025574.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Theme.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Theme.PNG new file mode 100644 index 0000000000000000000000000000000000000000..79c4bac9b0ce23c487f97ad47bb7e25e7bb7eb4d GIT binary patch literal 5338 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 HpM?Dfs$+mZ literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Theme.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Theme.PNG.import new file mode 100644 index 0000000..5787fbc --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Theme.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Set_Theme.PNG-73f2c9d713bc2975932401717f981883.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Set_Theme.PNG" +dest_files=[ "res://.import/Event_Set_Theme.PNG-73f2c9d713bc2975932401717f981883.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a4fea6f3b96b28b6506e63713a0b5cd8a04405c3 GIT binary patch literal 6105 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value.PNG.import new file mode 100644 index 0000000..5005b83 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Set_Value.PNG-b2672955798f7f97c72e2c4f3f23f42d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value.PNG" +dest_files=[ "res://.import/Event_Set_Value.PNG-b2672955798f7f97c72e2c4f3f23f42d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value_random.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value_random.PNG new file mode 100644 index 0000000000000000000000000000000000000000..bb2d9fb7b20f43fb959f7b1091d046cbf95c406d GIT binary patch literal 7535 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/audio_event.png.import b/addons/dialogic/Documentation/Content/Events/Images/audio_event.png.import new file mode 100644 index 0000000..a4cd8b2 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/audio_event.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/audio_event.png-abe3ddd1bd4a041a15bf5b182b4dc2c6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/audio_event.png" +dest_files=[ "res://.import/audio_event.png-abe3ddd1bd4a041a15bf5b182b4dc2c6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/text_event_1.png b/addons/dialogic/Documentation/Content/Events/Images/text_event_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e5307eecc7d482fc5e6dbe4692dce75fc66ef358 GIT binary patch literal 8151 zcmbt(cQo8x_phj2V!84 z0X+7aPK;zOKoU9tcUTm~_nwYnULxKY?y!+e1;2!_F`?Mr)1b@tHCdAsf7q9|UP>XlO8?m;upIQBmL7iFoj> zhFOl>{P^Y=KPouBRl_F%_6FZ7Gnr!&P47cC+Cmnd7^;qTP_K zAAs0Oc2|cxmgGi%;#hWPsX7ZMZ8%+bvG3$7=$7WxDl;LqdUvA4!#2ejin?m>TqpPN7&c!zE zD81CVH)*_H-&!gwLDQdv(ptfp4>r!jj1myEqj)U!`X2Sjed>rzTO^M(O7uz1eA^SA`OY)7jf&?h!(ThC-!!6S zb<%drOy(-0AL=)lVt>xcS+|dmaY!8In%jKHvc%j5{!KNKvd)$LmNXF|E1vil{!H=m z;Q)NXuvUgK7lW$&>HzT8l$-PkLoLcPpoPsz;;$2xAH=BK(9pxW#ReO0D){kUVKMN? z0`e0bnyV1_B%2mq>`0ZCInEV@ZG8i*b)F#KSX@>eW6mj2Unz{gLqtKi_Bv+%gPw!_ z)`f8l6`R7truN?nRviZ^MaA)z^&xszm)p;u&F7~DULJglX$HV+9Z{YcGLSkS^P<_J zvGMl^V~YlDDe;f$8RmXz%xQFnPAxQW7CwsILCLpU8iyL+p#+%|3mPkME8}_?(F1UaPe~QMQc?2UzMBa-}yNJJ?GS_i7#xVr61-Kwp z!=O0O;#|al9)0|p1Tb07WAGW0&1)pg#q@NA4_F-%5MD)9xzcRX=&o|4MTx<^eXTz{ zwGnC(K3E+bVEwZFlWE{F%P)zF&JAiwkN>^pdyGmnebDl?t zM?J-2UJJv|7En^Q?ft3}p#ge3M3;hfR5g>s(W;|>8kb<~bXAT8?aJ@9!w}y!zq6x{ z5;HD6IE=5{U|i}KQ=27TTPxfnj;pwg@z2{bZ0`09S2UubxCbr!Telk}vZe)ZDxRmg zBy!fMpXRbQ9F51OdK2*wau!R7hnjl`^+_dn_Zet0K&y#(a^y-&>@y+;r0`z3fXLAu z2T{oY3ldk~ye9W;jZmTbuCf{VEpozxyN|^A@VVC`2UN#Yxd&u6rf&NK2DdQ=`dNID z&nNf+(n+-vA#-o(wNl7IAbH0|!tkjSxh@D;C^g_^Tf!kJluZ}G-^WbFOnE_UJf z@*`Iv{x9ovg{_77d<9NX_5s6PhTDxYz#BbDWf4I8a?MWrsY(+$+t2Kx(x|F8H2N4s z%Eul>K%j?`z4y(K`$~Ed9eve!@7U^)l;7Gqd$(|V7UHv=A9m+>nm@lHl#RY*ERBaR z*4Uu0DM9I_a<@f)ATS~Zbc!J68of= z+fB7HpGhd-`nNHr_F`r8AWX>bdZr(r>yq9rhBi0s%~;+N544F8

4iCQzalZ+VFErSsK=mu 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 Kt6HpV?*D%$Hr!$W literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG.import new file mode 100644 index 0000000..c320ef5 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Glossary_ExampleLook.PNG-7b274bf4b5547fb36a98967673b795df.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG" +dest_files=[ "res://.import/Glossary_ExampleLook.PNG-7b274bf4b5547fb36a98967673b795df.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Import_Selection.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Import_Selection.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c8b51a3933c109a596429b7feae84fe478101b72 GIT binary patch literal 56000 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%0D2hL66$(UkV+EKXp-f^zC4A=roo<%XC5)7&1)P<( zsU_b(|Gl}c133SY39i6b=pJ=of@i&+#FK$HG?OpjzoS3d^E@oR`L5KOlX5KzmP(W$ zDTvq8x}#0l&|ubo$_xl|OC&0A#(V1anPw9o10R`E-#>xrWya2xR7Ld(d|iPq!)4yk zFE*Ye*$Xo=LH2+^_MeXMygxdGqot3rumro2Akc?N&-1>&@BLiMwOl5->s8L#XYYML?KHR_kzB$Srz_sV z+~0dA7Cc&B%QOKClsSbvwyqwg_MM?||cZa>Ez6W)t+IhROzL9tKsZlY%8P+mzZXrPoA^6#J) zB@Q?U@}i7j=3RXuoSpS$HSk2K86JzO+_5y!CRn)eFZkDV&GBMD~gvJ7p-{CgFoSaS4c?^w0p9@z?GWZQ|c z9LZ^8RSli1t3Y0K?|M>S=`;W%hnYJz@d>-Q=J_5| zjbZEc*~|wvvt#a2I!z6@Lvq-LlI5OcK-Hv(PKItK7aj5kONLNZYaEG7)heh_Z65MS zl!o_%uFvAOS~YhD)HFB$QXWhOWPPK{ZfSF`?~D|6z4Ji;Vs{8odHq=FYvi}JBz$F1 zNv7r!EmXz$ysy_e5^aDz#Xa!Y*Jsl}#K&a(<4wR)6=|bZK${IU&M4PtA^BK1VAm!~ z;;KyiH(IG^c8XTsA5IObwvAB_KwU!7jK)s?@LVi4t1v8!Kcp7}7Iq%AtxkvS_cp03 zu_BIleU2y0m{M*(xa}Vi8X%1T2B+_L*-&fsqWP}Y&~Ra(XFAR*A)nc8LO0dv$7;sb zTY+(`(u{CgTDco9*bVqlM^)qcb4q2^h87C9-VUOG2&xm6_;Ii&S4sN5v8(;}1&%0T z`&Vhr@~`zBzcKJoc>K<^Ji6jW#U^zp8%3^~3eUv)vba}n&F`0(2kOMf!rH;MS#{Z@ zj>qTcW&tQnnr3>yU8mO3dbW5@vY9Wp{TDnp%M$@qES_=`_&r zmX-czcvF&!`yd~kJoe08xkG7XY!=@ptDs|_`RbEyZkvRzni7vjpSn_&rus}&F+ z2cMi$hL-s-$})df%tyWD_JbON5wc8!n9<5hxgUsNRe%87MF+eH=^QhM-7foT<968{ zepTWKA;J30ST z?=7$E9BZReRU=Nxw)$(`xB~~+@J;%IxZzCF6zxOixm=}2@rk>PtDf&mFX&NtRm0Zm z-SSgx0P++Ruv;zYWSKqpOymd}xcOu({|P)|OqwO9U5Oc&Z$NS$tZf!x3~ZYtb&*`N zsq_VQ^PSMVYBsM4wABgjiP&kEHfIt;F+)$?iQ%7B5sK?iL0H575@*GxsYXtqv3k6J zZfQTnd$N7S?-*mSvaSJP9y0?7?ZdRpR{blU))0Gt+gG9CTi%U321(xDn&ci4x-`85 zw;gvS)EWz;hsHj&ht+7h{C)Iz60{lA6%htlc#KYY+(ixU4L829+ztlP5 zY?eTu_oW>@lYtJ$Ir~M_F{TkmxdrfDZ5q?KsTcH)w?%c1W)<1l7g@Z%!jbQ`N~dfk zw55)hwXw9fU+MN7j{;j`Mp@RV$U9*D3MPLtibkr%{z1ztma-gAtHD&6y=fu$b6W6% zr1ah=AbL!mG?UXA&HS988)-@Cum?ok<+gJ=hs0b5kJ+~K>iD}rG^abpg20_vXw`23 z&Umv_TH~yodb)lNmI1qT3J_!O&+lB6AXtN-?Z-kMcR{r}Db7I#MCCsq^#L#Ykg(H_ zLJrLLl{%Z_?Jchkw?cxGS1FQ?G}!{$Jl88W40)qz?Z(Ied?7 z10CWw74E+h++EcI2zH`u)t+~(q+ligR{Ssexl6fsO%aoQID@TPeMWYpjS#!u+_+@8 z?KrBjIwdB1#6YFP+NpO!Bme2-J#$v2STEo(e5EL&X<|+ZbV-TWVrTW48Fb|?WIibmlFG8R86kaZY>8jTHJ}y8Pzr48vp{zBe6m5_hGZF! zuOQzKE<2tZAic5oR`x{Sb#lVmNgnSYPl(hOP0LwFEwouoY?YI;%Ni3GJore%@Mz3v z%eG9Sl5;28-Da+uX0pqmxbOkPr5Fq=6x;)x!i4lq-059d&DAgv!T=pa3|p~|&Ad{~ zAXaeJHn2#e%G7a!mxE}tGz!)nNP=u{aS80E^#ido9r-$nrd{O)Zrc^L*cVrUqyQQP zRC{_0Cm>#Li5aUzITt*uh?@Upq6<>;mnJRIl9R6jh*^aC4r#K%&(LV>Fj zV>0Pd53DXKIl60+43996*ju$j|D&WIiD447fvEOovg!azR|AxK#wj&D1SU@;2Ph1h z@+Jj~rZ58T?Q5(+Dfb`m0phzZ#T`|qr=K(*%(*U%wH8isb@}qtak}MoM;;DXIM`b$ zB2?Fkl!Re$R+kuS%Dq{KP07n&&)&EAEw9ty*c%{a;}NnPhu^ zat-kIfS-^izIlGTXle`(V&#+jY;SWH}~-xHsOxQ8?RO^Fp}a{=gBwcDqo#5H=u$96yHF`2FAYZ1{QR4AXd=57BR zgm6YshMZ@SbRLznW521AjYFzeT<$^v?mNfnv=$+Zz!T6GWo=5V`o_Jl`TunX%AkzB zuo@#`Ls;Trka$sPHz#l>xQr&`MF_nQ=woAi?Mj;8=4L=pIP+#>wP8#X!dHwwq_ew9 zQ%YU!56qPCEv!YaK^2=0A4$E$G7X~mhnD@Jr+@rR+QVwX{pvciTn2Mt@mQL_$nBA|B# z@+w{?E62zUdDz?V68>2q;={j%M-xlmRn*eB_ECZ8`q-?tZBPlk3?%qq5i)77)Vqy41f~Har@+21 zpD5gRVH%&JSTAKqb+tcnwI%*BH?_>Vtqf-U!hC944o%v1=Xyw&s9^=+-OXNUsVmYy zQ+NWw8Vt8@VrKZJHbLHkI5C(dw$z#x4b{ny9Hl_HR8+g3AQFRs9@`GG&+MW1?VkE+ z@wrfE+GnpzilaMl{d5^Rz=uK6y9WkT2SpHcKyTkk(tLND+|VHfw=j7qtfleR1lN0K zu)}hk);H^k)ic#Q#EFnOhNS;~PJ3xCUcx>-nI=Yk=AAw}%z;~@vgJ+609pztTg{7I zfEGGx`+|iEh$_Q@aigpmIcV&HB~Xhy?bpN|n*0PepmtUzSWLK`m2s&oSa7_BMVw9!9K_^M#K5{*{jjSdpc?mQ*e z9Y1rHIE=)bR@rRlXz0&CdVqHH+cUHgMr8}u#SJ8RppM~5O|`ZhJPl$mt;`-%!_7~# zQjh^TwBYO^g%G{=)HRsL`oxQLpbUiT{UP};>}WS#hRQCXVYdKu4a(>LIEg^d2ne!f z#t%)N1o$)b$=-HC2`gVP(;m3|2z0)re2}ibn|ni1n9tDOe?qFiUCCR@3E!+Jq3}!< zQT3nF7`L_(SI}Jr`E5%QM!0^G8RP;V zu%|Tx;mZ3CpPH#KH9Y~VYu!WBhX0co4Cu7qfWNO6`3bqoj_XA|gKTWOCM_)!+B%SE zEHGs-7wq8_B6IowQ>6vy+)bZyJWI;p3RYm-0@&00zn%UU?Gqq7Q_f3}5uRzQUUL~$ z{;8Qeo1*!UKA`}tpp;XtGweR@mtO#7_^*inH~dW%kblfK3u|(o0xYX#jB^d7&EeJ} zzY?4l_`w?n^6EHo#Lg?Xm3A4HJ?`z^(m>@qM6g~hW&UAqr4rFIn9gbS#QdsNWlyhK zsp0@;kGUhvLVEG>IXKW@k#W`0*99#)p$;7G$01d>G462KfxS0sy$;ITS2v7`E@kvz zKt7x_m@w!I`0PKD$9hEe3Za@%?z?g256cL=7@(wr*a>d{2R0f!8;X)E#R<~`Ij-~i zsTJ;N9`Oz`HK`o=mYvs19F{Ag=s+!JAn0rs=00*0jvRR;c}fB{c41dT<>ePh-C-(n zK&Qxznyb;%Is2LHRcrCDtS6qS=@YDpU5UYh7N6XbTuz%KE)nO(quGk#b-X}0rxR@L zglpLbQoo1~KnmtsYcY_gcTKnCa#jzVSeOO4U(l`(!N)5M!kU^zieZ(9q|^fvM0q2Q zp)(#~?1SJ+lBWcK4x;Q|I*6yr*R8M{1#n&Fw+Wz(Ro0z<82vGyd%|GSpg-X5i=S5p zkjVc_FrrC%((D3nGW$Mw;9k_(uR!>`yka$wr>J146O75a;@m&vj0u9QSHh9_8B>{! z2cWE5)H8InqP=2O)jdNq<@J-S=>3!_cx*ykW4y5iuQA?^-YD`17pHqtetNLqvjI?x zQUXoI=)NwVL5RQ60nyvP8FN^blK%`QK-~`Poe>7WHfwgquLp=R3Y7pZAaWx9{$_ec zq9Ep|@>t_)3=!#m)fE)tAT>qp+JC4iUV690*zaU7PpGQ_VmyhxJ>W=Q*8d;Cc`DLX zdK)-_K-fVH4)_#>C9$`7Z%&;N_rYFJfT&Dk;UG(#L@jwJn@csQf@@abI7(rwQBi&B z+$hkvt$jTK-CO{)rMqWemVl`;p2T?tcK!<#539^U`P4vCN&s$ncgasZ-2@^2b^RCq z^rW86YQ{A|fP>>vV2YI_XoH2~b3u4y?rM_7<;TL=UsqOXo_?Q3Rn{wd&zz)wKAs^krVjufvadw}m2t9XFA>K(bq+9eKk{l57T z_rYt1s|+<2It0%)(|+zQ=s6z6XPd;WUX1K$A4j$hIp{*8gN;r!5W7*>k_BIeV*rAD zBTz3KLE1swp9?{Rro_-bc&%WNJ@Sm8b}s9@b&vjXvg@X}Gp73_1D|ch){iR0H90}% zo5X@^LlJu9F$}+Z-?iyA+NuDVRVE2VS{9M>flCSBTBSC;>l6`dZ?#Lq*zH9FaxJId zIP8wMUFOczQS)8q&e@XRV0jLh2LMi$6`j6BGQ_KVy)nie0`X*fhTs;p@IkbiLVU?p zD;4-epDrsIxPN z`)j+ioxU)vV$K@4sE`!3gXcZSQa{qj+i%?#ztS(&r&Wc<`R1qGMZG<={o3z6Z%dE9GsM5$ ztw|g1F%n*%BR!r%TG+t4i|CFy;Ti22E@~JTjOtZ^GGB$G;?A-ZS-DzDlDuWBQMO!c z?G-f_t%4X3+R)UOZO+m?Q)J9M!+R6 zkvA8KqXn%}5k~^6IGB&L6k49H2Y1hfW(jJQBx$cDl$-7UzLLQu-`ih|bIKTWNiUq1 z8u0o8HiW@3!+<)Z0hz-_lndweH!zz|1b*jrV-D+eJ0WV>II&O6yUR0o>_^PMi8PIW za=;`3{Q5AyGW~v;CfcUpIg9Y0rKr`AqJv+-f+Fv)&m)lsb_UyaaiRm1$G%b1l>JQi zLDeBN5_+Rbj~8LIJ!Vq)>@MVhz86Q|g6?#p%?e%~GS#UE?QLxzOo{iG#x;X`d7x7p z&8BWnO^>B#VJu~S>r;!~eKn%Ak(_BQu{ZWD2vu#!Z;T^$j5k&~75x)-h^;?H=C|9j zZFH-~llNZHzal8ZyVECG#cl3E_cQUFf>GdeT)9&FdNcm+Y;hLO(c&t zrnQu}t`Qa(BL>?cBFK)du*KnSTt{i^nP~?C^lT&cAbrC`pl&ugy9jEGqs^Ry`Dd;I zdyqG3E_{MSCYEE9K#cY4Y7&)IzolrM7&T7Vs?MhK*!oNkajC!9Z1#+YFOgoGiQh2H z9tX<(wF+9L(jFw-P!yFQ_5{yueO$x{c-x@4ow<$?#%ib2G5PM)^WUx`fj*gw3o=oH zstc#iJMLLa`wAz7*8~v4qPKq+1$GX_TmymBpdL(Uyc^G$zyfr&tABfnzF)3sj zl_9mY&AP2#xk0Wp7?8w+;RDp(M8t}o&Cccl<;I@v7ZXjuzQ?dgqZyw+bR3vA@!E=K z8kN~)bW7@#(nj4Dh8gejYVw!_T*9^{WTg0j7UTGqau8u5#;TH|Gffe*rgF2Yn$TZ# zL^ew`DaCf2qoYLb%pn82Y)bWI!?0Q%kl|Du8xF%2wIU9W2DM!#fq+Dxr5R1<`O@fWboyJm*X zhA-8y?yP?e)F9QJ@L15p!W*ljvZwh?mqg9=KAfee#hCXf>`Vmi+;52!Q%jz=BClB) zPGgaG`!8zbJ@Y=!!2hL_4j^J#syrIS)`>+Z?v1mwF;9Ex4$?z*dRhD#*+YTge&3qS z58k+PyhReBTxy?SGy$ozaDunb01{%(DF?}&NgUaz-$y~`GI^(l9LnK`i6Lq6D>h1P zo9pY{ga)g|k|AJftdM1A11_cvyqa$$jReRNAIXjGBw00dT6xGZ+QqTSM+}6AQYXlz z`CZ@<6fc@ntY}(HA7NK)6e7=Ke)Jt7-~Z>`>4HXZp{(TfD!r{Y{#yiNVf=N|bZ(vS z^T3)X44`y?Q|%mFGM`;&E;YD9`t#nNHcfxlPp!S0Ahi)96;x_JO*hG9DvYmmCq4GA z0qJ%xA5gL`alz)gO!Eb(t_6UX9noLDnr?x&E57fF>e7G=<}S>><=i6iZMm8QlC>wQ zy`{|^7a1Yo_Jv;ra7Xct&fI{M5h@=Ocz?jpn#abBCp9V}!&leeK ziA)9eD@ohr>wveSVkPmU^hAQywfkvACObwR<|EB37WB|Uzg@>0qPM*%WYj_)k|IA5 zJsx{mo=!V705}HzP!USLyUA(Vg{ZvARPy;?wSus=Rg>lPP8V2|L>-1h-AGA@5G%yE zL4BolJxpueSNB7XGwK0$w&t!F%NHo^x-C4@4M@iu1hcI9Cv*UYW2Cu}xDW-jC=

R8O5J5;e>~-7xl8SP&0ltyMj8(R+p) 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 BP#XXM literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG.import new file mode 100644 index 0000000..cb1356d --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/TimelineEditor_Example.PNG-15eec17720b37f03e5438065226d14ca.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG" +dest_files=[ "res://.import/TimelineEditor_Example.PNG-15eec17720b37f03e5438065226d14ca.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a2f9c83e1cba1a128d9f6c041927c85e2a2f5b09 GIT binary patch literal 3647 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 Qe*j>3`Kn%puFHe}0~b>6=Kufz literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG.import new file mode 100644 index 0000000..888f998 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Toolbar.PNG-c15bbedd058e9f4460ab85836a52b6e3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG" +dest_files=[ "res://.import/Toolbar.PNG-c15bbedd058e9f4460ab85836a52b6e3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/ValueInUse.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/ValueInUse.PNG new file mode 100644 index 0000000000000000000000000000000000000000..473b413ab71c90f9b98b0ab3c295e0f2f2295f67 GIT binary patch literal 6697 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 U)K41$DuJ$8*j%ondH?_b literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/ValueInUse.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/ValueInUse.PNG.import new file mode 100644 index 0000000..482e10a --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/ValueInUse.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/ValueInUse.PNG-b73ec239496719f3ef4c2c5e92505090.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/ValueInUse.PNG" +dest_files=[ "res://.import/ValueInUse.PNG-b73ec239496719f3ef4c2c5e92505090.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Value_Example1.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Value_Example1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..2f8dfbdfe341f4859232f1ed9f8dfcc3462670ce GIT binary patch literal 3238 zcmd5;do+~m8vi7hl8n1lBZ*QXN(eI<#2~tojTxm}Lz)MB(NpmjGZJoj1NNEXaE!-~5Q<0Uzp;84M`v**D8Gw!0afHv)i{SP{;30iM0% zj=4Pw0Cu--J$&uH&u;?2E`7L((Um~N{Md+tw3&RnA2*>kgZkmTt4hjE3CR@qE9CSq z+a7_W{EQNQdn1>B@EIivM0E1w&nJ#;SGt}AvK^7t?u2S`+w`fWRy9Rmt#&)NUMOmo z&7;ni5quhgX=p<6D16bz2E-!(Fb@#GMu>-M#{V87{Z?Ps83j;fOy~Fk=hvY-=!JH^mNpY2>_eI^=13P*QORgSh`By6 zj3>;v=>@KKJ!T464#Bw<6NhejGaom-+1d`eCPUE=!F{MfN63+Q8-tE9sd>rYKjSg; z3{h|6&q`b2a=tiVGz|RUxPVpoOyYf9(;LO`>F?f`{HRHl)vS)bp77d$O&0lf zBspELeR{mrb9OFVMfCjsVWBm1`I~e;|JAyqqTL3?T3A|eho!%ezDK_{UX6re%k%3Kn?P+Zf?Q7 zgE?A;7w_)Qc|86ra{3LcN(=3m6)IN)D|<4Lnq6~j%xkBmdTdl!uG;y}2Sw6Lb;5>@ zf$KJbFS1U~x?q`%^fIyy$(Ety!Yyk0a}4Yj zn5LuF`9n_4?7Lc|9qOF**8(qGqsXtkn@7`~(KVsINL1CO{(|Zf@z0M{N z-qxYsH|7v7gp4F?Tyh#xt704{tyc~i1P849M|B!rq2OrS@hPcgUHaZ$Cj&AK*MjFt zqV%wt-AZ$bkiKdI_DPmJu+-YcenIME#TAroyv>1nxTiD*wfS)Gc#_Rw2HLv;(8EPV z#Pq%+r?F^gMv}X2Ne&3A0U3+-ogXs9ea3H?b8knXV4-W^{v}Yenn&EM&CVDO+md8> zkCuQE1=b2VGyE&W3$n87g5jxpaeY=B?w*bXpmIjv-=cDnpcF;F-9SSPk{W}MmQG>C zdnqTiSa9^B2urh)v^ifcL8(GQeQUKhB1gpl7dWedmIf&e`O5G*rCl}yuNZkYnG>Ol zim~?>o3J)c;0Jb{R#8OEx*)>lMu(U0>Ys;o*h;?F@#)q?+P?qs9m5W8EshQ>)X1Ej z7y7Of}1ZjrbJNW+#T6Jl9Rg8p@>jWRnSmR#iyyy z&U4!ga5E?`;2nu=DNPz!afINq=R6cV68gL~rE3&2!xp-qDhMdMb$0oGRfPPKFiATF zfDD?V1Gh9{G8QDpgKH1|Gq@%TvhE}a^6{2u=&G1{Zs!e7_=!`tCOSd?1Xk;vNUq}7 zgQDAht_g%_!hfoc3It}rn{nRrSCAjc8XibJN_0f3?rs80plb( z2^Cg1jr0Yqhi2MeJbL5|)ua4{SF%Qc!g3{FWS&Yeh8yaJQxg^lpmI75W2bvI+i{w} ziG6=E>2-Q?+jgv|?f6ORy8G+eD$8YTZgSna44T}ZY1#EUC@!U&4V}nUZjbA=r1gO( z$!)ad@qW{VwYJW|_d3#IR!9f4@+XMW$GoCjWYSEsQX6f2#)FUScj6~~>{lN_g70h$ zWH0ulxtO|jHy72jV#r}j*C6(|ncDWjdA*s%Z`i~C1z#%3A=i{qGNsA073rOfy{suuws#Fu;aHJxR~pt;Eh!Tv zIUTDIk=($!!PDQjY1KX}tku|7LjQ4<=Z8x^e@oQ+CGZ@i)y1dS3V+ynE2aZ^HC9Q(l;%tIztVWto$ku}x{6LrvQ4brwyBSs8keASPi?QF|S=qL^B%2Dj3o zdVV5lyDERrRb3%h-;w{)dRQ}8Sj5J0DP9k`o{)1ajI9&Ajxe|QY}=b*_LRn)lF4vs zj9usxTjVmW3qw;;#6H0m@T53}q59?5*24vLWuGcwken=u<3ubTvQ1b87J7m$PhlvR zu0OCvahz@?gjR=@>kV!$*I5*{`$MbV&vZc%Gg%cUK3JLeM|H?B*V7i+^Zy z%`1G@m4Qq`F~qBws=31Gg&uV8!1$)XU2eTX_scTp*-c1}_~IUvMT8Yc=NrxN z9@H~1VnhesJ+*KAPiFob@q_6Dv!f4IO^a1O!8mumD*;FTq~#B7us%^Y(a0U~brp%P zrk$2EL^Hc-O@ZF%9{*!q{jUqbz73LY@B9PAGSZ#>eV-#z(9Z+SF=$)%{#v0pGN@c5 zadrYDMe%P#V1;b(k3eF>-UcvE$^+ZWW?(y=z$TTGKhMIf7~7)@93Tp%l=CFnlRczd z=o+=tm-}+YO;sn4B_nFz*9}Grz(^9;D38JQZPHDif(3)rRnz{ZcYTr7$qe8Z` zn?AbOt%)swI%Uu9S$R%C++9x0p8RU{8ko}pDORah9O#n-vyTR(C^M0 zFaz%Jbms#LRL+NJmOw3;KP+-Wek5J>-z32T>%$w*HIsjL-3(Zvr1|9esZ540Tsvz5GTatn`jxgqW+vu-P zZF*=RZz~h|U*2kfHGpY$m8$~bn}hXzEP^6p(>`oFAhcChVswwa5S=$6BOMG}z^29h zYO!&B0yc)>rJ2yZ-&LaD#ssXcJI$nd)-K#1QUGMt#~xRHym?xeNR#vKyLzlKeCbe8 zUWC3}mI1@}o7`BQ!jD&SieQZ4(_l)wL%|0L;N2M_ ze~XC`PuXAwkr^huo1PR;rw$VNF>qdkG5S}>D+rPQ?4iH%{NpG1i!p(~??wgkrzOs4 yZi^H>IB>DP0-caxUq-VT@B6v;`#R6-ye3>wOPY7ab zWcCAr&QsB zuu~8DJvuMhpPE+r_14qn*V_xvuKv8p8)%UOLeP$@`-OX{EpI7kOqBu}Y00xpE8n;=tcWT$79WjX4KxynFM-m%rSRe`EbRGwd2ju;KvfbO0 zxl7ROXm>Ky9T7HkdwFk=0&|-w+Oak-fKq2vdrjFkqGkGBSJSG0f>C4n)4+B{p&xXM ztMB?XErtIMzI~7dHM1EiAvub>q;F*D|M6*Go=p8*Kljn~!RC>?LGELJrKzuY9vf8> zAxsb84q@BT5%yIRLU1F~i3U=*p+ ziX8O#;+-^?RajSgUKZAkp0D;<`sGcdVd&voQ*sz|=tfo=PMvS-V@FDLM^5JY5gSpn z;EnIp-Smbl-i{Nv{-+2P>duToX&Yb~^l`Pcmx@7a;h&wbn#NO3W<7Ol<6M$PKlH4E z@7vkJtp`hLsW`%RuEHI~FI|+inF&nEahZ+4aSUovxyQssNT|0q=-vweW}E1qv4 zD=p->x?RpP@@Cx9Jw&|%`AjikOLE98XlBvQY1sCIc%iZDvwW*i!T$IfBrf|e+^Gw} z>yuJ=d!yki$RON??M?XTOfjph$Il>F3#Gs7T!h4(<62CU4{jPlr;URCyfuvz=CU(~ zk2XA1_Job)o23ni7al55_FH_BOCMtoz4b}bV#GyyxIYi?npiMgT)nDX#+v9dSTb3i zr;BeGq1xHi*H_AV_Gea<-~)AW-FH|g+Rj_32}4GOgLb~85QqIEVnJ9G$YVM!X~UY3 z_|>VIOUn5qYHF0K@0Oo5{y|;{>x=% z9j3c#yze+>cwY@YAvyvP-1GnNx8D*fn!Q{!&5H#c94c?Em6|1FZf1^Th;ocDf+F|zLqeH zsampWmZ}s~DGEko18`xFaSLsI)h>KA_S8u8#%3!=G@sJlV&Z`Rj{-u_X!JUMmisPc zQnh?Tt89<8rVI1!ABg(AOY^6&^i;~cvP6O8IoP5{LYb`V_BCu|;mBq%P0uXy)s=}d z7PFGPdg4T14o?l`J)-{C>2~DutA{@Goma4yg^kFh@}qZgWqjd5%A_GQ_bPJhNpM`3 zOp?kTYEO3WQL`%NWSn|Ya0zjE{miq}E@I2NgR*PgV24q`$gx%YQ0b&f=~g?^84M!H z^nO~E&vg$3O?>WRL_7-%#IzEy*=MzdEY^hjvZHtf8QYsjdzHqCOlyJ;%z;ap$(j~D zF@p3k_$CBJcrFYWt~OU5x#G}E{oNhqWzZcu-}zKhbhS_KZRrrx&4&3~9FXUH(@Impvv;dNsjj`oCl4akB(dYv~-=_Y0xo`b+>}=8xEYhzbI7}6(>)SRXcqj zZr%3tu&l$PcD2`}k2&h?Yv}a_*M~IqbR_Pe5k{3S`BGp$YhI(OTl$i(S>>a)nRBeH zeUDE&^egRVOS*%0^e*RB6sfu|#3LUafxf?JWHpahCp;h-VM1ILe8%6`Dg+x2E9s`z zErfXr36`eaD!Y09iol^NA8xL7mlfZ}?T7M0Y#i#)_teiLRKCj-L;d-<_Pu31KH-t+ zb)P0gb%g~XN3{^H?P>b+-PF+aMCH;X8CEI&oD%*uV>4v@0K*m-%=RHZ@S)7{a4m>< zL_+sQQy|mQqw`0au{(RA4%`}F)kuo*WO^=eO>()+|Ay(7f#UlVdD_DXrC|HY4J=`1 z-cm#hs-c>?ChF^3^Zj(X{(x#w8-UR`Aj258<3G~Qz|yyzXuOJiBKysgITHm`$wRjT z^Q{gP5NcPS>m)6t-8FdiN)kVz)VO%XuCA;J^eq3L2$}uXW8)IVRc`R~>j`BfQ?c7@ zb83w=5nan8#=fkhqd~<81FVVyX~-LwpNd&I*MVatniLP7Q5H zI;c9$iEkgBOVQY5LU@-&^84tFi*H^)v2GlrQrqJfxYi<5=T&z)DNtDL?mPaq!khN7 z@+X6ZpH)iymwUPcnVlew5(MfRn*+TLQC~%g;e^Ic@47LA zn{$(!P^R=z2Woj;%t~DBSzV|mAd%Bj!_R~uumk+s|2hG>J)sE&t$yq$EgwJUVfn7= zEK^5#B=m$6I)1HCZLha^(!;`%`@P18uS0?)fkB_B{L-7^MX>h}{1d01Xu zu?#2;CAbU5YqCJu7J;ZOiWS{;wf5#HAA&A+GsTq~tRmZT7EUA6l&V3_O|21K*lWeC z`mF~A{KY<(Y@KDDFaHXgGUhyT@>U_ea@D2c(w6FAcCWDjY;?l*0mq&>BD)?;pIqlM z%~g6j`WoaA;&=8-x;5>0%X;%_^wV7%SS#{G=Fyb}8G(YRBj?`ABQ4%hA1rA@HKu4| z=WTCycJyzF&6#CE7N`TS>^74Z#rwHlH!WEC734SB=OdX;?hg*i%XhF0Hi*P$uUeGT zdl&t!Y8g{b2g+|%C#6o$Xie?q zd!^uhQxRyF3&V3iiL)-#z7~;?5t*YrIK9Cvc=%=XgoqR{Lde&Yx*A+?V**oE2jPzK zXJFkQ?tA@GT_tf2-+lP->31)h_A5xkuDVI9tV-~yi_RyeU5AG;)Bq9Va_g~s3SPfz zxHS(v=Xfn+M!=X!R;H^#GEMxOb(LTl4SDabswXhf1n;{91iP5WuuyTs&vEywE)UHw%i0)2klUU!9@$ zB{J{F7_*ZzCDd=EW<`Gr-JX`hPbaobq|w(|$x0k?Pz&#ld8PKo!Of;4qsJxXn@g6}`z-yWB=AIpK$5#BWDks87o=d?YLTWqM+0R1|itUrG zG57qA?mlt;>aS&u<|6vpe-^RRqW=lU|952n&pV>=i28DRv(`@D^svV^l=E7UU>Sq3 zfS}2zI{*}d{89g_3w|jM=xIy}`kjDq;QUUBEzHN_pie8~$^D;9)aQqhsB)z@i8(Sw z$2?yR&Uz*isd#qc60O|1y)4+MT9w;aZ>QlcF>)A?LN&^NtQCvI7CiJ32N6*YjzWm$xfkNi9(;hVuM9bw(IZPWkBKk?-}GaHX< zR;Q(hH`$`*9=X%}L~h`AHQKo|EP=X>R_KiAGczAQ^+|8V=W}P7H!TE9or|h2yVvML zBW2iLI~C>iS}9O-!8^<4A+e#6Y*KCs%q96(5=?>kW!vT#3&6-=-k)rZ^WiPxF6XUq zy5#)pVL7Tz+J zk>x+XYwyLw->Jtg4p|0%4)>l@8X%3(TTIbp9;XYQr1J{?8}DUYdwU)GohHNXAvqDv zO?_C$?jfcsi6N>-A$R$VBT;@eh8Xy5;bYlqy?btNQNCdzewbT2|QRr(oPVUY#Kv5Wl(AQr!E`<`tUP65$*6 zR-f)56{wLZf!)G`=zU5tN8$pA6ZyhC0yIAd37q2g<(sdoqrEIfUX$INM$K^1I)=>lUk~8SF0)RQjzy3Cxc>m}4Akkz}I@ z=z;c1R^ukLN#(uV{M(|@k0R>>p<^2@(>ldDE} z{*qDso1^9~LsiY0+Ez2ExpL;TY|{*Pb8gCe@gg0g!s)q5BfYf^9ff?mPjWS#X2{{P zhS)&4((MfkVP8BtU`PWn(LXq-RZ+($%J<7q$k% zm-}-G8gdJ@Cb=ZpwG>U4N2s9>9Bx&Q=R3{4aCHXNmGhS{J`<^i{)(l0tPfI-Q%63N z_h939moL^TokV(kP=U^03V_Ge5n?1{gO?kmbDz2I?DmQ*-QGt`V&74-jL=Tf~EwB?y zYu7a{=Q6kLB@w(b}6nI zpL3FPn0Qh@U*=a5Na(4+jokOE?cdW~cKlfSFO{|a;P96!-NS+Vo2}4g^;K8HDB~QE z$84KUdC{E;ZC3JQ&Vw%&ZojAn^&0x5ja9{oSmJE4=M%anM&o*AB|P4aF$^jQ^`reY z0xEeZ<;TqUYOBNni5~pZzp*KRro8&+SXJ>k1w(P1+-U(c82-OHJpOk_&i_}gbU;S! zeA4eS4nEC4Ur^td9Tqd}z9H#J>c5b%pi@;}qn~%q7XItM1V~?bgKI*Nc^8Il`#&gs)YI{MOcgk)(9pWPZ zJN3I%s*?>&F4U2;-KtJUACf=pJXN{V;Dxef-E~hJu9ACn4keS=;QLpL1&@MGiDta< z;CGXG&#+Fl>0b)QjN}?}O+67=hmC3DM3vn_(EDXNI{g9pQEXt2G1&=M##0OoJVBA! zVXx>qPsRjBc^RDG(SZ(O*dP|@)@yUN?OpQfgi1!Is#L{7D%W}s_*>P#jeO09gQ0K(B3C*g&p<_Cclj~uV<{vyM7CR%N!3?ZL2f>{Lzmg@)bO#cx zw%Zuo#u4BIkp469Ki-8rd{-8@dOC1zk<%Vq5MS^eTlPNqcaxMh`=6vJj^pyq#anC5 z^qHB;!u>x0>E3FX+uwd%_Qbt>vzX8Q$QRE_4a|@eIL0)IWu3$FajYlPn5nZ_Y2OUq z%mv|Y30{LP-vGSH>6`tyn2?p5iQcE@ey>j}|8_Au63v6LwfQEw+CNzWm_DceyyC*3 zN%1n9W;WO0G7V#RJrljo8gq2$TX|v7i$aVIc*nXmuFOVqRM~qY0_~*S(Bqkq-C3?9 zc?vdafHsw)&FazD4PINV2&Ax}!Wj3+wYf(eX;VyE@z?dgWO#UuQfi{SNACZAm}`KGny`u&!Gj*;56yE7{2TJqh(U}Wmg^oC{P=(|@%iIjuTVl7gul+`+X- zFsoy$XsgN|4I$M&oOkU43eNXE#!a2)fOyf4`@LXwu61fA+OSW+LTBBKNvUw&V*ZXk zBJu5ZV!=&h|Jx3R^9U=FBZ4WpR_Kpfi9_VA5%M4rS8n5- zYg||cc$#^ijg{HkCMojXc`o=W(mFF=kadcJZ<%Yzax#@UbdkCLgC=LS579Ia>8}O) znrk%cOSx1l7NIguZcjqfScRY;TM8cup+c}E8E!isdEFAutb&SA=Ab`~F$0F8H3o_M zU3^|q1U8zO$bw4SS^#}lC1F;KW6l zc11@NZ?|aJ7IT+LvTO`yG#nP~gb^Lu1}3;ga7xufiT&-Kfz84b6>x%~?k?!R=rZK=>tE%ov!dg?PM8e<@?+S2V~(*ts=VVc_YW^rpN5FzS&%cqeYjdj zl0mIaclJ614;9J&u7$raWa*F2Vnuw5vYO3j7j@Ium$9AsE7v&m8HIGA9hlPt^1g45 zJ6#A>eE^ugK6$UV&aQIDN$@kkoF;`gM8FS6U7qRjtdc>>wgFa}D>qpoG?(Y1*GK}U z&+Ro57xG1jFKlD!#TnRQbLeKXY{;hHYEXB&Dm4rE+}tU0F2hBx!SiOaJ`1;Ljmn!> zlI2`e#WA7uI&PjKCv3rOTriDViAH?M*wc2iOawYE$9sq2;HjeQt|k+H#~V9;%Zuu% z5*9F58P4vtT@7~TURN&C~W!EBfuAt=e$f*qE0ECGWkv zl3(mZ3k~#cH-{v!gYtBeYQ8Ck644`)D1-V#E*bZkZe|ulDX}w&7uJq6qse&td**@0 zT!V?%j)`ipwjC0ky$FV6IKzxLLJK-{=+FS261rtY-KLSNv01t)9VmLnVfS%nLLgf?_T~*IN@|Df-szk!r zQfpmuc2HNM1mUnTCXoE5h1}-2YA%3$d3k=&=~|v8!6|q;O%N6vZNn-$n~7*zIo5+< zNCU2moY5nB=41|`wK!|?coma zbT@YE*YKxb`QKUNe&1GkZ+U~LURyXO`!{V}F+FDe@e}p^V`f9Hee@W%**bC?@F7`z z3N{gwgr$#d?Hx!!?3qDNQJ&&-UY~8q=Um)e?!rCg3z=z)K5=P$h&1@QS<<}Xz%=L* zcU)qkwk{+Z>)IdWb%LTjuW+#R<`;+FsYXdR#b9a@ZA8?8ZLW{I0P)OryTD33-7~k&l*en`vRIg}@Ioom;3QddNU~QKa2xL$`xyYZEcVK4YsW#JwKeF2_1d*tYev&_c`F z;VP&-QOY+G$_W|&8tzUL*Bg8bbtfH4YA^67s%~xUX9i~je8`BPY!z!Z?ECoxVOeF( zSFLeN=J7kTRbLy5X^md_2rHvSVZ>&n&zFeJaLi4;0B6u5KaYmZkp0V6RbEdGBR4xv z2NaaNZ$n49hE@u?azag~$-n?R+55%1YBJFUmif40$oI8v#x*I=+6RvD*GJQtTBM(w z;AH)rURMXd4&d-s%F!Ec{$Zy;)c#QGa_JM(@S#N~Z?C>=UnB9CtFsF29qRpyq_3+| z>}o=gm|>1Bxn?=Kya4QAMrcRFWa;}a%%H`oj^tu_9dyfRWr)?efu-Oy(H{9zjU@vL);K{X?1^NxRHd^2o-1p?8{s z<+L^w6TcD;Q(Bx{>H>(|bz9LA7Ip1HwO?>TB>SEhJU(kPYH~v-XD0QWl_-@M3oY*9fUJUkNB-qqwMvf(-HeG&73oiW^#a;^ z-HUdXqATV%R6K7R&H*_pI8lXx*RqWD9@~k_eC4rL<4TsH8HKDt(#B@B<$GPi`r2fE zT4_Q=t=i(f{ZpN|+>-=N-C0tL;M7*Ep=dICon?aX2@ z(kbV>F3T%hf!#ZK$g0YtS;+7U5wtNjiT^bjADBtYrfq8J8{MjOwW@rAKs|jTM4wRJ z{w@TI2n^a@*Q>z^1ZzMq%^ROI)~JTKmqxi-fy^pp1}c0AifTH2w4u2eOr2m_n~We7 zan^2bH?1coWJC1lsxru?$N>pu`D;tEbPw?@G>8A2jf(uk^P>K%O^o6Y%RLP({?Q_( z3x-)MC3C@kdU+`Z_5Mf$6zV@r=B51t5bsG?td+2i<>dZXo^hRhzB}3E3 zd^+0ba(=}Smn-vmVHiJQyVG}A6|;Fmgsiy(uTag0l*K_3V&vz>^J1_AdAk;W-t3C~ zgOk&bMkF5wk9B3~R^TDOp5j)Jbl|~vclITE5D5^BrZ!>2fe?h> zMX)|&mQi5{su$pp%lfg**8;Gn3hPma!&g!c>^z8V)8yJ*Zk_oXk!$>s0|6o*_BRs# z*TsVxJ*cRgpOKBfx@eDe_{@9vTvf(bmHxJm01hVXz`+KvtX-t)y1$EI26oCoJ7!D$c(T) z_5?l~p9myF;gvTZ`Ji!03@|nvUU#H#eeoS*JcU|h|KPzXL%52#(A;~6x<};qu*r|6 zXiKBo0IOWf48BuXRcxbgO3>2wP{Lw>P;YUsV6wD-LdRRQlE{p?mu{UWV7FTgBis+q zi%n6QzC5_B1znw{JM|z4YP;Ho#0yu7lF++v;{$dHDANX#Wdf%aEuPL$j*b?@kgHg* zl45=H3C}rL{yUs(k%@2zB*8cq2I%#d0!&C5Cu%Vl+CyY~rfOzmtsvQrI4)Fe+4{?4 zk+1vGMkm;D__1J*;RgvcRUf*+iC?-lHoQsI+*dM-dH zqiHFq!9(&#QVWX;W=x{i{>?N>hufX}iKTxrFXP^+P+gvgxF*ITtkRMn{ zYNwv*L<0yK3u#0%W>96}{|mtWsRp7LxIaXXaX_sJ-tf`B97SaJ=z3XDlcjo>;gl0A z1pO!s**Y0VUk5bK z>n~8W<(B1*%3yeST+P6Cs00Sm6GjLA<2(x*OLS_kws#%U;~)zZ<0S;WDjb-8f<(mV zDQ^usDsNmVw5ZmU%;3DtcB1081MP>y53di%sGtXhmKaw#*HG(bUGuVo0*QXOjeSQi z$}K%z6n0HH5wqYrSL*$^jk`wXC&S`IyDAs!TfBGHf?iT&bY40hsP>;%H7g4;GdCeC z?SNa8r_mYXZHZ?jit?GBPPCPn$a6r`glbYjg4crd5H8adlPw$k&C%5&=SK>3yE;T~ zp+ZE@goKO-?kbO2U8oc(*D%#7QAC-KIkb0^6S%S*xe0Y(TZpd?r3-K^l(TMy=1z;< zw5UKz0;hRg0YU{^KsE&iJV0x!e2>@f*>{b2cmvTIVS7m`)FDe3U&IgunkARrUuz^M z@G>N1xSGjl=t#skawxidOyG!m*z3VR=>ux7*L@b(@;~S`9;+|;J1KxFy4z6zrcAr77GsHZFwf(Jiv>Q&Y z$%eVUABA9N@BX^%YH`12$x*@gyMhl-Za1QSq&6@=fHJp(rm4U!PU}xs-Bs;9|0>t4 zHUJ&GHE&hko2A!0gw4L$JlCH;pBlQ@z}#QyX-@+Z$JsL1A0NUks(mE-%T9ezfE8J* zK9I1e>g{*cI0-v&|Fd5!Tk-`FN~j1}B(1|$lzJu_QXsU8c}K<;gQ(~9+ls2AHu7!H z80@Wg{ylC%-6GSyf5ohg6l`}S{l2;Dx|XN$Pw|1$K~dM*TlxL%M_^96io;UI_nnrfT)mn-r%6xCTm1Z$c+sBIood^`pYEWYu+d1fgN#*CQB-emN`R>g!&NPWnY~o}A(YSWn@}0~A_*_d6$dS9_`+3ovsaLuaO@KxK|zQENK^d-;oua-{FYTzHf>0GP8Msdd! zg=|fObL1hBc&(AR)+#P*(?6l?tQ8Mw_zc^9tSPvETQh7x%h;vb(pk~?K#uhW8mlmf zr}0%H9<(v5p<6L*%FvC~X=2_$JfQ4tBR|gao7S`sUjeK*hFy%Z7?mZ(Z zbz+Rc0-DC2^l}gJ`JevJSs&rhe8-$F*pKX9Wp~7t3FL)5RFd_inkH)R2{R>LDa4g= zk5PL{2d%kIl#>rAd%qK%jDrp^4TcLqFH+2a9R&}pHO?PO;y8~FRw51ap*5**)^2&h z`QySuDND?SuEP~~2pj$7&I<#@)Tg0qPi0+4E*po?w}a*6t+53b#bq=q@iT)}^Z^&Q zP5i}k5h`a6rl&=g4Ynl&BAX%<(XVD-~1EpKk1~fC#!iP_xj`@i|QG!-w z&V@AK$Cm(9on0Ih>pAVByqDfF)kPp7mp@1|TV3goIZ^E(pe}))>*J&M6dq(QCj}jq z>nb&zcbD{IANt6V=eSJ^_4?A+4AC8V^0uq2WC#oj?frQ_-sIZnaa^v|&zZ)Cuwxpj~_&C;_x?>X*Q(K529$ zb5wa|>j+aRD;F}_>GM6Jiy63|r8Ri%;w{I@3brGU*aowqe-HZGU2=W79t9(wu_ z0H=Zld7_6CfTL`fW7eD#>v+37gv=Q%e4_`*I2S4N*z&B@fVS97F>~=tnNLZHgyxXv=4n z^pqrvsuHr!9NE42xl75{JtJgePAd|DQa2HT9I?FC%5?vgkm$6~ZO%XMYzuQ5lGM_8*gPSHx~W zG`6?yU0tb|Blo#@gt`}rAu-W%@;}Xi^eHNNpBM7bGqE_g@t<}I-cu3tMB}1tc>@)N zd&BPsoZcK_31L5Rc|J9l%ZwKI`CfU2YlDzdQR#u0)xZK@tL1e=S?hY#Uo0pVPT>J#%!Xm$_WCrjkzLu# zPCfdBd&73BV&KA;$E@zWN5VWst7@Ea}DDcebeLi90dXRFEM zRfX6Fd6+4)%4CDnegf8Qr6|$TWnySnm)Z2J{_+oWN9kb5=*m+z@5v;1I+9D${HRkh3&Z&rTP=L`ZoItr=lQZ~ zZJ4O~EC}CFEdq8+lhVdo;le}q?O`FH_53V_|Aca*c>y}@NwQh~*v9dKg496#t4^%Z z-ZH-OK~LGh`7hGVR-O}w2cA5njRfCo8j%t;!;D!Mv!HHf6@J4T>D3bF41m%PY^Iah zc?I{=1y%DtC5H5jOGtL_OH8{QJoriyHx;n-@Vwk3MURE5T43&^t9ONyhNY#HMSGFc z9GpyB3lRHxHa9=aHt{TA$mPG@xl(jOmg zya`3nv?FeSlj$a$TJlb<^-ZpgGu1+z?lC9uNSaj zK?&wo_{jY71o?PgtmsHA@{XeFLbN z_+-jSwF>C5tF6s)7nzZzerW;2w3U>}BYC}UTW)9T99r2Ff>z$ow_;C)sQRB`sxx)d zZESqHFL*ex&_>_&Ug5|E{PnfQ5fj@gP8D|+2rulqn%Ya$Q*Wz=x+8CUW9j@yU4KXqHR5Y& zi1JVP(UTYOFQ0rx)JK`I58w4U{$R0lvC^gV!I37`p^C>#o#w^;$R}ngRf_mx3+!M1 zebry7ar;?NOssO%*@urGJGinTqELQS-gv7(v>qE$>X2cEIO|pW_n1HiF?Ca9Coz?b zYf*sEw<|`}f6$B{hNI+MN1mgxNP21@>5|;x|AAz(L5jl}-b@emSZL1~%M!fi$Kihs z1loyRaqn_Q47Z$8iLoVdcCNs3Yti8T%5VEnYIZHhoQ%}|{4W@L!ZB=Mf#rP(b0AbK zt5DvQIb#9KHF}H*q}y;+IBEpy7veVWs|8Zvg*dmfMx@UkeU@169K^MXAOH|tBx^F^ z4t&8IoszPE)m_@rAZEJcXQKS^8@t?DP`1q$Ms2jD>zZM=XZr$Qunyr$d3cQr45uv4 z5^Vl5uY8i=G#SA3cJEbhvnmtM{-(LZx5SDwel;X{2j_q|<#dw3OOV%AJL}-;7;vQU`{-TW>YeCJu{j z1^bh670@~XZRgM@11;qCWKpmBR;lVgKkR|+&v=rl|2PkU{HI1%is6gH7 ziIyh_m6EYpyC?(%xL$@aqT-YcLaW;Ebq(5*b*;G91#F&(FQb8xsCNw(d|Or*Hc&G8 zXkNRYA>L)RuMSt(^xpzB%IwX4#zfK&`9orD zjz`WACn&wfR;Gf`Wgw9_6$fcZ@&NZJVc|$Mex%)SC;(^s9;p6LD3Egc9UJbHm;`tPu`;B> z`2N?P;hjCcBv3Yk7-R;XacTUKl6yJYnKnx5ISA4Y zKKqll)Yvk7cgb93-y*VOtkbuOt!MsRy#*h^o3p^;Rt{F&@c5}h|0UBiQd~3UN2!4G zS=tY>J)>wH;Q8A1C_FFfaEtmW!1ca7TZLx5xerAqMM?U`3@&-#PcF zadCmvZnpO7{}5utq7U_ol^H%ycHYJSPD&*;U}N3kiQr#Xgru$hiWCN~2V*jOsBt$S z-k5y_|Il0K{|oVEo1&qee7!4_ACT!Vi5KY!9Ns-U`C5V!;w9In<5w923qA}w=g$RD z9{k6J$~6(_cKQw*hPryGbWghOGqV+NUVusU+!?cflo45}@aB3#4lYtk`g5C9*&jCV zU_|_3DdytO;|^9qDWVx1P{FhnGyUfU>XKGU-t`3Doww9qasNCHlp5L35iOq(DrXnc zM)?>IP`?f-SI0qdenVXLPwjx%g7xT3y3F$i-y1vG(u=I+RZ1SiE(pWY4flE1C$*0% zocvV)=GNec)?DYQJjx~2>Gz&XDdLReACku%ntCI0g8@DIkOS&jr<-=y1KEZmLq3bd zMGuIi1-*#>cji?zI$9Wtuwn-C9WiZ5W;!e-gFMV=GQS0b*S-I&M#{QVO?zhy^}sw<8MA#dcSu;dAphJAflK0TwF@GFUJtspJ!5x1s-DW2lVYN8a{+X z!0=(~@;->eM#Dm_imdhlnTWAcE0%B$40q7~8~_P+xKF0}iCZgK^i9$4QX6rdi27t1 z8m?xY$%ne>UF}I0sP>=~APMeYlB9WN=XwvmT^R8kdctNlliz+zNE6Bf4%ZO+YAAt9 z#BpII--L6D3_aMze76w5bfi@6$_?}6rC88Kxkfg%f4db*?%_ks&;hRRmUL6H1|B{o zh~G-h=Ll`)2({Y1?=AQGbJ-?K+R)`})rZr#hAZU3C^NnR8kRITCqrAH$ZZ6G{U74@ zUL}YA3fuA_3V&?_&>@Glyu%Lci;jKAXW&7EpvaQfaQ)By5Z4-?g8SeG`)el&)91yK z7Fk1imy+`XqCyIE0LL~|XV?CISFQF-N4WKLXNu$+q4fSu^JL(??a$Opb8)Tt{bat6 z&Tz_eOFQVllf4d~@lTYr_+uweid(slgwT-2+YQWow?TFy2rkOpYT(;^5J(2Y(nOrr z1c$~b>*CEZT;eY$IREceyN;nPaG1?*r~DveUO)gRl(6xL42It{9>(mdD+3co1D|ik zZeBzvBd*rs)~M}J^*mCm!JyiE`cI%C zpl@(T&J0goV|O^zu>Ej4PbazAYVj-7jJ7(245g8t7Sw^r)dJlNen3sR7#9+J73228 z6F%)JlaK;lDBZUg@6gATH<`_9{M_Hk?jk@?61zZr*VigW+|QDu9@n1d+?XF`eEOs5>5eVkkBthq56t83 zU*T)%#onazGX3|q!{7jf=6KIs9ApFnGu<8%-ZRYk@Gz6uasTd&X)mWC=a>6WNJ|;X z`EDC2xXsjvhvtr*#g%P6(o#ZDCWTDkDvC7vBxW=5FIb>TLolukInibrOflrX15a5W9B8IP@)2HY-=>FnOuUy#!IAmS6=nW!1WYx9&(}xM~ha!*g-m*BmsVx72wnMmhy`$QlHi4&` ze7;9o2hs@QY6y9C*b9(CUq>ykCqWlIem!HQt}YDP03`lwd2y`qcC`p2Mu%ysBPk|2 zBlUi;NSM#{qsXD40j7eiE=x}WH&cgdZ9wB;e%BF?uTi{v+IG}Ilt86BH+nGQ@;(G5 zukU&%3V+H74CG)LyVK#Z`PHtx{!QxB)pykJ#`Ikc`uFhE zGsOipAo|H|zF&goN+)6}`!*hycnJc0QfNtHga6TNI4YvPZYgCu>w;jwy&ZPg8Y(#Q zpF9M+JPesjPLpbp*zw%^^KVwaAKOm)(w$GME)I|w$uc89F4r2?YoJcZD%?@q{z}Le zQDkVYFIQTJV4kc?SyVOVsBKRj`WH*^0&HaCF9Bs88GHZES^Sb#IRum&LR$6a<*X9yNl{kRY=HMi%fVP&aE5#BmxhJORxxk_;e)lXYl9(E>xC8^$U-nxx88l zlnlp+Z}1RGC!ft1W65ui%=SKe%xLHR#eRKX`+Ynyon1gw+MG!RzbN6Znc$`X#`}Zt zo~gjq)Y*_ZB|68;!-gcBaRKnrzPr;(UyD)p)I^Q{F%GF3e869eEgC!P8f$gp9}-|7 zuV7XUJ}?7*x57Oy?~@0i&I7O~r?lTxHH55Wq$%yCYyr=(T@3Kz-sg?if|pX6Y3`?x zKaGI&gc0;*%gwZMXYeAEb^9w$>SQ9uLphl8Q4OB{sLgRNw8WggHqRkekB5N_P?P{V8`qTqJeCCX?J_2#`IkEZbtf8HW1PF z`#(S@6f4QN3nbggy_!%;^50nW&utm$tCq{Z(6=omyDQHwFrbTyf9n^32z~1rB80%d z7{x;AXPbIaISYCBF`f%#J zgX#_rg}Q$zCsbdcY9KeYJlYe)9VCiD68umj!j-KI_Y zB0K#DsMsG&^q}+dJ7^F1#Q{>^`TP$7c>H8e=#2Cp#^V;rGw|D|svL$LcT^s+XpdQ0 zl-*=@R$7cj(SPDZ{)y9149{?XMMt;?7rVZ%(PI1pk41V`YH^~~oULKb%FYY<=S4FO z0aTVth=cqSp*>HwI5&5iR+4hpOpb$}V}9fAXi?2|$RQ44addyeqQ%9Xd?h+(dH4sv zp!@;db3MFDG)Zc#+CjxX+bBPg!B6C1XP&lrcT*NEMAB+7K0-B?t$-SC1-zx*1^fIi z7J06ec(OTYy+^`b^QNi@|KMUb{;od|Qo6yn2UP-$O~t%>`7mGz)wgshQ9+=szaI8v zfa30o`H5}I0gEnky3Uz$v;CtAa42+A!Hl=`Gnfgl0ANvVO?d)ypc{;r^dN1SCu(Gj ztc6aMpTk@mXg&!@0^JL2BkNefzp{SV%{)s^hs8%okIoBIKvLS6!${Sd>n=(dJg!zT z@cC}!eT-t1jG=CKM~&#h_&m#Rma*AyqRLtP*zE{xP9y5Bw^Ya$&zX+e>6%p_LAT5( z1FAc=lgo<55aMe;P>12tzG~lkKJ&M{1gu1%^LOmmI3OYaDsg%_2^0~s=%CsbPLlPl zljtJ}AEY>Lt>USZ)|aY{Qt|L5M#9ZjmuyDI2iaa86hH}7MI&aO50Oh-g# zrX2Cln)>-9mo~{y$bGVh)24j&;@i(!vE3Otm}weN*PJf-WqfE_!~V_p0Ca~wv?X+r z>#>e#3FO-4m!5u%33*HZkx8I^T$>5^8*k%h0a1EMkz2w8t!2BhYk&k%2=E$KxQqM9 zX|y}yn%BLgAHJe_((`W6Ro!hRF( zwgbo!ddr7MBwHWM9zZvcJj-cyS_^%fs68bG$k_x+q1Hl})+ZUm*PY;;`pI~v0HiZV ztV|pLeW7q(-1H*kd^eZ`R1W{Rv_b)`B9r64SVlFJ*)!|4xD>|}7hB}HG8L{B_?+`7 zD3s%oYpjsHi&6w^R!G5({&*eG7fn$OpX#Nx;k%-r4rWh%p_Ue`ccJznu2W{T4yO!=>iE05C|S8+x$u2+XF{1#W#RbUJ?0CDoV zo??+RiH4?r+tfpixA$+uhmNnACKt8C{B$^r8uA$RHe2)Hq?qDTnChf%=rg1R zttdJ#kh_q+HQ7!J{)sxiywF>{hA2E*kbh-oHQ-;2k zZCTLwGy|I**qEQ73)O^cbn;Bhw#A>AEFcvQq2!GH*mFmq^S?!$^LvkH1|C>62r4W$ zxCBx1B=^W#qTQL3y^-xJtMoNOLUnG*idaW3BxH8D-iriQm%BBCit#gba(Tp-)Nlex zvAa1{m)29_9UG#1(+ZT(1KscS!Q6mPROF-{*C-_%%y2|_mx<@=%(W1VZ@V`1P&T5A z;?N300%wy#Fz;u^-fBE)a6b?lfHR?{uYynV{#tYO!`Sa-w4{3?&r5xDI2@Ys7XcEf zXj6Ct4#miMP`Uq16%WaD>g1s-eM#BaKsup7#bxqECyYPV64eGMNz78OfgK&WYkRV6 zJU`)kfzDVf;OmVafy?1=H!wzs#$`VzD)Y--+Kw2jgA*fjMtIK(8?b2?IK-M%{63RK z)ZJDn&LN@8yMweE=CVK8Fa(_V@xt!v?g`jEkK0x6WaaWbhINd4%u|^d$Ab#pxK>Lr z`)RT(2~-uEv+!_EREzPtdke>qa)b~6AoZ=D0TP{i?Ve55HyZ4yPkGLmWFbd=Nq$m2 znt<^#5jw!w`!ii(=ZDjRkazpkf&U}lTmQZH6^C5r$165wXVY+v)rqWBm0C@qWP^(k zgG9ACEev@cSb4OVZ!#C0Vmxl z|4Byb6vcgYnMPJI*7KfHb^@;RNPv1X&9YmWmRu3@x&>TMUb6-^MG_;S%oM0>#mC|D za{uWxafw_a@1%faiAe@jd%i!3{#1rNXU{j6ASz{pNpj$$_}rfUBx8jC2Y6>8MZ=Q5 zTy;smch*@BgYyft`=Cdvnbs_Pk@KL0*ishY^ZZ=<&Ar#1uko&ikv%VK<8Cz%7lY^3 zB&K~wAevbW`li%wxUFqMYPDi#Rqgk8jZ&JScOvEK1oc z=YcPksoCtZ|J4&n(~}VHK{-qG5p&g>Z5hS+VDet-bf(x43EORa?{R)4ClELu_IAAa_a!Fu>a0jAG{HQy9eDiw&zOWqKkJ3nuSlu}J7?Qf zOr_O_(+0VWShS~I@*R%!%Z({y#Rq+@fZf8S$7 zFk`vsB5w51-3Ojbgil%X+u?U3vHVQK4G9%|Sg!P$LmK;*04 z_xBg45Pf}DnYQ@OZc2hO4w(1R=c`hs?=p^gEdMNClIIRLP4Wb0reFK^Sl-*u8pU>* zK{A?P=Pu-~&6it)Vev%y8goqodo$$vEk!_q+H>l56*mjPn8*X&h^l~vscYF#;0Fb( z996^Dg=!+pF0G0FK<1tb)*UqfWs*J_*5=s!4oX%TQ}QQUAn4b9`YUeKUnog=XP7YU z;eoJf|A@CuFb}&T{|I|$Y?~@&jT~ltz1(1aKdUr=bxpeO>e%qNECbjkfOfexIQrFU zU6^F->}$9QsAiPc?CH6SE7l2TDj8SMZ&`tRvxQQ8A?6Zg9aBht;IkVWQb8w9`lN7g zQdWeL3=#+*O@O2ty8WdZ-1$ffyxaW=Lcsn>b}VNg8Y$fn)(EDcvLi1pj;LL`-V6rI z$(QcnK7otbl^;^iT5IqpI0Dz=qbx)V7fO)VTGgTd%l*9k{PUpCj_OhVT`-|7GXaY2 zb>>~y=kD7Q`oS^%Fr&FT#91B+YUd9q{IMT& z@N!wBG!>eqkVyI(g-y28A%IRJoCy!J^m%AT5>o0 zM4ricnLA?r!R}l)&R0^Bcmc-4#R0jJDWH!%+R>|IHmCOs~u&%q;T zbP=daX<7CwA93*^Cd~Idkg@ixcwE@$nW68!`%%^c`@G7>&aUs09Y5&AqiY}Z{jG{F z8p!fF{uLODet~Y+Y0dd!wxLGeD!qTH-y!Iik%jmyS7$kN z<~(muQQw;f;R3stikWuRDdZn^c$d<+sc?Kjjn6?8Xf2l-k|#CNY4f1Tdao8(B6~Hz zL_%cLC-Y5{fUXD}=+KayZ(5GSuZwTXA4w+%CBgc4^z(1`ZBZjyf_TIj_$lvr{-hqM)|=8GtG#G&uc zeDsf?Nr?+W_(VMX%;c1g?;oAtc=#_tFQal-T$?Xow>XRj3Nv5rJn&2qa@?tAJIi=& zOslIs%d+(aq{(Cr91IecFfSkPu#l>?Bt`8iaIsDBVG{;`ibfD}7r>&_GoP~<@$7mD zEH*y*(cbD_3!d{D_@>LK%hG`Mwr5Fd%0_9fPBdypEl*P^#vcoL*OHJfw)B#~4@I|n z0T1%$>J;&l4|le;@ap7B47Bg#@3b>`kJ)r#T038vM`eXoNn_m=1k^J_a996KW@|@D z$<%A!6y)5PIu7{pAAI)&V=?a6rA4nfhkdC6RRjxrie_1wWL8B#-3;rX_99=vOI(w#)}Y zHvpb0kpVSCM^1Iu^GsL|d=)r&LCx$SbP!!=k<+4HB>-wy;s54A0bc?rkF>p2*d71| z7)$6&kK%6vN}yzx8NE1km9jGF&sc2_&trYt1n!v6Rk;fzI6?yCa=El+fKb5>tf07V z5_h|%UXU+ZoW+XhL4Ld`s(27%HE3~=0S8ryo-PM+d)wx_t6`fZtA9bLetl@$KyLpG zK`me0UnMT^qC-;NUxY}r{71hav-6+sra>{Vd#|Aq?bQsW}0~9yl z8eM0BPY5)F2)j-mp$kGP)F8$h^II>0O@sa2VQP@oX>rUWe{t=pKMy2ed~76j_tP!> zaZN!y@~=03C(UfD_*Rzx-k#W9L{XMZ-S>a6GoJYFKL(f8Si4)sW@lUswa{z(B_^4@ zVpQ6fY)odK8{k#5nSF%WKWzH%9}WY_#*q!lhJne2NXX5R9)*p6Zhh83f@lJ!N8Vn` zkLJB>iOZGXyaVf7%Gmd)UO090bm<1vqlODbT_i^ThgAyVwB_sgqb^}w`f$Pd80zRuZw_rcBu^7^(RP7gLT8+aZ_&Y_Gb<=oF$z#j*%C%bpz zX7mkHIY*-`yB&FseCxlj z-SEG(pW=4#px#!BkT!gktnT&yWg<3D6<~8Z?jnKs-^)A=kYR-nr|Ux4rbJu6O6CHt zoV8h8`DTef&i(ep!U6FUD(a0=2{CN{CIqyShdEb)KGX`w5ZVKnqX2<1_zn=@MyIhM zEJwPZ^R@cY6-Hk_^Jh=lN)rhq{gk`8pNVJo39aiIx^GvBsRUI6HFfOzw|P?kZ`9@e z942i$QI=T@Q1pK)W;kEEyD)sQulM~}&C735x_3w~&dc(kq7np1HvHjNQ@>T_09P)+ zX-4`@H6h51p$#4m%H5CJu?d)Q;Od$dX(Q5*Wm)$fpZof=+!^M8%efjI8cho=yeC%t*CPFa5deqXWyzp#S9 zdQHF`L&Dkv-%#s`n)Du4#(5r;bE=Wln5N>%E*P`A5U=90ZCg7^HtV$dSo8 z&1TFF_it8#YwpRiJX+?yh%Scv(KQ^O$>jPqQZmRy?rIH0{lj*!>BjjtfYs}&KEIHa z)4|!9Kc9hLy+E-N$72JhD@luo7KoS%s#EoHH;~VUzVlChcepb4)a@aEml)W4rD5E@qpjdoZ}xo-)lKLB6ItV33`nTVciJ zY5cCjYbkbo6TQXrXCj0kypv#DtRx9!`pQ_XbqP4|Tj!RO)0+zKZ@>>B`8r3-?JJk# z6?(6=f1JPlH*9LhK}d_?-8)`b4ub=`?69jSV3p~z#_R!V`QYjo3Y55({V1SW$X|+0 zv7a>oEcnr37HAK=u(8yJ2hn@q4eg4T9&JaYv2y?(fYr2or{z;F)DbAAwc!nZI89BR-^zP!1$*so9P3555k0( zi(V#sWT`rjTNC8~*?D`gas2=h&U}vA(!D^o@kuySMD!X*bFhWMUSQVCFMIjzitG7` z{!~%u*)zTyk0PhY|2B2YfTuf7 zqqezG%=%|RAkL9o8$bQa2n+ScTYWrihxIr11P}MuGm7o7=KIPfYOM=BqvWo9octS) zOSn?*h4EuLI|gEr;ZGRwn*u_|GS7`qlYMdBkIm#l<{_w~A(~teNXn1vR3;*G!GERAgUmJLEeb%9~oLU@HHA#4>c{z^<;w8l)VF~^b^~KkaEw0BnzytQz^YfAEsj<)yO|TwVe`zz=W)blEH!i2c4(;{#^7VGhb7mxZ zi*Nk%xPcnD_S;$;tNm>87Yt!Ng&&mRSRZN+>J`#i+zjqyEaXjh;ye$)_zxk`RZ`W<_B$zekX`0_OE zbG$*n_S^BWvNx+&*sFlI5&Jh*E875FvxVe0Q4q31q+I=Z&Y7FU48$Jhf#@p@;M#E(ivur4$!rhxFUlyfJYgO`MWmez;)-s6;>t?l(m1X zjYf1K?+5xxipMF6!PDP$lO37?zZy<`25itm>Ewdi*5NzUUvlH;;mFO=#i%trUp)MC zU-MsPXVep>f?WZCD2)`kQ9bA?2ab9CG_c7J!ebRaIg`j|=}3@X;7Q7VQgn||KiVmGni}IaJJVv9 z=FO+|_Ju8fWLlU=Xx>?P%g12pa;~KqG+s$7y+yLUz`5_eH}h^s4srWP&2#}KxHYB#Np3xWW-?t$T5im?u`Vg`{RJF+*EuOcd;*|-RMoQ zqM(U!p%Ij2P2s47SNy!v@#&H{QN~ONBEFw^AXyNSMfAv1p&kFv+d?_cGV-!Xv*5EK+&njk^Ci;Eh(?#99YS>W>Usgxe+tSjW^H~k9e7 zKelaL_&m%;gIG7uTh{G6K43?W;v#20h8&XRIO<=)tM1D%wS7ensbAt`p6<#6L*juB zq_~p%8)Xl2Z6H&!pR=oiZt$?^($KE&XTdYyJkc}Z9cZZ@Jt&wFy<4mP!1*s6w?X1b z?M#v1@UkQ-IK4G(H}gx-tL_z)xP}RKCtEcJy5Spe|8C>{%4Sc20KVX#GT?O zAaVLJaJSY(JO;2W$_l;QKO|&5+X$R%6>JJ?DW}AI=go(BHb^;ceu8C`-3#c%wq0oa zbk-%XPnw!oNyrCZ4^0V-3+z3$R~(buzieG>(r9){Rz{R1-H4vhqo(3ch|`O(m&VwLst<^adOe(BHlYxU_0Q=%HgFt(XvAM1zBr_&l;(Q_1t%~MJsxkvYB?{huzOWOX2Nq9>FF_H#t*^ z)wdZW=6&Y&4kXa~cx=kt6A?*u;3_+cWc=(TNDB!<91k{pqO4+WO-Y_MPgfzpk-(4i z#I1FtYx>zpj#1bRzy6tdE6x;eY%m#hl?P>Lk-uYi1mLopYa;WG%+5X;OXtkF89-clQB9u4IP=GiMkbML+qp_B|J> zFp6s-d1cB=aNm~IE9|}ixX0AEdk+J-Kw?tRW#&xP&W*p;;<6cpodMJOj2n+ny>Ai-qF0980%~v+KsNoD%XOw~J_q$f|1Q_p^ zw3hoR8cV~k5Ju}MAR3{ID`Lat!H##S+lBv9exBt_*+Sq#Wf*v~bfXYN`9h*+)2Nk6 z&i#3%^x%OP(8;3V0XbLR2Ys+SP3}v3OXuWfFrgm2+D}Q4n~y%{361m+z6^ccoA4e8 ze1~?my3G`p#AxCN1&ZcrQq9kR@Do2E_A_{K1qf?9etmwxv9mebB48 zP_F2goFSsix=HK(p?xQ~fdaIY-{zMBboVnz6TAqlF`l;p3b^F`u;yyx;2ASg0sRv$ z2J2b=;R?8U?SAK)f+WpJ=STj z06=zk*TK2k4A85-?3iAfT-sR91yVv-j5ruzO_>N*3`8oH7v4Sh?G9<5I@iC(HaH#p zBep?n`H;m10!#)b1X-I=T)RG?_vz@KtGuMzoldQlM4$Yw#WE+E^R6!yCzXiB6uN!b^TY$#Gk_0I&+dMMJTGo5S#oju*h8TPgikXr= zQ;i?Z*M|Qug$yVh+yJTj)Ud}jZKnq{BeBuf)~@~e`Rpx0o^0Ou#Q(=1>ZCcQXlv6O z&4mnyek=SBK}ZCf01HaW#b1Q&f2%F`{ol*ZKi^_oDEl2<;DA7m_bt&IIqg&BxX_C+N zLPEup;u*aa0qYMtEPvJ=zxv_#bjf5`yfRruQ_jLO?}MDGu&ienCSC)CxSbsua$}*- zb@(^E?1WL6GG@<-{-uW^h_b?&d+gnE1JoMv(!h>NW$$Ls|4xhmsRzzReU=J3J ze{i)jEiuQ2?mqzt=YErTCM}Lgi7slFOp}Jlz7SLfj=VdVAs@u>&;!N~K4n@LBQmE2 z7a~kdYx(TR=qX!kl$|FF+iTJkrDz}}%ej!=;XQKIZ7%8!7#_2lQZ7~hKYd4&R3q<^ zp_}}AAX>)LXrjNR*`y1;z=GzJ^ZVT&2r4>VL+AvPb9xEVcjYhZnC&@R%PG^Z+= zxE5KIW18H{=;@K{^7hum>V+A1pSU9SwOh*u7k@=8puJr~m04}!)>(4#=&D6Fp=FTX zRRABp5IRd`^eiWLdY{lLa3RS*YFCewqBkSb)ssd9C+k zWBt-w4U#W%S+h;y_8!2NxyV>)8c}ua3#|B{v#?ZlS-kxS%z z@GeYaT4V5=!m&2^Cm1P*_{r)O0c*p{C>{B_LeTf3EPk3s z1Pjwsw@J!k2op#Cl zgr&;^H;T1TVZ@~{#fy+bQ(d^V;+3)QzCBdyc^jO=Tk9wp550rZ*{w(8>e>2plnw&;X8yK4KhEf zzTYC;#Nsqp67$tRQEhnk>Mxo6x1`^W8CtPA0zEOWR=BZ1r?Yq)s#$~a>I z@wRWJIF@(%%XI3lpA36`ED}_&EkP;%Q|Bj& z(jfncJ!x(%FQzb^D2wNZ<`X+Kjo*~^g}OmuG}S`__E}%Qci=+8+Agpxj%(lbEjE;` zj-PlPDaaR?3(`tT=nn{Hps})xX;<5DqN^M*G@gRvPy9WOo@0l7*hWRLES^PAsuj62 z7sSAAZt!)s5v0tbAd}C0=ck2nb>^<0xM_31;dSAJh+ON=t%>jjTft``?7P{GH~R}05P@?Z%T2^_0D#$$y{KXob98ugUU(MOu){{9-+H7e4rI91PR_NZF=mwk0UI+vVg-eUZmELwFtR zGfati3;NVlb1RstiBHZ)UKuY5&I>0jxf__J+|zdw72xo)tx!S zhY-BwLZFPg<|V)SFj)6n*eHH~wM1~P)5xp3Ux%t6lNsz8cZior??j%w&3~gR4m^hk zpH6_I)K#_e`|e4%t+Qa7F=+1`5pwIJ>ZMkmwuBFZs6eI45O>julMZGs=fgex$4<5J zI~%_7+kWU{P9S!UtS5Mnlofw`%L`Cx9=e&#k?8$XvM>QN8L@ILx$aozh=GP@sb9a7 zej>KJ7#{W(e|!GVY?)8*LO)!O$=gXE(1)BR-F_fPoYfQ3%6GBR$<4HpbXZ0*mrKS% zR_;94o;Pa#IxoS$Ch%ZUH+_pw6ehE^`hcLU;mQeiylF7^&yPZ)HU3s&2pVRrOlBrn z@_aJ!j*@bJ`>+>WmjAS%zF;xZ$5z5#>u3IzaS6%Kaex(&f+dq^Kj*}iI-oY7E5mx* zXe?#_Wqv@WK6<_;et5Q3vyuar?_l0~r_h+Kn9WFna^EF-_WGYG7rYf{KR@>onNMN9 z`{Rg&?bsSIR8iD2GQukJN$RJ*nplwTQdS(t`)GtQ_56}Dms!G^lRq`%Z;{N)u@S@* z(|=whhcYbafuJs&+l-#vy1lGJGRTF3pv)Uds4ph*Z8t}s|58s9a9?=o=0W&aCu3~0 zU39xEct&N8mvE+6C8d6P*DZVW@OX^r-e*ZH;M8sU1n3EuL+))BTtmH>k}S#G^Q_FS z;1ymS7J(x#W#*Uir_yN;q=@cfBPDgKgBLGXn0i%Py=G2>gTJQrlCswGQ?ch0G7i>> zx2q1F{wV)$D8>%AxNybh8{*iEMspy?Y={{2=+xIy|4dVC6fmvEToA3QD@BLAfn;=P zEG2;y$0ugZfZ>E&fU%ha`G>)YuQj*mmK0DN{Ie|}k4xK4v%HFa9_-znJ3k(@*C@;C z5U#58ao4MHlZ~!3T||mf{K@HMgjNDl=7n5FN3cC|U|LQ1UD2g4q+jPaQ?HElD9wzE zW#pIiVUd}Y(RiRorJWAXhq0GfuzWR+eXtHs?~s}?i_retE7wAXmxU9shtwWhw;918 zuAP~~Ee+7^{6Cb|<{7==dE_&fAv?BhQR=zEKKCzcSbeP*lK+@H_a&0dC{!zZJ21rLo!wbH%_l7yYTE9??f zP6VGRa$4WJGLZdk`u3R=O;PjeIO7%XthTi$)Y_Q1&6TqWUnOn&y1qH~+6L8s7pU{m zCx9mE2Z!Pi6P2Hju87UK5|;d_I_bNW#P(8d%rG4*fA3a3&$xUuk&Gt_o1wGU@&&&V4UdpBMaKOXc{PJf80ab!7>*&a{y@5VM( z-R93CDs79pw`E+|l}dR#g{h4;ehQuK!xs*pGfBJ8R2tvk>7PG)q`ut#Zq)y$*|6qipumyc>WX%4x(fXO-!^hZ1b25l<^Hm$>!=3rA(UM@4FE4d0c>WsdX6V zC{pj7ya17R(ia zHx`W@K78_1AKtd>tW+rIm5vr%R&;MtkFPuSVh#zS+t0Igh4z`cL7zWk$^j3-W%tH@y9C8gUs_=2Uqt!kXs zLGtX!HMk1y(Gkxs;_G>RbSPKiGV#%d)mb`&Kr+YF=xNC zehyp`T{2W5h-s=3pFc?!)bLt9^VMk&dJk?hY?ll=!>R2CcJf#L_i=LJGqzON|)19$wYvATJLjQeypu4p=L_QN_TAUVGS~G3`Y}$-#b7 z-T_nXcfu9EZ%P|v^~ZMUFKFrYl;;TBiGP}_r?4+>-ZBO$|*T@T2#;8Ue2V1 z#aH?wRhUSwp4UwJ)6M6MbQxM`6A(OQp4QCOz1oFoZXb5E%h=5`tg00l6XHkRaZgm@ z2%J;fO!pDB!cci*0cBjSwS>Hk*G#BtEO?)6|I_~q6F=Qde=JhK7k^lrfAb^L9y%hQ z9`tTz$%w@mle4^)4WWF|`iK~?*@=)n4@jj4UfrLAI;`g&N=n(u*BCY>Hzr}v*khJ(DwE;gOw~feFXw(=9CqeGaM`3exs2&}eHX$%dNiM$q zJzj%(-O$q}SvU*Z*%Fsf=36^AdZGs;-|a#`7u%QE(yHvsvkG3c{3|~fKghOno~8u6 zAJ}D9qWJ;;pyXXP8tKN)xs$goZLnd_(o^mTzh>vuspdG7BrH<>P9Ub^N*N$$E!!~M zj$tvtATu-phro&u=>4{D7|3$7FC@P3a_*}056-M9^^pU1_k_Nv<>}4@XQ`k$dprEHQt$|nE)aqv*92zvX|vcRX$>oM#X$^$VH&NcO7*q zgZC0B8@1pFI~CH3bY3ShoB=jq%UtS644(`f^}R#FCiwc%QyW)77UksWutu=rHtRuP z$2y53@=!Y3W{U6?NioedHt+G(y1o1+3gif)k(9fR6Ep2L9$bd`Oxf{0Uy=s9;~6W@ z;8;iIHFgN#1e-aAYI6n!J(&d0ar@pD-Y2Kcp3gZlOi75o;&!*rj*mo-$tqglT-ugS)>5N=w(cHnT2v){~| z4vd_Z-kwdY!?DpT?$LLC>KeU48bD0^$yKg`svV> zxxZy*Mv-0HSEqy7ahHNS+HWf5sZue8sRtWKgZ`46W5CJwj?AjcN|dw;P|~EiaEe$tVP8B|X_4XK2Gb-+;XE#~uV(C&u<4 z;d^n60!ur^QcI=Fmw8ZH5fl3OXNJ~(k#WlI-Cgre7Qr8q5Kvo4XNuQm(JiVExiSb# zpF}^l`EryLa!l3OT>4m z3r#DIIg=P>>;|rNidG!WB1i6_z7hL!ya@d!4N1ziZM80<_FsT3j7OS+n=^>SwC&rz z^}vfPBE2+!De4_;>q2P4(fQ(=J3p_-W|Hj4DyDRrpGWx>*!l30&20q|Tyo>hb48bp z7eRUVv+jKc<1Wx=KT?|n1#enVPa|O}4TlzM$Z?7Yd>~u{E%&8xuZStXg@HN-p8i>J z7yovXT=2}iYQFvTOQnlFF&E(3q~c2CHnns)OV4WV#9DOB&Utdg$dd`yi#p~pkC4Mb z_I{J61QRshx(TN@Lj4-e0u(8y7M>5YuMV>=BPqC2`|o9Jg#FV2 z36_kvXtsi=4hPAtu`eN{#QhQ9jZmf>3^P~bLweDdxLzz(Stm)e9MD!ouahL zFELHqm%M`T?=%7Bzz!SuW7GI0^Tfc3qPn0FiE}-n*Tn=Swy705bc6M{t*6&@*TdYy^kl;TEyY-JrDwMfaJo^$gisw4J{M{`+l*tgO# z9zf%fB_3>NzHp*oo#rD<7YU=dTpbbL$NlhM_bMf#ogQno7Sp;{_UQpQdxtDsapmkQ zQWdv}m)L~2Lk_^{DiO~iCMlw6cJTJY5h(%7)=!Koia8gig@5BG?p13d{g>j%XCJ%H+^-$i!bRw z%a=gjn)ZTRNArCmJ;$^oczQ#P&tN^&GqepWf=&Vv=_2<|12n0)buZRKRdnls;+Pk8 zSK)TsVuOhLRqrp!Ryghl>y3QL1Ms=4uCgc$Rgg!v5={=r83R;5&RS+qkhi=_ zy6`krb-a&lg8_@mfQ{Ijf0YRSIji~q@`pp%^{E#Gl3@h~P6of0mir1$U*k;4Cl!0O zz99d@Es$Y*h#)X414%-ge}%Ipi}VKe-5#QS<4$Uzq3D0=G@J4bMd{+~Ux1(x-EEr3kXYIEN!m*fNMBRz=rgUi`y@HPUNJ4~H^@i=9EKYNZ>DOWpkecyo%yzR6# zV}#uSTTx6iHh1UL?zxE4ZC(F-u!V)wvKjZcC+ z!T%3aIV&zuTY&GHZMtFX_-*5#|GzSJoM*>^vQtjmVRPpO)kXss&_XlDAgdETm~mg_ z+Rv6ZDc){Erw&p|*a}8rL-s!ZIukLCv;vde(d7_%g+5XM0Rd70EdVAFc-0*ST_gci zonDqs-Hw;o)H6Q~RUIU#l1CloEa3%!bu}XWCz?lF=kkQauNYO7smT+Yf*X>E%UO#1 zqtTJ<(460yLw`lyKr#+VL+TzrD9K7Ei7xNgBZiMb7In`JB00PjT6S(;XWBw!IeAdW z-<3>?O-}L!?O@|<2XVnQ(0|68}O!f-Zz zYdx}tUB0o8>t~lu_#~N&Ki6s*_oakET-%HaTabCJ9Cpud&-sQVQRZL**gMV1fWTe zgGRR4MD@mR?Jk1A_Xc8f@Q&4rT`%*#<9%PPhweb?064JP_H)SioG^?S9GVJ(T!75Y z_IWH1>Z`sV>2*=KZA?hId~Lq^8(lh0hJR(O2B72K3oT6v%J{^HFzS{&~4o@qaA?T zh?s$?{tjF%8yPd-Yq(Ix0E$XubDmcg?SqDM8kK+^;zG<-2QX`jlC#OX84fL9{5&k* zxyv$mX@V7-;>o6h$Xx;}DUa_joDs&p2Otl&LPyh*%B+jhu~CBH@7a?F=q%rqJWhWh zVU8Tohh$&Ht!-EXs-fXfoN*kC)1kN2moc7|+pS8N=4Ub2Rw*_))?vW) z=Z5t9(Yl3U_H3XCh$uw_uPz6`+CRpvQzuA-;FTqi9GPcD0_PeybM~G1l>|eIj)@yP z#RDn7Z3r<)Ce*%Aq)?OOwp=Y=eP|=99TTz;9+J;59;5c`V7ltjOX*<$M~Th*-m5mX6_i%4qaRL$3gw zvfA45Zm6jkxpl7!NJBe0E+_)Pq4|efEvjg#Cjquq`nNJ*HOf0Ng6>L0Na{qdtkXEb z`uz|`6JS?(LbZ8NSF%zmhRI^FvzO_M?A%q~gyX(BB$=QIHiNX{oJbWMOaFW-;j}Y| zq@k(|xPyS#*haeD;4H#HTy^hl);4y6d$t`;u>+xKgOTtZYPX}pfg`v;&XQhA#jN$6 zg0&7$YoRpN9snjM*y)vIBonHBXDWqnu6#C;ZUyp09OwDPlpY2#?fn|ljgu!sS1Q8= za6}NhiycW0Ap<~>I|vK}*@Epg^eXYZUrcw@k539SswJUFRqhn%@=g>@JsN?n)!F?D zvOq0gr6_cU6y40dxKI6?22(?GX;cwUatQ?o45XvO#ZS6EK%gNu6?3p$|9l{IxXr^E zC$Q^eZxJ8nm4*va8l~>&sXI>XpaGHiHqx;CX7CNk<1jqS0Q0)2)MjM~PwR|`1iq~+ zfT2R?<$`M4m&EywpZ>pzJc@6NEAs2JLXVx$sWrPD)~(M&kE z+;;yRXm>UNq=@Kezw!68;@bn(cslUab7x7<&4K$wPRjS75j5{b&NpjdIfEkh!oU`IDbrj6&V!4nc5)y8&ty9-pljX#TmnDix`KIAv+5*7p@k^ZUTx|_mGFEYGk+uv5dA=auWq!Op4?`v9f^=w*?=s$&3G!Xm zmog^P|7yI#xOdqx*&y`Y$&e;$;QWL0q2HU)6N;-pPas&dexoR{X@8y?X>dAbFoXY> zBo<$dAM!T*-nkzFW`9Rxu{Vph<>epcUIXDm5AhaLgn!~UO!~TuNX5k}x-s^jBA&(T zB8!Y2KeZFbkxu(OZ&BhMNu_^>sWzg_6*-M-bO?|KY*aWHn5v$={5qxyn{*P#t z=X*@{_g7_p_Z$BqOeEzV=J+VYO?Uhz{|Nu$Qtao|&lLreB^N|oLp(bsM2I&^1b4(d z(tFz6=_{on}Q{Rr1 z-WV?u@bq4qC=xsfQTli$;{LOAia!Y^iwd1yhl8ZmUkHeS4}HXA{Ce*e=YIm1|DKb# zJ_GI#Yt0YOdfk|t4$TiIgIQKPF8dlwme_>EZ|mS`QiI3}*ufTp zfh6!}+1zb$;^Z(*U_Zytvseoh=9LQa%3EN%E!}t2x4RB#TipuIOlk!2K%#awdDEo4 zdQmfakcaucdR(qb=Vh`vn#y!QouzT<5X`j81So&-3r!Hpmxb);kS zXfF;cN8E`Dne|+aGE7uc?obhW!aiRz?g;GnL*jk@${hG7ukW5WLzaTt{(MdF4=C32uPC}EC@)60wJ_O1S_bxML|T0qJXr}TWEra zibxXz2_f_rLa3pHkaq_5KKGpS-h0M-$N2vI^2Z*ySJup2Yt1$1^E~rcGELI96*C_F zxo~Z1o)~XWSiI1NS-xGyrg>Z1XYg|rK-^Af2To`qeF}lU?T4}=V}q=15NiL`sX@Uh zVG}t$Kw%|v-|iSu30V1dzud*?aWqBaQu&7`_@h^Bhoq{w(Gfl^bX*P2`!sOJ`K4&V zu1ns%4|uLiJS??MI4|}Sh`$m|&l)`j+OOCW?%ibqa#Y}DvI(CAm+Df3q$bQ{%q%GB zZSf(2hQj9c&Zlo~8^OVn^ztFV|9-rqY?Pl27%ZB=%o2P?&Hg(Li=&5nLF_+Wtpr~M z`08#47UkuiPWanY1hqPf>D!#oZ?F%A1o`Tv%Rndf(vLvq+UK9y zPyCY%#a1F^^|#B&Kc!{B(qRe6x@MY=Z0TD-nY^qNZ|ucymcz&j$ngwu-;s>x1e-kk z*gx5e=o%bgGk!tQsrY7^!sgc4a6zD=mZ0n3exkE2ZgMI!dw&Ofhcy-H^40^Wdb z^fq?`J<66GhSkd-EDv9!Gh59-g`$7eFy{XUCy~Ida>d_HB7&?u1~`cTh>A-POE2TP zjOD+xOwS#?6qXj;a%DQ_G+q=Y^COcbOcAqh{Zy;Arvkyh;CzevW-E|jV@p(uupv;U zkV*s69Qol9;jGr77nbYOfMh!40edSEcVZi);F22IeVm*0m;G_QGRk?*|KI&YQs1k1 z_cq#>PWmVi4qiW}Er?RAY0WOKT--aNzVKOc_StN3!3Q-plkEZ;Xlz#6MR@S)5y!4+)&*A zBhB=Aih2MA4hVtyG1_ZAXZ%;nw?tpVR{2HaCs+|h0R~GfXLkVj)EZGOXd|LLJFFw;>2^4U_Ly}@n zYux_AwN7;^_u}A=2>=T)sCC3fgDG&Zp^Wq*kUFFiGCLdM4B%@tAIsgt(!Yw2G~+_Z z><*C;Anso2Ffm}6Wk|kOO`V=}lt1mje9K*Q*lskdL z?_g=g6JX)09ZFYt{ENtAU*@d;_E1wR9&9&V!w`@&WMcZ^QlV+nV{G|;%kO&V7jemv z)!xl#Wt(362%q5s*{}mrJ70_bOehPer0EXdq#V4I=GB?dk}MCyHl#8CSHe zU4yi@W1@*ETmv)Y$^!^yIG{I?hSnz@7^Cz z@Bc_FoxYZh6Yg0`T%N{14N-J~cODQsy00 zE_bW=^JG!{LA~Cr@hH%WohckC-;Z4SN4F7q0Ep;EAB z6?1~@*G6}O+mYq`H6VCkz9@~uM|rJzjm$j%7V zqWI~0;DS4KKAMvtL%1|vG~K@1_v~#9tux2fkdW^Y(zop5Fw)~lFSGBNw-!H0%EkJm zR0dr1<)q6^osNp#2CNMhgV!-;;a9wN>mqKY@fd;UjP3vh&lrB1$}~)iId}}B3#KEJ zQ9zDr_MRXq%sBi1XPy49Sf>bY4O*$V8XW7Q^QQ>g&o3Hmi!(ZXs@}bmTee7B?~ek2 z`r2jZV53N>^LOjP!1C_yb5%@zdpsy0$2)5ar5jOK_sogM$*C!i z!!aqHYXU*0RZoNTx^M1-uNT;9v)4CQ;t@>oeSCia0WeB8u8+ja&b?z1_5qQ1Cuidu z?tI^+^eawaGpP2eF)~+Jo@eR(AfsqZ{+V2Cx`KM8r{sUG-t z^1|a1@HROme3MVB(1UY>l&M+?t(4CVUqx=o0034}?fIkrRF$JP-5-JQ)iVKcL&MV_ zg7;ko5|KOOIaj6uAXV|iw$yRiPJM6Q4Y2TDl-ajVcKb}z0^Su36W&nF+iyJtXoJYy z2w5&m{kPkrt3~Du{Cz$90L_;%hO+H0qG}Wb9BR7c=Zd9$#keHg0$Zlk5ZWIiX>~f8 z;LY;)>Zy6K;5m3!%WSjseqW4o(YSNF-^m9hPL#ph&6)$AFD3 zufIbHc`W_Be~5C9&RfVFQ^Lb0a?XUcXaWFrcQ;52bf=vC9^W`1%N;O-8U%1wo`1Jo2PDY%06d6wy7 zfA@!az~nGq2(hp6`%6yry;vxmp_Wov2g(Y9tkoYaa|-@>{>rT6lNZ0ZS^gkpoVqa= zj_08>sC5?I?~IwJ--HA3@`;egWG8Fg4;8C=L11JI&73}t_{uK&b8@vNQpRhp5HS

wh?eMx7)w+vOoxW6m4)%yqqZW*ZnPSu|53`|Aj9LLPYL646 z4t3U9CPv*Vz;Dvjqwn=riBUfic#CU&|05_(2Tr`xzaPp(FBi+zdy>=p;b< zonC{F#7NsHM(0n&xO1NvUABsm9xuk-6~yRTLyT?_K)DQL$b3bN?lZ*b(FrJ%HA{@1 zw42=kuwgIqabL{nbC(!>D~fRs?cDQ$7&%+S=r;+Ftv~Gy7$Zh5cFa92#z4*wdQgme zO96Ht+(nEbUBwt$S&U(&#b94#jEEECKJ;@x_PC!mM&2*RD4qa}qV3W6(U?SdSd6i^ zi!qKeFvf+>zbE$7`6Cm&0*+9K>FNyIOHhgRdJPZE=GuJ-pl# zW&(D2nYvy^zNNJQ-(UI&EQ4?1vKX)6_pfw<(SX0dvQ3OvvCpfGAP2D9t1Dn9P|s_d z03TU)3t-!2eSp3!dkxU>GIabpc6=S(z5Xb?3n#@`9uMekIc+RQ7t4=`@rE1d#~a;Y z3Sf^n@S7F%V?|q-0Hm$h0hh#h(+?eB1Uw1U{U*9uN&c0sVGJP0O6pie+N!(Y30MPr zASgzl8sHZJ>JFgmz-FNC)m5Q4%!f~av^Df^4SHFF%xlo`8f1P8ncrgEzD57udKj?x zTiA8&t(M=DQVvdfpugwEOOd z@QWDh@P~DoFbD9Pb)>yl4@Lp`-dhg`#aM4bHRueSG5K^wsSA5z~(r2rd$^a7y6j~fHy>f?_ApZcUJjEB{LAAec}a^W>VzR!^Pv-^Pa zpIs2+bL##aJAM8Z>=t7)zPPyo42H+yQ#dci79XSm<8sSCAt=Vy4503e-eG$g=HKpzbf7fW5yY&-VIoS&Xl!_p5e*OkX_<*yAh8?}&xl0ln{_y`AW3 z=SyPjx);#hF67~-_?R%Fc;o~Lt^Zy4zpmh7~e+#dinlNSPQhhm$vt!zrEDIm;TwDC8X_ro5c8` zGz^5ra6pV7k>|$;;J6t3DRY4O58MIh@W8`B`auh*;}9|xd?d!3?5mBR%8PM&kr-#F>+I8F{Jchtb7KHs`326?k6+3AYbPN6*GJ%#7#CW> zD{xVa-)4z%Q2{=1k+H^G%Z-aC#Q41fV2evpK>QN^`ENI%gMa4$?fx4*U-kkzxJ*5l zk@E_9uHYwEu+Lg}_6DSjr1M^@#92c|1STT8)Z+PA`MV%G7) zGh)`ITwUs@hm7@0z;|LcpuGn4uOaQQcQtQo0xyf%h`u%=-e^7?6O((DX5+Wvb1|D( z&UOS~O@Y&QWmh}k|01_5=a zx}XC*1@z|*WWHkt>=Ls>Wta$?#O#RPJEG%``G6if-2u-*ftYF4VGt#q603=(y)P zF|+AkHoD7R4(G+}MZR9h+Kc}6t_=^sS7P?51oX8JI_ZmD`nCn??t50udx+ojBz!Gq zP6a@Q9P;&x1^U{Ly8HbkW`FwEe=Zypb3h%yE(4G|7oFtx1p1dt{|2T&9-xOoH2@j7 z=V}f@e}gWIc`vfu+XW`VORx>F^KXQtn8O+0BarbveB(a!bbmMaLd=nwVsekw9EDy-cLM4d zgI|t0Bj#9qdMx@G*GtUt9b|w0YK*Gy2Al67fpeWfxbN77&eNzn0_pNOUxJ0 z!3)U!0%Pih<63qY1vu+uA~zp_b8_Q>X|zliyo7qHK3wENl^!0xZT2Keb~`v6@oLzl~{ ziTQeYpe^>r<{QiBSg^KB=fhqv26E<6PJ@Dbqa z?{NN|s=)bokl`K9zw<1tfo*V1%y$Lo)4SN>-7bI}?@ous@D5f1EHS^X4Ko1Uelr?K|8^=+_wEe14=#xLT}hZE z<{tcaj}Fn>_tdv{vY7ikPzhQ=7EsT=r(q?~-+lD=2Me(K5A^qk{y>{Qyb7COFVM!1 zwDDtAXal`rJj{pX@Cob}bH6}&XaU_}B;>(T*eK=!WH>;32b;pXz}P%Q{7^UeO3Z>e zVjiXshpRzbz#k4zfFoiaVXPl{8_0Kb2>eUTW8^(H6X@@8${s%~=7|nKA5NSV^JD~! zfXiZ@LSLsCx2KqUe!?cFyTD+W4%q+nJFo}P@tIht4b*jpy3Wi1^l@f0Apcnl(AU`} zkPTzuaaaZ)0se9JqL@G9A3s-zc7UCK#?C)4g0-+6&WU*rz5GJi^UcNl75o2sM$8M} z1M}c-x4;oGFVffF?*P&+k#?yH;8T}=7xUjya7oO|=>2j-=mMXJc?G$y(5I{A-~}EItHf$!<6&mhwO)Xa!j?8u&DWdKEUoUbrBZQ4&T%9xR28 zum{eIWtM=-kOJB804xE@^IlxbvVike2N(*}?}!%5$>$SXrC^m<5l@KaZX=eb0UQ>~ z%STm9Aj>Vi#46cZtWtx-ifkkn_o}U^-^7aU1kZ{U^SD^CZN<8^f>@IUrWq z-^D8TmRRMHsr)Xn;^F!ok*w-?VvAAgePGI&`zC$V$~f0)LXABY!$0Mx~u=b zSPjr$gOy@6qTZrX8U`tY#01)jST~6RQRNYjL%R zmUoNQ@>Srt6=ho01@zwPQ?Xh%hc#lQAb$$>x_vVIELNLbSSMCn+HboUDBG?#(02R# z#7d2TkHun-Zgt2MtD_UX6RT4#z;0>C+}Q)u#kw;VUJ$Fx?Lc3<{3h02rJx$1_q+PQ z1XuuXh?QO*u;1MlBmg?@>Hr_igR^3BzuW4TFIL7tu`=q(qC;I3~fA}n@)pM6v?8mL_abopq3_0+jSiO^A zJfPFwd*Bzb`k>Q3{b7e#eMB{>0>^`T!DhfG2jS=U(!YDL{k`<%-cw?6Pu?2*n^;4Tb;!Fw8QwQq zL@!YyqC73%n`S(BPbuDO;*B6d8eYV^r`#>!Kac zckPpWoo-#Q^XKb)=1Y=qUM8F*bvU=knkVA?USh3$@#wgDTpC-0)#tj8S|@~0Kvx(A zPJPZiEJKl}jB}afnvqh+I&GiN(z?=VmIN=GBan|e%m}Fi&9(fF4#?9|MrmEDrNMoq z_cr6CsV?s-A+(eYty`_%n{X{54Sn0X*7}|zt8^S)SJ(PBpP6rwYG^PfWFZ4U*YObI=a_-FAh3?9^Ee>oC$|*eTVd}<2R%AUL37=+papK zzqXxk4t1Zk-TyAc|7<^?-;R2;sdb~}{QGc~KCgY%F84Q~_G9fsghFVc-(Pfp(Q#|S zlY}n9Ra*Dxpl>M5cYG{usQ)SL|D1o&9s~HL_Dww&$Qup^6hFpqbh<&A2!7^_56*Tj4Sr^}32w2+81tC*Ao^~{ zc+@_FY})p^ZEaI+KYMNp&0*F8>8j5;E|Si;u{KH=OOgY{N*xagtL=0rhHR- zeAPnVqoj+rsR@p1@`QslY?5zrhuR(|oHwtM#(C>J^Mekx&zzPBJKx9R)aS{Y>NqLo z$TP{#-;}g2%!SnH>`r_`@GIvU;>TqKb(GNQb{T!1G~Gw%DCE_B9*Xa1f3W8dX{vqJ zRVa}WR#6^%j_)F|c3<^;6i1nmzMS#soVu9X#ZgE4Iu}v~>@pW6(w_4}dJOBz9>eI$ zL7ib;Ia^caYZ(!dFY6*s65ombbee9fi*#TIy3Wxxc+sAh@LNYbI{X?Prc1mY$Ih$x zme%dZqyc@^`W5Gggq`i<-j2q^L+gh%0^i0TosXa^=6=V+oNFypT;z8hBEFJyUsCQQ zl#@;_i*O@t=s82r1GH^1&*(9v{g3f_RF8949CF7|o;+Fx-3GeIw_e3Z%29V{Jlq`G z@R~DOG(hxl|mGXmeFQs`X5^V3A@|z<&x!?gDrvaX3urJv8Hc`F064SAVaT#P>VN#>ppUMQxqD@ z*?SOIdcB`SyaVw?Bz$R~&meDxJ%8?_jS}d#P#S2Tve)*|8bKXd5&85BoQoKf_e*bA zENfe=P}9}Yz#-J^gB{q|(q%)TXP!)OSHnjGMY7rL`K0&tcJ=tv zYt{i7Y>kt(=!eh3y$Tt~G!#ENi{GB)3Qe!o+LxK5O?J+X1N3JneQA#T zb7-5fsK*2IG~)(Y^&adC!espNBKdzL5AV`T;j}N&vCzuaC{|G^jOy8iEy1G1HWHLzIDhJ3iVv0=L|h= zvC}$7C)!*qk$T+QYc6Bf`6KCi9Ea+P=!9&88TWcVzG;8pT0-4=e=EYx~YcXJ1hFP5QX;IQaFA$Lyp3WBxy%*JDQO_3y*rm)82=fxkHahAyXV#ymML z6fOws^{>O=fxk|t|Do~yUqgK@QEZvMM@E%XE3A!D-|EH-pyhqdHWxb>`W;Fd-XBy+jO|=hFUnhGmN>neg zHa!o6^tF>`lB{zx{v$5o-!&Ky7is?xb4(S|&g0i>kSXMc`nrXAe&%(%-(vfn((+L(h( zc)jf#p}8P@ZR2c!Z)!bvkXZWk$JqH6KiBEn_w-uDHIp^SJ`P{MXKDL67tk;KNaI)l z^wVDRi^}$9-RiC9TzlRvx^~q2D}BAsqiDjzj5X#;vt{r!Y5A-t`r3a{2=WF$*7-yG z!ro5$=3L5NmAxPG)+k0k@qDw6EP@)W;VU%wx0dJQVx%%&+Suc}4LYeK4II6T-Af3` zYG2zdVw|wf0FMgL<+oh(5bA4LZ6m#prN3QtAK81*r(h~R%3}swXT8H^B1*7dm;)Or zH;Z|N`wFh!u!i+O?|JogBX2F`T@<>%-)XEIS)wtj1lP0oT4H)=+h7molqHUNQpMaL zvEjX?4%K?$GmpWCHO3r?gv4U|y;{VX^MdTD_*|Y8veVG~?jZ*)eJgpCU|! zN1#~0?Y5dCD1W*g`*V$a&M}w(jX>*=vV{+VmQ6!@HuT3XpGepf`T=rZ^APHC#Dk1p zyKO#isp|;R$Dpo@bGD7Nt+ZZfvv36A(}Y@Ax<2|B)bUv%m^pR5x*yk)2{XVXZ6TrV zzdi`D4Hc7DOgP&)oo_^`pZ zcZbNc=MH`EN#A$r$~&zCq5ZgS+okUjJVkwaZyZ|Zbx5Da*<+r0EqwjQeleD7=t%aiSyr}0)BYr` z0|JoBI0;zoq&suk0;5xKxs@RS#%v8|6$!A93@{f@;(D%wy-(MB_12QiJ)bOVIrlBY z_ucAI$NgL*gSk#>a1Ff3!M9;Kmq|MvTFq&{Ki4q^`-0Pq!}Z+1^oh^>m~u_+eMNw4 zlYnCd_Y4kDPc4adtd)}FSqjnCELm!fg9)7P%{|gJvecN%HCvV7N-Ki&G3;SBkoPE| zlW+@p`g2c$W2=l^whGrfiyYrevbj;RVV-$G20Io>fAhR7&~fA*%;Vzz=3wrp-Y*?U z8)R5Ahq-Y9*9Qx%lH@x~o~GzbhZ@Qn`BKmFknghOaGf$28KaG}$R1DrN4Taw#5M9s z@@}-RL1!5|sY~Z4-}OA7%iM4t?hUY>1s~CCnprNm*0nFVfq8a=PGe1f#HE~ zqyzcds6cR;`5kFTWu9Ur8slW1(OFV8>SA!Ix`VHxw)7?cCF5b%nWK_K8`aEx_Ka0>h{cmA-&sHpall{o`z1;P5o@v<68AAKW>wB~C z9_^2C9=aYCKF?n8H|B{K*$e7>#Xp7j>oRXDuy9`SOWhB634S5XMtZ-=qEy zIQb->izkb&mo(^vd&~b3KF#MUN!_DD@Cm#KKAGp*5ZtZ_+aj#bu&(H1bFiP~={|&I z3bz$5_jh5$=iEyHH|^iRhTvg0gxmSMkas>PjdxCn9KxL7X>V3=yCy8h--Vv$luxJ3 znh<=V(#xj~J%z#Tn!l6VP7nDY&oa)y&$=H5^Dg%XSK6U|=CM?c{-x|)sXG<onWVXXT*w#$C*?G( z?TR&ieGzKhU+KsdP2M%ZZ7v_-hsZgX>n84h(!V9l{ok<$bmsb_D|6AtqU!)VjlFU( zI*h(=%yrPC`uQvOky%TwpJT<W1E^u|IrRQQ?-}yBCSspKJ2jw_M$fy1 zvD|-MNVBgTXq3>f@?;y`nFzmG=78|U?C-U_( zHDj$L;zLu5(AP4B=kS{+G)6UfIE+p&f@|*%>|4LI?}ts&=Sg1+T%YkPClb6!h;Jij zcjUN{E*y6S9cofpvr-9f3z1G(3p$Xl!{lOAAzp`cofZ#eAY4wTSL0Zh?_7+&r0e6G zlqwMzh1XK{u?>Eb54^L3iTS^n|R}! zAzi0+0A25ONZ0X)LulD;NY~+ln<4$L^l@`P(#fZFr1cT*v(|S!=~~Y^UEAZjeMr}F zEuXfVE^C(~T_0;1!#20=Pr6RK!7l%CyxAd(zYEEGB81*o?7lgl z*#LhmM#!((UD@M;IlEA!$B2d}J=fFiG_$L;4AGrX(o>bIt}< zAm>Y*=Z=(pFJL+$S2tX5+v}raqhwmF7LJFchdys}g7Z%jXJ&BLl}txX&fm)YK+0

rXbk$$o!nH|%kPt@QC<*u|M8X^yvS`)o$16&zT^LH~?Luxlgwitm`L3fgzH zPVM&^V5ysZ$6~i*R)$4IzGHTh9=wN4j1Q>~A2wT4CRH-oD~o{@%yf>ksh2BgGZ9uu zN3$W}HPTa{k)&~rF8{aW`A@Pq@w~qsPp9bvKH${juj)> zw%MPK50D1z{lr;7oOw3PU!@tnuAK_Q+=b<@uo~DfPwKhy`g}PxJa6i`Q$x9v%$pG* z^gJ3y&!=JDA#THby4jxNe8^O6jVZpi==lF6kBimRn=0aAeAweckB#|7M4TmLytwt) znEnTzmZUSsxL+Xc2jZ*@&f5vmk>gq7%o~mwgvZFk%5ATU$m*;^ydCGtGfvqfb04~# z_K|StZeJ9)*CWOg_uy=JRxeKckoQE0s|s=E8|P>!btCTKjKeed-fNT#g@3GL_$b=` z{~LP7$3LD2!{~Lj_WvY~ud%DpT*YcvCKX}7-=G$0A@mx1dG#NJkFWm3v*Mz4u;6`*O5-Bt%)-%qrr_U&X^R70*)EEvN3JZIzQ!}YTua^jyJv!Gl0*qDiqTZKS56g@2w(~olz0Btt!>|s@^k9li3{oC@ zirjfum%GHz{^(j!8xix2EWfB14}8a{?dxDh<1Av+Cg1!;$ma~4mpGipflH>5a*I@! z){-sv$Ygm)@@1v0lHKy1T$JBcKQ%y2RSVRU>P7WWwNeGt&+44|w+b3%j5wo_(b#z3 z*kF8WY%#twel*S-zZyY)L93)$%B;w*>D_ORGaoYZ%*V`sn%m9YW{?kol(25G?y}OY z-qt`< zeRukL_Ruq{L)NHj+yuM<&N6mrbsaTq(I`a>L{n$-|SUCC^Bn zo%~qxQ_25KUXi>ed42MRNDi5oCf6Wm!C)6(U zTH=#sh(2#>Ls;G zt;PbssLO^JWsM40pa~ZEm+_gg)!1X~#{w5j+zAUrVu4ELSaY&D0}DKEzHII=zrz9w z3zWnHcUyg|9BY>Kq$Adm;8yMy?sRvSn=fXHFHA5JS|y|;OiP%F1@aTlCtTp+U|FBv z*TI(_vcNsQX}))SpZRwCe)OI9UG$6J>yO3))v-W*f79z080sI31?Kzn{crf+^uHIf zKDMhVKRG{n`E?6y#R7Y z7+85I7RaeN3Ja8ZZT1ya=*I$AgF$yQcWuVz%-|01u;4atdc@-3GOr&b_?qWX@Kv5| zy{h&GpH|-sKe#7z)VI=HeG{yuwlj*h1`nt$&R^7K;-3~~s}F)HY9sOYrIlJAj8pHa zx7F%vYp=a^ZOt`iZPll+^|h&m4X!0?Mk54-E*75A)cX2f7czu2Lc%sO$;|DJt{7K~C{)77tesk=x zW3vw~JJ$19mt!psIu05KE{h!9q4OU7;6TBF&qNNaICA31z9ZWT&K8_0I8tz^V1L2B zf;|O03$_+~T(F_w^@4>3PZi8Bm{*Wj@KC|{f>8xS3x*WXgMyv~cNerjbpFuKht3|_ zdFZP{+YfzlX!E{3`@Y@Vs9)opo$OswO8mh4L6mMy*|VjN{crwM#vi#=da-!tKjOt> zszvc5T5SfTsV+CAcfIlWe|DrQDX!Y}pJHeB$DeAY6m-lORO8w;h#`~>0<65Q8+N;cY z^{eY0qr4I4+Qd8;@A}a7xofj)3#-p%*H+gT>WXWd>r1nL()jp&Ff?tl?v#2O8a+fwf6mEAKdGou^72YXkSJ3FU!>e%6q)b{P#wz)l} zb*q*wnm23Oq;aF$>ea1NyH?GrRVpV}N~)OXD;paXS*qkMUXMG%<#br4p`@lipmN#= z%w&I5YQLoRN&Pz1s_AcEc5u5|HQOhp<^=rx`~d>1a#9D*kd)Lf;Lq^~Diic8mYfqv zA?Ki*a;6mJOu3#@MfzJv3*AJLKk#L{B>y^p#s%#(J!a-sp zC2Xm*wEp&i)bWG!+UFpnTJ80;O=>&PQ>&(|=BEOa+IoovswRzGt*W+CcEqUKzS(Lv z9=GUb>1q3Zxq~cTy~ZIA@nLBbN#DpZpwRX zU8MBSsZk;~DYswmtbo~%vUz6vyu4X~s2YK4N$mpFCLbw_js^y5CberHsG)03>w3MN zv_G0u0Y`FVlAo{JpgT!tPScNKDg8nz&g977M4t>8Z3C)nR-*okOT{XAd8tYM)V!R$ ze(QqM`X~7#lk!%VD3Ld^J?fV9tbihY{oJ@f>SH|vkvW4^Geot!p4v4n5Oa60tbmc6 z>L1(>W$?dsQeu<1#Hj0esNkPb^Woglm!aLL`a)^wqKuS9_m(nlfEbUj4i?>y7pO=+8DB#P9%Vqox@@K^*22y%r>7Geh1AA)sLqpXL z(j0$u3!llzO6!)Cc6W9b)=lhbpV23Dbyjlwo2p65iYuxHM+`(HNBFahII|}iBT4Y5 z5=m;)g4cj6IRYY4xSgsUxJ?UxmWq>bZo~*w^S2+^E|gCn-%u$BW^&sO;o6+~kb2s7 zh)ZOs+kdrc8l3ir8m4%J_P7rEoIb^L#pwwAw5?7n(q&og{Qj(@fk{1+2Kxgk=~-Gu zT0ORwL&~sqUSyTDjI82E#gv7bB$3m$=0eI0q}I5uL#^Dv9riIQ_45P6Ndd`VTunpo z=>es+-^(7barjctxEs?+Dyr!}myHW_{BzNcMUCo`c@arz-SV`7lR|O|3WPT;aB{X!@Fc}X2}^OCw{wLtf{VAre%<0cacL`#}V%V<-p=4wN=S)HV2-@Q6T z&F+?+#Z21fJ?@J5XJ=%sF_h6Zr%lh*l{laEo?j%zPBnC@PSjca`asv#m4gU7f82X1 zBGc@%mYrZ94_K$fPAkepnvwzQjH0wiJKyTcc0(zA-f93}E@S6T3D;ne7EzQo%}(p7 z|5l4OmhJ`JVqs%Mu->%y=V}Lepy%McoSu4+Non-Pe=Z7>TA|0JR;!iaED`V|4Qvze zCh-O{mDF0Nw=PO|>U399n*cwDPVpP<&QSE1-x8M>c}AD@E^-BY?7>D|wDH@d5g%*^zR%#j(&m!axrq-0FX z*pYEC!%_E6b*IrK^RDzRnGL$AE-EdvQ+mhDj)ZsQre?NIU6pF2a?m+FEz_5#N~N_< zTa{*ZOYfT5ysPS}(lhT)PtRNz+>{bbE)kWQ*ubADe)Y3o&G)ORe&tsQnZ5>QrY}L2 z;-Ym`g85LNpzqRyYT`sSVa)Bm@i1;ol5gyo8om=_NK)UAIXT8C*Pv{si(*bQ=$koP zO`17p=5sU6@eivllU37EYR;(VMj79aJUP;saG(18J~ezul5g0M8or@J8u zGeq4xM8!0S&U7d<)6xQ%s+8Hlj4K_>_OdywTG zSZ<&(WT49JQ_h!?-E)ANG+@pEqsjnvSO0tZ|J*;=-|E+=fiLHtbl*LFD*F2NY2kal z&wG803b}Ear5oIu8Kp{PMm8vwxvJDxrHs0z6q~0^l`EO|%T%s#`DThp?n9JT4z*6r zU!BpdMvb&}t|05JJH1yx%?>1Y)2}IaX9t|K1Cp8DD{Hk^<5owe5s8dnU0T}o95bdy4GpjM%a}1^Ym6DIU-+vrb{xlJ#`NV_XR}{9=D%HL z%vhbG%j;956&)5G*=Ouh`WzMVTBB@VeebQ5wBU|Q89sNcUvK#1j#e42?Ip+^+v2Z< zvHINr);pMcZbrQQeMu6;x1XLB0}*9sjgOp;%=#`!udUtq6$OlUTI;p z3dKvvY-4gLehbgejZnNKpIhxKZRLKXnk1uTh}-AD&?4yA)hMc2iJg>Rr>_X|W;FoUFkJ4l4_x+U2l{*RVv(HYV z{i51Okmp`%ypLDE)Pg^k_g}B!Kb`AtOEHGJbSr*(Q=2|Dyk1{enp%HR+YqGmBZ(i$ zM-%2!mzHd_3?uD+8N}<~=|%T3m-9ORB*Ol7&qnjA`!$9dwRW^_{B}S6=u@YRCBN>s zpYIbL$Fa_v%j*En6!l>YJ^1fB3tQ;VIor{W*2leeD_V|zNLf6!NUHv}+L(Ctn>}FY<^wwy*tBc7o`CwUOyYzZhccGVB$9 z)Rm5wbZg^m9gV@iiu_LNOiNlvGU$o+tQ-3{nw*0vIe~or$Tv_r+j<^|Wco;3W*l+d zkI}@(l3RP{?bOweGDSx>mZ{14n?0_+?Qu8iC)~$=#p_u|u9&~2J zwUzdGZ8u(PF(S1Wn|iuoZXJXt{?(tp10KP9L)_xxzH2G_&Ql4a2~S5Fu{r8Z5q*c; z$z5?Jky4%4n*1}VKb3e#xr^6y{+V(&y;73J{aQu2-lX*5?zxg2{+ZHG)fUD56TVeV zHB-llb8my!Ge)#1eK$f3qqI?)czL5Kug#1WVj8XVykxXC29h$!;M>)Vp}bpOnRl9Z z@;=`z>tW{5=@#FxX65m2W@SCj^I6k+k$0*o>kWsC$HWnQI!rm-4!-%$QIn@Z%30A_ zTYsyr>wey8JJQ8Bj=9FU9wI)~^)T`2yt7=n9&_={XRaq)&l6wlqE6R~u4TkucP%IW zMnoUpshblqfN$T;b)z%x?(l0J+^eyz=P&v8G->pVB#e(e5-dm-u1xSu8E zHTMeQ+&3Z~a0iI5cJqzR?)~lqq#X3{t#2a~g63_PXJ#F4zUV7^7>m5YOyPT;pYly|C^Z$tLZ z_P$6;zV|gTRBt{Tc*;Cx)-)$`$NdMMb~w#V#yWGc`I5PeUn{?8t~Iuqm(9z@M!q8a zJpT%ePt1#i7fC(FFT(TB++;d=Ub4+>XB;$VnvWa1Zm3VEdd$JbDdViUmhwlgAL&vT zjjN{dS7}J%F?aD#%j7Xz*s)VQgUR73K(tvJxz7_TZzk}3<{`5(Z9Zw%HQSjD%_ihd zA=brQXm;Q=+suF*Z)Kif7_{PGPOKpPUqiDp7Z39=W#es9U*NX z{d&rM#=oun+s?mTJPF!s?&qJa8#H-}+HCDGhE`~=a<_H2cc;4VaCdO0x$kyox_h{L zxqG|&xcj>MyYF=m$HVT&v!=Koa6jmN$UW6P&Hb=@I({_AJ=gshKD5C7r28rDMcRkl zZ@AaG-*La|Ugv(#y}|vF`(yWK?#=Em+}qqc-1|Mro@$;No;seoo_e18o<^Q#p4&Yg zJ$HKU@^tfLcrrcRJ=vbVo`IhAp7%W)Jpb}+^nBpi_LlZnI~LXRGH6&o+(i;-CnP^jJKS(yf@BU z!Rzz-@zjdmByS~eGTt}XJH$KGJIp)WJHmUP_kQn4?O&x{Bojql6SIq ziuVEUgWiYm%{kt=-p9O;d!O(w@IL8%%KNnUAKquY&w8KpF7iI_UF?0qy9EC=c)rk- z*G9q!=INp0xgZab_~~=Q-qk3cJ}7Agd@nlx>JX~{6+!2z!EC70dEY*D=-E+GqhgIy zk_0+`6=0MxBOC14Y7pby^R%jX!l-9Y#hk5}pB1yIL7KiS?PABfOAq4Bc@CoN7E%ds zhcw{3*2$wwR{}ntz?`huwJ6FfX$gGuIK67Z>+S4Z4CIdIwIXsE$XScm>UJL*(no{( zw5)u_g7r!9)LYrJJ@3_LO;mC#L_rBC56Ms#NAADEUIpwqT+ss_ys($LAdUf(Mzd4R9XOs{EwBBg?!BW24wIDO{l?yhuJtox zVV%^gs>!PO$FZ9lyv2^SAGwMh8^UvJDKTu|==-Eo@z)XkMh}y8`?Y)Mb=ZhuGJHg_ z*M9xSkC3tbhff$GlXHiR8EZeGRXNMTQ4%ZFD~(Nlr)qlj?k(5e`AL^ey>|Crf6tD7r=GdI_@NgMzT9N#_@$4%a{3j% z711usDvIrMS-l&YS=3z8wzm|sw`JQq0(*ZWZrjFw+s4VZjjLkgOT54F3ifNpdK@Wt zV6#}c%eGcmdsV)NdMhGZbz0Q>i}Es9RhEWozd9PayW^@+)mg{c(CFc8>`XEGINLir8238UoY}@OXCLQy zV~TUCbEfeR=N#ut#tY8ZoSTeyU3*=7jhzuqB3c={B05HN7$#o31 zhWI*>N<4YApNMWOI@c#vM5DHbLY_9-$Gbz}523JtJa9e#366_Uir-Y|%&K1uozGAg zZb&PB{(lwc)5nIod_!H*2k)}sy%Sm{1H}8T(=`C(JBc zvcfw5vaDuN5BYL?)U0sgwoW}dB`!;tnYpOwwe$n=mAZCr*vQu~zC(OY{Gc+!%US-s zs7mp9zTC8E|3d%bwCeHa;xESUPpH{sdqVlfd&)1%%=f?KU)CdC$D^t@JmO#0ZJB=e zLRxj-1^=>y)4tlihGqBq`ucKxU465CkNX~os_WaDxu{%2-&UQ+ciHzt;-2WjPM0g3 z^)Iflru^clO%--jI9uUDRQ%D^!e+j$2w`XjGf14*s%<+j^wOkM`&J=j+$< z+u|3-FYa_Xs*z4fFrr$-pYo+do$HaFcrNNlk910%OXyToHeqm7mxSI4k40r9EcHc} z%S!02b5>ZBcrhv`Ey1@aD%;~K6zcQU;V?&43D0sUyG~|m8bPtwx-r+@z<#NI;H5f zNZVx=Ykd}fjaq1H_!F&FY_Yyadeq{mmogWXjg8*W>2mScsAc{==xSN?hJ@2mE2Gw? zRgYR9XLPTtb?)C(rcLyQwCcrQqdwCq@uQ=*X>FHxhF_z0>3G@tQF}7lm7&E7Ys%KI z5ZNRB&#zJYb$XF4igFfzjXI^v`m+3cqApfAt1VR&kGguRzii29L$_Ym&~e?1wCdW2 zqazac__L#1MVF7S)T3tEfPY(s9Xg)TscfJ^--OfACF3h)=10d?=$pAHobKP2Rz2FU zy}iO&U&E|sMLLhJtj9uhO>Ld%`q3LQ`WIQPOdJ2UjQ-kc^yrd*ThZu)*sz2zEbzP2~F&Hr}#?I>2`YM=bPV%pyG_#bhPi$Jj5Log#gu6MBb6lkLedef4OH$<>~DL;BFz z;iQj@86Qs9+Q566-(nun{f(LK8?WcLnAyI3e+%9t$NU!axPOnoOU%=De372(V)Fgj zaUaEm<0bxx$Gl2>MY+rV>M?6dFDmN~)wa&At*B-@9 z!Tf-i#i?Am)M75XHauq?0kQhB25BvbLUETM7TCQ zzq(+2>9PF2B@=F3l|LYV&`sTFOI^iK(fP6s`9sT&4?S72D1Su7n*7lfN%9<*Kd~fF zT3ymVe@fA&YlHdI;#05fEjgUOC4XD~j{Ic)o`O{V-u(Uf2lJcqkL91pZ!T~O zq6Ikx1qG`L$_lCqx)k&%4Hxt-=vOqaU|^9|Fjy>eypdUBa=|dMUPjaTEG`U| zk1C&4eCXP|f@K9OMos)eV`c9GG!_lSo=6;fGQNCN!TO@+QPl+-3N{zKSQ*@Y##M#0q`ltU zT^%2bog7g(_oktR^GgoIyAoeWd`Zaxu{MRziA;*Sh$Si9)f%rWe64U}VWMzr;r8~bypH;Ny+D>JgD;^&+ z(D(Q7i}n{CENUt`R&=7Mx$I=IQyeYMVU8;(*;QQDH(p#-R)Yj~_ddY*9a_4sxJSh} zEC4mc0#HM25i@UDO*uVMRwMd@e@Ix|uXteTrsBaRt6eVGS7Kb-srY#D$!j}FyrjR(fTh)5 zSYHw>-Bem%l2MXZQY52^5GlDmQqrk>a!G$TEIm=uwWMc!eo3E_{*^f;S6tgut;Z0l z1ClH#8Gh4-~+ijIAN+!hnmrSNN@qQ~0l}vT}w`4lKJga1G$^4RqUU;-B zer=}`!qPP*OX5>Yo-0{dvO2!iwQMD?X{|QKGmw9xWGkg?FYj5l-u2Z>-iePbX)M_% zqoAViB|}RNOFn*XrB-RUB(32o2}`p|JCv4`#!EYwc0&SvO9zaKmkuf&S~{Y1bm_R# ziKSCYrgiED$rOVw=?k4d6xsNE@Q2K)0K~z{}z1_Z$`vU0^k!r=b z()!AR(oG^mxi28T#kHAbHKjW$hL$GdD@*s3?k(LP-&%UGw5jx%>vu_5=D7KkMVSYK zWd&trs--JOzA5Ea4wgHYvM!=y=ntM)Sr5^Z@^_>r6nC+68(22D zY;oBz83kn{%f_J9C#61Rlib-^(#I>vzqWjojB!d?QL(?=kZ{xvovF8qw996e%^}Z6 z%NCH^GAT<^lFzELwahZ>-McNhA1tG`msVAF@!|~{-+9TkJN1gkidP)3 zD8E9y<;o3mcd7j0!Y?0nMjHH$a%{3lwS1P`rIybvpFi}Z+_9D~5t)~-ZW|XnR$iyQ zu)X{>;#UgO%@z$IB{$6LI%`yje87(oyfXO}sLy{Ia&bna2CM znsY{cnBL3db8^=#_w{NsD{EbU)$>c`PJdbDipo`$Yb)2wooVIfcw^<8l^fc`)kCh_ zE&d*B8SsrOQ;-d2QpaR>V8Sr^aQaLm$>TToE6_efp^Q*!YAv_tf#} z@mcY?%t!j9LVB?EE=HeGh*aaR#W&JZTjSfAW!@2Me{I+JzW9MrJbgEdntAqZEo|Xg zi}h;Ifpcka3IFD;k!LVYUkR;w&Fr9K$0cqLkuaF0@k4s{?a)-xydCOE`sXDFTi!P} zt$%AgL$AGD(%2Vi7}WHQQi@X&*htE|f;{miTtk}mfmwvFYX0Li|6BBInCID2H&Qw| z61Qe+yhPKyr14=Ik4lNuhbODnUGi+nTHMTYe(T>_?j2Gq;>!rr8h$G{h4@5Ge~YFc zqv;1VPopM%Bn_d|f3mcT4`@moduy7Pm_Ng9SmC%5ALFrVF7y3`dD+AsWrJ<^SN5XhgBxmYrBpM$6l;CFVNPV z&|2Ls^0fC!N^_33Vyf2si1K;1Oa6;LNfQo|FmOs+)JeiX7fEToEphsNxy0GmRJ3a| z;Y5ksheXqO0u9HW9~eO?&uE%?!ly4JWpCx*EIHV54KI>3f&O~!Y)OOmaxHBaeh1~h zr2JvRw;mS0Q=|N=wX8#$=Ni?|m$imZs!T4>_`gL114kw9G)gN1i`-UdSfC-#T`BP@ zjSrU49wk==r)c~i5(bw@Xx=0_o60wz(NZ)tM{0bggpNuqq*~;ZNY2jVn$KpDIe)`Q zP3B5y^;Z7ZRJLE0xH(I;PRp`hP|h3LgZ*^8pC_Ea`+8MJ&3S^vt(n@Jw`jat&+gTD zsg`(&z5sb-MoA>SrN9kEs&J(ZF@jhJgk_v&X_^6gZG-B`En1)NYRU$^_73H&)|AU64OWh_%$ucLMh6@$ zGoh2zv%it_#HCzY;(;#0$9ixT76XpuN@JX+snYrvtDdZtQp}A~TdtBEUQ+30X#8)I z($3Wq|4ZYy3g3BH&t4;a$}B)Bv{9~ItU2GMC0?oVF)IIwDvgV@KC|`g!)n>CR!iPb z^?YheBRObjCZ(^_OisC z8qMuBEw{JC1GAKKwdTNH1(bW8=A2?*Xw$kuQ`SlvGo`tGTT{yWwx)H5o}I1v^w-)x zBOJ?}wI_=n20Cc|Ycnp(B%I(tNgo=dr7V(K z*@I+u4ongb`xi@1=F3(1Fw*M%a+Up>rrDua=|~K0l(=(?o;@mgI`x_Zd-st3JIa}% zoRH?J_TSQf&#k*9XM2yfQQmtqttYg$PpdR`3CH}6wrjbDYm_rbL;W|;{*B~p6>AQ8 z)-vLQB&EIGt(D{xoUWztpDnpvs`<>3v*uLcSgVEOlxRL$iZfT^?&uzHZHRT8`eZ8hkDQAJ^uO6=%ZXQAof7UuI(fF?=2dk&l(3~S2%dO!q zjn}K?(O$D=YHjPar3=-2Ss=camDDt4dbUpab?TLsX_(gZ>OnbuHD0E*8l>Swy|$-> zwxxCWljLJ}6D!9{4b;k-A+`>0U*tSedpSqb=cu>#FD>_9!ndYs_%EpgeuZ2+M)SN` z%EEUV2xqUB_@LNor^MxG$_-lc2Spn8R^{|m&LGY02G@UPw+KMA$>+Cl)zFn>g&XLf5Nv`6exE4_duMcQRv{?vhcu_n?S);wkHE}psG#cUC) zW%bjPyWF!Xy*HGL~w$37$+#(oFFyMjyL%$MA(b2Uv=^qjjhhkRJ2Pxw!j+inRN z5oo)qI?37r&RSPWN_)P9)?*Sn!!*9k%b%WghH3uli*mOmeZ5EPUnFVlLlU8m> z+#Jc5x1i)rBIIq1;LT~?lhW1HKXraiyo5a+7MY9L)!{kwd2=PZYkbdq)m(3WpItV7 zXl^opY;G~%GJj$I(%fbK%1oMj?K^G0?Ml9K$H7}1mmXBe8yff`pNt_a;k~^6y#F?Y zcj`tJ%wkWE3A}4JmG`J;8FP*K#zJF>@tm>JSZ&m?%g07mS8O$S4}?4Isf0h%{@$i7 zpD3Yyts5%;6^*~BXTus_uW=pW)?F&!TQvN@4b@7{*7(&D+LI+T^(ls3q5Lr#-m5xv zwcf$THP1ZwZ6(Ni)5cF9K1f0$0rdF;Y>KKt)~#p&*JH^w@>oL?SjSy+&_wMzX`wSDhQ38+p&2cUpMo%xvCbeZ(4u?Zz(S9ix%8GY5>r#!*(mSjH(< z&4kS?vx8Zph?||wZf3PT&g^S#}soK;S8=h{hP;??oY0i-`+OAgIp)SMf{TN8B%X9*HYFI+k{4KqpYO4hb#7z zs>wV?ztjd~R+u4u;q(vip0@LQiQ5gV9b#6H&{-(_Ko^NyWy#+3BS}nv!h{u;cc*#z1+SPv1aQ9c$_C9AzXgHI}m%@)~0uzj|YnvBlV7Yy(MS zkNK#vS77XCtyPn8%s62*n|wW-J%tCe#wsQwmXkrwE0nYoPkGPnyA5(h}@3!*PrVCmb@fk%n&khr}|`?g*d`b!zehsnOL{iPxsNpGIb3UgFMuvMwZab$)w6pv zJf-1e37uI1`j_|G$stgxH4(jNqXnJj(DMbXO5urHAU{xwjgU1YyzOW71f7U?_2NAZ zvpcQko#FnJUMKsun{`GP;W$I>p4nO19pnwO?2_E!xf60H=T6O?p1C%6e%AclCArVZ z8&$b=+41bo^4?V5mb`7b+jDp2?#n%peJuBI-i{tSlqU1`r=nkN`8f-67H90wo!hZ2yR+~`??fjA zRY&u-RUJl8&_k738=7%2qsiw>|4Esmr&_jmoN+AUL@ST}75PdZx1|})nNDUjGpFhl zIxYGpx()S@tDZy8(LtZ8-nTs#T}MBww!2hyUyjikt;^?79X}$k*YXC5ZdZwZ(Z519 zPjtLJ%`C`!A+s#As`VQGTAzA(sLZ4frZR>ZU%rlH_RAcYIXH7z=E%%3*^9E5`h3x) z%r34@osFJroz^)??;oFyicWq?m)huDW)D~Q+S983ZFJJpC0}>M2DR-&>C?>KZr`@2 zRr62xdAyt3?z2%}F0Fmy^sqVPv-c{Ntuf?mub8vvo>>P z<{Yub{&*FeocUt*WNyxUQ{>{0o6LsHompM8 zdS>pH92?dr}`gV$v&9fl(q15`M#aX zdM#^XRw8SwZzKHjecImcwbskGUw-|3>e-1_`_OKDOCM!z&)VhN!>o6*c}4Lz>5|h! z-iejD-Jg^Fyk$NYTaeu?ySlaSv2i+AqpvzfsiT}zkbm}o>_M%^-W--aG<$^fw;+3T z_Bd^i*lh2*949BL^Rncrb5{05rKHI@lyf9|O7=8qSN6PYo&Ux5h+XpGUX%B@%n73R z*)L?T$zGRTpS>x2i`r(f&ux&iIpf4FzW@)dqF()UdK=PJ3DyJ-`O4{$I&*`1hFK1xR;GAJO zBXh>&jMr;wb7qR}OS^KG<*dkAm9sWyea;5Iy}ta^Kl1z_;YnMiecCQ*gN!{Xt08A+ z&hDJ|a^BBLNj*fi%0HfSQrdV%etEe??R_jiZymQ4xt&x7jAhCH3|)|Z_xd}xYi>_% zv*@14SmepMs*2npS{{1WmiqRrs*S&)=f&rw4eEQgq3WY~HeYPNue&~N9j8}d|Ayo) z^vAb9&RYGBc7BM@_va27-{MnLdA7v2n?7yzDbC`1_;acH#q^bLSA1LBo~lpj%|ZTL zbOufL*dg+$^66RpkXFCM^GDkIA-;doO7Ta|4Wlz+BSd%FQ}NqnjJBid>*B|?(mH&5 z86)E33&qb@AKar=8}mlUJkUyg|3&;E(I+XlEu~DY*CNK>a`F?Ob)Wk_zb|{G_}JQJ z&TIXp?B;VE?tezh6P$oPgACL+&nMnXIlUzAB=pId`~Sn;!U=v+&IZ3I@z5_M9{PpG zf2;A|O5E0Ght4;I<9tIn&b#sqkK80YE@4ogeFj&^*}y%LGH{RPqfbvm9V8wcEBxSC zO*2%}4App^#`84IN1Em%<(DeIRQXRT|4E5ElO!I}lp#%NUn(5?QaNj_k+`)+;$eN> z93CR^i2g?!$&h$RYZ%fR2K9M=&=9`!rd;d1DRJwl#*ew7aDrOrpw`)GQht->=KdFb zp{CJ)9)f9!J0ED84Da3b0l5$%ic z3E_uN2tTY(3Bwchswu(`Op&e*-Y?6Z2U#seA;t`m;+p`5io zl(_w%#O(()ewoHElXy@yC#af(j*%vK(hc>j_Hs~rIjGN!gO3T{`JJS3ekbw3IEe?w zDPQ%|QT=qZ6^`4A@tUUG4K=08-}$BHpwFQL!z6BNFWBygcvsTf?+QPxdKFf^3agfe zRZGLFOJUWe;1iNQ_=M)EPj3TZiHEd?A+2F(gQN*<&@^vrecsl%j@E#VR!23^aW(Mw zlE(SHq_HoOxP6ht9UbqEJKnWiN6QT-BuzM>>95fAS7`o&Bpw)~am^>7`PkayL9JC# zYvtrgN=L_O;D}yzL`%F^`S)rL6O=zef>*W7G3w-H*_2rWg&oulI}^px;JPYFNt2aW$h;z1o3L3dn?*Q<_8 z7*P8b$dS0cTGHFA^{kF5N5_<{x@Vsheo%Wns68IgQ4r8k5Za<;ZP7H^I{_Wh&MM(M zt2EDM4Yd?UOR@i~CH`6X0qvK7_Dk^hYFD*?9sOt6c5C<-P5&23Z>i)hmAs>))p18_ zP|^g{`UTYbVX>tSs`gBe905EkGJIhLW znkN4V$Uh-2CAmC5%Y3h6ebzp302~GBj`i6V$O0WeNyqxk_n~o657=ijyDu03HhFXl zbToJzOaxQFG%y3q1H#`1hLZnbkDh{t-FWs==sFLbJz5PF{vg10iV@IpUL)v#1WG;5wokg45qP5L_ z+oi33n-4^|lwh5Iy(eY2w7pU_=`2IER zsh@|)P9S5r`n0ZOG;#ega01z9oaVRJrT<^YpQl@&cm7j4)UFTP_vzV=Tiflo|17k9 zpZRk7JbFgo`F$wV*Nvgbycu~Hz$2dNfGB++V^nY$9EF#2I*sV8$S1Q5x|QoJkOii| zs{&n!%NUD;&K&mulR$5d{qcajGW&snU@&~jR(Kj&T51&<3rlB46FdFKnx}eK<_6Mq0JJA_GgM^rCT*Ke9J$JvZeMD`>mgKcS?_+Q>C0p|mS2= zPh0HZSU}#=H(6bYOC6VcRN^APo&X(EAWM;_;xOmw`>g(8I-reNL*Pjnorw>J4u$&Z z#}c0aCWEO!u9*eq0@{_e5G(=DaUFG1aJ|Yt46Sa%qrK8TZI`rxdTLp#;n#uJIHn#V zTjeK+(?-op@+7~k?NI8e^=+589d@b8Q_hLL zk^WQkfSXqRD>;AEOLsP!Ce11EIaKYR$SKRs&mU)>OG`*k{aeR(oVduPJ+1fBosD+m zyvWg~eTgpxXQSwj+PAaOO`JzQ>RSul0!I7?I+}Cz+gbe)|NP^m5uG_3oya+<_vg_m zq!In_=``ZYflp@;7v1scJmQjG$`yTTPo+$$m*gSoMBiQjYd~9>i(Et&a$eF)+C3e4 z>n2dI?|}A_(7s#3;1?wf{X)avO6Yt;`70z0+@t&s${DMip&I5X=Oc}mYWztFL&~u) zmAJJ=!tf9YBN=*Db7KokIL@0AT1Pd0Ov0e%>@-O{bfI$6diDbeBj-yP)|8Yz3`~*Gc|^isp@tnbyg)*GrGz0@8ef;VwN}qwETJ=5zbo;u$|tNc469^< zPiV@pgdxo>v_Uz#?k=Ex=eQF4z3^FUN9btJI(lt5q5LcKszDlRnxN+6o#6y3OFzEKecs+Yu!a$CM z_G;y5PuZ>{RSp5|h0qpFslDv1(v-~_>Q(li^{loo=t{uN^Dn};v_+2gY(Uqo1ym0m zmA3tW=JT|KLCL?(+ctW~KUVh;G@boC1(1Ez&SBTSLU!^iHOhGJrV`${ymxaRd#hc< z-i8;m>!0in*pIia2I#JXm$MV|BgUh~GUJ>2y)DT{-?}0+xO%WLEOTk}gfS=bT;|fu z0iiX~DaOc1BC?w6#;|ksBx3=u(l0P-G^~aDC}~%7egVHn`7NN0>&eTs{-B|}31nKA zYdBHEseB`k6^0Tw4=YFCMm3jce30@761H#q3S%v`<>{_I7x`cBA;(^E0o^O^7WRr; zW`09=iF;mmiL29H;=ZT5#2wUK;tuI9aksNe+*WIu?EPkUmc8HX^JVWhyNB%kX3JiR zuI#?U-e5h06QhH}U86M_12P7&8|M4bBjGEe$1?`RiejBIvN8q*r(_I`O=jQ9T^ZG} z1F^%gbZAn>i0H8J*l2BZ6?YEUs+*1*ZjPP@evxN4#H+mX}4D`it%Ierf73J7dJ@UvOTihLZJ{(bxS^s+4^C z_YPkv;+N4aHXIzz7$FEg9$Xae8Xnsg(HhzTG6qCf`H1z8^_MvEc+W?0De?DXT@^<% z`bIqjmj_>vcyLX0eE16FaGV`PPtvx&!F9oUp+49xw5yNcrr?&~wv4RU5Fg={!5taM zEn{dfDHNGc6$JML_X>@!ht5T&f?c$&J^Bat#||LvH0_l>vO<$WDM9dHs7%kuSuaI| z9;1gVL@H7P&CQdNFRjm`(G^JOKS89@6f=U&!DD_a+fw)^+8#?h*c@^~(a&fdtrdPK zM_T71R1hkQ4hvO92S8(F+7|RGAg=^vCEJ6gzyCR;q8n5zZaey zo(gYztZR5yM&IyUti}BB!tj#tbK#ZY)!{n$uZ1_phJ+L0t>NwAUEy7k7h=Q1?~t}J zypJmngb(vO8cv5#MJLhEGGdQLED(-lMLI-E_>G8+j>IGDGO{9_Bi%BpBh_f@fXJZ8 zP(3q_J%y*RTlI{{?8v;>smSB8UF;#eG_st!*G6}$4H_<1K`apc|3YL>@hr0 zwQOc|WOPn+4EqaDQoAt|iOq>V8eITg4E)isHo88#A-b8pha0e}J5?Ke+tHS$qKDLu zh|K`(ZQUoML(K3HjAg{~bd<_S^{q!w_QCESyP{P;&^wI}!qN#;Ut;uXY!vxTP&+c6 zJ&3U(t#Pp-^J5EROJdKl-|*^KUF@~k##kb@HMZT?vy5s+Mq_MWtK~QxJBkHA>W_+y zFk_@cMoC5-DR;)gk3iVAzNa!@l z8X4yt2?OWL?!(pv5;uRS{JzcW$zhMAH0$&#UAYO--;?xKorY8O+Q|}{ z?i_A5@8s+e4G&0YFW2}9jn``Y?;0-Dm1VjTjnAG0xJthF${He8Gw{Z;lx1f~n!q}V zJ2SLaBP0xKO@iN-l_mkBg&mchpzx^`>FskQZr`B!zoz`}YRH!#N&lp@h)`1AFJb8G z!XYFcoTwq+=OxXv652bprOPB9)%89Rl}vc4aDu}nv<_%EQ?3nMCbe=JC2qbTd~>0m z{grU6k2I_mPT(R9k4k&_&qrE4TT_0lX>^q$s|F+oN9(*%`JIL1G-!Ocrq}%K0*!AG zzT@tOaY)m+HSD2huhXzh`1UCYSy@DGp%STcaEe~rq+x^bg99aW(h}O=lQh;|iCY&+ z8f%)ibgpn%jR?oooLT8f-1wcQ87gOkkLguEme3g{e0#mLm$hks+_{88d)ujIc=!+{b8^q*IAjl}6+Mu)AdQ`zl7M%nJ> zLvVUaZq__4H?C6Mpb{w15mz8-7>^Pj5KU%G5jvM?yWHN?HT&%BA>(?th8vn!6W^}k zUgaE-&{Tc1x5~BF2`Mo!K;x#Q#4^ZL;`{OriiRsCgimb=r4Cy(pCu9ozb|J)B@zba zN$6;3uh({EXt-Wd+LneHl7@WfJ7glZrB>1)G09o2mNiw1bD*|*q{ zn76_X39-V4l^pD*{s-rM?u!EYMG%91=zFsdcpvWkf~>f>lJz-*`JF=w*$3U=J0H@2 zqX}0Nc3{O^SJrIED!Ng+j&8E7r2C9@bf%qOj3{#i7z88@7Su%FG%kFB z@E`YpMbNlhJLUfZ)3`>!{HoF2p?9Cm4bldyzr3ko=`J(Ymt_?${3%jP;eWC;6xR50 z3BCA!jh|4yN+DRJ@mlYN*3x#(S zFVL?h$TuSlR?5^{FRnq&{N*duG z0EdB`^UIZZTL|B~mU7Hb9&VY7L^`x2MOG~nG*qo>nW1s)OG}gNkiuCso6wCXG`>{B z1`SmUy?j<8hcSFLq6W=d#nUg*!v%b+X%gDFN{?#w>@p4KaAtuqlQS!fIjXs$waZk0 zMVH;5@K#BUKRH2p9X{D0r8XBxs2oF{j#!4ONpq*^L&2L6p^z z@>Eb}hzy?h$@4mQ{qs_zj^As#_E}bD|H#;59AGu>5c3A}Ci4z+mNmnA-1;taMGu}L z_6A=7eZeomuVl?0Ypko!dVVmreT-Os^Cot^x6L6fX*o8h!V7SeGDpF=v854i8g81D zw`=+*o^ zMDu&*ci^6I7f)o4#tvQ*%{VUHjJ%9)`8_j|8OJlD`5p3mW_HV*47OxeXO1IQ%X*wG zna%umf<2kd*&V6|lte4%vm%3Eml^Sc6@9b9mE)=gbSvvJqjDTrT)4j^S~VbkFl#`U z8Qsddl}SqW3tU_|x6>;2ESy_$Fg_O##hcif8PaG<+#eZLc7eUIOwBW*?Co+Ruvs6 zo?W~%x_SZe@O~Yfaa!U7O)Z8Etg2ZM?k>ed>4^dgj8@SY+w{CiK|p z|6DzC^{Lm1OQMXa75pQRhnLrZe+3HkKY>akZgkXt1UmDLqAq-4s4HW<7vo#LI5YrX z?@Cr)Uu8_;TXQvh&v2@7H#;`S7a;Ft_k{bfAF`Hvj`0xtC_HS)TJA@U$JkNf>+CzQ z#CVof+Ry9S?r*bJ`@5{xewmrMjuqSMu{HI~)*D&5y_xS~CXAo3g8L2T=ASY@yu~d2 zM{NC{j1P?u&ny6$qb!mKnq zn&+D5n-}oK&VJ^XSlfNMc_p^&D%N)oVSj;P=5^-v*tHwkTi_;Edw<0o%N_%_m=oAr zU=p_OPF8;3Wlm*>fm(AqdklQdoMk>_KEhh>$ISVx`F_$|Xg?N?w z{3g2ztYkld7tK}dSFzgsF8dX{V%C}KbmxkC^9SZe^GAHlb&L6?xs}~3wwZ6U-@s1Y z!{XQGZu33!cV?scdv+gq-~1!ry7`m2-~7N#nID=5%#YZQ;4t6FGp%k`cdM861?y7l zN^6jHl{MJ9+PcOXYF%p$v#ztgY+Y~NV2!eFv_@MuS!1lPSYxf5t#Q^Z)_Ciy)&%QT zYoc|VHPxDC-DA~S_gd4f`>^WwTQjY%S+lGMtl8Fs)*S00Yp(UMHP3p)deoY4eI2X+ zgtfqW(pqROvYxgUThCZatY@vI);FwW)^pYh>)X~!>jmp2Yqj-VYmN1?^*!tRR=u^s z+HAdUC9I!VTdX(u+S^a9t=4wy=X~Go7uHVem)0)pS60&cwYA&&jrET8TkAdRch+9( z57ztEAFX}XpRAPip>@Fe$U0~pvi`!i-u`MeSsz5UHlG2lup5$M_b11n`>H#`}d%$e)AeaLl0&~H`U_E#Z)PoIR8)yLA z!47Z?(0)Vi_-Ma*A#LwNJL8}VbON0Lt+l&?ZlDL~393PFKzh85iwNNwNYwZuxC}f2 z7K3NN67Vco3cdwafNz79;5*<2@O|)K;0NG`;78!c;C1j5@CNuPcnkak{1f~O{5LhH zX4V&|O(w_&xd2JoNXjk-r2uK!=YsRV1%TGt-2rvCskePGxCD@oG4xY%Mi$0-^f>Y` z&>`ajyrg@eXOsOr(mnzn1&@LGr2pUc2Rdh>b7mHrlLPVq-&{5eKoKb6Tp6BO1)w$N zKCmC8z=4*O^rh9eCH=qcPg}0(2l|5nU?8{x3<85&Qa0Y8Jrsz)c)fuP&*=Y)X>D5_ zSit!w!9ws9SOlI1{~O(Sh4kM8uY&J`|EZq5O$DLx`yrbv!C-J5IE?@QG51}TIh1^_Cry}G6R{@l z4HD*PEbC3gze2ikSlI3@4Vp`mT$1FHB$rkT$ak*$wbXN_o-_62lj3YWd8NoBX^w^7 zLZ0J^e-%t1&s(7r;Z359+c`g(V{EWl!#V7)iS0F~ajup$(}~{)odISN{~B}_=N=$F z8_WR@!J7+x7#t)Ie`eszUlumSh z7m+Jg!erJkmw|7BZ-G_tUjpAHUI)m@Bp35_@E-75K*>!Oa<|Y<>n7+|z)a$3fi(}1 zzqJ@F0hD1;hV>GVTCXK-J#+)u2)2MX!7h*_{ci9Mc%NhJu5|z)3F{E}3)dcj9s~bC ze$}+9ffhB;BB_0n+BYGaB(-law-SE~{0!^>d%5bWmPTZjq}Gkpy3v{jrh~a)9^(or zQTwFzG;}fa8R!z|v(ROnM^eZ;X*~~J4n=CnJ87+lCc&@4ZtxrM4)`tD!})iidnw}p z@sDU7T4((kdW1axM*nQU`)T}?t?JI1i$G7%3&;#`DPRuKnSgmjJp$$u<4fRjFok^X z1dLofr$#)dM&oYqpX{D^6zInP^K9}W<*x!Sfz@Cw<;o0G2bEc79aLr-v9sTYimm-G zsMy;dK+(0&^-#nn%j_d|S!N)y%`yv#eU_PMA7FeLP2lg~82ATyi{1VwRBZRZpxAHm zaEyOLKS8%m5CGXA7cg&_`GC2@EC%N@db^-SGOJ{Ui5G^J&ldm z8IQig6K&L)FAb$!Jkmy;0Z&3t0htM#p)wotppUv0e`Up-A*#6Cz;ce%;`zvA;9dzoSrnW zNBE0P_=`>Wi%s~84d`DI-Akf(NpvpBJfB3LlIT(rJxZc8N%SR&t|ZZuB&|u%ngsr0 z6aHco{$dmUViW#i6aHco{$d0EVgvqS1GUKM>gCGkO6d_I9DkGJ=g8}Mj+aBf1zibV0Izbq z9*T@C>SXN%d*HnbPwMm$#|NQ*hBkpCFGL;9c+mybr-g+LsO1$HeJJ>+g&mzAsOW z4$__idf*|7h)tw~7CZ(xfk>4@CaH+(p)312TSG8K;nO%K8R8SI&*d zxv^EwtKqNb_zmb=;7l1eT7QK1Cm>@+#tZT_Dv@Xd5@m-@C~ZKh4eE(up^$76$+mj< zNH&RNlh$?ghj?B~!Asy}dTlLyEE|$eBI%@hSiU!PTIvl*J&DvCkUEwXsi&|U6Yo0 zdfYW>2_I4GKLhFStTuX{5*?>qt|u*e?RwB@q?)EZr@dfw*C=D|Xky-IV%}(y|As_5 z%mYo#0ZrKcCTxEbw!aD6--PXN!sa(&^P5x}(jQ!_cM8(_?LbD>PVg?+4^rSG@Mq9O ziH~TB3+M-C3-q%Q-E3@AgOvFi$MtB=4}j?F55XqlKL(qD=x+l06R?H&8_+kwPl+@8 znhnHd^lgX!9Q*?81iQemXkn5xzcxCU+#O&gljb|5mGSU9jvL|s9{LCHN8sDt%jv%> z=xdP-PgWQ+4LW9q5g!h31auTsq&AwgBDrx;kskNPD!~a*Uy756GY?qz7#*y8q4$Fa z!9(C-c#lE94xRua@h3?yQhy5iJo+RS;@h124)jH^hB)?3$7>z&bwI4fYtVY?`UBz{ zpg)9eg#HNnWAfUJPP|S$0sRT|ZPGJ~Xixr}^U|BYfJ%@468bJ_kduXs)arf!Pb}|; zP`{TCaV+-WucV>JvHD5tDEa>#dW>^oBO>(dr|$*jK2YxIxMJz_gh?z z$1Zjp3oG}opJmG%Jd2Xl`!3Oa-l!ybDzaAyy(U#I6x_YRJEm>gvcNDk_a@;qi09Dj^1BF=rdj!%D1JWo<+ zi?^bMuDy_X#BZt0Co;liE>AOmr?FlsM!L+~a=$F~kQ~L1q-k|ZXRx+*^wSpXKik#6 z@#NsbHa1l}O#l8^?5bK0kp}n0GPkz9FK*(#xQY8>@zcf5icJ!aQQGZ$jACa$eLsvx zi*-rTNA7*`X3`|U9*)Jr$bI+$@)F%Us1{LtezCPpMmd(_w4b!it6>rHz{=|e1I6PD3`o|48w`p;9EbQXV^<2us53O;KbT|-@DEL{(7Ant3L%!*`1)1@e!Fvw69J~Z5L&xH)(0Z@|Yy?}to21=WK zG06peN%K4Q6PXEX`*9%HB z%F^_I+8D-6BXUh5&jj*JBF7{%O`5qbjrOL@??dq+RZp;jtv+>IUHLUnhR_#g33+bS z$P7{4W>%27GRC279HxP1ZoB9tdl^oKh}>nU#o*a$=?d2XS4$#VpB45e;c%Mo*}ga8He< zBu(xanbq0To^#Ah%2n24?mov%2`=jm+#xX7)3m zBwvnfu0RG?(n9gohY)xBw80uid^i{ZMu8hSKbrKuKkv@;32&xPcr$%MXZnexy$wtv z{oP!9FSs9wmOlV^#=wm4dY;_FGvg`=m+@e|e}JOc4bp8?N;Z*X3`(&tHw zPU8tA@xzknOG2&Xi%=OYYv8$h(_qyRUkBEM*T9)Nl+aQ2Q?B7&5-%W$7m)P4fQ07- zBs?!5Vf~79zoz`(fZu|5NsEl}3X-iO(bcwtYZTE@U&TBTq)1j5rx-GP-1B ziDw~qtTIw$l*kB4GcwYQ3h_8n)I@v~@jOz-Gv*`cv8(4iaU%X%-m0tXc-)*n(_?LH zqwi<)TpQbXuA=9So}SBmFM58a_v-4n=yziq@3j#fPo33!(_gWrqQCBw8kto*??d(XFy}s|=HiLCx_fqS#MRw1y$|2>aCKL` z57piCRBxX!rk!zD<$7rHOv1gt8);PNGa<2OpLL)22z;?aa@QfA+BboJ=h5DGlskTEKP9&qmf z#IJ7qkD2>qX&L9;yMUA@LwTAfo?c34idUf`L#!B{MT$|B!qZFXC`v-PSGKS;czN<< zPdvSpTKauZ@w?ooFz&x=GD_U%?kS#k;Qi_os8zJ&yTJF3uR%^Xfv*7ZOBVs(Qx<>p zB~Z^f{99_1Zu{iP$i}+*{-f_VioYm6qWFhr-pl=w<39nfH;nV?1^4-s_}R;VJg1Vn zy$rZ}*1H)QC*ntoX5Iw80;HbvXt9h9@tc(4%mC%kr{yXW6&&YpS-v1_Nf6vDKpQOonjqA9VFg5_J zA^(${{XHlDf07bL!|DG+Dxd1m$$C_8=1xx)CX&1-~$?0fx%b`(Th^Re_$s6f0>;C8gG6;K39{bntxkG8Y!fa zMjB~@(ve8o=nAF~zZ2AeyTDX%H<-^kd}^Z(tRuHDS{DT+}d>!3l5@oC3|%(f}54KoEpM6wo^U0ZH=@NSc2@QoPYx&6}$O z!4<@=1cSg;;Je)OM0gV<21<$l34Fl4%Q;3Ds{`l_E-|{;R~yy#SGZo@^pm!yX?vQs zr)hhdwx?;kv^!0^)3jUKC2i36CHTiv{^3m12Hr~qC&4MuO#KXC0S5#@7(~fK>Re5o ztItyBYU*6wuFloextcmxQ|D^0&egm>o6Em>zNY(H-koPv7lEFj7r2=Ix)fRU17GC0 zKlC!_0O*$(3710$lV%Ee-3e;IU0^D>8{EUW+2BDi2RsCLF2cWy@-AM|;I7KxS)ajk zYlCNfyoZ(KJ*=d$7(4@(fM)@Bvj(2Ou>#=z8_b2qcL2{y4DJ>UESiCBH@M41-VMep z@Oh8H_#Si}l;u@QJ!y6Y7joPU+JkHTXSO}Dk-hK+tMT9%_56#T zwCFo@tbu>g<(s5F7J0XSS|d6Xz=f#3ALa$)PV+|L1+jX zhDM-KXbhSOvOz952NZ&0PzuCKb%auX{zaF6G37l+`6tu0SQilQO8i2oST1x=trz;I z77YDUD|RtdEZHScv1YW3f6-I?i=N_N^c4T1r)>1lz7kx8T;+dEy_09XRxVb%y^eR{ zX;k-?dh|Sjo+r@r1bUu8&y(nR5t-A|(X z4d{M@8Rl*>3eY3QK$0<#WDF!314+g}(wmJM83&DwgGRo=L4tA6;LlRr zC$}9FNybEiF;VZ0i3DRp-f>PaCh8dz3C2V{VJGbR#@iF(FFf-zCgm`E@t>KPLW#zcZKkzhK z8xsj{OeETjiG(*M65g0dcw-{rjfsReCKBG5NO)r+!I(%gCX$SaBx54Um`E}vl8lL@ z%-r@E^gjEHcL$jbO+0LG6;(>#2H-i5iH|C81(?iW{#dfQGyBL2Fn^`sK%VR7S&pm` zi(D3ArC{XY$fJf8c{1{(5sW+)S!9GF`y%^{Nc88?cZ_KCPtiXa1+j0(USwY>)3_sY zW#p>J;KgS;Kt9@!E3Wn@=mcl5mI1!M$d-VhxX zy)imEI+p!FZjUCSKZ$OMzQLX!KaFmUz7^dTeLH$A`p;-O`mg8-_V+jy{Uq8PGh$9G z5DUgav2ZLBi^Ym#C9%?2S*$V^k9CYy#m;4)kMm+*W513EVzXlp#^%Hxip^!0ELkgR zu(riuO{l>)1YIiY4OtD_ibsh{x@}+~SPhnf6+rlMo$%Iy4Ilv|t(=o}jdDH(4jWeU zHO@)a+_{u~(BoW>Uf|JlJ$jKxJ9+eck9PJbtL60ia*vjH^gNFic{IzTrN$ksdp&BL zV0CNQ%rSPGJ*|P(5Nm`r#_Vg>8jXC7bA+*5j))hTalWb8CcSX{D_Aen#gFUN16gk~ z;xl<;SZ!0wZx-usCh#>+iOpke%@WqptYY0vJ!@sQvO;Dzt77(>hs>kq3Cpm;{Bo=! zD{ggR1&jOZY4!E%%Nmy{R;^*#naC44*-_|)(AS~8_}^kQ^kR+!P~@ld5@->}1E5K0 zKj`JqZXW;39{)OMcleU;v(UceHw#MsR!^5|dGwbP;kXa8*Ds;uqg2vMy5Sz}>QTyb z&U3G~E`w4(rPp}$Qjby(YXIlJMETO55gsK!J)X>YsgKn6B-AhG3mjkXUgxZH`L>kv zMaq2QBM`eIHq!{j7Q~)3 z3S&>j78%8{#j$6M(%7@HZyM#X=VL2a(`p(Qeunj#8oArEK;OXfh=mcWa*f)NW9{ri zAr_+JXIO;Jn97MBY8bJMa8s&{tXwl#TkfuujzaT538(^+Z&wf1P(eQrS3rk? zkzlL`NiU!t)Pa#s-W@%PWcBzmk22yv`61_Zi#qf)N$(Ez1rp3*@c&4)@m)G|TU@*7i5Lb_%QISvIv)*e5ua^;hzj zku?h{BUJW>DHRQcibiKb83~#Wi^|t$4YefQp%@}P77Iat$}!(c*7^tXp)xY=fKrZg z7ZiB~8eG0}6SP0a^2PC+NH@wowjP0AKzTwhk`V@FglqZaV_(Jb6&%ZME%cMD=Vu>B z_dNZi?Z6Ug{l%gsIZr;i7l7M6hmnsWe~uiA{3Y_Y$Uh>-Bmaz~BmZItum6txJ8~-W zNu(vpOZ-tQW*eE2>swYvMuIUd3nDi|zY3iICK8_vy#w3@rg3~Pn9;J*2ylg@8Xc)= zS*mC6WevU^nbgtY@324X2AMj4wUUul_3{%a$*Kqruo4mmS~`sM!$@0WB|&a0 z=_%2t8RRen3CPt6(k|u72Ba~=$R_1ll7Il89{hGvbG}+L>^#l%#O@Pa~_U74*%)MGWf4VULpR2$PWmA6!{ThBJvZ$ zHzIElHbfc-e-`;8Ddir=#6zet>}W&u@5GNqj}aGX+A2*u`rk;?R%zNQO*>}AEW<{o z5yDt3lQ0{}+A3K)R)93^Sm#)0!Y;8cgcrsxF&uUa9E)FbbL2-Q^?WJV_N!22Z9P=JOo1B1+j=)G%aZiyCq^^FN%A8g4%LUZjk9`2>sz z&rQ$FC8IT$_GeGmOC;#m(K61t?Y6sXjTvpjTPM!E&zO7bT~nqROD0bJ+GOK74ObH0 zXRN-h=C&C|{ghj$PBu1axP_3GPrc{1sm9J}_unH)Gf4-!JBkw5{xS#s39C%l5a zL!XQ7h^4X*@NLjOIiqt2bl6$AzI1TKx{70!S@HhtxiO(?+qnzQt?%5a^XSes7wxT1 z_6hb~+;3a|!(Zxod5WQOo%eigyq^Y-exP9B?Id{A;W$~RoYn+*9GkDXJ?jI7MelB~>1-*>Hj&igAM zE!D^k+(&BUD|)PrzN*K%=xchck8adsL-cj6k(#;U^K#z6NgLVcQ&baSGp9_h`)i77cuo)Oh$9$XPa?+VjKX|m%NfK$x+Hp+YwVN$mZF;IJw7Oa8iQZQv*L{$pnm7V|FTCF$8^c@u&7C#q#C_42(UyokzOo|K{W@xT6>{oQV&;97C{i1V z81*Q&o>$;LZ(-;0i3!!s>*EdaMtKvkJx?R9(_(DPtBKom1(xNTyba!6*p;8~o+HN6 z>)sacAASjoau2`1KLQKLB;qK|@aOx>h>LU%QID?jZ{RIL#twcg?;pk+9lFDzJ01GA zLw7j@FHL`Yw?p4?=pKi@>(IRp!5`D#-sjN$4n5$|gAQHp&=n3LJJY*7;?ScGJ?7Bk z4t>EPxM=#@Cmi~LLr*$%r9)Ra^pr!J9QvU{PdoICLmzdBv26O>s~v(@r)AGM^t?mY zIE1d1UiX4SD;#>!A+aghR)y=P=oN>4?9f9FA%W8C9?nqG&!ItzWEO2=ya)^S;`p?} z04Vt5g<6$;0WEm0b~DXqcvv4Vd>v5ZeIj%R^= z#=A2szX*lX%BU`6^y-VvJndy(r%`CUvLnhyblWG;Y&X+K-XnTx7hYlB7$8-#IIZY zyZncU;q?kJy0#F9%MfX+UoavVOZ2R1!MtEuuqrq|cq_OfxIU<350(3ZCxRD(&B0sp zu4aIK&uNMW=J4J*JSc|;=kSmm9-70$a(H+SkI3N<C)=d{_=2Uct#;Io!X3&4+V%Ns1i@Pz}uT z1~f&nKVnfjO>G61XCSZ9VC%+g z#LM6&#JH`~t^%-#0$hZUY|PSW}f;bh_l-bjyT{&XqnBb;hLvUB&h2Tjz%d5c~!8_s9;QcTPyM(>Mf#E*k z*l=< zw5;8Cb+Q<4+lL5-qk;)UDx4O~2^I${g4Oz+uV!x@|H7fo4*k-h*OXqqrN3cpkk-Sm z9r}$!uRHWxhZrY7ANJS3%V9lPkGOk5;@*}yV)~C@jo4U-=PmOgjp^7g~(&+SD^_VDmqkhC~>HB zQONifk zgI9;g$vxh~-X{D_HhXWP{VTm97Rt;}f- ziT-K7cez8Nf7-Is9a`zoCmcG%p|c!X?a_4OC9>0Lzg=wBMtj)GSaZ<3l7Q1z?NO*km%~R?28Uv>(F%$t#jxr4t>?3uQ~K} zhi-D{8xE~^sMeu6hw2?_aOg7*-Qv)#4sCGgn-1OP&_xd2tO$=5=9HKZF+&VKFJ?cp zKP3m4Lkb--@=c|_dEFA{65V2k3z3M z+@D5_;Kg`TttQ^Dl{g#F?H?dc?{mcBeI4!oAH>(4PgLC=L4P!SmBhh}V7~T%0emI% zn0(nlhorCCG8q$DB)!(6Ar1|7XqZF89U9@#haB3+p?w`1>Ck=-jdEyzhekVefJ0*( zn&Z%c4vlrF#-VWzjdy5*LkBsu(4mPA9qiCY9h&6OWQPuM=un4_aOg;fj&kT&ho(C; z!=ZT&EpTXxLq|I_)uCe?I?kbK4ju2%2@aj;&`gIu;?OLIW;-<3p_3e%@6gE(EplkF zLrWbx#i3;m9p=#C8A5|j>5m!Nj1oWW&=N(=Uh8afLFbMK=)CZ7@f9r`sw4Hobq@E4 zioP2hS~zTbY*E2TuU*zCzmC}2nKnp_5})-YjJ(GY>AE)&tw#p34?}29b>AgY$@aRB zIkeoNk2@st$zCV&$s&ebQUF^^$4qfWd=N!7sq01e*!Xc4z_I@Je zED|Yakw`gK$ruNMxJ6%PkJw>d-eGy3L_)IrLeFHYoDZIA1mW3x#BF zw7f%-!O38}PqX<1zi{k=`*YB$o0mjVIRXR z0MDBpuMwXRLF|MqC37hGtCq|$e@lNSzAzodUqsHEzo(_*%h8p2iT(yVKWFCh%YW** zx#k~woM%2ruhl!?EFpK8mtZUBc&ge5do!;w0)LPR)YMeodR|i0v&Scl+_~xme0=1% zK>SiTE=)>#T$+^icuIl|p7LelvBL4x#EvjdPncC8zlG=Em4G+D^X1Rg)<(PuvU!gc z%%s=J*xp&*XLy%r{cWL^t&Z>~klZgc?A*wqz=145xuFyAgw_^miqH!sXcj`{))PzgqlmAkFSorlUP`L$`A&j=|g(D(xuiyp+6o+emo=TM!G23Rj=7au1N;STnca02|v!)*m?Dh_;>8S`g{C1 z-^P#gpYi+nZhG`O*Au9ZkT>a0?exV&rXVMiAbM=wS1$N->dlE6w5VtXvrN~a)hyG=Cx#^YD+6q;AL z^91Tnp7INQilp+C&}??-mkzz=(61c&wL`yg=ygRE>RwNNypg(`U>+g;nRyiI{yE=~ z(Z9&9@#ZnT;&Hv=`&CznOdD^W&?|nRS3FsDg~+<`<|(~mlV0(|sw=*xS3Ip(Jfl}U zTXn^adc}|Qis$r-=c}&xx?b^uUh$${@lw?lB1^}cm-UKQ^ok!>T_G}dy!nY<@l(A5 zil#oK-hV5lX`8&E*GX#ICo>Tdds0dIP^z{-cC_ZsD5%4-LJ+s^4$2m`26^S z_`>)z@kR85Z#V7ZC(6(R7uaLm}$-m*6wk^rtJNv%M zle07Vqnwq0!}uTK<5xgh6j&3mH}YUFcwGT$)f-R9-B{1j1wY6l>k&G^qj#oH6K$IF z2A{$Xv_>CRVD!*mwCz4a+$6n-dW9*U9CuM3~{wG0C{6;r6aX6 z1SvWIKS-&Sfn3*_TnErV&I}+g{+C(pw(UNR@1nQ(A5NrRZLJ8+2(mR?!M!MxKYPxe z4Ol5;OPGD7F0#^$3LCeKy|O!3;v4=y{Jq=$_&wO8_7?US+m0FV7U#e3W~S;ncB=X# zv)>)CjSUJ$2a}nLnI9|<)&!RZ>zMbxGk7R?I`~=eCTsGduv^$a92rhzPHIlLEIc#3 zD7+@TDZHIMYM%^|AJnt(nnM*y%Q6E?nast>svp5<`QYA)(dfZ@Dn_dZ_fd={50a00l2?nMgm}=36Gv3c%WkD55RjXX8r&?NHH@Q;K7QS!2l0Y+(q$F z#k(jTrnsx(;fk4E;Cg1{c~&>Y%*caxQ_PG!SZJ=mdQHK*D`rL>+(R)l^5C9|nUMzz ztrzej5-hb;U|b|vYDrde36@%t6COu8-!TG}l*iahj8zK0V}uz2{zm~12nf& znj5IOj%iLt2aF)n+#t<$PIH4bw{w~sqPZ?NXEZ+}K9RNjjOZD$ z&5h@R=f(5D^W*uPJvly^k_GVsN*2Zo!HeR>lrM>waEGPwQt&D9Dfl-nV{BWBSzF84 zcX_;=5?1+h{pm6)jaTBc7sa2zbEy=c5uX8;)lfxjs+W^~KK?xASH@Rz{Z;W*JnQQC zYRa!+wN42Sga*=E<6Akq0Z)Wd{4M5~V=S?cf**??r<_;;{AyFYiIN}2KcwX8_-RU> ziJt*K8~=#%=i=vh?(^~U;1}W-z%Rxx@|2gDxsT$PS3bs6x@~&x}r)b;VE>^EwBB z$Cv~8)mSr@vo)p$JkE?OL}t9106qx&Q(z{ViIm7%ud*-Qq@>aU_X z+#F8H5#|U=j$$QPiMgUlh&3f7_Cl#pBKkr^%0EgvU~h_8A=QZzS%DVm zI;n_tQr*D2VGAh{qoF6b7uJt5ksA7d`(m>%s|7w%3w)FeNruo%owZ^7O_t{U)zJJB zrTG#xe>|;x!d7WM+6v7tii1=+d|dl995TE zpyvn+5B4_G-H4qjqvyS8(?PA!b4lqrs-kD1;qhiX6fz-4!$Q4LO1%}jEjfxkieF7> zgV(G@WO|h)i z!jDdI1U^o=JafpD$(=+tNzUFY%h|hSIeWh>XYZKh>^)t-8N1B(n?0v;*QHKY91ll4 zp-N(iowa3&5jctQQToKhs6cS@B62wIf@fs+7pc<$Vs1jzILJlC)Es-n5jT*y~9m<@A-FR8Dz$75_e9v!%mcSPKiY935_5XAy0sLVMNPN?uQ~x=Hi& z)?R(2DZOR-h-e}eN)t__RT^_#xiLjGr)7wKQK6-3{UT3GR-34%qPA%eqB~S5r&@Q& zQ;yXX@-*`?^D(I9O2b^}Ry2hjLNoi{W@)C!RnW}LcG67C8g4bsWD>rbN9|aeX{^0g zXeN{G%9q+nEiG%KJCa&j)-+qEmemGb&3x5h%ijvMw4_V6k+c$d^5ml4X zb2e_SmQC#)L$ppCElH(D9EKU;e?k>~OrPzb4Leq-jC5O;M{T2riafF-gUZOYsSMgW z4Qx$Iv183D{p3TFZ0mO&Nb8@dtsl0z^((TbIo-H=WVxJvEqo))jVvwSuojdZOBGG! zPFXD_jj7@fcmVij7lThhJ2^&01~or|++NzKNT23MjoU&Y&DkyTT%uVD8Q#ZINS6=_ znc<{NV+%xcW2naVw&p0L@#v`{Q;Ipe+O|+d+aySH^zcFa0hG|s^vlu1*6j+7Eo5z@ zhxXVK8r!|vMh_)(skxM|_@=>UZJYFv#@2#nX=7+;X`>U~5{2WP>}X6Id5df@wa7N6 zjcVB;l+aW=ZAuA6EUYbCoK-do0byFsTH$XN*JVZUJHet@B%4Juc8F3xvGmcwa~Xt z59QRZ(jI!a8p;uid$|RRyB*<{iOjprv{6M5gVFkiHmhMaPZeX)6~%U5R;zhAwVGGU zi)yMkn(HN6T2l?PdD@uAQ^YP_R*QH!wTM?sjgmRXoC8(dWNz9av{9v941CSaocZT2|(2ijDNliqt5zDm8>x{2OS4_>q61CVQA3qyy5K7RxvOZ_`O@ z`e)ntMip)Jf85drb7B9_F|wJr{|g-B5_1W(eXGGMeg{aCDyrzW(Naa3RRr72F&5#g zT#P>&H@0TvxkqNP&vTDzJ4W;R#`f|MJBuq8jOO&ucjI@d)m{d_#BJmrW3a>jE9J`^ z?CounEIXWI^vUM`WiIrXW^|0|`Txe+#Uh>O7c1z$Qm<%gxoW+|x5Qg$>uv@Q_hwqW z+Gf?5KWtB1SKFx?YY}a4<+WxlZ~k?IPjQ>Mf$Uq5&79|T%X0PXcklI<8w7Bi!eK48 zxcGXsy{)ayp`^CTtdEPoMspfM#Zx2G8{68xW%a)(u^Q*SR$5lPE!x|rW%Z$GPCvA5 zDt;5~ZOyWJLzK*C%x9WwNA-iqOZhgpV6Sxk%ai%9Bihh{nV-%g?9Y~CmsQ_u+GpF_ zj%D?@Y1)pNm(8>BvpiAePs=*DmFLfCYqr=!+t-d|^@Z87?O0Z?maHAmGw0EcwWhWm ztyxyPadZ7qRu%Qbw{a|fo6`#OiM6_hNM&{|UuN&Kxqq3v&*uJRCO(_{mwEea?q6o@ zv$=ok&v|q@_fI4^{k@&hkJJa|78D?cd-W$x? zt($s)RnLzVQ#)nT`LUL~yDHqGoX*=`ZA>AFQ^| zdQ~_?=2>OuMVoq4wLZsnfw=(6syFp5(wFQ|gHP{PX3nd$zwUS1b|liMUywa_tcRb> zMYP+>%o0p5AIj%yt~|P z+akE0wy0@GTUf8#XYwr0E%H8VJ+N%1QQ)vu(e-uC$s7(3ixgAsqpmgRDo`Wf4L%a6b+wNz9u;i4T& zu@?{Pz|3A|FH+&gMfFxMss~3=z0z&Xgy{%L>ZGWCt&K1p@d)J<)$_Zk zp5MjXSf`k3#FkDZ>T++^x{PMk%dzZXa9U0S&a__9U^A^(w9`!M740?CdhLp)si|gL zR;@SFbIYpr9_!B8-#I1moO7m!kJ#thTrk>sv9uTJ1a4Qw1Ml=1z(w)^e^D@oO zV%k1xz4R+I6{h|xw*Ohr`Ih=zz-~!?I+G;S6joDH$4&MtitG4_9xZ-_)w{Rt{abqT zmfqRQ%-q{17bh3dBn$V|!be^76`i+8!3B9J={>Zk5M$xZA#GaDEk4 zG=5KOv2E#XJ%bmy>2L65`nSAuI{)o&+NQd#^u8Tes~wY$^u8*|mdvqr>x+K3dwXes z9nt<5;Z32Dp6yqdtN!Sf9?ZC?3RA7 z^?tGKFC4e=H~uyzeumk}>_logL{rINJ%X$>zQ|m}m7g=0k=|@>CcVvki?nIWTPat? z8_KEwCs9WI!mj#;jj7eXr%2;aX|wU$z8>TIV>%dGwM}o^`ddjf6|pt$lhds-niIOp zXwI${&-5h5yL!%1S?M%OW!_7CQ^(ZDxl-SuYLx-ef`~j~b~ZbcTHBhXAZrt|wR@(4 z3z-|t4XI8ORJSlHno_iP8qeB^`V((!+s~Um@i*~rxLab9mY4imXU)M8z|8o%1? zeI&|{ti?yhlUAs~#u3PInJ{htU=dedp?o-ur^VA)Z!2pjL)L)Fu87t@er7yN-$l5z ztOT>8nIJwX#(PHn)k0lCT*~>%7u7ly>Z)NoKVfH-WnYgKXxgHsgt}hX+8sk(FKj(j zte1QkUlCuy`^c){F#baP1>Ql{4i{Al1nR94swY!XN9rLF%x~s>WCd|iR}hETm>&a+ zCsQf@e*6S?5Gz*@KNUa4m9maF)OEzAl-^|>aZ&AFp{^sg^BhH8aamID*ihFITYFfj z>xfG__6p;l#6RJlvYNQ0HW;F!5*Ibr(Q3%bu_272hT;WPGQ-R;)+!D+!#O*G$gq*} z1-q8aj@SZX#qNh^lB_Zgbya5G3%|%JV^*N+%3|vyRaBbtb!Bl`R~DCaZDyz|i|uSm zXbvIrtesN{i9dT7&y`iiWnF0&nj_7TypN2PL)M#3wuO4`zuIscGJL|n&WF_)R+*4K`TVJc9>cGCPJ}&F()SDa6CIvo)cv?zH3bY&XWrYBW0@wYxEvbPaMTXIT%~1HQ~EPMJ?-r$%DpMJkg5 zU5{MWH2}q=Gf~@&u1YTJs^qe+N)~^l0A~%g;;izr$oH{ zO1eV1q$`w5X`haXMkA2}M{4Y@W7&UB`kM620+B-nNe?|-k#OfD6bXkuQjv^ok5VLa zIa3tL8qT8?v8fL_h}?xCKU#;xX|b^mui{wAU8vV&=T<3i$Z|_{6rJVRl`{7`Eath~ z1S02D?zxZdI+FdaA8S%8=eqJfm0XFaMZ66www>f*Ur&_=#7^}K-Qo!`5jEgHXq6gy z)u+$?6fE)I*ee8kjNRGPu0yvn+gEFZuRC)3x(?k}n*{rDN|Zm{k<+J@(GO@}WS6$7 zuRC)3+ETu@l;|S+^L_!}(_JH+@M~?A6F9P;1gTxSJ3W_|FPWkF>^ptFD3EX56Gu4z;q+gc@JjL?euCY7DEeBvl}_U3hZm~#bhG3f!yqlr=ocP5G; z8Z*%inbjwzVLYEyEK`2!!$YZm<(t0pN?$pn zuRPILZs;o?^p)%RItS+~r?WPHYlX8Kjj!W#U%8dl6MW@RJ}br#qW#34>FbQHuXZP2 zIgYQq##e6Qs}0Im4&tjN#aFK3vkrVAzZH9?uk*LQTBRD(f$)Ni0*b^P@U^!K1)xP} z5BIev`^nIRD5At78!st;AvG&~$hKsG2zyzZ63@(^Cug|U(Jr!eh2)64JD&EWiS z>QHyikTq1o$5|0P5)RB-C;2kg>CS+|EkoD*E7mji;)PO0H!i`KBKVQvC3l8CyR!#x zPq+)5Mfi%w0rv~N*hhFR66qYGotB8rc`^99cpaFhBD-YAj!<_KF6(Z>fl8Qw_aJVL z%7H-l5e}4>2fWb?%4OwmkgLbm_Y3xwFJ^s6_6rVpS0eK8zI~`)*)>>tN(r4*>QZWJ zuI4$bd9MJqa=x=WKUDA@N^~~YcH>#H;8=?MzI^oMDI}cBRPQ` zN#?Wf`wC*juVGh`OV}6f8t;1Qh*j;a(C#)-Zt^MG%umkL^ejzRYkIb(YcyS}>8CY4 zSJU$}JzvucG`&#M&q#{h0=gj;-uF9A-&79xCOWClSVg$u+pNozRJi2Z$_?KpZjE5! zhHn$wCLomgBI$LA{^1B>SEtLE*c^5rR__IRm$d4^a#vgsidNbda8qZx@UryN(za0c|-Jho<1*tbDWKgSQD>dL?V&0BW=GxWxuCmsX%CswvqKg z@=lFgE=XJM3C2v7mU{|Z88g{dENW~G>njilg>sEVT?(PomuX8G19|#|p0=wUXLv%l z=y%etp?+X|w___*_cG%*i6_-t>)ujYU*Q~ueoA8lsPAQkeYIZ4B>jJwa3CCFL_TMP`COqUkJ6k)D(wJ4sK{biSr1Yq~(w zg_E4{B{Fhar&K6ATH5=_PLh7IA~}N+uHn3Ug14S?J@8Uo zL?r2T>yl59u1oN@OlEQI<$7F`d_j+ElWX;OvG#A`tn+2^ z1rL$RSIHMt-tJC4_ia6Qmz*>INqP=kKqI(gch$J@$t7}K@;SLK!79vKT`AWkGN!sX z5x#m|BGM6iq1Mjb;IqwlNb~XFKP#olWm1}ao^);UMN)P&AZq#o)ek;N8$8XZ>*wZB zG{#K7@EGq)3)9Bjy(=mAq2(9zOK3&zM{bGcDiqO+K5>t^pVAzSnD4T0A2fpfXkp_s zI;s%rK?~(6>2JK-7?*bQhVhhwH;Qy||bYawxI z|G?DrTi%T&oUpPPZ`6*QIDE23zw0+nSXISw%G#0Bro`C(-DN8$ys#7W!p2N~U}9s6 zIGGdHAK*CE#RrBrPUZr+IP|vy-#0xlVdfZ;{>SrZ8^H;^``3*gKI-?+#wT&Ygb;k5 zRfjiBb1du8-ffsR%pu)JYJ%$ zkxO?+n@9}dYsn_ElL$r59K`5|cJLO_ z5fWf3a0p=u=7dI%Ehxz1HdzZSW_Nh9kdd69%*Q4ZF4>ffmdX2CuDGpeootTQ3A#p) zTB%eBlg&if*K)|M)dv=s1+$RSNy+81IVV?}PGQ1y-sbFN%C71_b9PvW=~VK6zKsR3 zDpjgDS3+W7u+5T?keQL?ayeDOHdR8R5XFMgJmfE+>9rx&@-1&3zq=MYiv^aB4@3Jf8`o434$ByfZh<3b|WTw!`Z;*L@tv{aYsbBopYR< zz?;}kmT)1=tmto8Zg|}w7`Px2Ts~Qyo}0@aFppS1$m&ctXJ*)}JeA1I3^Nr^2ZEf!FpL&HvuGqBnHbk|#dGbfq!zUdZUOVb#>B5?4R=h!C z*FJ;2mEUqzu}*OcGm7WBa8J0a!ugO8;}Cuv&lmEf8&8sXqUFPQo)_ag#&?V7L*t1y zp2WunC1|s>yf(t>D2yQ8B1m!s(ME(t@B)(`jlvNTBoL!9d6LH{im_uoqJ=>2bCbCc zwoz@_VEiz!zB&+0rvf000ez=B5ZlyTF% zGGf}{y(>=-pEu|5rI((NuB?*&%APw>I<}9LImegwtnAJ=bg#QF+gV-Mxr!rHIq(jq z9Q1DrJk<-QNUE$9m_m?s0U8!b2ZRDN)N$H31wk8+8AHpNus?Y|&}50@i~b}6QMUX! z_2;!Dlnmr^iB9_2`-b$cbW-}3XgSg{Q98hn0|_lis0C3bK}@`0=K@WF)69>%)gs*{ zzfbvTtuRE|=6z54i?{O&iIYT2w=jh5e4e;a>EH~UW|z`HFjP8Fhst4rLQ8ZwTndXY zwSmkxOFK5*9CGwDu}E)Ml5)G^hV)#dlq~HmBm< zbsEBxc^>8cA`zGKq?RYwd6LT4Lq51v=-mcqwXD$4r#;gS-r9rgfpO%5w2Dl+KIjQ^CaJQZY2kl2ZE zv-zBKUPz*53!n2`UdvUn68lNdg>g2wUKh~l(Wyjhqel!yPgMBvMH4U5{ckeIJ7W~F zO6Ua$auzg0f>`;2bn)Par(Pm)?~>(GW!chNSD*5wRXv11ARy7d|M5Gt#g{F&Kb59z zYn=KydF){Q7))yq#`go08N1t}7B#a~%T>RsT2!J+MKnqhg7KQOQ>)F{u(@`-CCjB$ zsuGEl-zlBm9hamT`;P^D)?Y%8^$XRd^Uo1Te9LLr>>_BpFs`FJ$f8t+YD}7Go&b}I z4<#gYnupSq4Q?(N4#OMBNV{ZxjNPb8%wikXimntvc6c{A$>i(Zi_3fGEgiG!(d+XL z{d4BwX15f@F8-X)mDa$Z~L~fY-J|V;wVw>t& z9zvo+NJvIh;T1f@2N#xx)P(T*5MmTU>;Z)#7JXqzh%VOQh;H;aRJy=MPk;^!@08UJ zH8>%u$;{>?S0^_#u#tlyFfl>F)KLImU}q>dGBfOPF7}uZ7wemhSax9R{Do_ztMC50 zrs7ETv)d$TN$0|s4^@^v_SEc$&o4RnrP#FLACc;?=VvbX$JG8rm+qY1u>I?YC-o{C zb#g$@w>ZA#GS;<>amvDV+s`RsI%BB3TZqDg!EUj;h+S~nT~LT|N)-{sZMo8gT<@+f0#96rw@GQ;^j!_Q&I6=lBvm>? zQhyenX&!s4+h=j*Bc;c&z~NZnI*cWPbGpOAgSlV}XKD1nskGU`rg^aQAiP>t+ww8@ zikfX`YYc&TR#cF&Vr>frFUc-s@%4K@TP|IDf9i=IJ9cf@(KvBTecfsPcb8-vTp(=t zWZ%oT7j}*#0VAK7Ra0Xx<-eA0OBamTK7%o&x!69TTml3y*c1Z>noKr@EeuXbs6yN5 zQ7Kfd{A2^lrrSKjjJ=c&pMXl9Qx-gCWEGT?^j&Hm20!#U>2$hjgtKD&hrj2j8;?Bm z>Jz^{``MS|?U7BrdfzuOuZ(>DF_}-oSA^dT{paN^AMAWZ`sN8qb>NAq>!E+A^EXMD)45I!ITZ-m4LgmUpyJ@A{E?l4oMSZ^S=h9)Ucvm~U%)-0E5V(0;q*TygYBvmg>`AR+I z!BK;%Cl*E&51F;Uzv5KI`Vo&E%UE{tq4&pqw2gF}^XSXd->GZflk)J;0mH@*DxAtc zS6%pM?}D}YrQla3=97>4gn(Ze?noo}r4Ke5qm6LSjYcszIJD6dtP(Zt^k1u&4(HFW z3uOs{6t}rW(2KtD(_xGGA4+?!&6!+3Wyggab^X2<-duI_g%f9`o;^pq`sLsEK##t{ zPtp}h`L7t5hLgWNdwS0nVq1KZuUIkQeox`-VHM*rSQ=5JiH%VHHmaMAK}{Z`snrU| zy1Bh2u>3cxu&2Hzf55~c1q1!&L3p@od`a)h35D3*FlVd>C1>U$-Da(+$)h!Kf(br@ zf|@l2Gi%faIGA0t3+=ifbD51Jk=y)ToMYCGKj`m(8sih9LxH%E>+Fu>6fp|kt(dG> zq1dE2r1(^EU7?zT7dsUf@l=tjAPO#&TIC1PAIT&^gouvj0%4!GiJyOh>{(8(UzZL` zm$5Vx$z~XNSP_Vt$DK#Gc^(rX9HCK{o0PGzOGRJufe5=4YK1t@<5tw7?>P#Qj-!i$ zzTBixUR01?v}4vU6IB+HH9SbSX{J4h;Af(+j}C)uzHosoIDa0y>h5{bP|r;!lNIRq z5c!l`C#pGkv6EcHQ$;Gl$o%uN5H_)i{CsZ{rApq0Th-&bWLhp2VP0EWeh{v~hJ?Vq zEpew=)xE_*;!EONq9__Bb8|SpmfOVb#aa+s-9!Pwmubc*3qras(jL3+c=svpn2@k#cCMKuLM(xyqn@&`;B zT!bKW)&Bk!m6_9H^1p6+{h5Ia8iwW$uauq`I-Z85#h5@HY7kC#3y*iT=ja zQ`3L^*LmsSw%^FR#6oh&IB!(>?83B^Wd+&sLcwd&ms?8ul=XUU-D)B{>5{5C^^D1% z^TqhjFCCD!e)YTbONY*H4|$bzJwa?__rIn6Hy?P_)3b;e-~{k33!rY7Dh@y_ja-;J zz(~e=j7C9^B!b`%qf@CGfz_dE7alIA3rDv|O583T;w3V5wRA2qOd%+;G7gX`=|#nX z+xf^N)GXMzdb~6n0-uQ#&IL-w{9LmMGO~DomH`ZejwR*j3tVd6MTv%-ycyUxL{2r$(5KKo< zK}{!(rxS$5kDi^gc-^W)$Bs+VkDrpNZ<{`-pEhoZcw)13WcSOPOQhx!l1$7*N%sGc za^LOl36M~%pCTFSr{OGAt18W7JxW1g8S7E_m&2#!!Jrt9$bK#+tVlj0Eo+u~VE;Z& z3?#An!kVuhUb(38V__LI`N%I7d!%oh>(-ORgBzZ2F2EEiqc)-=9ap$psX;IMTE1{6 zgcm-cB+A5qLS>Y`P-)Z_8kAs+Qb~ATG1kKiL_5|)BhUY2OfuvK9H8kI_9KjGK20)( z^el<%MZR`Pab-M*K}hdO(n4SN>)AXb-A2~Gk|$=l6Tf+;qS!`~jFBk8&RLS!pPcV1 zB~oe&y*_SD1h*o&F77Zca;ztSBRZ&GgBqBV9ufZUP-D@W`=9!4@yd0@HF?sXLZ(;Q*-jF$ zPqk#{wUKu^blD=EdSm6lI z%=wB@w;TSv*lr>82uwBnJricB31}b)k3h+ZQ>7hen( zXUK2fe3_&`(zP- z)J~wF6-{*QWt~q0FG9a=$+EpA2X|dA{en)` z^dt>p@7qQE?pKKE&T4Vu9_cslV08M9+@+FsX`)lt32GxUt!h87+0;p#3OW{@5N8&I zPW(pNCT-NJ!=qO+>Z3`8I?leDn8ot$U##>Z+_`h&o6Y=gOpL0j^$`33B%Ek?Y#8g& ziDD2<56MeGC7g!GvVc3&Ifq}mS$wQm|Dm+?Vhbl-`jAw8-$FvXpU(Waaly=)$0pAc zwn;xoJ-;W3P){22?ltLR)L!Y(JFD02AUPjC@wBX}#H*N@7R#CJ4i$A^fmkNiih@B9 zMWh*_wUGJ6Tz#=EO(xS3SvflbE@Dp)CQMH!#KnnMrPrh{Hp)z2f8&-ns_BUrh7VsM z>VK1d@j^X+AtfxCQhh(2G^`Gtv{T?={I?76 z=Vy}i)UL3{Frdo57iP^a9!mS5c#Lm?NeE95wxUayAf z5Q21!^FBuoyPUf37^Qz1n5@Y*4YJ3ZOXsf|Hl}FtbhZ~B_~qJ`jYJ{sJ}sm?IJLao zJJWkwvFGH`XTNiKSMzC*wIsw3mGIBvxK8fi*cf%N$q+6ChmZAy1d9R&pb)S;%mtIR zV74#jvC4tEJc@)wmKH|TCkKECdu+kM!Y=7c@7D|8e`)d~;pronOn&%>wdZ$F-1z9g zae0k1XONv|ejh^269yF}_v~6U@`K59Pc)4Dsc1-1kD>j_-p9zc!rGj{8mYKox0aYy zf`|<(BJ(GkQd!y2V3+SMotC6cF5!ktdQRL;cuB(7mqE}s;Okb->eg7bf@o@!ak^mz zp0m>wFt(3?IEU&bi(ELtrm+KdVzOq8k8;|iu};NVii2soYafT3rsctVw+ zT}aGu30E_ENC%`HDI{8{R;uj-bfke8f;8&PVp2phy)&gP!Mswq{lX$|8fNxw#*NJC zf7k?P^OLI{dG4SP0hM&7p=Joo!&1y{CWfPv6|ks*#qo`Wg}rvWfKD+I{1!(^Z*7;R zNZWY#HR67Xj3);0CB~b~~ic#O0rlGNP zGEH!`kxV0%-gVQZGt;k#Rw+aUjF&>-)r3H1 znYY2BTv>}yQK1WkoPb?e-<+HvXuOv)g{?`=H~5O2#bZ!dTvZ$ryt}1D(nQXuoRhvjCmm4UK6`sR=Jhql@iZeLu$;3$ISIKUmo7?w zp7*6DNy~I3mQVQTLz+32pT5dTaLPpNRiBf%b1CG!G+#<;P*j}#O9|?6yjsju97M!v z*{dM%QIL732RW%&GemS4Rh&TL_;G89^_v}1J+Bt_G#Am6Jj|#Mdfd=bfRU-+AV?6i zxgdEztNBEfkR=^J5{fj7=Y=gwJGc^re99a*;ynI3jqs4b4Wp^+xP*knOnb0R*s`zh z!g%6}?=PP3{YvkkHB_Syf&O?FA-$Q4;S$|eW02k$sN+7kaeqHS@HAZ!x$Ic9@_83e`P7%aK zv<=2*Ua)?O*u*%n7CL}#Cl*Cwd$dn|@FPAbS9iON-IJ1&l&mhDTfFL(Mb~nQW|S87 z?DbGT>kG@3R_WrNsUr%$Ja|xg=2KzyyuYTF)h_vM>P~PE>m%I2`h+4KVN?ZFdo(H& zj)ASdu`nOY2@5B$iJU^C4y7;kg0PU>K7MX3F}${CRaI79-k`-LLkASk>%HE3?#O3k z=(`0!*kb2=GpBZVYTV8KK7QQB5(Gn|gCFJ~BWI=jh+_P(wJia&BmadT)SrMfB4l;7 z=Lu!W@}HNLPtR2IN=q?Gk@oyxR`-3{-e+3>em%h$>lg1IA)}8K4T+dEh>ZE`>dN~| zf1llqg#dGQ`UaMVg;0YxW8LlmOQeO@i57U2oM0Q_$rZ?H;TxoBBH`Bt2t*JxCYBS> zDNWo+kI59H;UY{CyiTc!sPkx;P{B6{q(K!&pU}iILcL+t53-pBI`Jlimu4er29hwD zqj6S{RkX*c{UnJ+gXKSx&wXwbz_CBL1jaPqbn;a4!)jtF}kd0&JWE7X&DwcT(YvA7=;7nRClN;$`TfqQ0)mb zS)!{wmSBah+M`y4Bg&@9Y?^DMKWtNCnVbU6y!#T#G@FgU)PFu|b0TJxvlUD%g*{jP z$dK;*T=&Y*O$X}cca2gPJTY+T=4C%G9x~UhmNw>3DJ{zF+tjyMthuxB+IP`OL|HlP zMU%YpOj5yhQnAbGt_olMil|RnJt|goUx_lx;Hk6BS8%#Q@Raxz^n)C?Bf~fv& z)8Q6hwud@`$n*I3t4cT{on362P_-_3gmjkf)5MNF)j8`&EqT($FUxn%`u?PprnJ8G z!Dl7aFF##4o+=7x>}BXufbF)pwW@$I9u>zM2|7f7zBsBaGf2v%v%ioO@38v|iw9Rd zDb^6>{hpj|Wg|IWx+Ph8XaJbWVB|*(#-K4CBd0dD=RT$A<2v13e7m&f5U@LQalDsw zmi}Eb*himnd7HTHPLi}tRp#qSUZ?Bm2|L=Y(Qpcbs1B0ZnVn5f!|bq~zL*G}v{P75 z21^DKDec@lqexztH9ALtTC9=O-VNl%0_jDi)mxN3t&_|Hej{5D?VCKu)`6}9XkzMg zN%0vQf%0?g;RL7_ORSNPkLPRw_8@Zv)vZdn*SYDkbLM3BoDM48*2X3TNOHOkPD9%> zCm1OdUr1K>*;BV@xov@Tc8O_3&66E!DN{$tO#S7@Ak8YV@%zbBwyiI&^Uh~%{qZ9y zwUxhO&FSy`vV;)^Q&}H;B4fhN82f5?)B4uI)}y9J5$`AK^jqJ8)Th?>0$^rM5+ zB8;-})gGJ4gp{SpZ|*R6nwped%PfagK5@)osUE?xyx;VG>-x>;MN*eZH}@X?X*n^x zb>w?~-_eJzHtnBvVeVP!?Kl5*_;XUS_bPI52e7s4&>OXDQ0gY5FaVo63Dwu=1 zp-bPkpP7+mr$g)nhUMcBDPo$oR>Okz7gAQeviREafis+HeRKiXT=`?5W=XfAnI+7y ziH+ype@}Yubdl$|MbdU<(YE*gnD_7LKEnpX?^8FyNbJ%vg$Ed|dQPo|p;4Q-zcn;% zO2vhcn;o3pZD@kY!oiD5VEro>bc6LrV0$(-qZ?FAk3LgNn58MS4%;(_`T+er%m3Q* zf4}apDgJ%VUl^I}1~4%dwqd!9@H6!~V*sZO;uND>7sdiq=JE=Uyz)uibp6@xl{^@ng z^o{Eyk39N88VOIAer!~J6L%@|kw?>W`0&*gSFiox{UOR$gl_Ax9d?N|^0qSua%|fL z2Lx%UegXo=AGEfGS_rWHr%f)T3sQXgo20O{Kec34h*;xoWXhYIzO(uCcQ0+Mo`Igm zz*sCtPdd)DN2e52MkUqR%oQfBL051PIpGc=Nu-zeMd{roBr!!rQr_sym*3e8s(TiU z0HG$F;p_n+=q`7F8TwQ-7=snYP>~rOCq+v6!Yv%9%0U)&jRIM;1uc$~BbQJX4o zfRiATq0#4uT_y!u?SO;}#Ob{z?NMrlsus8RJ1E@1Gjlr~>cNM2ue@J(docO+&SqZy z^nQ2{Kv8cW#8tV^V4;~!*%l=6r4b`vbmX1)h+ zmv)g-?`bc#ue1#m8?i4}GFCwN#o(X-bG0WRTq84r>Ik?X7P}=lNRA!}Z}+F=Tw_RL zSH0TWB?<72zTUxaNS_SJ&hJt&J1Y#Uc6;mr=i)(p*d1QlZMhy$I~v)8mNQ5p9z$ns zVHkwW$P=8ARC}luVT||r8NM(KSww(wt~UP=$LC6oPX1c5_hYhmH~;=mA9)9Y<}E~F zqZE69I_T<76nLXK*WBMc%skutp82%-SF_q^PQ}aT@IqlWYolV~^;!xOq%wdrsRk#V zUq&39SC<9em6M(b!MSJX0+oun)j`a+ak;XNpGkRWS#Xbpx8JBp8#2I{mvVW~Kx4eB zSGUZUUo#{cN$%r63>=Q*z@?Y?o<-8R(*PDUly>U9E5er5;oI3Wv-9`$<_I|kGqhQ0 zfHM)WTM*(n4g$%*NlxHyj$OE*G~BXNRwEX>gn1>vP0(pIVPR%Rf?zSrF(4f~9XW|X zzJQL>siL|GZdhC2%A|YL1-+dR=OP@bzyRs+gK`}2ypd8p*q9gkc>PwRLs?h| zFwCv4`TKhZF8!fmxb*$D$G;VN7Lug;Nd}E`OLFfwqk^(JT*4NZ$R~;pp^39`6WyT! zVx*WN3P=X(&H8yBVUC$_W}*?y`&tgY84_MVAKea}vB0c!^Cq(?)`YeuM5XgQ#udt) z%1@OSm13$gSIGl9R4pSV;DR$$A;o(%FxQ~fDbJ)P7fB+TccDjLR1uQOtfs8dPrJue zx@)>PAL{YIQ{6`m_Z0J+@?4iEM#P6l^tkWxL|cahGfd(hX&LW;Hw%b8Ng;Y-X zlq18qdhT`ZJ)kUM6xoTQ5Wq01MuAK9$s>cPQj97C_mCPjiA(hl7F(GB^qT+K8q&>Ez>GFE} zfw*bot1|2I1}+#lq`cp}-iuza{v-aQXWu9J$8FC(YjFN(i=F=6g4$ZdfqgX)w?Cj+ z&Lii^uqAqi-O+@Ea2B)CY@FsXhj0M9@JMyQW%CCD6!pgtE|A04s01f7$TdR+BBuo` ztP^LhLfzpV4a;i#)ml?Ya*Fi1x#P?Ha#wS7+L127hf)ruCEZY*s=Silzxs!-Dh~IP zns0XbvhJ&YA3Y7nyOEQ`IB^@|qC`&rW>B=sfuzJI>2%Aw5?wYL4Y_O-Nujc-DD*H< zmFP-vF?1Fc{8;6|thuXa4;?pl=3 zd-d#0*WBfEJ(I>)HLYxNI%lnHs;(=kpHx~lX)+i&7^x>M_F^#C&z+()Tg+2DT7%Ir z#iRPh_^YwS2XbW$#=t+=L&!9julB=4caD0#;nVAGS8bKTlBNQxoU8QsTO=^Wz}9L`K9AMC_=h?D4)PECAt`~;6Z+M+Q`@BnPs z-i`4iMlo-O7Nw$0IR|hkWSH_!MOh>}F<>DBbb*KL)JOJpWYDOMhLh{6CUxxk)6wnQ z%U3VV9Wdbjhi1H=kkNeMlld&ryq?s;{egHBEET^LmnclI9EOG=SrYi*>XN0CbQ*7 z#hB8v35EAVmhc-2XmQI`WgWCa5W>n#XofCoh0ekS8gD+7Er7vC+qhEPidM9OWMDTC_cji`36B2{;J0D1! zKRqeE{PAfrh=NgYM2-V)J8yjOIf5ulTfvt3Ce&A%5E2hI;@i38Ol>`;xW*SN+1Us)0M)l^>E z^wGqH|9a^;Y4G6pYljc!FZ_R`MO!jEPMS-xAHw80(&g3t?!#K{Qd-5U%CE71bh~-- zC~T1oBXQZqgLnQ&5d)OgZi>2?{9O#$`HtkRSuL)-%b3;Ayk&!)Jnb`Wi8m9UTB?1O2qmQGx_fEDY`7YWH& ziclD>E`SA*4@8WeD#APM5@B(J+i* z)eVS#o%CsSL!cbs*j^Hru>Ol=RGCftZa-{+n3GX7#(`3phq`{b5qys z4juB=Rn^1s|4uwFn*1jx{2aG>g_^&P(1)6oFj}&NIti$694~y=e>v&j`OC^P;*G)Q z0=vGS0|$*Jbq>OV4dbHRM!i90GX{qn1e{g`BVB=z8D5z$u4V2IJ*V`A%oI;XbD%h( z+M3&C$jX!v2%9gNwNuwRORU-eL!tC3sU#^2O{D6+o}YhCKEJbh=aIySv6aa96?td% z0jpL^%_4Rn1U}Yn0)CJvYH{QPT!~;HP?b)4xCBR|8uc@n2h|dB6strb^G>_CYx9=p zb1J?(dG0D-B{eI{{@RJMh}(AvM|h~U`M}ctfUp84j~mAWc+rw3S#f5C3O(-r{hX=g zqFZANFZj^(g^4%qqp#p8j|RBQ5U{W1Q+Kq{Twn}{MrB!m+K{Lw3)E}X{228#HGe?PGR$F;& zie^IrB3EuMU&Ma{4^RtKq9sU6lv;9AOD=24qgpZzJ856bEq64c9qnQz8LX^R&QJ=< z=QOWtc#S(aq5z?K3J8^v6yC2=CGw`zZ{Ms4i8i_CkHJyv z8nSHS2xH2Cm!Ro4!+0jaclh9I^*Qd3Qx zbkmV!$_yXKm^uW(zzMRW>&y(`)su#Ao&4CMPhXq6Si0oCzbv<+&s1^CoHJwBEjs$g z>cBTA)xY}Cc<*`sAT%BaTj^@El?s!-i=NjLqdHohsurjK%eImL!yw>XTz(K;QvG|x z24g9ON|O!}8#R_mQrgp`l+-*RIn8ZPAqK;dV4)=$iM)*m)Ch6!EZ}-ne0L$zyO-0T zjK_?V-^@&3Qwq$vrztl@Xh2idF2tK?iG~Y6b0IWL0yh-}e`qcg0HZ@`4)M`UVKiCJ zbS5ArHCWtuuGHRfh`jFWn%R^odQ4GV=*F)Y55wWTv2ogg=46zJ$YGkm}*A4F( zcmrL9*4T)d@#+RRzF-0Nv@fyiviZC-ibZv`4<-36VG|yCs5e8Neti+h(@Bp3c}i*- zwAe#q%av~q8d&L?CL>SF7c_c+JSB}Z+N_*V)Y2j&FIA0v0%m|oa=o}{QqHO0;8zV+GNNVWNivsSi?t{vzx+ z6=({#!9OBJyhKVbrWX_s&^Tvv32&nF{ZxIGri@ks+|%a z52YB0%oa|4PP_&#KrNT~&J*FMJmLBK&A+}A+TubNQ zjk4|ci|blnAJUeukoZw;U|VT}ByE>jtF*GMnMM~B)4U}wMwp*149&-uD_vf4wl$$5 zBLA+%G$4JM5{dtt7GVAXxrMyDspwJ6AR7nk1)rXhTR85fLB&HJ$2dlVs))|4NhY

^lA|N!cKMPLkK*n6TEPa8?`0@=mNiP)EL@Yz4;r- z(wQ=Egku-!frVz6HO9`aK6d7_g(iM&{U0r+0SivqNm?0x4-K&MMY%<|pILGX$}G8; zaokq4pnEw{W)?=mpjvDs_py;o<7UZJWZQ#1M)l5C>@ht~C8OPe0RUiWtiVxg0yH#n zO+j5Oqd}EmD|{1J3?G0K_|2`-tJ0SXb7atNdIb=i&ascbbazM3Op_oa+03?)9;-Q+ORDxjWSHyB(26z& zDq|QC3_=D;vg|4n&nz%#jSJ*sIM{F&2+;}n{Ym8BA-RmCQSky5y!j_plaN)phAN9Ci znwQz3Pfo#<{ECP29HrSgg%8ZQ)8oUp0O!~x?!9;tOU{r~N;}w+k0n=fz23v^6mRme zfwHmxkI$zyvd@$L=5sKfeV%yt=LSE0Qf_9Scf9*^(f>KjJjaZ@lQp2;mpsB<{uZR{ zPq{_B+yZ+IEtJP_MA`|Q>cze6P7R2Pi~`IjDladmdrmB1J~`xc&Nn%L`Q!lRlY@+7 zP7W6y-hHGe+!SmKK{W8D&Rk%nQ9&A>C}Z$TV84{s5HV02m_g6;li~ZB5`hKc66-vi zR-01o(FOtGMGqP|_-xS9jOozXwrq-wM<~^1nh`(V4H5$ODiIeP+yi<+5Wx}*_uz#b zcVS^#@kQdEiOW(=2MpSxHG@~Zu=uAZsvmLcvJaR$JyrG0n@A>|$l&Yi^0pVh*}S2k zsW7j1{)|37g$5aVWX-y-W@T03|Go1O8Fm7P+C$QEUS9If35%unfzBPitNeZG&$Dps z{!>#$75@%{BT-%edIVeI8PxVU>4!~>&+no?hxO0slX6r+;Pbl#sDdrL-2XVA66oYx zb^+NG?b`PV+vIX(S2V=%$vdZ;}I@$gLoUi+q`aMZj`?C$Qaf)HZsbEXvC(Eb7^_ zUr}DK0{VzM4=(&#+^@8-PkE^z_A43Cx6go5j4-)ngE&T94d);NaSNP-Fnc7NgKE^J zijmbG(U0cwB?#5I@83{e0SN$}kfBH=mP!Huibs-JjE)B-0;fkoS>nSZJ8ZAO&m$ zRcr*)(4w^mKRgM^q#zk{YUB*zS_|MwSU|v&u$cb~p5#L(A(?eAJ}E&+S@+VCZx`>X z_TiJ>Bq@23PWAktzS9bO74)6er=QsP`Qc;IngcITh?1IlC&MvE6`qRUM z2e*!$&Q2ctxL59--2!a5?MewPSeQ*pxYf+n;VpiLiP=5HcC=uYnUvrx4qHMtdvX{q zo>MioQYhuBWD2d}6QiI^ZlzHAE2H4wR4ogT3q+BnOo3C80fI}`<}%1i{vLgw-^AW$ z#fHp1LokTcfIsjjtv);LF`4lU_5o5eEu8VJ)tk770=$LovV#}Xe%1+X6iB}h8HH9w zAyXKGv9U3b{^Y1kA+8+-;fB(R7IX|M(w{pcYjOX)<)X>9d5~gmu}q^iI-&EZZa0eJ zci1TWYfs%!MKYt1$oeSuue}_X%3h0dI~zq`^seH&3TP=SS{fwc^ko&^XGnHM1EiQ* ziz0V2=Kz>btx=DFOKTN5+|9%5jGAZ-a!xo@)Yx=3Al+=i<{%x#d&njP=jSv+tf{8h zA?AuOx6|gt5h_A)Rti)l$P`Msjq(^;w-0NG7X4+Hh?Hp^yP21j-Kx}oqaFO|2?{? zUS#u!rwz*exP5ZptqP5KDXMLt+|Spdlq^QyBnEFKXUg%RG6nG=YLby+?<@rC^tuVK z1bV&AV58|6)V11B*J?xV#fG|88|qqd@?$m#3JroshUfCtwaTd%-$iZMQFIfbng>4= zV*!8)YG?4En6)cu_a%SP>$h(tz1e}JCy{eWC@`&bNJ$Ryk7IYv(h^uP<=6)weBeF2 zn^r{9snE;VVgRn~?vA#R@Sp%gzyy!kU z+k={Y15?@C!_+BGy~#AL`pM)<>8!Llc@ws{og^nqpC@!w=d2y|_}XASUk1$M<&UL$ zaXa1JFE*7{ZGEc$7(NRXY_M6M4J4_@eL?L zFV;N0e;H}S?zD11{vMrQODvlowH;d&d*#+RqUlQPEid3K2S<4FSq?ZRmbUw1SMGT07kPg- zOs!4zPUZsk0*7S;uq}s64y2=@BDRC^jExuC&+hHYncg5cMBKhR09RbHmN zSE4waT#EX5I=@R&mY#T7s>Aj`o)YqR9>dXbcDE5V`bv699m>wMwDOFl!rG`4K-{3b zSQmV%d)(zE(z%iMjrnF9;9y%FCz`yo$XWY|nL?DzIOKq-kxP@=LZ-@$^B>PJk(td* z5epc(Y4vQkw)+2I8?7dnDKH}dOG6h>>Ml-X<`dte>};U#f^F^lgGcs<++S<@kn(M7 zTYscj$@;VV1wI4DBL~Z!hya%Qd$`B*W4c0_QaP(?4@a04sI`QuMWf9m7|oobzV(s- z9C+IpG)PX&x!Tpa1AYh~Gy>0aGx`kaTmMLmRHIhMM92m2MWjiqj|`tr%+d)|(n#eY zH-aliq5A#eLR$UaoLKhJRKECj(YbSUk72iC;!ybUZcA{8IRsUCAtsB_j4A=dD!!5} zpG$`==f_9iQ?r6pCNOSD6!LMjh^I%jd4s6h<=)T_>*bmZBjZ1v5bgx%E_y z!czUvRA2b-KU4GHzk!?#%)fklh$7u(NdR_?Ud5s8<5gGR@2}8*ytj~)DRKG!J4Ko^ z2lx3PXB@q^z)Jj=71-o^Moclnnnd~50$)D!0z@Sa?teD7z+Dz#jkF@4Y3S{<)$k^M92zDv+)8VFKBeYZM1?PmWTFw4@9ordJvwJt5aXiaVz4>zuoF z);nJ>ANfnziXBfl`7yNEv3kF^uJ7dDg@qFzFX9&semXSe>Fw5%{QQ!iKl+js z?%uSiUG-z<4#LWrR~{KUf&_eAJ38{2X(*DEwTHNiNfPu3i%U1(Bh6H8-(qq!2rUqo zUSZm!HJbr#CE{iTXe&@)=5i<1RxQuN_@Jf-@8f&S%pmIY_4s{TkI+|CcHsou{riXN zt4?h_lHw(-$1uP2(;E1_^g!zbtI->7NF6Zy-$Kt!aWR_A4WlscgZL=KN}nj6dmDx^v&Lf@x{DppR3#T zS={oQ+^2lth87sL7~9$>f}A<5#}xm(XJe&tzXB-3b)ouSq;$Jtol!u9ckh?qeV4uq z-%LEidXwFpV$Le})*29?@CcWlc96fv%srsUbcV8BfZE+cX}~TRVTP>&JCa4Ym|kHv zA~K+gz+amL@7jN~Dtr3uXqEc={I!3%er}RZH(hdlQ|!O-K`58J+i`+QM)+=ii1yV$ z#o$7`a8pQ7$Vg8FZiAlS2@MEPSllRyZmosFmUD)k@^?sGc_200Dxzczx34OS!Md@l zczQKq;}O&Nk1k1E815fmDhRAhwrlzsrNrzgBmHUp?vH{ffikCm$xnNAs` ziDu{Jp-_uLDcxZ*B~uzmazTlW-kaq-yR;w*jsKn^x1J-d|oNxBBqlKBtmt3%s_MqcHmT#OqQva@_ z^;fu;g9h@|XaQ~d7wg6BeoKm3amj&`%{Q=Cqqkx9h z$~62z5F15$+bBr!3N{KW8wDJ2Ep*uXIEM)WF593p!5HdTbv$a;edQufW@KW6& zn(&bDksci`)8>r0ZXwVJm}8rJ$Ige_>Rl|dljr)cHTlcsF}%Gs^4)t&@{jmNA~dWm zYgds!0>e=-cvg~X8?xVF2rWA!Y$|ql?g&s+|Bj?%$9Q#r>o6;CHHMM;uwTPk!UU9$ zcbObTqB?6(S)G>Z2TW1*uj$fEj5E2P8m3p$d@ZbvH4ZE|(&nAN3AN7tt0%pIgxm{uVH zA2~VywnU1gJ&L?8c{uhy7Ctjon>IN?y5K`oNjK}qN!v)~pqEHC!X27eJELBP1S$0b zGq^mQ0?*#hX#j2PuQ3#8+(sc)s25%r-V+o?AsR0Pjo>y|3Iw5-rAw$gpo=j&I(m8Z zbJ1e35befSqN6+aT96jh+2~A(O-j128n*(*;`~4Mu7epI@6roVXqg!n>7TT~AT=2! zXJIGlGPSNsdw8Cz-3pO*R~`J<`$#PO*2Kq9o<`S+bbtK8$qN@wp0wf_|B6Xve}7%c zb>-#ghdQz~J34;B+=&zB&Ku9xE+gZ1)8AcXqS}GokA0}BXS;uqy!&|{FfYQdtFhY3 zV{G5SK2!ZbXuPF|P!FB24`OL<_Wue)-^RnK+m4jp^NNxtn01lV^qKIS83N5(~ zkRBx%b~2q3bOzh9T+SfWsNtR(G86O~r=I_8ptJ+zl=jTVnxfDT$I8^^f?B9zI~;pl z`oOIaE(-j0Ts6W*2TBMf$PRvdig&GI`&o3p1I=eClQExUcep_{=R+OYt0RMSqjh|i zu8)q_tzfsWQ=mWa=lCz|6b0y_q83O-ms5sqi?dwPj;CH#?kF5kIxwp>i2i116N%DO6Lnuc1Z=c|;;yF>P+=aA* zjl)eyO7nCL(R4AoXJA@gP6v@7kO@0pP4`5#TsOwb&*f^z_Ip6oKK|gOC5xdGTE$v% zZ2W@R^%Li`3M@2ig=FP!K*$0)dcT4Yg}*R>o|J(~9mQn>lTH7e0P-ik@WWqQp5?kR zy&xu{Q@4t;G1G_5sI5znh&JyG9Y45yNePyrJ7zH#6|_Oz{qF92Oyp$~IcFl3rZJ{z zCc$Ou3!FH&UqQAi$d?M@QH;gCR6p?N%4X6m9 z4`51cXCASkD$eXokKzH~ayfZnL|Q+0cYAc2;f?P9Oe@Lj79HCqczd3B-kxah>clm< zi7`%>bOOa>HVDE22J{c4qOIfS1l|SqhiFsA`?asb|Ag2coJ!J?FVyZL%lyy88*^R{ z%zU?ZsQke3d?qenx~!~$bFaq5Qz#*z$*I)pua5djs_<7&GK-5y#Ei#ww}`jae-iTH z%cKt{kV+J}EmZEt_bdRnWxM0mYV$DY*V%#~(A$m$!KUA$-=pWB)RR7X;?fg+q#5Xb zCak!n7T|SgO4t1ldB{t4G3o~j;FAqBNO$zb0U($0LudkO`hSCBeHvDTklB94nz z%U|>U!oJ26tN&|gq;#=H$^WyFIG;7@M3C>I1Ncu$IZ&WRGy-gKx;#dWZ;bKnJDbMn z+(+ctr;SdazflfG)SWgW)2REzW-C+TNk@O9z6eWZD0lM-LvuJotFF|E@Sl)H{seE4xR2aPkhh2I~FHZ%@6Zpyq zN|Nu;N|NSrmGn#wpC88OJK1YEiE@`LW39wND57FuHExv)XFKMdh%LZ(WoBD46bq;jcr zzPlzewWCx)Z#x$98!q*qeSh5GXmp=3-II%`;`2~uHMlj1XpJB zaej4X^DL(@T@rdo%>^y!0;6O(MI0O|DV|rBI(C_&io?}IxOY|wJiHQuP5Xknx1$(| z{=+qZrwJ!Hk$A(Uvtk!<_nl(J9(mUE-cQhTvX!K>d=|6RQKN+dXL$yM9<2K^@=P4$ zQ+2E_fWP#dkD%r$IgO8&4yFl9vb<+Vj-=-+GH;OEh3*|Nyd+#b%YE!{~F;JojXA$ zy1Yxfllpbyi3NW>w&|1J(p4h%`hD#M^1y+)zihZJtsEgW6YDwh*5l9l_VfQN74XXj zD<}BdIGjZ_=atALkVmi?l%yhG&V9RNwGAqXhyiKdYGyS;eRf(sTGbIPo{6faiuY4O&#je7D5A zL9zbJ!(|og+Y1ku)_6mfk$}pw+C`UUjI08d>>xt;(=1nz%oVtk z%;Cy-hXeWZ^$ya_fxn`p(-!I+(0dL?02cs&S%3^M^P#@mK)%T+w3T16Tga#*Bi~0r z>$MV5Y?MVW!%_hYioHNV-$*jDCqmrGi~C=0T0ZyUll>PJKZsIFPiOC^1IL8z2(Qa( zm^XH0sE4MFQ=<=ceWuJjdOwO-*6Y@;fTg)(LfT^SrYK&kQOC$FEJ ze01dWXXf=Pvv#igN%~0o<>Oy&T^hY`%p)(92+uz9?3VX3?>jff-8HI9`k;4i1ImBs z?4FY(&f9cw&FTTkU(6p=P3;)nF_6*(Zj?L7OdNXrEkT8YjPN)Dg9{zHphCyKmfv;- z(ubeik*2}`2MM4|57kDfqC=yB7Y{WBsH#0W2td1=ws43`FM^cah-CjU3YJ*DmxAiO zAXc$wa%8q$T0xJEXq}mpzrAM0k|C8K>p!2Zs#;nwyl(iYh2-m! z{H{Hc(r)&DdMW28x@5u z7Zpqau)IMC)vA&E1}^{`YZF)bDaKBDLI0SJ12_M`u815Rm@Nv2S_p7u>ynV57}9i; zSWCxTOBeKs(q-w3MU_?KhNs;>QaU=lr0amEm+(8to{hvz^#2I>X3w|Mxtk9ckMEe? ze?;EU=c=YpO^MBL^f{IXF8Gf^gE`zz+U~kMT@aJdwlmQ7*p_zp<<&`NZ~VuhCnSF6 zJ%^nzx}(7G#Sl{YuRK(^yN1!b$-?TxW`{i&CVmq}!a9Z&hQ-+m`-c%j817gPOE(pU zIShqiVVp+u|5$qyIGgMJfBd{ZpU>H6&c4i?Gy9pv7-KfGFqmU(GfWIk!x@IbB>NDO z##|&x$Wlq7+>#_$l2BxcNXV5`u3T*@HUKEUW-2MF$7;e*wJBNq7C{A2+5C8nA4?G9X^*qZ`;K;gaMg(= zdk?(EFYF%jZ~=cZmfiQ-1U5D**KzUO<7^14_-MkVFZjQLukkDAzy0Z@2X;v_dEx3= z{cA8lE{g|LL=(`lP>zFub?2E5^Mw@f8;(Vpkr_OXl8@2B2xPS6p z!VM{D=-`s@Ywp+g28F4E4F8CGWbx6`4Vev{d9Iu^6RJ~3Lubh9$7nQsCPpEQP_M(B z#0vr~n3gSxusj<$5LDWDV2O1#%>PRf%jw3y_&5Iy2x6;7%wNlvutfe`@Y2`VEkm(e zI%2nELiO$9k8hKhl!$GO%sy z0&_}7FHj*dR0HLqLQqV79zzwWNF36?!6`9_DaF0Q!j%+YMeRq9wIGBzb5#$!s-PIe2nc_(-U_90w$1CT$*R%)?h! zzcgGQSHjPH+y2o{*B<wWmCy{zx%l8YTD z@8{1`voJx0^64B+4lT1S%mxTwvl`GZN2-A%a>Gc`eCoqA60J zK~JBYcl6RamUU9-mchSG%H>aweQw~&X)98NeiN^59CG=ur&-~~3+Zb=eDKU8Cz$4- zOd3crQ^GKFs!(`f4Ksy}3Yh+Y)TlhaWo1Bbr&S><^TK=rX?$vF*i?QodarOfi*HjP z8XM-z5RF(3A%I3%am1tSWWbp;W>px}gOCp$Q;(d279{*QYrI8(x4?1q6U$tdHrKQS zgca%K&;9B+yrWmSP!n9$rSlrGfxpE^@LLPy$#tj?VyStMCxMh2lQ+@}^uI`#Egs9= z0vK@8b`)DNG@3GvtPREU^65r6eU!r>NLmpqk1%4jY{}SnFT8x{(BerIJtk!we|^_S zuk!a#);u+O<$z&OAbkGvRI6@0gG2{j!~(+wMv14Y^KQb9m)lZP*g{^8@6q0 z@haoqheR*SnKe7Y!~Co)_+B4$Kq5hMRJ&z;I=L$=P&4R6~vA*I8;($vK-?PRAK zZ-5f8(EM}!qIE1XxJPVY{qE{!{y7C_%M9+&M5AibLu(;YC0fk}uPVZbg{U*i8jjMs z95g8@&qgzZ!HSp1kt{iR9AO>LIP?}vU&Hs_9L2vJdFq@pe?tbbXcqTb9D9T9;59t` zs*7i_lg`7Nnr8E^!D@988bJXC2z{JQKm{?QdPi;cA-^5S(ebocWCTB$a%5jBYsP{! zM5rdDR#8Ht{0=E6De;Q#2wB2*Y}j#)WjwfeO0SBjA{L#RT3hm9X)KG5;otCEf9qKM zqT}>lR>c-<Rb7*T~k9YMi9lPszAC33bdPG37XI~PHFb35AN_*nNS6!V z1D6zTHp6>hrrw8q2MTehqSjOWW{ZQ6yo5L_a8yAkYMqw&?Ek>3wc=by!I>NURba6z z_U}Fu;?{cT_?QPuo|TU6+stEP`LWx`wXzCsq!wT-D9?uCUmD8G`J<0e_8I;UK87Yz zB-{gO#5kG{B2$idFl5SSzekmbnO4E|gg$#jGg9Epc3l))qfO2{`4ob-qrgVV6RkqF zxz9lG&Pt|ao(+0eGbfDN*5ju}eu#g{`*7ZW{gZF4EHBE<=vGlac5ZL63~q$E3x|)G zD9-=rz;8S#ZRh)goc}UCf;);}ax$T(HJq=W}{IG z*NZxvgd{(r1R;x3F=v}jOKKlhB_tBPqRC3zd_Jw4AK_nc|3W_Tai#Km23rnhsu`8v zT@9AbZkWG+BD?WBzacCL!sit{DP#pt9_Kx0PI{5H3@ll4j)J_?4>KCo=HYs$#ukP$ z9aNu_KT=*UB%f$a{BeJf$jp=S`}93~`@Z<<;2~E9KUQlHQhMaK?1}B`x=!Z9*k{?w zrclq8HwDs2u%#bRom0{vno=oL$U9Qc*DlAld6%vb@>Chh6-q`2+MmlSWj88N!-37K z67>m2xYD&U!;dnCXf+0n{?Nd&ajXM8vd5We8$b|Yo3J7g zaFA=qrf3o&3Siv^&N)3z+zC+v=YDjai0}ji1SkNoc z5G$OgKq)jM9KlRRt4%90tRG_Z!s3YN42Jj^A* zcUTI>=;u}Zi)Vso_$Dz-*c7Y~Hp_q0gVDmtV3u$qn1i_|L9!K2=M>dwe^huJ$YtYV z5@YHDfP0E?*9Fpn*cL${6V$-}>W?#*MkIhu*#kCZ@_0qS;}sEMh) z*-e{Qzq}*|V3)&(ZQ46=>CI>A4^Nb4yt*%3XWcmO%d3fLOgn1k)apT3KPVYke`-kY z!E0z?!zGQV224SeEtqu%AR|f?i)en~QpC>+AsS>w@6b%)aWr@7SSAqB@=kS-SzxzWutqJS8UnhB z6Oc9##`q5+7z@RBr^Ky>kL(mv{UE4}Dp_ULFetug#M!8zxIcS2nI_QRhTaqv`w?a1oU$&K(vXjkyH*D5m?yfFa-T$coL5IA%;q=r%yI1s7I#nv^2Uym{lR z)ul?SDDDEGFjYQF?+k3Th)1tKTn{>@1TeQ#Y%3%k=#YW>D@#U9CH|<#EG0>hfz{I@ zDEYNu4cnwh$(w%k78!pigCi<1+!t8*NIQoc7Uu=-Ta-hnO_cW;Z^voc$_zp}IVMvx zWA~q5c`tl2%bH+#cHa6$ESrBQWL0ij)v-`W3O2S+oYzNKdV|2Bu?KWEJjDon?=ZcZ zfr_J|P!(|aqx8;@cZOsr^78(_^wrNxZ zP%A1&p5=Y{?yZN0o}vAUhUecq{^Nsg8zwvrLnX*3ELbv|4i6QM3v|n9#L5Q|A&|0~ zl@cXhONWQ7kbp`R{-2Nv;`0eNx?i~=YapdW%_gk4rK+XVL!AHdk)Ljn&Uv#0X9xU( zq+!J3iA2TXg56;=q7uMp)B%-^0qniyiL!!$=fzXcz~O_J){2Gt5?IzTpx{^|#b*rO zXU|Bw^6%i-o_O$GC<4i&Q!9A#W8RmZtRUD7#FHsz1^1^GinmrPsYPNXY|?5%n#3O; zCk<43CqD*#4fc`y$1dOY5QXA>LzAW~vy_phjMbs0;JF&Xb2SCeLF}cb;5mR8)d-%e z<>0xRY3k@oXv%6t(A5+{SK}m5t1TY48zRYVharop0fJ*l^`WKQ;sF0onlkW9KaKzy81kW93z0r#15ffDk$>%pt^D0De&xSN{BkqV zsivIW`_EsQKKSGK?W1Rm8^7(|`+>rAiTC&s%B?25okD@i;#h}P1eJwH7r`M!>Vb3> zYa$$LF?XlvL~q6hoFQUHCx{uHPC>87s?_7Cmk+omEvlKA5v!9T3yHKq?TEdSX^zOk z5_n6V7KHHuBp^hv@1V||oUw4h?D-RiO&}dtSl(mp_zO2czn3K}xWBGHL4lC93T`z> zaReMO!V~fNcev0aA=SJ169l6rZd5=DW8ub$fTxwhj24Sq?FRE2qCJ}000nzm>3JPP z-1Q{uD8i7KWJkUN{KP=xmbb9H2o!i5w3VVeb@A?LD>N(asU<#803$^o-5s+?-&I-Mmq_JMiwC@AKW8ud$h@#y?v%aBBZA zvAd}=RdB>mp>11LH-EAw(P?(ZIt2^fj0_|uTT2sTEv1Qx;B51Z1PZDue&p@I5#;S} z715FHT}8vuD3aTjD28~wNWrnA4>-5*RyeZz^XUzNs_EyR`sT*7%sXEg61ZpRh{-S9 zvpD7Gpy8+?f9df_^P+T-_g9R2DRAlBhphXK;F#FBvC}Ji6nA6$9-h>zXC^_I0b5;s z5q(HTp>Vu9A=0EuU}h5-U~Hy@WGT_&f`1o|A_0DE6;jq(#id#^z}S`HHVImj>^p(e zUTJ?-e|4&)1huy~ASG?o5pN=&jVBv-sXd>C3algU-J*cvNVG zQwhIDF5zdlE<=WpC$XbytiL#)c@Phb*@w_jel$Wso>EUjWU1K`>k;gtC(Vkl5FxUK zBSI9_(HUhm_}407(Tj1Ip2>yoAJyqA@F&%;>X^sLz1-LrRX);aqu! zoLV_mA`fCm_Bc~vSyPB5Hy@rCF>O^x{>_JXb;`)~RLm6TtrHv07sg$=bVzIJU# zmiS@sZXI&H4S%Mel#YGl17S-IzrYS&xE}V4ZqDE5){OA}?)~<-*UL`vjBl72{)>)Z zIZ5AoE*wke;AmDwV#PILKoaFJX`(O8hcIcP5BmjS(nN$w6O}M2UX(CtBEqDJi4kG? zC{0WR5GuS8t}xB0fFbO*<@kRLlgj&rc0Ue=rVU2LWw0P}U1T^QD#=bRp4OwX=c{*> zeEIo-Q?nl1i@cR<_kP%O>pM)?x;0(cTG*p~hxCMVl}{|V@3ACZ!KUr|+xV^zUOxRa zW?Zfdk;7i7=m>rORZ|3y96lrRorkz6>Le6*8wP;FWMI(2Ax#C*2INSZCGDLB(M+}y z#YG@Ii)T*0<(6tXKm7}9Ux%m@m~n*o;03(94!!<;?2Ek^Pk?-YvCrYsIM4eB@P-(tLUGHPI3e))%@2<;~R?JsO)p;52)6sH5+ar2M- zoS4$}ss6zm?E0}Wjb}hVrg* z1V{fud%QU)hR^hPsyo&Yz!m%#A#yW(zFS@q5M45|nMT!1{*3F1bPhj94H2#n5gg(3 zP@IZ5SWy3S0AWNBbVKvNwAxg@2rC@tsKnHJ-BHAnW&jRRlPqX@#m*-bz!pEcEs->S z1fA?Afyt2QDN^L|FJ9!IovPvI$9(wRt1Rt!6^jjeDl3;&FB!;=RWBScq`y=fb8X)N zes+VCC$n$e|9*EL%h(W(Avk*9W8o-`AA69m3?Fyk{+ii9b7~@dLhFa1^-MJmNDsuE zMa9Ur2#-F_>_L@^$K^01@aeP@WeqJx{DoeJCM&r)l-hEBBi;&aIr1hev zYf8>SeyOG)*Q9&m@WNHmv#|@BIJJTja&b(->1?@Yc;N>xuj#Q|7>f3+$Ly>_dm>e_ zezV1Humb?YZVxv^n!{;lki$XNctTAfp^0!58bPFyiv5%?#CNrH?KpCFx>sHpeoM4| z&iVzbqp=?N`5xIt{`WtbjRlf%&+sLiSN4DOR~iNgelH%Iqyn>`Ej-+rr1zTD@lH89 z=p-V@rfF0BGq;a~f{WfV2%)jTC`lU@T1Qnsl{N}3`NpAJe(G$Re)*aCE8O#ma%|+# z6&W=&CcU!izxz<(8T;m&4d93r8svdGe+nfP@+8TvYfs3=Zq(-_n$>M%+Exc5W1P27 zRMUC$UnWa#=Ks*v7d6N-!PJcy;n6KW_+Q)HGLP*RAOB(^kjSt%B6aE%NYus2%iiKGUIA?e?=sz9GiXCFBR6QDARk)sCB-SBS1FRvXu9x<4& z%VPg1>t1=^%3f7kGv>IH>*dEE+;Q)QKlhr%R$Oen(4{y~T5pRZyfw_TrVkopM(99Z z@-a@)A~z@&K7SNcH#J6HXjt{PH6{+mfSpkbCRqN?taCUqlHzj z4GU+!b?+XCtk1<tr~8`Pk+Hl|)|V;WmKYpD%-5L~LIHgH15dYRc9>&@`id1rgo z;cA07JVK!zcBvo}qX>#k@$bmnm~4V6N@NKkm8QT-+LSclb1Pm%(gMgb!1*t4c7W|D zY9Z+e?9#!{mh;Q|R*mWKV81Dg`Fd&UKR!Fd_r9Lr7@0D?{+Qh{ zWK^8@{6Gvic$zgh5@cJTw?Ewk#zYg&AQR3Y6P-aOoIxfNGiZ>!7G^d&Z8D?oZAvSa z25EDODyLw~%4Cq=&p;j$1t^07)1xSMnu-OtUVrcNlXOV2%<2Ojnd8WNpYnb^ zCiPh8pH!^C@qPVaE*)EZ;HN+RBkbWHX1?8Uq5gf?g-}eTc~~M8;vVETTjOzhdR2l6 z2|FVL@w;xF*ybw5%aLtPdil*CVJnSKFquo@<6V(X7wQmQW(^|Fnx?IW<~NzTG|rd- zEG{y-u;Y}74zOtRVMgZVkZ=`4R-|26&~ae<;?;FSI=4w`o9pP*KX)xKv`_!YKOPd< zzq;35)rDXys$DV-+D3XpO+RzDP1}w_)UIRS4=T;?&OD*>xL5{oEFq0cHSSX-1{y-} zr0GEh7a=0GMFBuhe-hM>WFR-Cq@=17^?HyAtMu^i>hZwO|k5(X(f@S-60!|lD8*7k#_RU8Mgc7IHYvRPRQIQ)vA$R!!RD?juRIs+N z4?`*kwts`a!eSp8c-^uOHAmQjv6c+Hp)F{^7F=q1!6JwjY(WdQV6=s)!z^G0vtSQe zum>&JgBFWQYw(1-LsZ{HgzAMa;kG^3yx$ZsaZ;?nU;^c=L@zE^Ag7-$Wh>)Dg z$*{wcEfF!bfe4pAt3`;mI%P=i{0D)Wf(;9^m~wPsZ;)<5YPOriY_pt|iY82Y`Q2H+ zY(98AvMRlMpm&dw`xf7uQy8C=k#mR2TrQi#42WsS zCISsI|u*UD1Pb+ z%NWX1pkq7!*rhJjinL-|aIQ3ULz!3F!I-m4P4g^$BX59DumLD|xdd~GEzn%$tzdkT z9R{tM?6Bur+hGFqRJocS+$CN(X{~mr$!m5RAPX{`E~}GRS&E80A2#c$Y6{%hTPdp{ z>Ke*25-PH4`1fV!niW-o%US+0>8Gi@3kyiUHY=$L@oPvmg{N5hOmi89F)qJ>X*G!1 z!DAb$La`i%0HxuC`%Ro*%q-Kn3S}s$gi`NddBNj1OW@U0Y@b~9Qso|C?gHB?JR!(n zq?XI~P-Y}vJitqL5$pE}KXZwr8&`w$I}0O=SVC*`09ALEqy(axf&Cg_uk4U3YO7>n z(;dMMjI@&I{~zw~0Q*e2Lo=}7?RUUzF)IAPJ(__Tl~xdXKqq-V$03NIi6^(|86INzQmft=V16gCwNjP6 zT#E+ToR&sRC8Yb{4-;w{kHw0)k&PeX-=LmnEn2*YcS8@SiU))$EHsTuzfA=Iu%Z(f zg%ql)5bJgKz3|nL`@{pTZyL|=FLCiWTuku?x>%xWDq6yB)Trj!g+93Y>j2V&aP>zF z31YWa^XqJ`>StVS*(uFwCR+7;gov2(OKc`RV(_@1-QP5xq~B3p5DzepCjdrno0@Rf z&>RLi>h=jK`Rux6IMv-4uHG@`zSrtm_{T2DKXd>U($prDS8P{lMVVVyE^Ai05wE-m z9jSpMMh25wb?Y1cbEtEW7r2o{zL5zxGD;@uV9sGGlT}(9FTb>ORX9g?a%VI&^%=Ly zod&cCfx0dh%Uw6A?0!9N*4%xWJ2cdP+)?!9<=LCYK{&6ked()+?3tkfai8bBV?Cq1 z_q`A$VbE|W5yQwN$)MGO^+=?6ASOQ){YNy7A=Y7uJKk4mZNo9+$7I4Mya6rGAU59jKlrxq<-`OIUFKP_Bd{nGkpS8dpU z{T6xaqWV1R2xqYs`z=Lf70?&R468H}pY#3cEDVI_nuxAKL`Fmr$dg_GebR-9Um~>T zh}ek!GOf}+e7qH*%Zy;eEtd@7N7jR$99_6ER0iN3cJwFYMMahQbLQl% z%Mo)rCnWT2XZMO8o4UVgsp)l-h*EHbv~s{chGT`M1Mjkx;xXA}jvPa`oUIHEnOxPb zB<5pq_%|#2xBs-s4EV#Z37Vqe1>J^So4og-MN8}6sbBcCaQ^1|S0sPOl#=%OsU;cz zoUmu+vgPC6ZCLm;+nG|@KEHU_wYuF8;;X&07Os?T@LNyUFwL@>i5vKrD_(i_RTjN$ z-J%N1)V{*cJ+*e(8!X}JwH@e7x*lKt?a8&vwz2r9*JAvSiW`I^ zxx~*PpV#;-z9WBDWBeJs<5j{cnXd~t0Sd8YD_+YJ$o2@aS~k;JwkEN}4M6xMlsDf% zor%(UGmAwk3jpvls_6zHsxP7ZKQVhLOGHAGFozN`4?#j8yHdr1mm!}iLrhc|-W0*< zg+)#`^D)tV^UyC+k$MLW2bwTnXatkv5$ulSH^U8TGi0tmymS8&vr%O*8s-f#f=^9$ z(-Y5`mF%Hr)4*p37lXWlwW5$xq3hOpsJF|Br#4w@8%EUX1|yebd0axDMYH%ngm-2> zUN@7aqLQpFAx=#T0CCD>H(4JDm`!!2*;s5+xM)fUgS83LpYR6)29261 zew%`NWL_$P?pB5jwks?ZDyAjiId*~R68XP!`RV+nNlVX)=|Gw*VSg{+KDKKczX6~% zk#oM4Lxleh`9PG+KGg(&H%Clt%(Q?d!Iv;C5ble%mipY5QlHgaTJ2*lE)Pp>3Sd#86oMX1~f7aX0tvW3i;;X%nA_{$?c`##5lr~Y)YEf$|i+u zjiL2qW0KJYpZ-)&>TmmGTIZ5cAdnoE!q-Q#>LmW>v}c9o#O-|V#K`?g`y&seh&$#T z{s{EWcMYGiWyaQ3J;CoBKWXUJ8C$RfIzoLufZ6uIk=Gsybh zFft5SJozb9@stlM`>Bu`tKO3APa9MJ@CsYkI@g-|%{f=w|5~hRfAbRS^5sAIPJUrv z9si0Q%vth$&9ENFT=vtsv!`WLvdD2$zxwGEKjDc?Y$N^n$v)1%30@a9Pd?JO9BYcw zxXxn^lT}mvy^SunYg$0#jq*+lh~}u+sEjC4ALR#~VN?`Kht2NS-TT}kv04_nMZ4(s zgWSmNw)^7ZR8s?STC3e|dLUqL)o&#dC)1_NOs)X2X+4pOMJStvawrOvjB!>>pgfBd zr*a`sl`PI1@q7Urn!;BZO)M>m{}8xu{>ncc=f$g%X6wTnQWgwiy-(LZU)eBduyp3> z$G0X7*!Ez35$8qhpWC`;Zf#`V_8l)|MPq+c+R+|tSw(i|sIvSK@U9oMNy79dX)-cn zWua{>(1BhFKx#+H22gm6Ek`{e7GsjoO{*_t!Xe;E0-`k>k0PO6^3<_SbC!L$apK7Q zdkVAfN`nKWi@!#ES{5cu_;5?ZisOHoy_A2Q*0W990 zCef7$;H5Z+1YTV&rPyU>P>HWX0=yS8waLZo`tEZDW?~9X0xkcTXOg9d9}0iDJ*awe>I0Oy9oj zo?EK7#RH4ViulR?823mR83giRg3}i1;i`Z?KPGW_zzmU56w^OO(u*-MI=8zmzQWp? z?Oy7B!3_=#w;PGmmI(o~E!-fW)Ra-CXAbEc%@ijs0*&6u$uz)cm8~W@rT~rI-b^q_ zB3HqP37xA_EO4v2F2g*Z|Bl3$bS5}57qGB(DMG)LmDR6KowIb*t91`Oc``9Mtyg-V zw!PX*(f#;8dIT3?HoiV|UTC<{XU`tt*vu1Cm(8B{`NU_Zrg!eYvSd`>XE8G~go|oQ zTh&5%-0g3xVvbCw--JX-6o#^JZ?39AeX#(f6H_~9Rnax@;Q-WIQIhqX>fpjW) zo^k*|W3@54Vjt`93(rvtDes^#1#1Y-C7;VltjBgcQK)x7AeZfGI3(zf2>#tV%|q{O z-?weHMt4xSDBL??Lhv~usb3ne5KaX@6HQdO`)q;8+;So%aSN~A%SvbM3$kr z_`JfeiCz)EW-94{xOhj?#d*yakH*EwR+BHoid7{Gops8^>zgi4Yrgm?T)ZUIj3e^B zyNaWOZ^F~i1;1-V4F*Hm3pE34p$tNHDzrx8k}UKmnC(WZ%UT;SqU=`{ZV8VI7wroTv zTU*-lg@U?F2gs1CTegc|=MQSUAzZ7$p>u%et4GRv1Jzq9DM5{_aiCW#VL^1$8ZZBm zl7eUXLFvytU(@jKdD_|6=i+zk@w*lHT?J}GQW7eG!=jR*HjqK6oVLmf^vGNkHY4uF zSiG}dC<>mEo(P7qpMp2U5}vhC!cEO%!TnI&@JL%_IS0cr_NEQiw7bsDLrAIbC)r-R^CqY=b_HEYw)FiSZ2;c z%Fp`^WM?{e`C)>)O>E@M?~|fTr+X6gm%3WrG@aO82Z#igOh0l^I%gLd`NUmO`SsgSrP&-?ys|sezu4AvIw{RqWw_ zN|liYGEk~*0HPZZ%6xn51F9YuG%^lNzByQ>&S#5xZ+xu7)MkkEk9` z{fdD-YFKFyv`XT4F|t-IUm3X^kWdk;Y5)l2|6OP7+I{ zA9*DVom8P`w19*}eFuFH{d)a&{UKmK=`8>X9HL`Iy8b#LO;@Pvt9wniTX#&Sk#!}L zTBrX1XXx|-4IM_Vu|${`Y@k;R-E}0gcKwB0m+?Lrx+z$7W7G$50P0odxAa;;l7Ngz z+9#GXsrxy05$E<8-gPSP%HEs$&Tqf}E?fx43m1g1gE4G1AIt(=v%&k(dM-GbKm%TZRg^q1h^h zs?w!|IiIZh;8Qh{qb5PCxO96r{uaY+1OeHW{_OoJt1rAL8f6t60%+uwmlX?0`9xxpzj{p(F;Q{7r&V!PIL^i@r$u@yT7H;wE3{m zS-6EJEJNrcrbA;fASYlfM4P&ox>7B4P%|I0(Vs%{IWmY#kdUs|6hZ@!i%TpCgpUoM z8UAeetKmn1YOl?(6j=nbCDwA%B3k_Txy2%CW5hVw&k1b7DS(4an*!|GY9tm6m-izE zzz3>Ls6PnNqmUiZK2bL#?&o;ED3+aL(##orO($1)=eLBfo_S`AkRCkoeIG{|<=_kx zI*N$pz&Z%LVFg3*Z`&eD@$$YP~}1Eb~@ z^(vboSW@}(X^GP8`QxA4owp;_*RR(kM|bw(u0>%qlNj8IXs$*D%wx3>C$L2VlwC0f z)&X3a!|BQ7wS$NUW*j@o$E64>VmanS*uLxOU@C<7Kp|I5ffnpmC8*k|?)CT9*lZC; zBiQZ;))28ILWqb9Gnb@Bu;>UDhTgT=(S}WH^GF*ZuT8HuquYonZJ4@^vyISZL-dYl zAv!GnRo~k_!3X=KD7(5Sr&>`TWU-kBaj8Jhgh+Bj^thCN06iK1+C!#0@?+s^22$Q~M?)W0orTT}2vc#KKLMf&_#NK*r?* z`K$;~!o86qI7BsGHBB{3wNSOvU*QZ-%F0U4ZW!OU@0WCEYop7Z8$UH2+5&E@Wqh{wObWdFX#q#q3sCna-r#c-WiFn&ZUbotu-JW5rR9 zckxbAuVIXm@kt<~@_TxvBZ|JyrSI_*|F4 z%rb*nZ)~i?e;SS-ys%*Q>;(&E|LHM4bpifkUu~W^xqZ9B%!$KJ))%)=Y@1QoCo8Fn z4eJn<7FpRaR@%!l>kb^K<9|KyZ$ud1n>g`3eu|!;;dOO4HlkzUW-@bd46~FjU$bWUisx28`TqNdMs&YB%dgXg_b3<;U?UTNW%bSKw4^@#hGDd> zlC9wP4_CTIWjNjBI#^x}Y9JUxKApv_nBLj0N&m5*iFRE!Jhtj*L z;vqDS2pBlUP-Yt``63rLH&!%Oia)0Gsx907a{qUF4_sGO)HSPQU>9%iUd5#)-Aj6E z9F3KYgTz;FW@L0J=r^Zo!Rmsx+scsy-Z!uN zLf&o`Gp7L1r75R~9Mwpptkz#iK^jU*>B>$Sf{=#$fyH!VLyE{dGmOiec&y>5{jt23$LpR~g$-6(}!GHOD z7a<@K!UlrxL0C0Z*M_timDvh5AW4ssSSn{y61-@qK`!UZ^$1$>h@fB>`B3q~lzv`jBR9#_!f;mzPg?ET;HH;Rj7nw{&vPyJG-+5o@cx|51Qm%whJi!0Q=Y zcbNa>FC)fItQH-mnf&{6o9h-WTzF6RRF;P2LDg{%?Q{h30T+sZ+yiV6tDx|EGYGhx z9xbOEAU#^X;)JrqnwSJ{%@1yDO)e@7V#DMhQx(3a@*uc^SB$oAoSN&%*W5P&@sDocB2eXC{HT?-NDQ>n;`B*-OPoF?VUO zud88T)47j#n7~%DtTpO1Tlz;Z^;LJkq$B(foluvKO;G@{gx;!t{K+rWHS`w^ZznDEdKv(Ojs!f#evTLuLlF?fx<(j!8@u$ z>;N=GBr-6)S`{uCsj}4UH<}P~ysh%^aL8dO3r;Ln@)}ZABr@^hQ1Fbr0$@ibCCJQD zIA#$=PFAlv%r}17L@>p&ADBeQC^;~`P|eV6)u)y$b5T~i3q6=UIH04YrnMbjJ_-TKGemW4eXekXenvPdJ-0;zoT?_|ib2!{} z)Skm~Tm%EARayf?B0)inqz$4pB;T%Hol;ie!02@5KYuW@BY+0@C%>5wv8?y3@76Di zdr!S%S46|yh~r;{2jAn@_|LhO6YWzhy%b$fIfsCjdzmYf%zAl};^@aS+12>P;H;r?o&u$$C ztUb7XZuW#|Wx@5*!CM10>v8CH^LrzVZ2)?vbGS>4mIA>NZZ9biSgODTNxkdV6@M6h zAbUVi?hBLdIHe;IzJ3}aYiWSA7adwyQX!p2In1}b@7Q7L*DWqKr%&m<4?U{ByrFaN zCr$b7BBGt^BZsS4<48U*xaC#@v9l5R@gQ6ijs+(K(jET&%|{2u|c8A;oJBPffK&sA3~xp)Y7O-Uul($(Dq*X(L}U zi7%4#A-rY^k2hslD}`-xU;u}>FF~*Z<&*-aDWm`jP78K89rakgE_t(CG+{Y|bH=XU zar*B&`LS=V*OtCG=gWVy$*jkS=R3?#>`^l2_1c4hNm02hGsRw7I&;S)>2#{^>{y_U zU*PR;?7D9NYXg|5B|>~*yR)9mclo||_?Zbat{=Fkps3$Ab}zt7&^e$gYIZiqy^z6gcxBf<`6d}oLJC&Ty94HHsdUcKJh9*dphahjf!IlY5FyC5?lm^P#5EwA}L+*0L5b;TCP#}MX_qp(U_OB@{D~0*8`1zRb zKQ{(T?_InMC_ku_mn`4y-~ZjBQ@oE-k>3R?q(+@0$9>ZLZU!(c6gWqYghps|JMCs8 za%>3=ty%a$aLXAEFwhl^9uo>th~xl;7?^5Bn#wZ(aeg7IavtT@QiVq4<;-8wSb92( z<<~-$8sf~alw9Fg*7caqmRvk~^tNgZDsUf%(0`(8pg%hyHWroPv69B+CFVjeD&4)P zboZjt-HS?hFDl)=-iSyMpo>;300pchGv!rD@juz&5L%_7E`(zHN^3(9R#aq4juPm| za%f+@XVJNQ!Im4mqFpqr&)Rvr|Hk=`(&47c_dNsITxK9ttBumJZR@x%XXOiV>AdkS zmc|T~p|bZ#RtRh>I7j3v3`D;W37_UK@!8@~j!iU4;5^nKk=>|S5Qs1$<=bJEpjNehRxUldl%4 z2Xv_)vfAW1U}stILS96y}BzL5sS8 z1@R({NO1N_OhsPZw47*3GYmW$=F2C#8sQZGenAFOM)r!SZ2BJlU5_k43FgisE@=Yz z7iRqQ+n?&M;X#BSK!B1)R5+#jT@r%UsAae4%_Sxy3Y<_-DTGQq@ic@vLX%HV!a&e; z+mlm7arPemkB&*@{MQkw|KKNt<@=%yPfEj3$gzP}(O>k_z2{zj0b7{l?j>~1j$MNKl}M-cde!y!X0=p@L1e<> za#>s^AXmtRK41U?@RD6CQdJ){OWqLFDro1jlx`XdGz$ZRzxX#rD_xDOQBr%lnv!<+`IfzRqQmXIBoh%3xTRog{|LxhiTb__5i3J=0FTAz{n_|1I1`G zF@T_OOYVsQL~1pnld>&}vO(yeRIMoMloHW={y*BEe$PDc@AQPJLf>159Y^-LDQM+LVm4D7_!Dwm=X`~J*+xgFV9K) z49v-~dHRm!sfTIAZB7_3Dg@wJk<@-xJ*-xJv+ z>d3gFSA=%u+A#V8|3UL?@@E2;Rl&m`tJ{f9CVO76_2gP?01vbRE`wOk1@V_$9ORTw z4VMgL_Uu~zcYbi*u+$m72M@}BD8|yKfG>La-I`C%&sQ&2(uro_0Do_whrl(e5I0p>BH@|C}Bwu2`uE%CB+B@yL zUnbwvyKB#--Fg(8tz{i5U#?!i;pBzIQ#%YE+zKh8gT1^SgIQIYVp(a->RR;f=tq+c z1)HX=9PABCPfLq8I2{+Q5xVCdduDT_#aEc!p%Xz#011wGP>_N(UG`^%AawEhX&74y zZ_z5~YlP(!qpJ3I^#I|?V@oK799DZg-cpa1AVq+==YjU-f%fKs_U5qyr^o}8C65Ol z12?d!BpIqOWb?|y*+MWN`YYnN+QM zsT2jvB`^r#L6ZyB1fxSAU`>S$-SNXQtEG0*+Wm%oxPGDc{d%7h0 zy1i=D%|>MDZ+)^fpjcnh25B@Lo_L~LuIJMNAzK?N415D)5(s+bzWFJ zy1t@sLEB_smvlakzxy~#Ntak|;7=@aVMC$kXM5(rpcSUrj*9X^EL^#NWK0Y7WK4@w zq^mHMsWM9;jHb#gLfPLSM-FC%u0h47e2qdGP1n?OhhZ=lIOxmpGp%YUQgx}S6NnhP z@3Bl|lw!0w<8x`d_;?ygA#wBk-VV8n7tmvQLvH9Oe=M{9y zOW_}>dl&FGPCvFOp}07g_5F6{rlg+eL)ES2(hg}m(!Wv&jKLe}Ho1Z1jjD(wUz`|M z3yu>J7GkR|$j1=vP?eV2pMrR%MU_vjb-C1FH9@$S#tEGhB{w8$WK+KRa8V(+&j!&(DtsFLH7#F`7eBJ%DwrSzND~r4F?&{ou z{j$DV@Jxr;xT4fAuw!MP1qe~?n2ajbWPee9hXDgRbxSGfR#FGR=fw1G(mnk;^&1=L z(8;b!1k_8SQLs-y&1sx5(+I{(m2t8WF&`sRsrwtpsR=zy;%YScV zojwkEO-5}QcVf`)A*uZ*_ITi(i8{x732hQ`3fKHOIX#&lnY=_l)RfiMYSD#7C!}W& z2<{AdR6gPbzxC@|*EJInCL0A+WTa$_w-|xqWwdx*k_+jk ztw5w&jjT1t@`>joppjuNj$1lKU`h+!$CjYyLH zf0`f6fRwUh?1FWBk1o6R@)M&gJD2vE(|1+J`trb|55G`cR5+;ck;U8JUV8KE)SQx; zV*<%(9ZdUaLLPWvhM!-1<%QBByDc)dp`_9=Y0_7ponrUA+Vw>0L+2M?DC)O_Mg46; zP3noR=TCjgH@>F%iKd`K;hGoaDVVW9H`J6#QxG1VFl->iioBM!-5|E^Bax)95jLm?ksyaVA!s48WZ-aum$87g3_cXQB%23zqmK%2LV6?i zYm>iSMz{gbT4*^U^>5*$pEN95HfhC+{N(5#f*-M=-!>t6Z{U0OJhwVAsA7LJvE*Cu zy6^d3M)Jm^Ar)l`3b!iCZ`K1|$Eddm@OTI=nd^q0EVE7!o(@SkdG?y8FJBnVPmf=- zG=K?=6A z9`kbIu_7sbz$X|I0-4z*MeOa^Ku%@}QmBR%rgttMmYddn0B&6bI@W=3{Nv9~huv$!Hm4z_WexYh?Md!SPq{!%@vsS3r^&6L$ z9Norh^m+>16}p+YPoZ=`T!Q;pP~d1nM=7hyp>8GA&^U1k-%{F_WKl!!O7)R{T0?6& zECy>CDOssVA2^_1jvOx!Jlc5xSRAMtu9~QN!#}pXLrFVhglH*F?i5oQGYmKe?M8JN zZ6jIc(Jtt_6s&nw7B$~*XB$g9X+$eX1L*&kP zHs+Qw$taLXf6#TvXdjFv2ytJYz4eE@+kTWsF2v>w|Mx$;{nx}x)l;MzB|5+wV>SGy}nEwV^6Mf zcVCw8Q?8O$(Qke6Fn7tfq1!39WgFc?3VN(+-}tn9SWb`W{e>?F?Qh@f@TkU1Qt^9T zdi|ZSC4oq+DbX&1Y)e#S`#pA>WJQb>2>jtTV?yHaXcp~{&x}y29w0P4C#Z^7wkSHv zcuoWW4jg3iIWk`e6uc!#Q$8vId{1cL20{rBvMk_dZ(y2Vo3O&wo0JSrq{oVzYA3kh zeI%H0$#JtHSjILrp@(Z1$%&nju8c)PhNImCwRRPmq8?{HJPFnU9B$2Vh}!6g$q&G8PMuroy|21sovy;L~u2!X8;!q|kN zE7L}@^u3Kx7f+pKW3zAl{m7?MDD!lC2zIR*?xJySa2Z>!DSB`H>a~$BB_Fi~r!Vht$N@Y8N)>4A)tnaN{DFGkS(T#Mn|rBh(eZ=pOUX+RQaUKkIpUFQaohTnu#)$ z{Hm+hgE7x~b2oJ^9Wi2=6t?n0x9I~Pw+64PcYF#?qUi%0y4O_?f}fWV54XZTi^S0b zyh5kh;q@fPh9x7H%dHA?Q92UE{Atvh{AF?~2IM*AA5nv#Hzor^jw<(vjt>rMO6j5_ z)a6de7YB}ge$Z=AOo6~+&!pdlQebM&Ut5e zL)FBAj|jc0UwDjf*7Vu5uW?Ve&mP-4@A~wKDj5-=aN7aboDw(WT2WKwIs10hH z0eIkq51}-)HP#bsam*xT&I)dpTfmPs@YA!O$$xsT*glV|#DP4xS*YMbZKx_*yaxZO ze0vQ_!K(vMWWsgMaG^R79?1fh5!vUNqhuQ9w^Z*Hyq7>g=ORG@&+|mLv z-e5#v1SsT6?Gw+e;McZ4J+P)>$(q2R3|~1CiiB@5GPybBZ+^Jz6yLu#jhXX4-!tVQ z6Q7F#`j_o@_$%k}N|_7832#7zBY{cb27?6!l_n!-O2I{CtqV{{L>?1FYH+fV%7L7q zCN>Om&dZDnb_z|a3tNaVgzt6)7OFQ3u`KsgaF78lGz*Nyb&K_J7nigB+L{b{^I*nq3=;xfn`JF2*jWQ%xPfc zBXFq>BMKh1sxF|mi82!aNm-gDtQL8HFgdJ;Ns?5|w~U{ve)CS&3z;e5cIpeP&pH`# z*Mvx^)dc5*PDL1eIuX7VrzQkQ8hQ>b0GfJK)l!g7LEv5W&xQOSHH&To;RRO=kVad8 zcu5|smCOSlsK$U?t``7(k5ID6h+;slT80|~3yyqm@$sV8hmav;u$T`p2vlEy#AA1T z#a6nTyoo_kafP?1Sxw&(rSa$UM+yy-lSsW8wCzSUJUX!x;f(4u(5%vZDWP_ESp#~-@5a`J}3uYr=I%fKOf=SMo(pDxh}YxtuNv0rOjx=M)>FR z(fKe~sAhvG=p`*_EeJM}#0{0C%PL{KEKq0#;koKau(SN~3_r>Fo?KzZav=(nx|?SL6D{wyy=c2x)z#ld_D>*05QY#z7(xVLNbm?lf=5`G+GIckQ%q2HVMx)T z;cR9xkayz$$Jv{JM^R<(!*#2wmvnkduSq(4XAdDHAqmKm1_C4@KnM{Cn_-bnksU-t zmWTn7O^{tgL}VC75fKqlK{gQ)5s_igQAAW27Y3J6AjS8dTh*Pw==^`r_b^OCTYc-? zd(S=R+_SugW=5=wpYkRaLxNDb@R*VjidCLP2Q2k0Qbqv<(+T{WPU6p)q75jFnP{qm z{*Vj_8Mi?-qZ;1Cv6^k@D{9gWuc7n;lGvOI7=S$01b#vSm*R(%&MPM<1m67mmyat~ z1}kU{*aX4(=6X7@DvC2L2sRV_c%Y@*1=7L*ycUK93B!UQG*uRc1qs7~goWwDkprlA za0MGIP%b9c=46l=%4yIRL(+{^ln-uS2ysLKdXZG{)C#^33Y8jDLO~)o5;_DjnCZ_K z!Yo;AMzdQ2<~j8^S9KQ=5L^n41OjiNUC|antjkrly?F?th}guWufW>G z5or=UT9QPh4XcT>Ma8;Jw&5TxXinu`wy3OOk3Pw`Hza(1{E;PDvHR06u?~t02%QZW{GSKc(+!zZA0~ltQ z+BAV&t!kpK=4vI3ey`?y^)L!Yz$$jTbn~8mG%~NaB4&8rvlD7(G${W(!uo$%KdHLc z-E&Vq^u)u(6F#V0zg@|y9^1b2J(A-UW$##X^iSdT+60!&P`JYOf0unV{zc{0H|KAb zAAIFi=2-Ds!_o?7pE=^6FY*4ixAw@3VA5y8mo(>fA?wx`uUI2Wv-aHjA`lg3F3r;A zrUM7FGM!cO`G1)HMY=8>2uQCuBTM;DO9cJg6G$+X3F#>OOHa4D-RRN~>9(7#N!BFD zHXXvgXp8a3i-Vl|iF}1rELCk8l6;3sxzM3%f=|<+Qemxer~rOYc4v)j##> zCns6ywkYd)*W@o|-akc5c_ia9v2`4sp&TtGuq6P&>kl13x|05%$>s?|s768tE`bi;kzME!=OYemX4 z@2QfOw1%SG?5LWUBvcKQ^_EA8K+SDpixz@E8-2D1)wtcRxO5?XPz@mVf@K3L{5k|W zw|g0SV(_>Ze4nZxfIFut;ZVJQk-}{Jjc#UA#knkF$?K!%FY&ffLA|fkF0uyfLkF)) zuT@SH201(gu-B1#{G>eTs|TiTTU|a%xfldz&wa6d2bKds+pph6ap0mRebupc9KMmm zgaN)0Yc>KlffFHx*(^Gvn-BwFyi>v#BABWs1eG2)JKn4r%V3=vHjGl<9leyL zwLszWtbStEjZJWBqp+Z1e&rAhinyZ=C|+2TfB&K0g!pc=APzR<|XEr%x{}d znhj=i7_;$g9kxfJUgSXVQr)TBvdb~ZEKRj z#3TWcMadzAH}W55>TONeAu?Nt_xN=P)k#s?mC4FBG4KNmtYP=TeEEDQGxF1gQ<1{K-qUh>rlx|A z%ImpOY_2q2=~vQv3gP=VV&zlMgJ+-YU(cpr;>Bp#?s}{V0A~UYZ<5*}PM{WXuEy== zW*sam5;)L1&@!Pi2mHd#yFY3d*T7==*5BDQ?nXe9NSm?y$FM@=p>W4Ydau{4N0%Oe zq9MsA3eBlCi;k=)YzPikB>5zrMIo;w7@g!d1sU-x8F=EnfICv_y1=p<+c9ucua@QX z8>qHk2=!x7%{}ZFB_~kfax_`(9;bm?yc!HF%7S)mbl5ZWxD6I! zG2|k2w;EB=Wm$*aN7deWGdn+7QZ*Ru^TgcdPGuj<`OBJM2fe8lR;nCwG!vKL_0)fY z`e9JhdWYK)Y1Ek`QOOkb}5HCu!ICCae#N197q{P-mp_bLt;rwwjquqhRZ*sol2gIPA!4_l<$L6Ng#AW1TPau zJcB-?tS9cfMYqm=Y&NsMdrq0EJTgXHv~1JimoK9#_M*IHd-=_R>}>Ju>~k#!oIW*ToSe;UEa^mHWz7>^=cb&<~NHn))?asY?MA@mlmoJX2 z?YsEi?S=i;M`o}4o9oLDGU84SuL^X{Z2k?Co?HCJakp#0=+qV$`$#WtoHV32MJC!o zB-55qm1n1bKRziTIX2mu=^R%BCq*VplQJ{SzSvkeFJqnNG+Z_A*c{A5odU@Q$R}rL z27j>SN0;4S~c-7>B8XKl2RcO7I zG$*<$%ZL*-r(yPz4U3dtURyY5=!^v$A0F4GO%E>19)Ll1CFcBV2b43L$%FmwtCJs% zQdZ(qYUXtiTAKjqNNc+y;mePdEJ*RR0G4NTjou*#ouXvR(0!LIL;7<^(_YfFF^;cf_x ziWG_(`v0__n2h_&RfGzE{vS=nKBp+*pLP}_#@UQjag(R!e{|uDpf;R>ZajMa!g0ZS z!l=5HyK1mpTH{|baqbr-H}t`zeoZ}EH#Ys=a2M0JowFJxG-&byqR6R!7Hh@bdEh9&??GeN3%ZFE(S&`S;mkwSOU#Q)YKd%GV_tH3cFCV+V5yk_I0&#dG${gW2`=` z?ZN^7)u&7uCoU|?o?`FVE!eCKTw|bi5?&!K;PQxJqQl@oDAWNv1MW`&kuw->jU_E= zsg;Vd>coa{20=F6=&VbyL+xrP} zASN)0?BD(eEd>K*)KPGs!m}6tsH@<{I(A9roo_!4v2@;^HO2!9EwfZf~=pPjCd(t4_cOCZL5TaZO5D&@{#dy^Lr07{V9? zH|U9cu1WC(jbgx!7u`_it1c&4z(;vUL4+tU0!3-;oX&KO&NNkB+k=UX^o}n%ouw+B zzjHcMRb?#-B``^iFyL@*1OS#gV_{J{nc2ylvNP3Eh6Z|iwQ!!GuA!UAersxo68BPp z7FlEwO+A}5}4RS`MYvOxutaZ_Ry~X{1ln7V$02xT|1{e(3X;@^D!MCG?o!Mt2)q9MiaOe zGTSeID5Jrc%yc3E)MPs#LhXVWuD3&t**(C2L0>WaGt4&%c@yMX2hmi~ss2Kj1l5|x zJP0P4lZ%uE)eymL8B;+i1U{w&WVWy0`Y71P%>2>iXO&B@zI=prhp$}X#`DNm4?jI+ zNbkYYix*G4uWWzqxy5^rXOPkSRc;FQi?23uh4?A$7q~+0ej??m8EF`WaU)F_!&Kf9S#od`wI3~wqMB)VW(mwR%G9q2a+g4e;5&#K3gmKX zvN?~6?5^NAY8zKR4uZNw&1>o?Md~OpB5q<7M1F7!Y!Lv?yVr}VV(MvmKe{jKy^`KM zuEwZ`XPgHZG*3WK+EIQ2JS)(JbTnVu;0Szw_z2*ZV6{b~3{jy6NQUq+gfUiif11=<;DoQ{k_fdH ze3$oWlBjuTmq|)gb4gUC?(!9t=bD9hg#gu2k|gRynERlOe}g2E_z?d$|L>f$@!y-g zMV1=-`h?y>-yvS&Z^09xxA;KE7CvLtgYZ!VjU#hHwDQ)2oFl(cpSjgj;C@jYtKjEl<*O-_PH7*89_?44nwr|d<r1J`_gjniT=0bCCW zZ8j6ia}bkmf}+VULR@wPJ&DewV7E7(^}zF*uzv93>-FbHl@_(_RN;tF&hYdup4X&i zd?m899%=g&yYH&Ix=$rf_(JN}dS&K;ogizWV&^V=WZ4CPjU0}!o5&Mt6sO-GBM^H?WL;X>W2ediSjqZ+G$cP^#bF z1!~q~Y01SOMX&%w4dK@#fZ_h5)qzDzSv>zu4z6IhXz2CgW{}gSQ+G$iTJGv+pNB#K za~c-~)R51=NgUu@aBX1mPk5(uG@!}jav`js`UvcqeVw|T;^tj8!))8f5p1rJx$mB?9AvE8# z+VpaS+d%!>c=`_c#>oibccCC@Dp6QDWYVZ)df(1Hx?2mGEIXQe;;6D$UB!c!*lvoL zDCL(>)=uFP_~t;?i&!eE-$xKm5_+O0hG*G4zu@LEF^12C$IIIlK(wS$9! zoms+&DY*L`SGNCfU0hKyZ^_63uIpC-_dLvtq+66`_Aq1t7qFgYJIh3-R6okm$+ zk$(En=2zYuwl#ggvVOZxtYOi6YNxTB&y2-IU89`FUo`8&W!T+tU)joz38bi zs3t*#@0IU}=6r?W0NIwJ-pF{VR6e>OG@+DY8hj$KB{kPKIhUo3g(vsEvGCI4+iHyl zOK+Ba)fC9@*27o8ayw;z{^q2=HB-JSo7SaMS?344Rjk~0{@u6OsJAvpb{oLzZ>-Eq zZq;tsoZpoLA0FsaT~`17!?g!BeKs3d&vj9zQO?UGg>{|DDwz0l$>(%Au^3s2PeBjiKx;?DCu%Q2F z7Ofn3|L~^e89hr*-_^OWS@Xp6eHPb`nV%dM_abJBR8{!|wuid5L?bs>?GfoZY+HZaBU*5JDtxryi>p5Ff=sV%Vn1%gF76u1w zJ|pDnP^3!RjiOUBsvCkIv?2IG8-gFl0`BlK^aydf-RLmtw)+JEMXZ_yU_ZjIiJ>hB zCBXoi@P944%fMrR6-Cy;gLh=ld}6X%qyNRL;R$YQ!^EpkyOcsq8^Ns#-$GzI$HcO#1<4B z{VzxBSzFsSovXdotYB!?mG=*yi(2&u&eogywn_QLBw&>64-US(vHb+`U1fg*oDfqY z6<0CPuGoGCWd2)pX7^yZb8u#(Q@zp2-egx&rfX15rad+Z!E<8hSkBS;DAf!K9<6LD z6fV^cYtf&&WF@_v)hJ`W`QXrL^U!o}r~c)o{!Rnt)Yi03$;s=PI%531{R{fO)p>!5 zRclh_9%#xudK}C7XiDpNU&92z1PBBvMX~r;^3@WM)Suu; z#d07iT7PxrF&WkC#Wmd@uYU+N#i`pITKB?XSoi(^h)BH6dy7K&+tz&7=Ir~{1wFVR zllpbYd}cNw5$a^-)mD6Fe_|52oX> z>?ci~3On_R=3@Pu6YqQyF3HMff`L+zeH!|-Of76xI}Nh@3}^5G}-DNrg-|pyYLCGc>l>?P zVGt&Y*TfzE67+F9318Spe`m99{IGMl7yIgL?h$M1e>eODljLm8AKoKWwTv}HtjmC zXeLOXx_m(rDYPA|h7GE7B5{^jl+X%Jc;&*)=ULu~vG0_Oo%{F;?~WQUx;|35DX!e0 z{G#0Y=FDl<_2sMOV;?x1FnFDIHnPU<&?AjWuU&wG z79=+wRpTXi4T3Q%iXbG9SwG1~91kDC0CBKb>=zfEJNO{c&nAvr$x!D5R(!urVb{~|U&utTi*Vx=T zQ~>GzfVMkG`%`%>J6Kxxv^VLBq>^~%f5g(5UYYs!E|t_j4ylm?S*f}WL3yZrS#{sw z^QH*OL*;YyId@wxH2eyehU)kpqVwTC4y?=D9N!!CoACrWtqtN38SV*sqN(d!A8R-j z97CGO$FRNzh*eZrlHX$xZ`lR8qT8UK6&y*LDB~iD+B)$bws84r)+B|)NIvRfx zn+M6=?e|;Q2+f_QZRRPXGeqQ69eE)6M%WpT5Hz7qe;`ENRKBI;b53le4wuPKn~XJ0 z=M9bp8}qhJ1#OLEO_Na^#5W@3OXQn+3e8V7CX*iIbVUWwGEP7@E~nj@;B0~T10S^s zi3WX$#0LSSq7IvU8;RdE*^}vfSbrdz4;ye+I%}QdVQ=3te$y8;?$GqmrZ;&3*8Qwu zrb@Sv#(D??;jS{MJ4Hvp!JT?^CFVPnrIIV8vL1RmD*TYqbAC=UxxernYKib1;x_;? zA1ZGQ9nX$bN`?Np>gPCQ^gMQ9JwKjmyl04fhVzEHo57e;M}9mh-b2T8Ek?jQ)rgNa z#z{l1`cCjymC!>S!yTd?5_y3hO}yys;HxSlA0aD5HFW+r{D5;RaBweiUJ#jpE@ijz zf^Hc<;G7mbr^X;8v9XW4IwLyZ>R6Nhd@Mll(g9b;n)JtG>FW3aSI3(C=VR%z`2knQ zn*7IO$$L06sbfvyW8r{flDYQWgxnUnGWTpZvd>U{z||qAgof-I@0C#sX>Ph$J&fPYOJA?0Zsp=R%Jc0l$H-)x7vm7(xo3LG-ua&`dJ zGd&@}KZ-G!F*Jr!#WR3X;XvT5CY|J(;B%!)gl7aaRA`^iCt;d8LQ061J4WdA3?D%i!zx2z1Td7y zX=r39HKc+k$gns^48>_^!cZy~gvNjjRL1}XCsZo3Z>It>P@M;>;w#Z)9!eET{c${K z1Y-BbV?c=b>i3!)gGJbjwOrD-(w@)d$738;9$CX+vwrI5@(I9mLlji5oFtFTF-5ootK4UO|qLzs9%rGa*fXrSHF<`Fa~H7aPg_!ywz zph|@r{tAsjyT#|hs<60Ni4fmn^{F9%Is)GDzq_3FVh&%%dheg5`z0(sO-~C;3E4pQ73d1uHvV7vljUNV}S2(M1&$L zV6n)v!vexmLA;6^C7^sJ0Lv#2H*`XANd%%xe(;xus;>3P%$M5z0{@xPT|U?OFP+`% zmq*c$)vKZ~_Ez~E6ZNxDT?zDufGxsm6~wUF!crZ(iUw>ndVci#t%09PSV!>f8~g=D zxbfpPY3MX1Ex?Ib8%w-9$6f4}+$O9`AU4ci zYO3|I**><^x6y};TjbyP5|^g1t0^pnGX+}gOqlr3toH{|7u7*%3_%F56SW_3-Q!;q zCSo}_>>=C_03M<>@bVyMzFu1;Y~>juXj%G)qX-mvuuBgy{@3a z)L}_m);@V~vo{{hICWefYxl*Pa{SXD%ngf7%l=6@-F8;@s)yQoYcm!IVuOrDI;=l{ z!abMJDUfAz#k-ccB$rEHk6zh&)>l6gT`>hKY8^_g0poZ?@@6j;Snw1@e+E#j4}cU8 z(y_AyUzQM&PyQbyA7vFmhygn0WsH&#dw#_dxZ}F4i zoY5Qf8Zicq7^D|2A?Pja2b=0(eH|kmq9a@)Vx)j;JUZ>pUK-A>0;h}C_Ya8CxIabp z8mojU9Umz;9n*^0l1@E?HfBVY?z2flZDU49^w|93<`+Q})`gQ|Kv559SRJsfvHt}y z0QRV)()qYXI_W^*cl_KRNW#WDosQVr$nog%caLM7<88-DfB^?^QXCFb9}@$ATn*$z z$Cjcn?J3jqCUJyms_8M4)EEEBT&b_si!Jm4y*OUaYrh+{wqhe%xLmViSkD+16A=h=mqu8Y>Nn~|wOwq0PnxDI_BD+}C)E~B=7^3{ zg9c&i2IYN{g$BcUIrIVg!e-IApvEap=2%#il61$Rpx|k0YDv=j>ozZ2UUg5u`~AxP z_U^|#Q+gFt=e0`lrNT!%4SrI9~%=L*F636h-gF!*{v>$ zOZW|H!-nRcLb#7$Gmr)<lb}P7CHzx!Ru>nO2b5f&z@84FJOK|A9X~ZNi$p^r$}qGNT9ImLw7NA4XNg1K zsWRU6jj}XjshKfyoBu=m@&|jAcj)v`w+^o7mdM+W0(4?Yb+3{S zUU^G-`a|iFhrXLqS^N0Er&M;s@g4y~;;@e3{{4uJjtms*ll{s5aWxsqOo~fp`s5^6 z*-QBS@nn{qY$;3jnah$bz;sB4n>X2$?6LZ?>^_ux`6MfRrdBP=Pkvs=R7_2C^-`w6 zJp_pya`&p(+1Ot>5!n#r?giu?p{zQ2e3U|vl%NMRsb9bO_JuXWrzsyOKQ;Wygq9_} z^%uh~9v{7H%DmlM@>foOaN8=~?&mkIJdj|FUi84F-{d_5y2M1r=I%auqkQtnO}`H9 zzW`fE_x_F8T0Q$~XzPw*>!|k?;S`_^h0Q}*IC_9%paX(ih;6c8jWIC}TZ(OB|CbG7 z9xr$I08P~KK9esarvmgP=e_bZbd#KD7RFP=DeQx1QI)@ja^nx4lJw3iR&Ym+DtvW@I?VriUqlOThq3Fnp8L(OW0 z*5Tzd8U^54LYnvJIKN^Gv4`^DmA8Z!j-7X%X4&0+8RoX#Yg#YcqLf!mtys``N~L)2 zl(KgB*?0Q(l`bf2ADC3uHt~GaqrZ>aHS78$$_KiPrPzWnRTP!CYe1+@lbJ(}G|3L8 z0%{~c5a<*{aMRRapaOc>>iUl!S+H`+!DC05z@knl8!yZ{GG6Ipkx_% zF`vf8LFy?|R;rnhuvKK)p?b}fpAL|3nP08p+2 zdR5HryxMj45FxpSRquN~_OfG=GP4|juC+sQ{J-|ZX@hvwWzlI9p5&(uVn%NUJG-IL zk$`Wp=p1nd2Vz4GNf(bGTa``w+{OytBGzBPdqLyQodD&{k>5dC|}+jwVI{9wf5PYrC{=62!x{`$qb@W11`x**-9oP zOAzjk$%VwB5K(I2GnBS;N8(a3>%-FSEp9kdAPrL9Q#St6Aa3jY_zR%J>%5(AJF*$$=1)Q+t+n={&vE^~r%l ztoNZMmhxd+F8%)9vc5fjnsswZY45q8KePh`qG(j!4sMDO($GM%xsYV1#?|BOv+S}( zXLsmgJ&=r(8Ix)m6Ox!k$C6AQrUTN9fr7DG+BNT}pk>1FjuyNEQPbx|Fj7g6!F&M1 zI8uG^xd;`bbFdcA&wIa#}*JEy#_d?wC)XX%Qb&Cblddk{p&b?k91_BdQ9L-r=Jz>tv{ zNcEL1M%F&k_hghV$u?7&RfaZ0xiSz+k*OweNS@m_Ukz9yTMkTspnMVk%Mx=$W2F*X zz%G?E{8k_#bM59yZ1{AAbx^LC;}~eg4oF)56vu!GNPyRQgW=Q!Yk0U7;nZ-Z3#V{u zxE4+gM>sVc;nZ*nr-p;FaI_bVjz)QXv{OJT&;L1`>QA^mn96}*60~3{>Dpw;_slP& z=C3)fT-&vCN`Bpc{`K?|AALCd8&vrz7yt9^g4K@#XzY0RUZvkHQ+~!)7APL*TYU_`npfSlnS@$o&H(0OgLNVlJdTksk%qE|@w> zDpaDsdVSWwF1dv*N-V4=!5+#z*|}Cq+EZDZ6<6#PXS??Ld_}2mXlQd7aL!yR_kmPS z7s>+}X!K#yM|kj_2uS4!vyct~1Qsqs0GZ9PQ~<0)jdn1LfuAQe{(Og^CMu{p8{pZA zc>uR>BB4nzYEs-u*$w%d9=kMKX;8jC&E_(xe?L`Px6E$qsHol6Z_U3KEL&MIxTErm zRM4Pro`~XXK&`MHKQzkhoR(XZ6EAOnHj-uGyuApZ?-^J?l8tu-5`A`RyXj*l*=Mji z1rafKleHAspjOG?xew)T>UtuMj;kNgR)U>ykV~qbF4|cFfB+0GP)z8YA;S@NRvQ** z=#=-uGZPjLSaOABj4-=cr;f@O*}3illxW=u?B4q3(fYA9ADxhQH>@pxCu`5N8+D`m z_NnT!t)LT@9k#Ba0CFosNDH{*(KG|_NlA8}5bX{J`ee9AkJM7tE@(6iaLUOn5uy9Y zK2V(tdMf(Ia);{jVW*@l>@(aylV#Pl`u)NO|8%9;#|(TbeH3sb%UO0wVz%+2x8`lM zWZT);C+aqd{Tk|(pTB=`YukHvbjhFo&pl|r9N85JGII7TmZsg6K-%cCp{$+ZB&nw_=I+BFnvG{@miZP%v{|%h7Vyje~8_ zSrTD*wQ3nWzC18A!fYe%cCuK#fV#hMqfnSuCZwj62}#Li8}Rn#$X1DqEfYMxvN(Z! zQl2uw4>MX|(qeK^7um`x@Vfx%BarkFaK<61Yz~7cqp%XNlA19A1CI+HGM;&^E_H|F z{YB80muiaCoDXNdGYvT&28jUhyy&8Wrhb!ll&?+^>r>t;-&3@^e0@s8^yD|nUy=H= z{#846R4H2&WefcRRC*3rrmKU2MGiH)6;rax9;0Z~>4T_yl*kM?EW%bGpgU|{5jqV8 z4Tna+J(T9*?r1I#Pq7%0 z_!NTIJGf&<{AJf&ZIsQer#8czQLZ9x1sjKxWh>#rhWgMP;J_OJK@X!}#kA!qouGgg zRLip$jT>_}&Qng$Tc5jr1i6aBk1uZ4I=S!Y+3PaaWj{N@mYqv< zcl7YwO}P#FNqtRM5*~fxSlN~qGutYtND!vuR4X_sDFPbC+T3ohNr;v7ey<;TU++>_=dBNjE=#d4J6U)ekF9et{Y zdCiw=UbUWMxgS^-eAErObUB61m;LRSRC&F8eZPKt_Pn+>&_+^j=Co?D2)(BD_(#uzV6e^5@DnWxdJhi{GBUenp=O zP0g@-S+&uhxSToUsy3f2yLsa6ZJMUJas2a5A~^%lN?RVw^MoGdP5>Ur3sxjSZX=Fh z%*U}w0u)6$s_Gqa{%|atRgfdl2r08M=bUI%*HANSgNbtx(9koG+St+%Xvv-Jlj{#C zTQ5=j2$Ny%08_#Yxb!fm0xCUw2sP(OTQNxM)A1*Hw$>ZK0B^>@IaxX zQxflW1eCAfjZd{kxq*k71h0L(|HJJQ0so?5jC!A-J7CiuM;9jb+<4!nw_I11)7Pv^ zYOAfvsbHh!rp=Dl_UyKMZArfyi{$AgiHk~edjz{Ji`-{H30u^ws#zd9&gcZ7fehS- zN|Z(KkR{nFTlG$Y<)zb1?%rVYNL-Z(of?FN+zl{3gMCR3^9Ps6=6@^SH#BiCoKaF1OxdNORF8r*11u2;ige)aiaaIcTaS)IAfi=>(sJN zrCn!q=_XG)bMUCLV&8KdrTQf<{zh!C-uCm{A7@q8F1-9OlK7D`bSqy54hQ6|m)sv# zvtYL)i&2MFtfgEXyH1oO@wOG@w;=30DFDJmCl3yUK^iyZ{eHHyLWP&jD){clE$f+1 z*>$pGkGabam$Tsta!yXXcXa*Ng$>Ka+?$i8kR3I*#j^J-A=5r=NQ3>kqCD*!FDKhX=HjD_aMW@_uaH{Qc*rZJSjV-MpxCi_R5E zZ53tUdpoA@ezZ+=PAe#XA@jOtf$t!JYw^(gP&}B=f086 zq|&ndn6v%YE*LU@NI_~&c5-c>ubU@sUGwP9Vt-Bx1P9MRiEiL7t?~Slou# zT->?`aw9DIB>g?8S7?#+VbT{#R{_16WKRktRVM9E(uGM$N$D0#Of7r`(SiVu#n*y9 z3^mgi_C?5Fr#hI_^;IPn<4Qn9`Qg_L;!!qg`4;m{>y!ms7cN|HRlbqORt%r|X;RDl z+%$Wt;#xAdRiV6b`h5>SQ8%r1+v{hYo<9DIEe*r6vr;mutqI9k?7^z16+#ul$P?!S z7Ex3n(r2>@gKDfEJK6QMbk8t2?$$hdXt zOm{?Oy!Pyv9-T|ubVMt>;FK>EXmhO?{n`tOSEAaq?H8KzR@E7fdkN|{ooJshy2dUU zMO0U7R}hs9T~n^+#nccGdNH=TO@8A21#6zQu*e|Hq;f^SrOJK9;#l}dUZF0Bz$UMs zi^1xSyLDMlY1Ik1LplvHF+zA$G=zaM8j(O4B8@5Nls-&Gh*s&81_M4(tDsI0km^kr zb4iW>)Wp^ayT+9FY9kIUP!^7wv{%`47OuU|&%LXxC=wU6QD)BluI_sM$`5)lmvXby zk83_x*6n59YrnElL(zivyDyc#i=PHzd$8>#kWn#$I}q-P7+vE*-M@jX4+5>=1~D}n zCrCBkSRfT=UW=Wg7xG@^@KNR;9wv$rW1~(Mw91GtOsyRL$hy|OVEU}>wxw6mXQ`}D z--$^{3C^qj`sux%pNDsD#ybfQ7RoAM2ab^}>%ts5Nx=G3A~jh(P-~iyL4=a32w^`+ z%|-t5LRL9xc5FX3jesMkDW|4Qar!e-Q`3FJbtfKrSXn}_kqxKBY<8~4-O0|Y;gPVj zD9zwAh`2-nsEUa(v9=hu6J98%kFaG(yzv{n`eMjnT;yoF;5P#%3@sp{q+TlrrHiMV zos*pzS?fwSkMG$#%b(DyZ!4wU%gRUnTbHz`o>dsVnWeQdvwYKCGpbp}!s))N;R8qC z+^OtxUbWQT3k1Z5>!bI9s)LYkvxZxNDPxKVi=c}aw!(17y-PPsz@_Sr z%a;uc`hUBBSsi+q4mi^4{fo36x&z;S|Dp&6^|9nX)GHWu4Z*YI7vewyxHHfN36T8$ zm8^_88!i+`ThT-5ND=JN-^A*In^}OUcvGrk!yiTgr60Fq_Dr zzEK`ch%a1@V-mddg~PtwL33gv^?!#ui>{AcREpo-yyX9WRTi`EP$uPzKV+R)lcoG{ zn7y`(`H!Bx{O)f@e}LxEAQ<4+`ig5F>PCMKI|X1qp=%(+<&JbCU=ig+N6q_dYz$={ zC)wxh76SqnV-~j*Zm|HI))MlXs~24~%#5@j&ePU2SQyG{0Q^(~ketG(@P+B5y8F)_ zub(w^_kFMb=ReBV03P-zn=+(T1r6s}zVehfXTrpq;mw=h5_)~M_mdyZZ2b|~&zmE# z#Am?hby(tPp=}_+?TPY4p{az6x!AB8n+vF{E|;VxL_;^1*&LbNmxOnsJ(BbM$2SyF~3~Gcp|(D5XwQu^wg-bsa0Z6DJ&Eh&8wT2 z#fp{6mQuScWyw>kA69-pGrHH#-B)UUeQ?)lcKEqztaV|=`z!)T6z8Iznf}DHgWV=v zFDk$EXRltwiqq{SDmTmHpx0uBj)7#s7-qbmO19wI3!SeVY?cEjcFW_q2dgV%$H z091x0y%MYv3Esq+o1ZC=4m*QnPRIfT-%2UU6tPpm&5SH|Oxcme{`KOjjtfUTIqR3X zZ+_mp^TI4~xiZ6~+&shHI=ZQTZKu1BKQQFomj=Jo;V6WI0M^|F*7XT(clqG;_wBiL zYNx3TKTvNNR_62Rz0t@5K|KhPPk=HQLKYz^gC(DkiLi&^$wolD3A6~n%Rsdx4u9`5 zZWeDmbgXUX6ZdR?XZHL{Q=cu8b{8p*4$_v--cWv4u4Jb&Lq_4ExdVEOcG8Q=HI24n z&aI_^jBqFQpmh#KUtUkyA~dl@>s@L}tM^2?J+MYSHoXN^#QLBMK13fj9}c8oK#J^k zndmHlUm*cDo1Y@i;9P@PaNrC|qRx-{dxy@)s#&YK^?Uno&6VcmDuvnN&UH_`e>&a& zYfA3gyYkrjOP92@lj?L8a316V9h1kj5IU#{}K zM^pm2U3v{_vvYrH{I!gny6C*vikZEfEr)R9ZCLPb2GwQ-;!q+0ik-k_@yKWcMe#Aw z#v2+2?Ora#35uGVxM<@_AVU(5I9=Ad0xj6HXxkoTRRbGUJw2n%k*ghXeMTpsvu~VL zc7G5hZF%RY@=XkL9vlew1p_*?I1|1mNpQXfDpKUsSUhn#i zatzkN@~y|iY0~S=gkXU|dR_S)&qoJLOc$?X@wyzHxJP+!mrf@LK|~3{v6lAYTTXx} z#R`H8FvU9k{WXveOk`+-inFB?jZVK&ZDWDUu-fKI`+rbE!M2pd0{#a^MWUPkA<~pX ztS$XL&)O*m>F@d9j(mMY+}6+sKN?~{bJVR%BEWzV=7YZ-|3;AA6m1{`%QR4)CbZLy zp_#A>9l=?-17<1Fo|qUF-Ck02XIWMRWtQS=Ve64E82s9x;MZgXaMZ6QYG322huYT= z_B3AOUn3jf^S0(CL!4o%qC?mX3OwK5*66WU0BNC z=iRl>$q)1+|D14N3_^FYR(rn6xQ~y6+)f%tk8M-OF|OgytDkq*KF2tQ;r#Pn>Nqkk za8Rc6VDH5n7K>VS3abD{(^$%34r0gfkl_x>npJVTSOuJzO>&&cJuOG`5qMfYtGM+b zAAtoyG;u-&=?OjpPs?W&$`#Onj8$tems3qsCn}J;Og<#54lWAjSy0R4PKbyJ`k8&4V(CF@l}bpcegL<@gB3jNk}iCDLB7O=7?) ziOlEmC4{@$WOu`bG^grtxd)8*77a4C^FO zMU6H`@Bed-@4}CuC1B&Lh+zlknD~F5WBvdCIoAK*=BRx8zOTu|Ti6^z zA;X+yN%TZ|e6p@RenV4d4kw0sgU00|rrV&WeJ#E#;#Hid@YK~<&duA#tS9U%TvnLSAqHNd{Y-GEBKYf>4|BQ1z*uXt~l4JC)Y5J zP@f1b4`-&kSb%xqWU51}gX)iR)TgcL6KpUBMJ0q5U(pxA zQI^xA((zNqf5Zu}bJiVEerggT9d;wV1%*bH4N=uc;HC6I^rC7M;wxX67U-&rD2`y+ z5iors;va)j8jTv|5^VKFyh&OJt|OgGU!8!abr-;Bp{i z!JCgbD>=YmnZlsI_&kMiO!50{}O&5e0auU#FVak0;!rz_G*TCd;#%ImChf9HD|dQ7}9uC(9mk0w-7 zUJd6KUSX5T`KdzK!8wkFYEk%-aVcGnCm>@#;8I%EfEWR~R=1gt&|Di~nL0v56E4ltucQT2m7?n^uy=dWlf?#O>IwCM8*{7pvo+^XK_Ffo>7f zSa;zEs$*2YN9QG^A@~UVygXZN)F3+j*r4E})!7lR66(kPv5+ zu=#q^I*6Clb$FTUnox}gnJRj&y~$KDz*OnOX(d}Ex5?++7NNPp*qG0?HyIlS)!3l5 zp!3_fBdB>HOhc?zNN?V;Bf?a?0&`Ji79;>6ThQe>MnD5CFY^1mK-TpFS=Wn0>;_%jK7~vFSa0*gNAd=uX!V`f=h0<3AcrD11PNw871!01X|1lf;zclcf zS1%~l%BSqx`?loV|11kzRS6qu)4qvA&K~$d>8I@PD_QH%>#Dya%ZtI6e0l&V~;7Ne@O zL3J&aFs9RN@E#Q@5hlxRv~=XO;M@F}85%8(V02g&j6-$8d>qgMSUcju+bqZ~dZLAo zf+wI(i3?Q-L(Jzer8sa}xD5$fj2MIPJ43YGI*Zu(1x^dMBBcq^G)@be`>6_88)qM< zg^wfu$jF9kN(**K%HXu{QSbzvK-xoXkNBAi)e+L1b@`kYNmR?_NCwgBR&!d&8l|vFq|P3xi-u8XV@-%%ZhXyN04mftun%pY7Abrj+kveb#Y=}HA!Lh_TM zchrE_-h=wgn2=t=SW5!3Mdkl27r zxQD#UYI155w@(nBS{DRqtW)yquaL5%w6)~p)tcczF5`u z!He@DT$YJ5=B!oDy?1R>#rwZLw{*gYuOEJ-q;rb@vzFO!JgpoYVD|szp)J46tz`OU zE!6|5DM#3TT&-x#+w>wO|G<@FH|>cERXHYOt+FVi0@q00N{C4>tW=xT5$-@jsY9lQ z$*PD{-Lhm&G49Gz(XKYs=aOsLYk5Fbh&E0*GvkF%oEZ4AF0FSe7tc0i z=yv~W@#Me1R6Kx=0+ycR;mMt_Nuto>)c5WK^(C#h6r-1fqsMCC?*;q9!4BF#79z@SQ9$mCu&>@;03Wky9 zBNI*~ntR{iBz6?3L>stclc16eqMD2j+l@>#>GV-$mva7N<<{G~oJuNXG?k*$NJwPUX-|5A?pc>Epa>@aehukF?M1{SWGv*rEwm6zTh_3DV) zk!N2VMEQ>gl?)!G;H`n}R*Mz*=2j`(6k$S)0y)IGv3KM^h8Q3eGeNKbI+}v%z^iOC zplw!BUXeAnAtO}^Q^N;0uZh)FDJzr=-x+6{wsps(?-4t==~8CA@(e`oDJ6sA1|rIX zL)Wc^h7n*$uHslvHeD4pp;BH|HBqfS)ByOrCxh>Z#9pX?6$uXK=>A1`dD-mzv<>puMq=v&n zPjT7ZWWdgRK<7?L%-wTq|Es9`;#cyl(2%wIPcR>K$j;&g3_%LJ5%@t>2DB=iLd^M^ zx+)<7tf~}R6+Q}{zc4c#|`4P zeEqu%9aRBr)&#IxdfOB(n49q$R5OgRGq-k0Y1nU%;79s|M|4;ulN>7#sfjfOOx__i zHj@XG6&HViWV1;7`*ct^PHM0N6Ti-oFy+TZ6SK%yz}aTwSk|}2z3!d;&I`RC&nU{M zE3T5=Y<$b&mPs93qgu{&yORG7(IgW73tzEh; z&;%K1@Yp60ALsYETeyeRwD9>dhtwnld>)gi+^Gj5vKYmTl$6U4HBa>* zaS!V?J4w7OXQj_9v#1ET!hN^H!Q z>c`V_avv?}A!D~_CJCJ)#TL?Z?)6ssV-5?}rTUA?%SYT}j&3>rUqpYbm+y~6=TCnO ztdk%#7ut~L-Yp~+*b2}?!l8E<<81bf9AgfWzKq;+&s8&Y1jMYWrs zZAO`=@9=r@bV7Ba*dmS`=hcD%m@Tp#d7@sC--=LsDsm9iVk6RzxZm*n9_|I`zlt$T za?Z&kpUnUFlN$zvg-2B=r}}xDnY)zsDO$3X?e0CJO^1${qx3}egW*Vi z@dy0+h^Zrxm4)(fjymW^qdGrb9O2ACP#d|$n05-XZp)8fd+(>t+m-zy%;>D6uS`?U zDyP1dShEiMSm&Z*Hc&CKUzN?eef^ZhHwKHf?A(aJgO4e*#*Kqim~m@_t_Y;YKq(>L z%O9qXjY4{UOhAf~tzj^c%t&@G&VQeqBvjT+F+lK|fq>!C7&%@j!3)LLMX8jekK}_Q zi7&dB>0(RUrcTXos~DSgqdKaQ1Nt1R+e@WXeaf>>pu8%Poz%PLM7yuY`fd)kQzcdO z#%oJi2lz)`zhvsAyhbHfQ_H0)5LyBJR0`VQl1ofu6=Ge^xNw*tvS1IlOG)rQ0yh(a zS2J6QXH;q_yIhxs)uSjDrw~2I<9>v=AMSPk`ZOxrCRu-aR^F4)nW*BcgFY7b{tq(=lSsIBI?5=fa4pkuIEsC|om zA6VQ-iZL)=Ba@GcXof@x1B1(qt=mjlKm$wmOidf4Jh50gX;~?*exS!%u~gE-fBC}e z4ObfmwmvPtOldb>M71{J=;nc^(~`2mG}+7+!@_mmnCx^pGb$x>SWQ}r-GT%Oi%*I| z@KXwg89D!`>JC;dJb2tZM5-c!xWq&}WhynTxuhnnz#v2kGtAszG7ID_9+cXBbKDyl z-7=?Hr|vcVrdRpB&dAu3r#DrOC?7n%_OlbmHVu1XYU?h6els3m6LuamdW*Yvc3$zd zedv*@7Kzd6zxD6XDyyVrN&UcWZ`^aXIzKC|O?L4L3W{T5l;ROB0I1q&r4$>zB+Gzb zm2Gfm7;05KTP}>a9z6&vY>$H=aiB)g zvRS}k5G5B1o?R$-c2U8z3rgMPvO1k;!|jx;fc9-Hc5ZZ{6ZW%~AVl>UR0GX(1nxm^ zH~s-Rl-1N(H(g&*{7m)U&S23qxti7HdnkN%UAnSGEquP#@N4vli4Y2^W}?wJidDlKn#bI5=N4fh=#h{|UOGY8D_Q&yTz*qg^`YkXcr*dtuCtGOGEV@5_V9% z=Yo6GMfEf4)-aPXpqF$GMitTwoP2^r0gOu0adg2&d;{RMT(8joQ}P~^2@1K<5|yGF z^cVM5=sxr`7@-X7a<~h6%8RYC4rLVS!@Caj8V%E@_6cp7*7b8t57I{pT zM5MwbCK@B7Jw_x=gdx+88u4+$HL6kfGtmK%05$U{n1AHdR7?>R4EKT<3|>{q_|qh3 zkzQ{|X_;mygvKfI8xGfve`GO}w>`Li`hxlYx!BbkNliEZQ8ayHX{){wY)Wp)6lIh< zqphg)VSAb#S^qXGIcQYJsu&rh7#V)e5fB5bvL<;5T6`!CNtI_+T>OZbh6>=2U%-nZlT zvoTTW>6CW6;ITH$S2VUSZ~(qr)0YXml$UldcnWhM4-&=MsFVeBh(u52NT0Xp{O(JyJke*~UB=emDvG75Rc^QO z%Qje&GK{5*+jW`Jy<3Np8D(Xzdv?!0!bTqMR-BoQR%T_^?Y8{AU2iILc)!ncW&m66|NXq5&+7urFz1}#v;Fqp_xICV$bjOJ zUz|$Bvu}A0oP{#!1u>%l4nP_Y3Rk1*4>JLEl@GC+wb*Q08{lf#vUnYm?UD!#4h{fG zcYP?$*nz4*m&0OCtp$XWpE;c17=;n&lSRuuWBiUV8eS^D0GpXw>+!3!`4z7~GBj($gwa)Q(PfO`YI% zqfta<1y!;z28Kn0F&Ht+Xtt=)1(^MGP$@%L0TL$pR|QC3RfJaOGT<2&uv7k`=xFWB zPk+Cfq0M~vmBFvzMSJO!C8c=)m+2*I{M#vtC!Ul+I42gv3@TTcpHv)O@m1C~0DU0fXa3!D%o5 zWR*|@7M4(Tec*=rlcJA03;uFkA0cx-v;kVksVt}c3B*7(`}Sp4a{nh}oFyD=#GZoA*MPPl_-LM=m|;7~>6h)UoDK^fPC*=z`p*z|!w$%q+Q ziNbF>NBVa&+BI`#WYK`CcfTp<0z&3X&OBy#A}d2c4IYSufy1{<->1o6JM75~^&if< zG~8l$E$rt`qy}iq+Ul&j`nj_cmJF)R6z2c?)y(e88tY!D92k*QT{@?tY7VtQi*8w? zMAO8o{457`?|GvQFyk|*tO!9Fc!*8MMNxT|M3X8xIO%;W`wLkixr?Z%pbn$|8)>op z#pZvk8Z;wQ#VZ0!NwT=3v%na*+}$BCuAY9Ij6PdZ6*}=TGUndO&N8F6=wX=w514!% z>h9cQQgC&SQxGE7ear|}{HYNswhvWvl@XpOOCl62}miCqN6!s&F;z=$sq zmo}uNC=pCGLN1XlyKm#{Zv2qbGY^#xUNL0a7JJvP#0UR5`@whX#e2fm!XEhpE#`4^ zTL;A^ewh+IbK36puY7d(!X>fgWw5D-a>1kl$y>4UX_n;@cUe$Mir!CGloFSq)~Ga) z3M!bxp$VbrdY+a*PA7bnz^5nVqw~2DozM9Ml8|8LxHx?r#%D&~bF(Fy(?!@L@REzD z^RhTP%3n9z9E!9aru=6hK>Epzt4S%jJqOI3H)5eaDCEU9?%92B&bUu9M-LgabnKY@T?enX^xE(TS>wB} zy6T3NCGQzLWu9W6_@A}UFB`k2p}<^K7oG8CMs(|-J@a+;VSOqvO%F9C!0TYFJEjS? z(Is$q;9O(NHelLPxCv-AsR>nwrX;5%*P=)p|BWdIOL2M?HhNPzF3oj z4DpndD77k9(IpDL&X_2RS^+~t&0L;T)=IluvQe3hl;}i02@9*i=%5lp;&Nav&WMNS ziFO2P&n0&veVf)69AEiFVgI=YimqKDQT^s7re^2&pFY2AW(dlb(PZ_(@OO${IduQP zwq*W5Zf|Gm!0Y8ZBJ0@<4SW=x)LgF|J{=qLbH$ozmno-#RBpzY4Uo!<+>iOi#cE

siix4!jQlR|ZCwrtkI08s_-IV^lUEMCju%dR(95{*ssbSS_-=JmjZ`n8Pm?{q$H@{`k z{MwSiJR?C#z7gy&4yg&5?yxY_eTNZsu-0rw7{IL8V&iBn9GXlEv__P*KX0Ej6iHFt z2du+DPY~1iney+=i|fQA;VW#HnUw30CYBs`#i>bx>i_799nH6vRLsg%nX6x(JtRLf zZET2mzpMD5qHsoWNnYQ%eM?1?J)S7a&pKBREB)&mZ<4xmy+*WsF%^t++JnUJzu?a= z`)+nw&6=-fF%5*JU19goI8CZMSRWpU)Ii88eIQVl0xfbi>>BjWV1N^BIKF*AcfAt{ zQy2yt6xB1Si1h|L!1%H5UfEB_L6iMJ=ReqJ>K12*OQTu!k7ZJpU+*W7-^)i&{`O5R9!_2lZLkwa1JHQ+m<e?YSQRn7QGr$9 z*^|0w+mt5apO9(I>KpcRLDSl0!c?)_q`A{3l8db)-PEhRC9*QEeICneC~AMSwX9`$j7@guP4(rIUM04xu3Lh{g2 zj~5JW2s~c_t(RI>O%DGsE39;8g!5KxVM;%ioiEQ{+iy-uudd-?DW!ccWIX@kl%-L5 z{puXXr8_{Hq9|El)p7-$KXQS7yhYbw-!v_x@+!)?&Inz-|3y_e>1Gl zGf!rCj^t++^`1~3>Hwpkg!u(NH^Monx;3EI9Oo|3qOtkYotoi|m4aS`+o*}b^eA{u zed(w!gfxe6oUa*4^UYI=3~+91?bHuiQR+DR_nYaxT`&+d6?+t8VKB;wOZ znRCGUNA+j0IxGy24AV}_Vf`b z^gqG|qm3QaI2ncR6rFiYrH-TcGPRZ5^Q!&8(}@ZWDN>r>4h&Ag*T!W3e7Ld3WUJ+mTT zU$NQlS!h2YOem9h;OGf`BBbYkzt^37)=-f>l6zf|Uz3`|Hv2 z&)>!a_yOJl%2?R2s5*#q4hN951u2)23PqXG+o`Y-44npu`5vrC`Mxt-#m`>9va|GL zzZXxfnBA02R*NCWCGalUFxsvB(l&3m@2tn%pK{K>|8Pv=QHm=NJ*m{Am8j#Blevfl$&R$yVyFqMp#ByVGkZ}%CI1=-hI_Ar zQL-JJNjGx`*Xr~W^ZS)vPgE7Q)IHs7eK!967s0o(o{rwCuN}6j3%r1I6dMz3#mnE( zY!_MMmy@5^v$?d6G9~7-rflo0_r%l=hKocOFaihVv7kQ!`ek4cIx2w^*z^`1Ll3nP znwCTNg0wLnV*2eQL#$K!n3dRx<E4^Rinr+5y zKK9P02gyLzt?Z=O7cVFr$lvtwbe8;6JkH}_=LW9R9PB|2Di8hq1*Jx%<7u9flVyis z0kQRgua1m8Vsr({bH0O=y=90QD&F`GNT6X+hT%~3b_m)TpNf5D!&-kN>VD)n_Bu;1 zqb42gMh^y5)%K%eD+X@G(8sxZ=>TWX`zws*rb?qUNUe^i_)IvvPyi#K0Gf#fohCu!!-}lesU~%$g><2&3|&i?bXue&ib$0HvcH5% zO-ZT9lJ9N(SvH{J%&lgkKDcBEkcTtGm_%|iRqT~cu6v3YVpHkN0#o!?fPo!wWI)cX zcW!+}E>e)D*XH~kqbo#~kqo0VGcj%!xY$^wRtsz?t=Z?7B05 z&VVXgJPCFBrKl^9GWTEy zy@_@f3i2ssMr|#y!E><@bSNAPpx#uioH^~O8p+7UX|_hi1>*QpH4Of7hr*f{RS=&$ zeZQlDBxBF{uQmA-hvE2c^3#JI7r*e{bThcJ@21>;zbONFZNKR`k|?%xx~s6~-anq0-*~AK6H1w<$v)2wu###X$X=&^tjnNpX@Y0=!l;j zdBt<0AlxfNODknN7y&jY38k_b00~A*0h!;ZN(HjTD08I#U?-9lm{kSyK(IZN^uf`( zc?J2|s~ns78-IB_<|p$mj}wC^f@EKcdl)(0kpMsd2I#37P0i*&ngJfmj0-OtB}Hg% zl9`oL^w@~5&AYY00Wis454ES|n12e=>{yf3??GRjEvm53!D_3ZYd&(sr1Dq!!*h1D z?SflpDc+8L^vL2XR)w(U$(IodDAuT8HL6qr0JeZfS!W4g>`W5+-q<)zT=42PUPp#t zr7Dg$7zW_eX~Soh4%m@9W=#d84f*Qu#ingn#gqJms(#J_@v94BjcnNSe|YLZS20H- zQBDOp?ItnMt@jT^FtfH&;j|R*R}eu#dpqlj@$Dk`))eE^sTB%^US-hfL8RWx z%sPVi9RxBP68RC5RVj0TNWsZFDrZ0UTrOWk28%U>=6TE8R7RV%Mn70nWF2~A>r zNz1VhfecxL9SgJ#mS28a5OkAqr1>2(ew9J6?B^W^!^+tVIiV+25r;Gs${M!je_dXq-WmA--buFryyTX6?@8lMp zIHy_~8dPk&Vw*oLC5^oCdx=Gm=RziICJSeE2dDu6qsActlVxy|k~NXRj9VpS7f7W# z2Lw3aKDJ7(Y4KJkxowX*rf^V)^!@W*fh{k5^<_+)?=dv^ZZ#srj0xg-i;@{v*Dy^ssY1bRPvW4b){D#^HU`&J8f`K^2x{NtfM;RzbmRm%J1l7>wJp2?Fw05Z&Tz+5heHgJwNFtS zw;^hC`Ww$qUw!1|NwMA30jb^l+GXdYS$a_P+}<6tMl4z_o^WRM=#~}|g}K5XK`*a? zUm?jIOhLtvDkIkp(Q{gLpb_nawMHB{Xsmf3GM$yh#i;`+%7!9lTeojp9a);|jPG~O0sqwr})OcqU=4x)@az+^CC-@v`0 zW9VjH6|Wu4O`aiT>Cq$9o+gbMAkP&HpR#4cA2e4x0k>UM{Oq`yHGfHRFX0YLe{R)M z#5Ne@@E+5a$wAO@OWjE_lftAA;}HI?t+W`mu*0=cx?&v^DnScFT&q>+bqb&XDJ(qY z?><8atCX1NjYhYp2~a^VnSQk58Qh0)ASF$YiUggqE-YWGQLal|Qw26e2H|V< z)7uydMW8*L10I?@IN0ik zq(ng9S#>(BoUXGUi$?7k9va+IsC98j)jLwlWQyy;eA9gS@|Ww<$=&qUqDO&5bK|!7 zP1B}-rSp*)tJXYu?d;B7>u%oabKr3R(VYM0)Y?0>w{Dhw-CQ>fl+3^^US-;Oh+E5I zeR^cILkNS@cr65PP|Rz4F}@P$@`^R@`O@-y!6)DA7n0Rw(zEahp)M z*EIftp@BLfNT;xxk&*$S&NO_Mj7SwaENoZm`h}y*K!2bPugE}?k{2Hj|AzE-0^d;W zXDl>+EgtjtFHX5GUf_+SMBz{P{}l6~4|b3rFD=Y}E7o(H4?bOgdmIXqhk1T}2G(O+ zGX(fPU?W)&aR%5jDk7w=4aA>~iV0#$Mr5QAOA&VI2#t{v14sBlI4)ju1*lBvUBp)L zD8Kt4$*9Qf=_;GoEri?|b2xqRAkTf-b<#WVhk(aMr(qSx;Cb(0)M#aKjFSUXN{hmH z70=7%L?P&ywdYO$z>!BvB8G`4^1a2&72yc13|&14Ot z5mb}WV1(IbL~}B;76D-`Y&Wz6@E&YQ&+wU&ojEb>VZc&Ms5_HCTb#~>p(4g}vm>$f zeR8Bs@s1<`gPebol3E`Xp9;kpztlEBHULCe;f(HuR^*HW3&{5jA5m#A$h{b9emaFb zGC&UD#50GE)0 z_1n*js;g}wNsl>)4em3+OXc>-S@Xy2*!@jLvN^P0AEZ3es`O;)@1Rxb7yxub`Wh@M zfqTTAq>BXd1BYAyf4!f6M5S2(d>!lqKhDplvBfr3T5UF+CP0IcXgWJ>sHnvts3s>N z4SR>S-Cgb^RY+Jd)|GaTYv^ z{k9YPEfxDa5E=BLf+9z8Ou;8Y??a2N06FrF4F(JWI1Y@{LP|4Vybo`|#N(hrwU$(4 z#2qs%vef%G7mJs-U;K7>@q$-JeRuWEZ)7{(6#ri8S;PO>`>%70D{HRJ{WBhX5D%`! zgDGYuGGGEYtyv0OLGZG`mBcQQf{R&@#Htk!V;SIC{FU)7<5sMjRrl1EmD_>zy<|z# zJ%v5H&$XJT8^-U>^ceX`kNkbj)-R{y1fPR#I16SR3L2ybX;7I?BV=HUogRda9dRzo z5~&&penOKqIa2e)+ryWwpFMin`Ze20^3tV?#T%yX1%Ds8e0;<1Z2n)Km5*Ir^9@4) zi^u**2m1}`NKMgOIgV!Y(8I+P9G05m%O&*2czClOJ|&1za`E!zgQWYPX{N{6f~iNR z9vxnr57mXJ+DLCy?Hg!z$KS=FKZ5{j z#EiYla;1kN)H-D<)im_*GWw9Qxfm(s5i>_?Y)DtS3#2M3`Q~@U-JelF>~~4^mu)1- z^O1yqeRlF9arU?oy$4OKEFJ_T>|0{~mkbHpkDUBo{487ozTQWA0{Gf%%VG5*dBkUZFuyZsG zI|I80VdrRsoug^k8K3Kqu36DE>>N!mju!NKgq`(zTCG5f6_}?+(vhi-@%v$C!eHfS zA+C#VQ^fHs-mHxbZ}}09uv00UBEBeIeCNAWOZcjhMDy=&+B{bqr#+JQ+~G;1sz$$= zn#}JKkBH4L|6xjVkUDJgfE@?!isfbb**ysN$%N^7-N#?X@u7(^6tfRS-0ma;dOjHl z*X8#DkjRkvgqllN7R;TgOOnH>-3-w2G_vLmp8ql)*~i_{cPQfbLX+xp zsr%5TFWW@73fSDcT<=xa+n&S0uY+LFaTd3~zfC6x z^gz3y&Vl2}NxLHiLQBC{Y9ibfca#4Sza(WXvx?!o*#mB=iPrd$pZPIjbrGq)*TVlZ ze^MeA8Pg-UaBDdt4FoYN@DdD_4v)Gtpv)>`U^$;4hfx&Sy5bw02&8& zAt~NGfX(7%IOcydLAa!9>T*&+a{%sD!8QMIdN3=KVv@+l^>)W9)dA|-N*Nld3ECX( zF)g2{g-p^yCTabw!NCYI1QWks%OpdG9gEUO3Y5xXKhXStC8X?E6R+fomwOycJkae| z!fN@u;!R?Im#8~StZiP26-Eivo6M%#N)6gD7_9+00mlOP!~jqj01DxO`jseSJd~C= z`4Zi6)*g~8iBPqo z6JTy*zO3fJc!MDxi~^QPFwLKHu>3jJ`mhs|!+wzTKd;W^wHb_*t$VWpvF{LWilhqn zLz{vCG8QeZ9!dio#U^E8SUw$pqnVFyPpV^?fMUseo=3lVD6Nj)=&9m& zv3;#q-odESxt?6PJ0;m1Z|Y(iQQ4)7&0vchRf$Z@KtrM-v5t){m5wfljV|NYyWKZB z<{6?2B@@lRGfb)l{8mWqzh)6i36R66Y8L)b#O>)PpH6|+7IOS|atpoF@T)jn{WKPb zduVEC4NKbql>?JP%eQj?urtb?t#jMmscz`i!R`^2!NG>?7*h-uKO)8)=rR~w((1?2 z`AMhq(+i0H=nX`<3e&W`Yu;%ONV7!Gl~+>*n|L@klvDoz$p|$bPl)_Lmbw0BV34R%%}HH(j@^CRi~4sqdwfrb-gi=x1~w>g;OyS5UoBh z2o6h!)(SujNvov%6$MLFk(clM;cL$Y@soCB`@;kKytkuv<@DU%-GFV-)%RDI*lV83IT0so5 z4}JMzHmS*lUxF5;m;va!3SkcW%IBGoaQP)601bczX*&keNeoaK>UBm68D19xzir&6 zPVoGx)?yL|L6AB+ggPm=Jl>D>aG5o9;!^QaqarN51FnB8sbXHsi(Vfgsdn%)BnW@3 z5h7B%u|{2S+DE%{x}+tijjVKqXGWScM*vihGh1}U@n&eTW*A}U-kRu6NY+Kd-x6sF z%^6u4YEdC|-M_ur1Jef}4>fbbX#{yz3P;*9TCU$hmKjHjnK>{ zG}*OC_5#n(*{bwqX^$=F-&C#|v8-qgP2v{s)YprTb($jy&tKR!^ckAU-Sx(RE*ZYm z?aA*<$xmB86gzUkEwyo2t(OtM;uw9 zkS&&C+*=G2hHjvt?UUkztNq2}^xYoSfgijWe#97m=D^~*vOeyd!hisB+oW3i(aH@p zJnqeJyoPA~*YAnx!mL)UxC(*rvMS-7HG>DA+MoWJy)3`y#V>bnm4f6{AA-_L3%+BK zZ|8{NqRnaxB4-u?ol7mZpmQ8B6fp;OixyL%*LF&srG{(!d4+_-xV>xlTP}aee2Js* z@MPUbAC-+M95HJIEhY9I(Akskefs>DBeYWD1j%eb4ROA!VEGVML(Gn6&kZ%l&nKoA zfm#*?lJ~$*D)_|Ee@F>DJA}UB!8G$oq=B~?%A-##d0jA67iUryD!D+Az5xz-p0uPt zI71t)t#0Pwi=g6CVe*Wi91c$b1d5EJ>4zTT$eus&3eSBKDc(S}EBlW91Yfu81fmjgG@&6p!WsclOv*S}9{CEi*^e zbYR6=OETJ)N`b;>mb?43BDdj-3p8Qn<2#4 z>X!sE21hN_|3;(aKk`Pr0wJLPE4i)yWe6!xSp8y^s$gC1@6!Ch-6fWWm{-o3O8g#u zyq);1q)7mf1H2(Hijck*_;|oFq8?0BGpOelyW7#8JmWyrm!>2#zkyPyx;aKu)_YP^ z$ru0mJkgS*7~M2(yn!^4e{_wm-nm`eC0q6W@aFjoCuWynlBDO@;gySan}gH}+vD{n zl8x%Q3X@>cE%!bWDQds*)K1pzZ#?|1&_y#!yF?}SF~#eDMT4+*(Gu%EZQpen5+Qus zF3!qVV88(|u54~C(DKcb(B5HzU%8xHLDNA)K0tn4dYY@9u{s5*sFg9B_<>!M5>onT zPksJQH+NC~l!88uR%464M}aWEwMP7he0F|8Rrg}=fP2WU<6sz$sLM6}gXL&+j@wg1 z6LEWqOXC#KKstXnH7GqSrD9P?*%t@*>iovat}CtwET1PX6AHH>9e}fuS^Oy(#fe1o z#lc!i>tnu~p&2`Khao1<(j`VYE$LASgO`Su-8{J0;5UxUQe6vJvV_cNJuck~6F~13 z%9-4LI@1bUr@PT3+Ua%=?L-*Fidsr%YUM)PfG^%s^{}V9`%RplZcvONvq0~Pxp>CZ z2%Ag0&oXvs;R{*w!AP*~vO#zn4O-{AE&hmETa3klMniF+MqgYPNGyRQ@Mzn&Zna-= zU?4)(0LxwH+bX6A4}gO$>rQNf4+b#Sk$8BZjW7EwGm|Gn45xd(6N zj{(4aX4PdL*cdraFWV**isvwa=SY*hkqz4B4lu&`E3;_j<-s!PQSD3>aRACyO<0pG z%%_3=fbYbCs0DvJDQVxoVlK&43jb{FzJIG!-NJW%El&N9Tqz5fH$`l~qgFjX-0^%E zSu0LlG5Gafq_OolS-N8wp3iYs;VPbQp_4AN3^r<3_;KZQ3Blko=}wl^&7Revy}4RG zN%T|bqU~?p75PP9_e$!LRyfRI1X9DC0jpxi=8^TSz3yob`wz;Gfs3X=c#|JQf#Z24 zgAc=NnV!8?v)7IIeHD9+WOsc2hVUjqn?igZq7ClX2H93_vtkMYmfFKAr4}%TsUhe7 zdJcsUUSBIJ^w<%Io25(WmJngDsb4iM$Rv+TON-4=tTfCXI$@FQ7xzKdWwz3HAEb6- zLs2g=G&rhw&(S92;yy#iH$P!D$-iLtS)rRbY~m8!hr2B7;O_#8K9B}<1S6^(i;RRo zA_pv|a`6L*K>*BQ?p%^v8}^LEnGntSIr-bPgtS3PnM<3NtXr|(BJ8-7zA!c=%=App zg_CBijv9mepAvQmHsAeqgx;SRja-0A@$mf#gY#l`0;GyG0#ao?^yZGIrL}0bKJ&DnBWPVNfsk3#@4rE!iyhzCz8GcB9ggWS*c~S^%L%%R%K1)L zOBWMatyt15>VG6XNU$udHC*`IGnn5Ca*}25kU~W~uaKdt8j+OGWY+-T5eb5)dpzu& zKgzC=N7y^PJg?Aq#6OGu+P-bu&nad96kodc6yAvy*K()YMsvXGZhh(AF}(AvIGpR- z_D7=RdbPfA?HpZ!j)GoLsy{N=cmH1pZaPAr0|It6k^28Tecb&Be~})$`$F$sP52!}wbRd_{Q{ zEXyU?8nRpA#30oNF*95qb~8PwR`gy4coQ5Ciu#&$g&RkV8@936I{EdAIddvz%_*NX zt9%ZY{{VPpD|jVs-i&lnn@VO0ToE7xxAdipy3qF+Y?{@O?JfUtlNKa|}+ z?xzqSmZ{E8{fA6n$ISWqv3S|2kNYtVfbv6&g}-*>NhJ}ND~>&U`IPxsl87v%^`h)taUTH>LaVE};zk@huv?v%F>Kk>yQKMgx8-WM{-=KJ@t`-c$@jVBPbz|FS9U^Ua5 z=`|YNVAvqwh8a*>SO}kbLgRc~(2L5I#n0&fRQcF0kM$o|J9+%9&qt3M`LV(to3+!L zHmYpkf_Tpba;4{v@%yM4-i~02J}tgk2Z;u z_#oN+rcPHWxd^ugX9J`3LrE*DA8_KSpVoUZ4xV(i!O5;CYnp`JO+bO{c(4-cCrS{c zTc8bCr@IXOFSp^hHStu8`{@6FpoEk+2|GL8LYe}cax}FA*H3L91Dvc~hZeBlGd!!w6r1I$#Zl&SpWXlTY$B_TC6 zC$)XlbbX~;7##E_;-n_|LeGvSOG&%eZa6594EK@XGG+4oj+mKIJPAx}f|oVHid zJV&SN2`Ez9cc!gG_7ZxpGh+_G-etflWYH)Ey9Jv9Y&|;u7*~u^E)Nh>&3tO4 zxRs=frjJKmU$=NJ?t>~lZdT{}AQu}71S=EATn>dQheOZq6C+p3T`@5TA6+tgE=7_t z;>FbKqds20crIoriSNz*RagmO)60|Q83&=5%Dc&5gr^}vAN2%z#^Rl1yz^(g)0aHT zf8!Z@ns-y#J6xO-&;iGs-GlR+xnArWV9j@A~&q9EAV6e4#8AMfIbuO z$!+B_JGV#Ph*KAcQzx%M|0480C7V1UtI|7aYcBDd)B#A*8E2LY5}D1)zT73)G0O zRX?M~EREkT|B+6aAKNaFyv~qwL+RX2!IlxwpxrFT!IPJGM4lJ#@cTT2h!!_Bj3S0v zE9U$G3pW93)JCdCk$#>mrdajCJD%^1 zkea9qo5i#14p&YI5f7K*Jntfd zw!EU)SNzC;kp>KU(As&iq50jjsBZc!jIt&27O+o68`_cJot1d!3HFY%EsDMavH2#6 zVDI=z@BI2R;;YcJhj>-+*B(~EGw`e7UKM;`XBC`?JH-O70LrNntsJ8uBK(xW%6O%) zTX|IZwen}BO!okTnF|4`8U{IKXW(#X!%q9BL_bMTn<93w?U< zQ(-qxEfwdW4J(w<0=S0h{d>9{G8yqB!6cptyU9`VHTjvyh~f=_L{QDQMlo5zBbS{$ zfTF4o1@D3O>wQ8XR9@;i@xKw)G`K1BhIn=uIBG46b+95*{}*jeW`uD4Yo(P&-MT>GK(*8e`%i`VG-(-zA3`-iaNZ@2A-7WGe&TId}s6Hs)tZ9fJn zm$$FXMV#6n*=|D}gglKCB9t}C$w~o^ouST8=<$-{c+pKK2J=@-n$ksAdQ+{q^X5$~ z>s@gpk%77}E(VyoerB^K#F!@YTM(wx*ioiTZxQlwM#wps%~Guz!-1yBl!)Rv*;-|_ ze=j)|V_;#lq+ofFcpwf^28=$xq4?H}HMSgmGiF8i=(75j2uwr#Rsz} zsCT$$AQU!w&(((m1FcryJw*dtE-$x@W(RBayQ7(Ev0Y zevRJ&N6MFN-5z{}wbhf0{Ev92lgdKVO+2~s*Anmd<98ta4LWopsS{`tBs??_&s1q3 zR=m%TYVbTqZjwodMffQ^r`neB1Qr`UXetAz?Zkj7HZ;u*ZTDA-mn27H?Ue@upMwX~fUA~)t5S_e|C*BL zRVYbG^%^v^jDa{^4wYC}K{kt94#gi5lgU=`@@YKyhPaXY9%mz*LsxR6ElqB*Xt)L5 zR5^AsE@Z&M!QsGMWKoZ)+sCA3QfK>&8!vDVRKXgx^F(RJOBJJ5uh*b`H>r z8z;^$DjGaECL$CHGtP!N3SYr7F8|*-Y1WSzSF^77FPt=_tyQ*-EL41txRJ3%o+fh} z()85N8}c#b2fzT$asu_vY?9j1GS5s3Ke%kgAZzXbONeF9LQD5jd{@MGt4bg1j0{Y2 z=0=rItxJnFr*+MS)>9<^j=!vgehf1*OnD9Otb?Z1gQ}!3n>H~v_iJ~hAiK&JE3|CW zzQ;cEu52nEWY^p=QvBR;4Ec%&(Z>R zmd=U&h>LOC?>G+J)&}FuD+qn;*3VBm+>nGKYCi$PvJ^Uu;fTBp>f{0{FKAfG%V{0r zRWhe+sq?2fV)I?Bq*Jzvk5?ok71QYsf6BDc#LobnFSks&Maj=p5{hKbY4!(^pauR^ zKSn}3jVCj8ih2=IWEbaRnyJHxJq8~g9DS7ODzI})OR7tvY)Pq>#++l_^7E^E#YA** zhD?i^A-kSBH+!b8TMkjgG`gl(QhP0U3V_k2vN?RAvI+7q3aKqU+%X{$5zFLTM5vVW2I8v8gEFaYJEt(7jJlxv0L4uhBdOeccg4$L$HLBq2{Xf<4%-|ighlU)Z;5|5 zUYHTz6u&86h!2X!-{gp0h8DxS24RMw$*_rz^JV!l`8l~TQ~orX`(Xm;z)gN`Z6I`l z&yq>N>}+88>oDzR^m%;5Mm z%e086niC7VXW1OdVZQf6x};m4h*&DWYl{r+k~VoxXrzsP6K~>mMD`TC4vkNn{3IBa zDCR*l9)*o;Y@zJ!w89T721|>XDX>yMqM{l7C~RNI+W-`H|wi4vz(&o?wK=pxgbvrT!q(R<ZZ|x~$GMB{83Cb2wJkO%Ix9n$LGm&N zW(>~|b{#$X!lArF0}t^-CQT}Dm_Bdb)Y%2u*@fMoUbAM&D*dX6Rs18PN0-(R!?XMM zZ+S)kO2jLCNY7DO=B)np%S=D`Z!=a35wb2q08*4W^1f>qe zQ$|b){J!vLNZ$b5pW5*UwhN3S{F)_kbiDArX1}BEeaXf#IQ4I50H6}{L%l7La<~Lh z^o~fR8U9hi940aJHQtv~w}z8+b!M1NjwploJAncvCHP0OpUftK{RWyKG2yzgXnycP4%<2r8TBY?icUmt&&u$Eo9u#bszIx`mvhBe^cIm5N zbGfoxTcyuFj-NwYKVvWW6zN9c!NK9^kHG%WpJg*HO`JHfbtx$z=P!}G`z4bu-y;RB ziziJY1(#)s^lq=?3wgukq93Q%kr^&mXlSVCS@w;8rt_=M*^Svp$%t&1i&BZ}>@9e| z^+7vXzMsLyRkEX`LNN$DKzmpna9Rno)*134RW2-6Gq_wP8VAK?+HY3OeA61YapFM5 zpeaEs!^hT#lw_rkf!*(t?SqeRDHO0*INE7|Z|e=Ggv{$Q8Fq{dXgiAv@PMOj7u_yx zF&rq0W`J4>3hF>nxYaawCj!|!+jR$Yr_rrlrwUSaQSn>gLQzrwiLd~H;Z*9jfd7OV zvp)X`ZDAsS2S*qj3w$Mm_E+r=@*pOQ!Yk#Oim7EU|3S0stPvXD~yxV_@Pg6^_sZ!9r0kJE3JWMr^?9 z{6}_Bp;8oaN_h@3DyUQ93zYj#kk|dv0+S7Ru)!`HC%cL$iTIrOH=#>gJyFVY#n zPX8(*Wo`9`X+bGeL+T=FJC3v8PEe6lGR}Eo zr8w!d_|}9Eh(S@rCWmaqtT%{>vI9&L&>rR#{AmQfKsy!+0!}W^j1-s2H6%p*>i%C& zt+;e)1$bNlA5U5k>Y|upz(Ub!E7Vnb{~+ZMBY@Co{!C5|GSzU{n12V13AGPWB2+uT zjoFl1UH|xoirEWIsO`lw1FVAJ$LWVegr@o7ks;@tdFQC|0=|RUW_!B*;VcyGpdH5O^4FZ zR@<<9(c0PrjT7hn^^~2@@19cK$30axV|3r18QnbxS1wxcmuaJ`XFRD1$mwm3Tpex& z3ER>49I1bpYb{97Y25Rb&C2KDbXmYxkqU&RLq29PjX?N8<2v|p^@$B9xA(|OPS4J% z;WPP@yRx$59nK!Op#x*ujxqTmx~qMS4;-S@U@%hl5#{R4-{k7#hPqi*JbYMD^&9X0 zY1W$ayXUPGzL|4)&eT0mzW4K*IhXEl!Zz{8Esx56f{IKt$rQ#)O@%*KMHdCDf)xSc zr*v0uW*XHA;MLjuM!A2lZo`A!CpN6sC=wbQw}j3*rH?A+3Zu@gs!+ZlrBwq;k>7Y?4HmtI=6q`BlQhwk0jOb z@k{3}{@d*2HPNp=IWx?%H67C-!<}zqeyN=j?$#MAOlmHCzmDjXL#)!qdUq&I3xgY? zV{xrciohxDu1*y-W|OPBzI;PvdP%h0KOp|Z2WvI**kJ*QMH$KQ1taE8WZp*??zLE9{}4Xx3tuc6o@R za_Qrh0gr=@9^Hn8^rYW&hJ&7s%>lB^dO6qJJgGXUM66{btz0C2Lbk@l^lzRoe!`zz zI3OQOTnKvSfGn0LS*7u>kjVMXJW0|cGA!O2-*=+5_lXV70g54VPSxT+agz8h?$!+6 ztHr9Gz>ZYNd&8ek+6Lg}-{ZAEw!EOM@>fXHiVX?@N>YidZ?>lehu=PQnf$@n{u zb|cd~`TQGV^BT-q3$DM3>pQY5Dr5vZ98-n8fvrKaE1bx#h*LVkR-Ny=^@ezD>xBWk zJ`tWH<(Dp@jq8r9SE0JW4Z(Ze5MpOH1W2qFdvHI&+6RYeQK|eRkdpw{5BLir2~ZXy zfvDng{$w3w5^vcT_Ihn&%Bg&F?!FQX_G9QGZpmFCe$2cbUetXgbmc=0U}(<_={%T= zh7DW3+d=9bq{2b^J4n1E$H9j~xv46eb}2nn(aD4=LuoRGovW9H@HUDl`1VUeI#up}snm_9hBm%y%QL z)?tD%ib4IxA~zp`ftFmO-!zk-v3$(q(Zxrq_MTlYet+Pv-^}|n3H{TmogW_CG;qqs zVMQyK28<+2a^@w34NEV6w41DG-Jb?jfAs2J@jt8EzCTD#lFS{8C;Z{r)*FYK9vQu~ zZ+7D>+0s5Pt1TxfDh{VF5TTF>@;h7{{|JczTTqh0o=@A>BT0fMHtG$eNOecyG%r$? z^RfIR^dpENIS@pl&Dy1Aw)8W!Xty((-Br9!MA>f=N_d0A9V08lZAP6T5pe?`!mD+0 zLA8}}v}8}h_on-W73`t=oVU$oN6IRRl$u?-1ca)60WX?)>LT$=51`v!Vq#IlhHbWJ zzJvs9I5#URwk&SlQ|0;bIT<+tkp~BQE*>MNmiErqUkcs2uGgX}zVxh^zkZfcTz2?5 z79!i+{ z>RbRXfKFdf^-yI=u_VwmkyT;IEPxe|jxv1i@;lFqSKe}o7jw?OeT-DxIz+V1p66fx z$GYZ|w_gxWoe(b{v%ue`%|Zhb!O#mLZg4Xx5q9|7Vu4i}_G{DOCmYfPGN!Q4d4Sw+P81c{Jo_MO6XkUB#OYsr| zR_r&k7k^Z|DK3o_L&@FL^Bb>_{zv}Fz!i_pxegOzCuYTtS+ODyBwVSUSg8!x6el1( zEkKE2q*Cc`4h-bbr%uK?`%sogPk~gUM&~6;3xJ47+FFN^l_haHVeXLUCUql)!zPIr zyB|I?@+>iI|K!Y!7iH%QX8&=pc-M26M5f+*eHBr>KfeC{2sQ~-vOG*eG#7&sBy%X* ztA>Z_WvC7X0IJFCr$?^=smr*uFbp=2urxw%HB=@&R5SqMn;%I(QV_DD-`JIt@BJfp zW@!ABn76t;x^cx$V%&Y^?b_!TRWI*HmXL1-jLGb~vi!)qM!#En!?>u7xV|5*Iz;*% z9{i7zaVNypn5Rq_TbtpRQ*+5~3wqKMr9z=b=W}$N+oJbZ|K+{q?V zUulX8L;;GQq1Y7fZGC6(FE;u46`M?vnn>G(%E&;CYC@$(=H-17!)K7vtgGuU5LGb! zD7(Y?^#+(FbvMh!mwLXqX>i1ZbxBDcHf6~l98smbT{K1XOv$pWTu)FB@G`bk<&k#6rqO_3_kwS=8XI6!n zM^=Uqm4NCi%uaia5oOKvKmI}dvg}>6R|O|>;M7sI&c}e1=tc_^J3cQtDcw0>{K{QL zB*(KOo|HRtQc{v1ZCtXhw3V+46_^TWwV@SIQz*1+yR@d4{{S0xf+qd;YB+e;*E)EtSh@$6TNEU6oBAQf%IHIX= z*;o>j>MIi+MCl(Lq8B18{uTho_|vw)lm?XAG9w4)Ca z?t59ghm82BcH%1=d*;gYtp$BjHoU%HsBSID?7r#9-vrnFVJEMSC)^d#4@VzEtWKfy zcZnZa*#)T8{{^%FRbNcGMSUwwbI zXIEpLY?rNOS7i&iPEzlekn3@E@7_3jj3hpr4!Wp#JqyVa4!#-~3LxlEz0s^Tqv5aF zqP3yKv!iW16=;+U)_=Q$3~6#19sD`Fy=X$ewI@eVtaL!54Aym1l|D0k&F-gu+@Dt@ zObJ-n#*J$s7f8#!7P6?%$)N+UAAgHXJ!J(YnIb1UgAE$WMY)Xv`jHBPEmW`>)%tog z;BfdPJ&Yhq2y5qVY=?J%!YG0CKn)@M)=879mtAVyD}MOypJp#yHQ~_criEoa){2)% zHtI)zj9DvwfAZgA{io?f=G;njFC2M0%u|j>)0PPS!WR%THbw-1c?1DXw?fSRI*Q~T z`Wr+%M1$nXq^b~~SC!ZQz+2CV|7zJVXv~b^D@z}LEGc0a5M2R{S{^KVZv9Q%{YoOy zWi?)0xUk72QsKsGq-8bOCP_$!i=l}O169LS^Ht3%g`ZrNAS86rg*nj8+iZp5trO4$ z)GLO-)Y*Qad>u>$6XbQKTIF7U2-UR}O6Vh!7s{ZBWWF(1PhLpw-|evxGV$M*SvNNx z`*Os|Lt94Y46CR(xcqDzcmCVA?rxl)E6eLXU|O|R@6OI&{K3?Z{*kJB>HRcCs(68m*T?f3dAt_kLm)H=_DGu+ zl8M%MQ^^E&!>9-4pr0D z$gY2E%Nqx;Uik6SSAAwzW%Az_SIrxl)g`xY>9rp(?Vj`YhJmhuqkC5lsrs_~+9A|E z46$|XJrus5^AJw=G4p6n$7Q)~A=c2~;L!R?3+yMGO|1$x1_~-+Ql(af8TYbDuO!7Q zs>IXNf#V?wPiuz@3d#_`_Wxh-y{E@D1X1vRyFdb~S!v zcjpzkB0n@%SUp?!?nBzj^UzBvhFLS4v{=fP<&n_!60g~lB824;C$WV z?}|HL{qw42yDu!4ofn&rk3ZjZQv7-YF+6yQtRj{b9{6+zRJ4Yo&FCQOjnMIxEnujhPl+ z-MQVup`I{ghq8St+(h0$wO0VLv$SR_- z3mP1IgGR?RYPQ-qGR)?nPP)iQ6jYi`aJ+Aa_~FEi!HUAWjC~!PB)d1 z^pZha_ePt)j&nK33Dv8@j0qWg5RVjh|KZ8J>fqk7T@oZ}WIGUHFr$>+qJsmRXg~_5 zG4UGUHGmXq%}N{3M+&7xs_g7U3DxvT`pNP<g7o+iog@KDEY}2?ZT@Hu3gjlh@KZE?FUw=32jwwX3);+_Dy)=kw|j^j)PP33 z1}Wl^RIEsbn=#88#S4;$gucsvar&Rj#kSqsrmK_{!(Uk$C*IX&k2$<)^2`78+?-u5 zxqVK~phW`*$r|td`HJ|~%N3DvJ$f6$#tzTVuo{Ddjp48D*+)c@z2+x`tG+fRcANgy zjCvYY#%ZBWLU@o0S+}kBg{U8x#a_36o*1T zT`{+vzGmiJ9c=-?oo2tMjKn3sfY-6`STTcAX~GFWkkO3}y2v_*yGE@PwAA~+9IYsF z!e7jo;6RH;suLmafoev9$PfJK4V688gZLflFzU}J$Stx?JTHE|B50&aj3EEy_nZktd&21X#JUEL4dWlZ(;o;N7%}@TY>(F?;la$7C$8Frlw%M_>4<@es>)yBi z!Ih4g5|N(VP%wLV9&_f;+=-VTU%KPnxpUuTxW9eYaznfK5O=R~>D?KX^*Fnm(4-yo ztk@MeE5Qih>~O7%61Dh>9B#l^I>-jc1%!_&j3pw)6vh%C0AuL@jHQFZSUM0yaRA2B z0T@dMU@RRDH84+vV2WBTn_Q))hJ(M3(7*ZU;;(>N^6n_Mm~H?CaI5Rq&ksRavh6D_ zEp6Yn`Hgqq=eQexLXGC)H(TaSS(Mu;TnYdD<4Ru^{jnD<Ug493Y@^2(%+>aSZE(D-DAqeFV%~sh+ zh+mp7qQXehjl+x#rbqovMyh2bL*|z;G4N|zv`f(HuvA6!wZi-;WI$L^piIuVj@yA_Z*B)h^AVFJB*Szss&Pctw1j)!sz94 z{%eF|Wnb}HWDx)LVkm`^6o3*5MsOkpon~txzi8Q}VImzt-poKKL@}!p>tqyZQqUa% zG&G7h1L1}9m6oPuWh^tD+q>+02A#>%t~x?w7)Y(yNTl3-iXTbdC!2>^%*iRqX6^#s zwE;GI3Ergxkw*AZjF|bP)ZmXj#ILm2{K_bUUm2nI1994KR2r2;8l;daCR9l=g^Xw? z^bC>V4<2R{CY(l7>3_Tx=T|1kGn5;2ns{5+?sV?V;k(RBY<4WS49&;!+@2h0u1gcL z&zm?*t{-Tr$G`7zryqz`NoZqCABC3v$BitNQ1VH*)?2uRkaUgI;qm z3?e7TF0v1TD~U>!V6&7JD-EzkRR)W)AABOcSQjVKMLVPE=-239jDGEjD_MI%=Y;U* z_;EbeEP8`!H+sM~qFM?wq)>iA!wPUwBE!8rg1Hp9JWy8DZY+HbBOw=_kW@ke9A?y9{nk>Lc;{WF^Lep_^kolv;AD6b%YLBZh8^_6>U z3A=wQo}HdmyQ#Y5^6T$$2i`BP+)(Y!e0KG#=R6Y{lRRHm+-bl0L|NVHn~Te9x(fEr zoiM5vM5A-=r8rk3E~1g5QeRT2TyFqIv_oQ0xcvrmh+k(QHi;oZZzwdVG=76YYcxh; z=%G#vNJGFN_t1pqL#W1rw&wjbYOJVvr_K5FHs%KBK~o!rWQQA{3veb({gGoMc6xTk zUw@yQ*R;{Iu_mgmqG53UlBk(u#xI*Gu3fxne(|XR!;Za9Zk-~pc22AwkyUW2xL_*m z=Ew&>u-9?q7y<9oQ+8X~PAY^NLv<%kLP4Axj6wSy`ADlVZ`1FLP8BNhk6ppHQKdPrGu6 z_R8Ys~2qU_k6$+e`LMOKMS>i)s+yH7aJ-I;mgfRCe?Q7f}926y58;GV7<@#cH#Q?=2h2oH6tx~L2 zinR*ybAaaQh_Y8@2(Dv5TL{XcTTw6vx^{lUGzjV;mfMv{prUxCfLDsZ8x7(XSm`of zf2YIhc3>8|6+Y&Ks;O3D1!r4zHouiJw%STG6023|a_f~ku#U1j(E>Y6W!~sUg1ugU(;4i6o>!(`pXo93C9Q| zBkC~%9D%`*NvV!UTkoy~2uB?-LN#6%@cV?F(zUC$;>PVSX3Zf3p|A&&i(alC!wPQi zMSTIi_@N<-q4NVYqHc2zPV+{}#a zOSlVXgw07NVKqikh)*pC0H8r9)|-vO>;&vk@V}`MrSV9(!gO>4x_OOE8#zF7zq>e7 zJ4DKrU5b?k#kO3yO%f7_i7mp22uDd*=Pq{A`ggi+1NxZ8-6$P9@G1;_@+nv)dU$lC z?<}}*6gmeUj+yr8*u!WBj=L`pa?Zqqm7P+h!ur?+w!Gu1uCMUOx3YaJm@MdyiU&W4 z-E;7!ip)F4jXw!U2pS_U!!cmYyP-4=!=9y!6f6eoKiS6pc=Y9s6mGv_ z)$r<(#ZM01&RiCWVTXbw42Xf*1bo8O<1~*s+tN`+u1n)%obcua}IS!2SEfy2en!1!K@{{-d}Z2j~C-66%W)^099s^+l9Q91R9ZDuWoDuO3H$OMY$T+K4 zhLGe4?!((}-ISA5&BbfK+s^&O{rTIsMh_fT@Cv&b?}kcd591UR*qhU*7sCTV5r|9% z$4;h`(vV-b8lf8$V@@1Yzf0(|#21IT2cMOXyzvb-GqdY%_SDBVm9X|#E^;lfcRx<8 zS__ko>l};u0Z`5sR5h4j%FXas&45)^!0Axv)O11=W@7izR(KT*snA4E?T!#+w0OOY zhGB(OUf-ig^y zL1sc=6>wox7^JZ2CU;)W^^qUR3qK#+yKUi%F+f$Nctcb0PRiFjfC(|nSTQb*VkjcPB*2ve1<^nl zPPW~6i~CPM=BHTh9=q?2H}JD`KGaS8EGD4X>M?#|`q*t0Q57>g<)y!)Bg&xx^F=0UDgW*Wc>8%impe8%EEd01z`pBVNz(s$ zC4oD%V9l_UUtLsybEu_d`ScfWbjhd8Ish5-YpuPoaO(3r^EY)K8D2IpwXm{9`0&f6 zm%T7?^>zm_Gs6qBatntqCLJT_C#7hN6Qy%k#YZF?;Ae01)r;)*V7J5JbUB-S2!jd=Q!< zDY+s_c!-4hHx3ah?~O{ONNm+gbRmJ+WY{7fj|Fg;fYgZseDrDY4@T$#Z=nOmnCoE! z{>8a3OXXszZ74B+V310+!0GvlLtCOz!s?qAbX~wJw>nQH3^~p$>S~Q`8JDn$ISz-l zEp;>;yR(qr#aM*`;o%^3lt{$%rpw3)kq2&PyrvQq7QL8t&)i}GIqmE^ zMqb~+O5fPtNy{?sB2Z3!Y#XZXY&MIP-o`{GRGm~AjTl2GRZpmrQ)|bUx$(M41i{12 z3&+@d;ljxUZd|mBUq-Gk-SppozBsS{v)Oak)Ys1rCt=*dc&06kY1M98`r`Z9XYEPj z$CniDB)T`YfV?&=A`KpEEX^!xMBz}xY;aicgsRXmixN6Yri3}`MjxlS&VbKI?{-q^ zvhiZnH@$2IbI}yk0Ggw%$jL~X?9ZFL{*l$c&0D!~`UuakyzE8OpL+i3V?&oL8c;LT z!(H|%8g`Luc@puSbpUP))Pd>e*Wux#O$e2ON<407V7<)9#Nkmxe1qzyFU?=HrzT;v z)svDMH?gsG=Gn*AzOspwR1LMg5;1PU;!30L6Rv>4>)kpwCY?&khg~%pk)DxD?S1lod(pq#c=dQ zO`pX}2ZeEe z&hG2Pd>Dw>2sXA@jYigPQt4=nl&}9m!)hS*K@Gd$ zJizerPLvm)P+H;x!+fI8zg(z%{#C>9&qk_7jn*vtc$s>}Ol$eo>XD>?dzBRIYtI@( zYPsc!F-6%-byvrfnPdsq#4Q6+4&r)76D|n0A$?!%;=Z-F)?qgo~?#r|6zI)u`m&cl3H%$B+dF(%!4!)1tdgg@K zEFAqr_c>XdOn;pzOwfJ95 z1~D$@IGtWPaWQk^#~<0wPBH1&vw!gixABT}=7i*)^e7(<9_dR~KzKI*vPfT`AySPp zSC3?el1PpM!p0qhn6TDgs3dx&9${g>q*P1z1>k0e=3vBD#*Lpj9`5^i^akSt@7hwS z#*(_@JW*bwTLMku<<4%q&+KE}9&SStsRX!OI+@w|{hi7Jeu?*vT|LJA_YR?G9A`j; zT&xh$6Xcb%e9=;?RcCkjb=FWnvdOw=qhA*h4gw)S(9$E3P_qo}mesN{Zo=N5D>*^+#R!Wcl zP`4yVYHBIn{yft(Xh;J$oBK~$e(GQ>@gSDC4oeKeW!){x_r)oVK|wNfcscwcx=Kg^ zRw=?NMRb)SB1IdcoAI0U!U5v^de%vU6A&(7DAUFE4Y^{5v9L@}VBPPwRbagnOEyG3 z9!(cq+eRkQ#g>mO$I5p%N$h0P4>d!NrWI^|p8SEXc3}2VtQ^NqiQ0x0)6l2(_j-xn z5a10 zcq)4nPgUV2?;NHe3bhoxgHAi}j+F8aKE=N2cv2sv|{Y-~C3+RGp8 zAiCclT2VH8%A?QMj(;>GC*c+G?XK_B|MZ7HlK7{G9LrvCapBDQ`ilaU#n<@FC;39# zv3YsC(Jzk*@{gC35;>8`X*ADIBz<^`u7hT`1YJwZy1iogwOVdr?bT1NmXo&fYs?8+ z!NA@F+pohr8bDwZ{|+na1#o@xvr6I6Xk%4CveS)ppsb9wGMQYgy?xD$5OO)BZEXv4 zVo?UOIepQh^sYw{R(bFmX=f<2siDRIO0z;j=3%U;M5HODr<40(3P=Wy7t|!x&0vz; zAvr@6+ui4`UUI)koTS}&O!p%DTBrLcAb0{a*u_7xJABz^!_>uiD17<;-Az@+S1wV?z#9#b^5> z5q}9=7e*F^5owsnqPMs#Eaq!ULiGNnZZgLWwIu0T3oorycBvPJttQZuaW!53|7KKOH&3B|9d}8j>F?S^oSVx$W$|?cAxl zvcWX0Of~cuco`jF;PF`u@&)o$z?>3^lnZ35WQCZRrD1{hG9 zc(%rmZETONEx&RZW#|5RlTUoVQG9d6BQv>NZV?3QtCqb{m|EQ`!W{#)#>>A`f0C5S zfRjgcGT)j>6%vgbFa@8z#C_*s#UAb!R#O68`dXMvXD`9F6pjMr(FhyqcZjj{EGtQRn1R zXF(;aH2F|G4)G85Ym`et296EDKPy#0=lf-OcUX;6x!rOm^J)FiKLLqaN zK3!`Zue|RJxH<5B_=_dpY&sljGRVsRvi+pbWJd?HnT_ zF?cIrsRR4T0FTh^Kn)Xg@CNQaG6C{%fPmc&(KKRY0`I8cMn`TdrAc!us;9jEdu(XH zqnUI^yV)77WmCrTJCdAkP8&R{c5|y(?6sGKTh|YrHCbt596)fB6y~|3MigU9SFojv zC=R79We%TCTdFG7E4SN-O;!?w89~&s1U3YZr7qkRVb%Mz=?4~rar7rA&Kvhklw2+da>E7>_azfkU)Kr$BOe2L*UOInvuY35`^H8{W0&h9re(G)zVWG> z88K|aV=I}_!&_>LrlfW~oi#1U*}O<{K00o2LtgT>)-`w5rR6mGqGRSvShh~5&L5V& zKkLZFwnZN=&&%LKri{+Z%;U9K2YW(#6Pm$A4~S8kwI$L5N$HMI63QPCc1EETupjh* z@ZhR+(ocYc05#Pu0cojB>8f<8=jrPg<3qzF85L=bbLtMqdPfcLCeUM=IZ>SU-kh<8 zNn2an?yh4NRvj5NaLC8Y7h(;!pq;{{w{aIzJ%?dZ0Zl>qVgSDD1Zcicl; zp}DK?3`8XjsW~6{$T3hd}OUYHH6cYW< z?=*USM=Fn%4IJ{9m03VT5ZwgB?gPWhQQ?_?;tF!&0QdZdFVf;?RR;ePlra>5B^1ex zmO@NLkc#vrt{tJzp$Jq#4d6JqbZ}L9>k@DjAxpg07lMre!nxhOP!P}dw))CI3@ zdV2cVC5zg>`Pj`A<)ze&eoT_~XxWfKgS%$#+pzZAWi1WM*J`!7Mds*znONyLtaM3W zrNezG&QP(XpUvNCA*?0R>bC?L{rfCLVo6f@E%8df#iQ_}lu4u?u|4!ztk$KVI>O6O zRT8uw)qFi8b%Z33kp@Y5#-+Ky0J}=TujJFrDaNp-#edk0B`;mr{^j4?%&@$Snn#{s zv!|91$?`Gl_ib2r^U0P5upX9diQ1b5q8-MPXJW~8)OCTwWg@%DZwMnLtD^}UjmgfB zV(48oq%s;(8SPd1qZ5_>=vak6I$E>Qb-=~6xR$s!xL8+cNQr7U+R|hi!RY|egh)G3p!b`jP^x8@=e^zHav*qRGlb75;PY|Z6T?g$|v<`LT^&jL$auIxS* z%0j){0fr0R5Y;LV+o0|sE)9#&IY{Z`%$TuL>lS&p?r+=pa_d{CcTHKc_{3w2T;eT} zX+zStXHBfxlq8K@u(&PlXm-O$R8@#BlUnv3mL7`OUy{$R3pH%VgzexGh00+VF-bK~ z#f+gblHsCa>dp#-xcEp3@6h0efxr+SmZ5{70wF&bNUIl3-8~B2!d4!5F7m{ol6hHk zp4j7ZODpD2m@#pGU2aXB^q#l8e`$FhvajoI!_&N` z$f4rdPL?xi5(1%`CN-*#JRbel463aP);aq-0=Sxs4k zC*vLWPG;qn4;+G1gAXS*LGx&7Kuu8~(TL^3V<>nGh)oe3SQ*uNn8x5`J>PN9oxQoF zJmt^VFE;7zGRbKmW0wx2pVnv1oX{K1nQgD=*qhx(cwLoPjY zKr5XjIk#`$f~NEWZYX&-#Z~e2YT&26n;2QKe?9jaE8nn>ZWX8eDi-FX;V+Y6D=23z z2`V;}&Z4;8DCy3{-I3~gfz7&akiAQy3kmo==m&KVO^uJLwM|nNV-@*-erBIm+PJBq zK|kHGmed-b)6FHFecn&k*7Z{>o%?l*d5%2_yR1Z(32-y!61kQNG4F-;c5A1b0Px5M zkMT<8(}wi&{*xbRy!hFxt%oMQ`o!wp;$7|I4vbp%#;WVwPY2t#ezoK{S{Q=g}!G z>{00@c|%^E{*vXd&(npcCTGXAuWUa354vPZjSg`dlE)!F9h-}MF0&u$Tt+RDQL3EB zL?2$}>7|J$2%peqqH=4Dmu#0hS`SGtDcF&VnqT?L!S?>Z##{ypFT_co!bww;PO)Q( zb;DIbp|TNXo(cjk5`Ad5Zij=*vpCMz+Si<4X@UW7$QpcN;E;+ZY zb>+V|q~^}4LiNs^<~VhJdx`EfV&{jk(6AVpe)I2why^@ z_<&B@ytZMY5%Qds5>fu#ax%E{-bP4Nei`U_6G}qFKi^7ASr85rp-aBce1Cz}rr=z3Na0bm}&r!ZZU?IutuYx2Lw9uaa$pKBcmJRvp3zz8>$v~MTD;OkQ7H^e`$Pa zeq;ZVxy6N^@Pwq8K~eoulr))tdm zu}FFs8JIW>+zJjFjwnE+&EStzX#M_35*0~;B8epO)PwJR8ihYH(xDl#-9jv)Vc;t` zO|Z@I{b?*vxK#1NgqECuyX2wDoJtc~F9Z!k3nBTCGjn<4&ZTokPpaD2>>Zm`dg;6H zjyA(BO;pYr#3a%R}dZSz;Gd}M5M ziF5tqOEz#n|2@BH>f?ibHd0H zL_-%`v)IYoR3K-`#8#8oWLD{iON#A+s>MQj@}zKxtT+QB<%d8@(gPTC5A{HiJ|!DQ zSL%a4y}`{%kwrN}c-FL!%Ico4IYnGe3ggwl~3Wtjw^x=^RTI-xWzE+oO}DSg~lbgAQjPBw{|FFmJT zgf0&1cOdbY_+S(p$x!^l&mIi#{4E9A)?hspH7D`G1U88O*0l$Z2;Y(k-+J&DPQ{L4 z58xtY*F!}_GC^*{;eD>G(8(Stg=yk-8WVp0icn*;uX>te z8L?>^RvdhTJIz8e1+(@?eBmbm+9-|C~)?aY+)l4sWb;hfn-%K^Vg zjCtxQ_JsqpCyW};v-B-7S_E-186aBYt0^}(nCF<;p=QLCqs;@%tPDeX?MkIRIC!jl zs(g{0Es_(PJXW3|r;V~Ixt111CfQjv9mtZTWs%?3+O-BJ;}*H&##Om>u%>2Fa&H+` zpr9?oz&GQ7BD98*FR8&KI{KSd*H9|aSO`Tz5WGB0(xaRscxmXt>kg2hKd#540#`Bh zZ;q4?`ikhyA%(6T&Rz5DdL2n{+fDh=J6tuZc)(|!)j2#+AEMd`M1HxDtLMp~cmuswHs$r3VEkX~AA=Z##VC4p)GFUNBHZmy^ zw6Z#_NmkG*(i&-%g^1!*XpK%qRiRFl&`T-400kwbe8T#dgyPAB>kZFMd_DqEJ;YD{ ze+c%=C=T>B*|z2R)!%L!wZMy*x*>=sSj4W`-2@vNy&VJ#HFsVQk`LP*UNCP&@!*0* z!%TlY^ERnCQ(Wb2FR74D*|xWvXg^nO8dLhyV|Ql_uUT>Bv12GZh=Qj06!0ynqNTo3 zW>2JNV%40u6>(eR*v2?AAg&;;B98UMkvOeZ)L-A9QS>+X`t_q&E{jxbk&4(uW zYqSS{C9?EysOunjnh-IdCJO<1sYJpXbSYbca!S%k`;@Mx$m_rNR+T_DVbI$|; zHY(Q;#jPP75{*V9;bO@x!xWOCCeK~?vg>WPwhe>dkEEwgPF^$%#%CSeBwDHKf*x=1 zWduXlpf=l%-Yc2TtgEjQiS=R_A+b0-(u}lGeU;AWL`uqt-f+E)G0V&{twpDx?PK&V zLF+)Eas>3ej1<1KuUqK4tG_6LV8B2Y4^Nw3;s_2h28UP$XGfeDlWg4)zj;m}cd2yG z!Ftdkx_{7)Az$-^_-OTZRaaZ-rboi0)7lw_YS6$PyLFgSI6EPM^O9Tgv>cMGCr2-Q z`Rs1@=oC|b(*~~*6Ir=afllT)l#b5#l|<`Yu5x{YevY0UswWnGw0?k|l_9Zj8S9wp zSma=f9K_~`b!0doI1UJo!yOdlw%}KYT^R#1r0})N@sJ-d46Xa=-Y}&GuYUt#Bq(Ap zKMaQY-hr+{(4tpJ&;{KqPlR$z@Aa0N_=L^Rx8L4CHH^d*VzNU{oI7WSn$6s$*j}L` z%ngHL^`N4K!+C8io_+bu>)ieeMODMr&r?j_{Is;`Enb?$r;ogT=gI%f=hZRQFC$Uw zbp*^1DVpvZ=F-`0bCfHTTa|31k_=E5C@Yk#2bDk~JyGZ#zOmM+)_bt$Lc_i3dou!vq;j|LlcNi1~o+iQV9Bl+NBhM999(^kZ`Y&gVO0+o|ce1 z7rw*>3$Vcw@qEPWr}+wu#yQLiW-G%sGGqW#z*I1-2PIY_6s{;NzOnkL`bB!SNKb6~ zSbc^b+tXuvdW(ckwh0XlZ=g_i8oum|Kk;BX`1RK|2(JwX%yT_lkcT#g)Kx%T%E&3Z zDbj1ACc+##gu7U2F$?>$1_k%~@Ko~?d4mV8b2DmrYDV9U&Hc;UQFqK8*xN-^8Q#O; zC5lG+5=81?H}Zupy9-DcmYBq`7NW6`@eB4TR<+ZaIxL=;3+M6jL+5~0(HJVfC!Mn;a+ zOw}yXutgfUb+MWZ4bD!3v(p%jk`SLQR0pU~bR6)tdVJ|6z`q|dcmHGUqIzRKedIG8 z_6~!T01v_oFz=Z|teL?RT6S++rw$J>22RlA+2MG5#hb~*p2FS8337pb3$8oNL08?^ z(wlvyEmlz+7OiFtZ*woVrkFXiF%o2=$GXOqDE> zutgFy1IJ1-B%qB1w2`P(1ZEIDdVp>q;A(-V`S?(`&{7|OG6!W7AfyUfUZ@xL@WDfj zhJ;rMzY+=C9)?GH|5oR9Hwn{e(g$0%=Mge2dp9@R%iNCVuIu#KgF<%nJFs#{&PMX` z2~x`>3?^Rp>o?!yo@cx{`<`YaaD2&^f2$kyp4qiL=zVYgt!pk;CqD)yt3)*@>1q@_jDHXDS*RY-$^0TZzpxs z9XLICd8ji)Ub6O)wNJ18wtd`_S#r`?IL}|4Td>Gq%*Bcqe)E+hp1WUB*ED-XUC}3h ze3RRI-anT4q5a3XWp(SmT~JwxoA&|4y%tXrQ7iC@Sj?eSBb9vVeU&|r`GOwZ1$;+Jw zM$p9+Oyrbac3%SLX?T1p7r$_4 zdF}A|d85m@AGweI{_3{xH>zheUcPyryEwA(Z|*m?ju>CLf840CVE&^ICdp3VaxhR- z?du;NHNf1@9EEF7l-`x@2nh?bi2@iziZ^jp{*Z8G8m8y@ubBkmK3=u(j;s73@DcF(nlIxK?6Mn3~SD3$UN zsT)7N6|SD$N4%#qJDN#?srm}nmMPEK-mvy5ODlJ&T|censebTa4t3q2Qm^0kV^(!a z4r3Q&Ud|jLH*0FR#qSLt_uQ`1NnOjCb#T+ZIL{@s$}S2c_yam@7vbnsqJF**RwkFh zHIv5~{BpP6FV|`OwCWEK4G5ahBSVZYPy|hVaG_s6oLt=#zYES}!_N4fwIqSr_bzJgoGwAq}+ zYw3mPR^IrQ-CH-vojc>V*O7$UGx2A_==K-424`=@n>pXRdySap$4mHmNVpxoM?cXd zUye&=(wT?`51CLEBQ}SH_|0~k->k6s%~+Nh%Tk%?x6Mkc4*j7Tkx~g{XY_jmSoW8W z7$pf+1@u2uhYO(uK9X-S(@Tn!)}YahLV!}#?Lr=q?>V#3u?XQPdZ4Zs(-dEm!TsDp z{V%l>Ug>#CO6qJC4_+9>?GhKgQ#d=C)HBrO%6|7B+`o#d_OIfOvTtFpM_%uo);ims zP*%qrm^;lDd<+5!U=~Rf$c{on(GXvZEl4Vp!o^m}utyp8sFOKm3=lpHwEthELBF>d z+Y8i~!(Jnz`w&ip5D5{E09CH^7#J}|NAO#rZB_DZ@mq2BwWOW?y(@l)kNelVV;^;K z^Q8!J_!9Ut;m?Kp&*%T1yR4t<2$l)%kQ8E>PJ~w{`m%z9fLbK%z?M;NqAV4T zq9s{48jMj*jwCIuHwi~*RwA#~{Fb|Y;07jD*T>H(ZTl&i2~QcaD3*L;7?DiwCU;iE z?(A|m?+)wgoJTIVU0?G32PyAvDZGA7w{Xmp=XhA9OyrZ)AW8?hU;zJvxChngn z=hheg?X^AJUng_tf4^5!@#KGDUl2Rq(tYs2RW_~JjC+Y$uZ=`! zr$qtBNdd3?p&ig&2##JbP3?B?f-g~lRG_&W9x6yqQzfXF$3}X3YiWp@Ia8CBkTyQp zQBGqTw==F#|WQFZ8}qsgTE z=eRw;-^-j_(uv({yfvq9s3Sq-_jw`^=!lGn5G6U{>#H1zJ|z&$CRV9!Iz7Z8NY6(v z7#hCdvB|p|endR5ZomPcaNoT#i(d&;;K1PG25JJrWj(=)4}T>>(Z+~IdbYG;>jP?o zqd3mp9j0K<_6<;UE$5c}elI=07Y-vvffWK`ouZs1h%!;|7b{caKx8sgHlwevVzPbx zoUswHY2&J5^%05Vsv<0=5HO#~j+i!51pGnu92SKP?z1x-%rDkYpcfAa5Zzku zSw3`v7WU-Vuk`L`Tu3CxX;ZnMziEDc?19tG%Lj(Z3)hcYb8y`^?bXYCa&AxloYJD) zVT*^A0Iy(Q&jt%_f8mTJ(u(mPOsFmS>+5fm`VWVW@6s>*X>nQIrW*@+2Z%}-oluRU z4WGqmRk8}R4nv*H3K;MIVN4jZhvbS@bfel0VkJZIC80S(Dbpbwfg|JP1x1K^K#aDk zqBL@H7FdAV6H6%b@$$2r94_PzOHExx8T0y)PdPcakg^;M-#IRp*@HD1P@18^pk>j- zDxF!PoLD6Z;F5#n@Dk|T0^EU+AUayeGRoR3sTijW)HwFgcVDH?#Bpb4EyoinC~K^g zhNQgI*-Fwe$;qO~L~{sEJ;ZFV;9};C6(QInM4G7bqk{-&tebD&6|$tX)`ChP%1`MC zn(jql4Sl?kUcZDlUA+;d3c5(jr&L7upvSRxdrTemM(S&}#lssxH>+ZEPXLLl4{Tt* z;C|eA53Q5b5Bc&#bi>xt8#J#ar(;i%q6A-XsMF>I@T5~8qO+k1>Q_h?h)w@51^cX? zu36ZjSk#xOp}VQq)Vodue5`#){Lspt-R++mxF}GRI;z75_`;O1QHZoBhU)D0Fe$>r zA|tf8(ISFY@9QM+C{Q%CM^QES&7;q#XgmH)fTWQnTF(3=q^kB2r2&mLPF%^MVXc~mq+(1)~rkAk3 zTtZp3Z|r2w@1ipMQrNKv4A31idHFYh7U*H%z;Ro#7z)LegbtXne#+QbV{oJ~QXd`~ zj`5EeZ;BPnKUw`~+c2=V!;`E515@q^s0b-!!AdU6kh+>N+-8xJ?{_1QH+ zShFT1T8{gUJlYq6`)-JxkAIUu{7%$IyYd`iHG{NJKYf{kx+Fas0RxShUE^|6QW`_f z_3Bc=Hh5mzF{U_iVE>_N;*5Gl>UQ2V&F{?bQJl}ca?zc zDEeR{Ytk7(TqA&-!OFcVNk|5w6IrmyJ*-NRge+!q&KFE#Q3>I=9FTw5DLc1kHSr|K zNWzPW%*f7VJ+hA8;ghZPAk!Yan<6I!i!iG}Z-jm}Xmx6{!t`tE+51cNjHTe^a1sR7 zTq7J|NXBB|-yS4auaUvC?~r;fVN+{y_t7mU72FXfn+fNRlTwVXKF;mo&+8(%?p@w3 zPViZEYK;b<0UDiBp;zePggxZK2>j2R!ajV~)4_}rBO3%?%hC0Po5>Xd4_zOSmrHw$ z!wKfh&G))SahqWg1V8F1Sl%s4rhb%Fr?9Akg5XC5=~eKfR2G?SVihoc;7#@M1b^vA zQPzgz8Ypq;cB0UJ%ED{nv*{08VX= z*7fYrrKQ7j;X)1JVxN4}((jo~&wTvGJEZAsdD#XW;yfiW*+bou!NE=5QBJ82CjL4v>sO#Zl^Akp2Vs}ayh{BqHDlr_ml>Fi7{7cqap%qPuT-GrnmdZI!ErZ~V4x)WQLBseLF(9GjEUzbS;f zr5QOexp>B=eVT|^xEa|6bB7lX#xDJ)@h6wk?G;teT1_gc$lU+BzpK#rwR6qmsi~Wu ztS$Lz>3L+v^*S|2hJ~UC@uiXxHL+K5*cYFf>kl`T4bc-$%Xi<@eCUuFOunE zoH0l~%VKbrdXZ6Yq%br_zy$J_E8I=GbIv?SF<@tU^35>P-AO_kOrp>&?(V|qp2OuS zF(6&qGgOZ;{rT%>NXYRQ-vO6@;AMEonX%Hc#FSx;IC)pZ(#k!-fc`Um{?P?8`lUnb zyR*w&rEs=5_4sY#?ldzId2qN%*m0U@s?QuwQq@4$lBAOQs#Jr;pQJXjg-9=r z?mfKM^mMA*fnf8ib;|d*E?8Y%QS)qVjjSvoby(xVjjE8yejnW?g=H0Yul##oP0gCZ z3C$B4+Q^mR=u*YdlM;uCa`f`){Sp_8cdsENP41jIY~KqNpCv~6vQzs*T^)m#=mZ5) zfISov32}@JN={KHgA6Ij^;Ib#Lkh@{B9H+eZu&w&h7^z?B_&uLr|2gQ2CoNO)R=Fi zqzG4nk4+Dnj}`rL_x!;_YWW5TDe7PN)2IE!JbaHw=uGJ?4zy4dIa=L(VeOp!ilNUB zFZ}1<&Rl$a)oU2Xakrt|-hKGW@yA{z%&}t$%(2Y;#MFd{Pb=29HLZ%04?J?>4gHet z<4^2IPFHT4dkNg`BKP3TpDG4pMNhC>R(C`(_QkB;bKqSW0-&gkE`{1DvI$Zm`! z_|*JxSQCN~C<+b^n^YAn0?si!cIafdBYku-KV6C5d!UhMFr{sxIid z`X!Q6kul3Zd!lZFJLzszJg~;Nj?>b)g3v%V;<3CmsCu`^%vg;&!8W%U{ix`+C-3YFcUQ(1Xa>fn#f-Al0E`wune4_ncPN__epr#Oh7 zVL3e6^Q$)p12`yfZ@`&O!$GOAxxPv&*J?w81Ol22K|uz%0Xh+!-)=VR<9`HWYHh#~={{}&N75~X$tB`n=!uh{ z>iDP6kmNa=JEBMp=kc-&^ee=qw@%f~2&cvtd+6IYZ_a8#dbZvav z=v3MQB{{qO$(8q3&78+>jexkXSV@cVJpo|7NCRYulzVzPfyKu4-^)*bryq=><K``X8t2FUVHpt&4$_LCEC!o z$7%})d1GVx%jMhM+qb2WO8s-%j2z~`q>QX5A9wGu4oZmM-!+)yu#{Vfo>wACW)j(a zDuY6yMY(#h(CU%fQ>re!8?Q#L0WLMIzn3-?CnQAF*vqDcO&xr3$P{ODMc7(WZ|Km? zC-d7$8h5UpYhLjfHXmpm!sajWs4~|`1A75)3>KlE#vnD0&Ge!CZ@;7GD z2w!TYiI`e+OHg;DT*@M}FORqR<(^=qbF6+j+Ti4xAiqxNRpL+i}>LRoTWO6b)5KMkD{HZ}Lc3wfE7GIJ-3m$jqICLi=T zk(pCI0NHiQ$vnY<%yt5O0Yb9_o+;$Tr~(FwWhQbnIj3k^^90SK7p9|PJ9u~0n6Z{( z(#0_u$#}{XZ0}tVk)JKAl1de&5)nhY44@HsJ`X@eAeE9%>Y6R&73;FvNhWTXb(zGJ zHEB{7=gVkn%INbXqo~-IWYlU6z>HNgAP*BA>}Nn82IOHVd6*=IVbCJTFj7M)1*xF# zL)47Mae9dqs9ykakgg2JykVJJX62U=HPtyeOjwF@s$+^`zYUPo-u278)_89SPq%3u=QVqAhssHKu(WmuSuMbkhJtdwOG~(A23$4xKBRe| zCn9Ck#Hs3kUHF%R$@c0FSgR{D0C|5tkR=jl&AZhl&u7$e?-rJyy9!SF+%Xy{)i#XFGV=7BWEA%Yq}(l~T+ zIY|gdk3Z9O;2?hD1gV#dgqlwjp=>{{nCXWYclSTnOYAwFunb*eHyx7m@0hLZg3W@kR_rI9sC z&hFVWzbUr7>wfEEUTfS1o_mA5g->>FH%_ZWKGdiYB-NJ{&G2c(N*YZnf$m7yVRe4Vc50_~V< z3eBS*eNB%13%5V=s!*~sx4dxAg2qfAz*>Cqp7Q;xNG|`$zBRnM$=HGQDM>x=5b%vu z!9;2=u@nbshEvEL9B817yq8QpG^9)EiNvx67iyJ$UsG6xV@bo1#BdLe`y}n!Thq{} zM^(WYbnNY0$4y(YzPJ7s2d7gZL=6cORU9~(g0g_zy2ZK z>^-_Z@0YUPLDAv;M>R~>Oyd`l|EEKEf8#pz>rIt2naP?1=BlcgTykGn$(t;*Vc-0w zv_ei1MpuDai+mgsk8PqYmY1@MVif}t;B5HLeE{wufCqN*0t4D8&OdznZH-u2^xmP{ zXU&>C$;nQRv5yYT=C*)SzkDH^(76QY`DTw`Ybsc$5VYq%azsyd>d6BAD!?6B`$hXd zv=Y|pj`UkC;eKn7%Rk*pB-UhLllKeu-$Gk<=&vo6+%4#gAPa{JL>%7@nl6OtVR<>Q3r$e-_T=(M2_lQ_WlDedYb#n5tc;xa< z<*22lgKJbcz7|r(CWF#RG>R{>Ipdr*B8t<;F}661#}gS*G7C_03T=&rCmC&Dr;Eh3 zRj6E}l!C~49*#>HsTWGu`73c}=GM`D1CuS@i0ITIVqd6gubyXq zTHP;>J@NzSat^xwy0jW?XoQ!iE1~eyr3mF5Uyk1b70XL6#^>{F6oGZJmaIaRLF=uE) zowmu@n0?XrP40!&px0Pf8ilPGUL0D{+_GPu5lriYW&fzruQJ zuwEXPQ)06zfY59$7U?L*^W2VQP!|Z?B9t5;!Xv0~8q-DOpZeqFwet(ZNp<)O$%DRm z=fIh9&6r3(Km6S>Y*G8nnUi+!Ojos}-~JN-dQaEBpPC=~(?l;y`kct4s=+TiHO4a5e8f zgXjK$=iY(1V35$u=8zI;u|{|@&vJbpO$C6KpGPB`5ddz-9bd{MZ0}H4UZ|Ak3@)lP z#XEzeBgPD@X_R_A@8XS1`}ZduT!qV%l~G&!k;D-WzhTn2@TgZ$(Pm%(_OWhkiNd6c zB*pSx964%?fo1AuqtnuuglO~mt7QK_YtK2w;;&|TxJdww;>gyJnpiw!As&*3hbTmV z8%ep0ZMAxz`mP=dY+&Sh)6w-jxPgdDWYY zV;<2BXbilT>kNVjEMzi(<#Q4RRACT-cmZBxqv3#oF&HE&xm-~!l{^*pOc*mSY-JcT zCaej9i^&8+W9&!ZH~vmY7e}v%d|4m8#3FjgSJ-*^ZZFD(=@c>{LPqYC)LJcEpVbwN zE*sfDf5dZ7B`=9e9R?7#u~YJ38A;uAM>XfK0k$$}+zB^R;NV`FyYid2H$UoKGGNBCaieRT66^jp?t*f| z)Kh;SaMB(%Yy7ZBw!qrl1&@9#y$|=&47v0B`UmL%sWTwhZ%eTFKcp(mZSt?R5pj); zNNodDep|8<-&6R3E-M?R4TuVF7by-rUjaF@JJ`VIS7=2&t#xukJo&ggIGqu+;rl?=8<68-3sMpPX?~_f1U4ft_c_;gg4UzQT=vZRh@HXOut5h9BI$pad{H5A@=D zOs#Ya+8t08K;0OfxCL-rgs9L2B}(#sn39ono-e$_?cHm#ruW>rBt4%I$C3%b;%{}C z{-Lw-ht2IeUX)KiN^Ga+n-(2EUs&9bKf+g7(wIL&#ByKZg>87D92j5@{)KD{%b*=h z9b^p+yzoQ3kfps7W;9Gh(f0^SsrQwP*>CF{x2cu1`|}57(3jQ)Uh0iIRczXD_^ZO= zw4|QbG7pqp&po*H;0W?T{V*3WIK-fKM#`Ajg|c?pP8l03a~i}(#dQoRBEbPn+!WxEzrV{H~tNmFDWrT9p*@s`YxEHApWvnA7dq zHiuE8kjhlXAcIk@kZHx2VR@ZmAZ$tQgN_&ghSK1HqCyB~P*4ko(K7O-m(^snnha1E zs2L9&F4TDNU0-wxSYQBHgqDxOcxlTkWX=mg8@gcTjNJLlUX{coM3v9j-mHz4q+#w? z$Bu#N5wQ_(;jMGUXUP{*G~Ai8ce;Zf<W(8HjyT>Mbo0SBRN(yjI2&@K;`j9Z7H& zj&CZ+|3}-G07g|^{lELR*)wZ0*^|kT3?YO-hGf_o0zx1xAz~!R5*C33*qMiW{}oTB%a)hYHEd|99_uvm{{qec%8856t%7dFP&c z?%D2kZWogBb-8jz>aujlj+J+tIE~|*zXdhdT3*EHLkgD~w8R(; zVseVxB#QBF(B${$`E92`6+N!OjUjt41`Z4SbeCDcp9#$L63W5FYZ-UMu5pY`s%qaS zzGHe-bIkcEc`r0c4Dr7SLo?upJsj(@D21jKC`1RYt^zryF(HHZSGO#A`|;4vJW zj-Moc&kn*vj=;#1?D~0jy+C;;0*^9>wIu%hE|;)h@Zjv*H}=QG6gRfaKj86LEPXg^ z#$!a_k!T`@DSu;+@EI9Vk7Q(sV)&67%!dbb^FUP===E{;@qS7_w~%XMHRS!F8qx#( za%2x6v4e<0l2w3|xrIrrp8jw>v70W3@ye%hVy%iPC5#EY!YWN*8l*ySYgAt4hH)rm zQV!!4a4?=+V>}rHUWK1z*Dr^76@h2G>ZDdYHa4o_v9VDV9|K;6QL#sy>LZzSdt`{c znb;i}=2d~xGg1ml@6I77H`;y-4ge3M;$*)2bb7TwnHGUY0VOTYpC99FFY~F5EgKJ{ zrZQSsvvpObMV_aSO0x=?MFHpXXwG*QU zl>d%VPTZ7obfmEjRTa$+fW+d25LJNuL9Jshh0M)07($RbrJ@ziGUbDx9|Ye>dSlD_ z1L^4zoJoL;##yF(&LH`la27yzx9OIud}FeUJ)hw8a4t=i&GfKr0&=pPqteMBUj(E~ zhX0L9xlkCEP;hVylk#kaX#}h&wFtziVNy3L>(&9&U=@P^WyQJdqgs8z{S@9`pFCd06Du&^NUf7h*QB+7f85KDi74NGUVnY~Uuf&-QqC|sO zszP`}RKPAtJ6Rh72h}MFpO6u1mu508#gk0ePO7>F{obi7r;k&NI2q+lV5Bmb$_izM z2&JymjRp*!WiVsOCdWh#Rrlv7CMBNeheg>2uR5KY!v1}YW8a#r__j5}qDNtLxUDr;$JVOdkI zDHU|i9n|CW8Q?5yepQtFlJ5e=^--IQ0+nQ@|fPjz;4N*PgVeOd3~E zps`69%T(+Kid6qFIRjRk4+1h>)iF(3!EmZNoftD0V$_O>TB}CBs@n#L;Tps#Rn+1c zx0x{tH8OCpM#j1bt&y=DS$&c<@LMbkw+kUf@(f+Bm*nGj)}l!rHn2}22~@}>jF+9QEMS=(Y>JCXyrgsj6Ir9W9h!KF|1AszKlwBU<~20a426S>0d; za4@+z7Lp6PY#Z0{B)k5t+5*6+mf1zch?A0-EGD)xIIPT(8U$@Cl&MOz+KRGTCU7v^ zqeEqiSXPZP@g$Rm6I!c36M<)f^_a?TyFH5Cb~{t+NFWqO#U7E=N8;(0(U5bGkB@o; z?z&YeB`puBd{3f$Pf7|K4K4w$EE;)<@@ExNGX)VyYT&mpQ;<)2VF(Ief?KiZAK_$F zTW)%8=Ug#Yvj<=d_1sS|bAV0g3_J#mpq^U|BB?P@Q3k*y6=h%H6i_A~5Cy)d2z5g` zL~}7$M2Z+%aDy2din&Vu5>Kg^`|^mVU}*4EFk)!hlG{(%2i(s60uRIa#zBLjm>I8} zFv?L;#P;J6wlZR~RE%L_X}F>iTO^#(5N2x#S^OM9SQUk^i2q(g=nEsHamy8E3PVxq zN+5(sOb#hN-6p$&MX9%ghloz+QQ_k|Fcehy7zP^2GYp92hpQMuO2hn*8bnhJG}ecQ zr#K>!JaFt~iU({ALhTLk;V1%%C+uNLaEA&(BSoqN31K?mUH3A@0}iGH2$taesNq8T z0nmph>Gg=|6Zf)Mfx^R}afsNcL6h(tr7om^48sR3W}q0d$go#HW5n<|A{0Cmp@8Yg zolHmgHaZd;8@6JDVJpML(MOu!Rn@AEiD$u_s)^Z(G%F+^!LcvUXF51s%AGYl)3VQ_<2SeTFNc#>Toz^>CWe_&F=$~5#6rlXB% zgc4w4qLnHRW^%$xHT2?-0tbarLp%yY@yygyT~qP&=C1=!%pv&k?xcG}Z)pv#GVM}v z^+sxS6<0S_1%`{(A;bsH2bYC9P}vFfv$|;#%&}U9_`x7iD+a0Zg%5=IvKw-Emf;Mj z5X8-7nboH5z$|GD3y)Qb?~i>|MFF%DvK7R?}{jAzXD!ub=PZl3qav zig^aJ1-*?|V39XhZMKI{HHgf3+i_2^O#Q|pOvbtA&n2+khhT{O;; z7D0u?*uloopaH|V7Cve#^HGc=@KLWph@AU*lErMaxj2hTlWL=9LnHPx8_hTYV2>v0 z?Zc9;BBWZQBJ3j^0K(W;5Y$o@Q#ZmotH8*ZOHnfAQBn30TtLZU;6xQCg=$2nW3H|e zNFjj`pE7QMD(YZ6jS4C~|=KvV!iCS}htgBu%CmPT}Q=CYOt1}4jUnJiC*>|?Wu z`W(AHn_WkVy04gW^MK?za8TTm z!f-ED%H#%CCZ1&17t!l2=;%mGSeZRFjAPX@Ly>;VHq;V(_(1JlDg<|4Ei+V44F~O> zF&yZgl>tYq?wN)~)Ue20^=Z{yrG^{v2q@{xDCwn9;#DbeXr`rQ9vp2Qqhzc`$v%~m zP@LC-NK)L#%y4f8QNnpt9JUY+@Jslf8R2n&kV(k~#y^|ZW-Z6iHv1U=fPu9Q>k77< zg0EMHv~BDatOLghS@oe^ZG)o*2s{Mdeg{qX>jw;gT(|Uvu6P5K8 zhO%BJrOQ+ZOdT+ne!FlpUH*y83i+=4|PSq^0w}9s0!|Z7GJAFtVG5nsyWh&o1TBrP3`T5++ zqTM5FHf-FSKytc0dw+fV-w98VETa4L?JFH#U;VcqONf}8yJW_w>Bk7SqW+a8n!l0O z_o9sP2J!%{jcyasd}VmNrY*#2obkotrh<@xP$3F59J20N1m86Fj>H3PA@*qyUBhbA z7Gh`4f5P#y2GJJBDy6= zN;!gKCjzLOaSV%sc$vutPa-(r2BmV=ZtXc3ajFYi+Y__aw3OGaK|-xh+!_d6pu9rG zLcU^Hp4FNI1}mz~+5m-GKMLq(OgqDvQhym!sP%c076L-zN0?oz;}2=ARHL>*N=Sp- zLY&5mHRe!~TSHI|Qygd|jl(Jm+Da;p2*f@OA}OR>45E&;fr?`%d=G7<);N|%LA;!) zLbS&5mP|ER#qpe0O2i6KI$nx`*sry;I?X~UMN7-$SsUg2o0e_^a;uis!BRk{a{g^g zw*k6!OSb{KbxXGainMfksHNf5bu~=SbI1kO)?q#8iMgNIEX%CtLb-4=Y*^24f~`b? zpS4Va9%ik-2@w*)HFrol+TK6?GrJ!beg6-vUFq}GBK{HbMcZCQLFu75qG9%hVblms zgAoQt;n}JD^Hz9T!Mq%XX^m$KlM$7k=af%1Jdv3m&?7t)1%r*38cf78&4IV5V=~Z@ zdPQb4MlyF0Z8OA`8i>e1ZY4?RoKQ*X$R}w0QJq1QIiR+uHBdy7GD7VSn;{+3FcmRO zx0a+fKoLm_+l>2x=>n6ajy&s|!(+UpdW@T-<7U|XzX(hH{3t3(>UbLB4Mbuzz6u4u zEFy`9I89&#C`4LFnp7OHGz)D71#HMDAd%wUFqD5lmxq1G4pybutwbBi09zN243>qTHQsm7~;GC158 z;xwW2&C%m@Dg^Zh6bD-A2UX)Ev36UCeHui3*kiPXP+N)D$e=CV7D8<$beLP=c$w+3 zO2>0Qs&sT|1+gs(V!sxFsAK)K6eyoOh3Qo!W)8x7e5gw6MA!sY9IG&~PA+yXX5>1maf zDd^EXz(TGuERkp~5Na>lsI7q_E#EB!1k0>jqG3Y!9`r;kbJq|M#nc)oA|3@HASxd5 zR6Ib_B!)?~%uGBoGT4#_CLT8fM#)h$Ahm@T>0kou1IoI${=)37svw#*jlO>hJulc} zb%+-C)%ct~{~+kW^Xg!PIJXBDvamV$TD(YEuVz_ zff{|#`>Hp8OZkH;<>3)~3h^PUp$c(I`CNqv&ni$JjA8>SWojLM&+4cKo*ECL@1H_9 z20X}M0*Cvm9ilX#@{|XEWOWD)F5Pth6#NaWWjMZ8Wtu*(%Kcj$2H7ZtI)$TB04WHRznsFfyg)9m*;$HUmmnPj`2az8tKuufnz=T2wbFJ&)}%uV{CxSqWyXes!i{{ z4IFy+QE-vST%|994}JV7xTw*BHu%ufkAiE9?{b(v^!KCSqI&%dUjz=l{wTPpzCT=J zHLNr1`&0hW{vSrR9u_}A{iDYK+5j@U5e*m~3uw8bU&8D?8w&tVHWolZr7OVMdQ9LZ zU}i^d4LtKEU^X_;3OL;ThtF?A2D2--1}+D1Pv(BuSOI8eeFz5pB51zln88iYu)f5< zeTJY_!o5-^t*WzoyoI0?NPf6?+7^=aPKizzh74Y%9o!j8mN9-Yg)|n{5Rd z)vHAtG%{IZy;?3xeq|VJ$Zw=iauaA+f@jJ+yu-#Vk^v%agLjS!x9|E942ENfX_1tX1!q09F|~RF=%F^$8CGV zH$4-U;9q5Yop7!46v7Pqy+8x_By zJ-A5x2FxseqtYSILrIY4a2$6NXhfPd&~QB0a>dv^63+o^M4G9;rP3UU>uv&$Nb^m= z=zAIENPGv(5ouncVUEOkHvvbaIRqSu_fWlEk$4Z7S-i*e1fvC*lSa27I-I-zrUzKu z_sb8c@gG)hs_`Eg{vC@K@GUtoO_<{0hY#cDZqT`myTwdY_Y#$-pse={yY~v|8 z(QVMP4>{&KIu#blqlfjWSyyfx;{81gG;fc@F^)VK_N4-A@O)3 z|9m33BasYDB!NV7K9R6%^@-0X^79kP-SkFzBJWNNB=U*ri_ELc^=85BaKtP|&wC3e zaA$PnCEe?~Gde-HPW%qLsg`v}r@Kr(#s-(U`Q!5G4mh?64*TH7&82^KKLP)+8SXUQ zABk-Yh1fWh%7@Mq!pUNhO;Bt<6x*Z8uk!@VEA0=C&Ko(XcT!*Pa(C?=xx)wcZqoKd zku~a`D7n0A$2luf+oe|CzXW9D}pBkx9onSp1KHM{6 za7-sCoEEA4o9DHjS2*IQJ)^x$?(saGx@SGJ$bvzNKYX8qUO>A-@euq|c+3q?OJk%) zjAXUvjxrzimXgoJme^IXrK=gGQVrw)13A_FcNN5{fdGpvZsnK&ePciDov&a#cm`$OW%MB69h-lp4bTdND* z(GtLp7Jhu6-rH-P^K7|+zU0)Zoc<>98__8j4C_^0TW%U??39-qPZU+QVPw~~K%Yew-0GV@IK-tusN=FA6@JxQbQU6SNUuIkl!!o8((7dgk96M)Rp@$%d0`hT?-PS=j3 z-5_Pokd>wo@yw5~UN{y%wWtuT5JV?H%$K`|aOmD(IM|XFZP1;LHDv&5SrpWpw}dJL z)cs61)Y8h78)|9cF-%HNmHc(Mv@LALftA*iQACGP*sAo8nAhm2dX1KG>SBzT&|-{t zU<3EF6^1Iru$CuO2&)FcK{Lb}D)#UfOs}wK61{iS<#yaz$L^eJ{s&bjt|Of_hD@9j z-(m7@<(LQ>t;h#u4+@<{JD2yzh`b|*0&-NbRJf3QofH=Mfql91sN#MdmiRWs zExDD%xBp*AdbSF-MxguX{%2ixfBWqmtz4ivSKdhA?u zCGe&Eowp6F$WG7eYD62VV?R{#+1L*m{&yz#;n^>CpUJ&?e;9_!p%>xVGxd2Y_3Xax z4a8qe3bg@fD)SVkp2@rl^XAPkEk|MPr?c_k$C!Z*joR~>ntt5`ahhPG258~ig*1?s zvx8}kN^2RGse#sTUtFd2k6~K3{P+)*);?j4p>wKO0!8->^-?v46IFdMh4g_zFpW_m zhGE?`TMTawLA(H8vO?3C3Z@sm$N;7>72!Llnty0@2g9e*F4kA|QySn;)d5|Bl#5@8 z+vM)hE(bP3_6>FzAx^-qYyrEnlTC41afNZbJC5v%Ylu4@C)CH0&=n-0L72gI`O=UA zdpILIx3NpIO$fm}Plhmk`OG-+uVP9r3mS^&Hy_cW2l4y2XS*JKrWe~tU3$0rf$(Vv zsM{T;u3s=`1V4eF%?tc8o$h}~9+Uw-@aBEqQCq(GN%{SoCahga25MwA@6ZU9%u`Of z>bI4*rjPJt;zeP!>;dq6P8NpA6~L%jITtk^A&LsZpnF%5py zE+Oj*BJ2naX-1aeGDx}_jX`Q1=YNACG~~(m4vDKeY)S)vHf#zZqSFo#*zn-8N{t4= z`BVrR1cf^3VaSItSyDl}aG1_}lPORr2;$kw4G>lekR%Oc1p^5MK|C9M00<3&R;V38 z?o=x*#1{#rG`52u+u;?X-OhTR;of)UsuJa+28qHbg*7(LgxSDC*EHf>5Y5#_n?DB2inNJs#@`p-|?NM?+{zl`CyAffSR? zlx`ACA`TCwq}z^<%Lm^CU|>}MzHiB+K=Uz364QvQR2fdG0!K~?yU{TJDv$Q!Gq=1wh~HCxVhFzn-=v1-tGq4rLL2XwUE&q_6JF+M zUqs~ABH!H==`!RpmPJC(%awBh({Cy7VwWQoT=K0BMlXOryjyyQbK>Fcfa zKJ69Ky~LZXC-His@5~1gO3dMx@!OH~fTNjP#^up2EI!$BinLElUtKx}x`tAAWZD1I z*R?N}POKa`a$M+RWM$N^*-sBE8#!VGxw3uO?WLuq?34cfhk8A#DUhi)XxF2@IISt& zDp*AeSV&s~$CA?apjnOtzujBliS^q3c+o~V1_3#CEYv7yTeVsEu#^dC6bK6}7|w=G zhYOaB0<}p@)U+lR>{Lv>_NPcMYLVFcLE5Xtjk)MaMlBY(A z4g^q@@Y-?WLQeTR6d_I*DFOJ8pEay~S-k>^|w{_qfTENMdI**^Avga@UbidRS{(d>qn# zG`9RbXrbvi_13gi$nB$NgsJH`X|`J^0um&HQZ>U@ID-wkKI-`hI<_u4I_WJLUV3lU zlH<>8t$*alJ?*Bta=PC+b936@-X;DHy^Hh2+|l>XeDdABTYgLIkHzR3;ug(O8t)p^ zIWTN+7xc+lJ=~~=oAYwLf|(6aZcD7yY8-5~BK4eA{1uXT#-=@NBzGF885bF0V?;_a z2n8<@DI&`d()7}BjByePZ;=!RN&VIAY0zdVl-n37wFLLWH}+I?Pad0o-;-Hm=1pI6 zeEY_ymG^p-(|GhF;(2wxv=cE&b?url3GRzR(>JT zN$JHXIgqS{g&M{jMQ%SY`KHK!QY3QAGM6oZpN^i z5X{DwN})Sn4Rwvh)<}WqO{Fx9r#a4Gn{XzN;CJJQL#Nk=bK&Ku{#?5IN9EN$e<^SL z*Hv=gS6|_bq@~|}3-S^{!D&Xphv7nOS|QwcSkvv0*HrGI;HX3lT&8inMRstHR=6D* zX@ebB*Wjly^pX;TucpCP2QfMv&U9;BS{%TfagSCw-LZq6xaD-F>bWFa5-z7EJzA0K z&|4m@FhU_iXJ4tA>5-=%W1yk$^z=LYN9KNd1?G&X5|5J^)P%(F($w9D{*jC3y~oxP z;l*7mCQQ70*{@fX@&mgl??N)VD3{xjK$qqtWb4_+*Gcz%1HKM?akxPwHGh5l%a^}~ zGb(CXjZ^I%a2M^d8+~vvt7A?(!DGyFWG$?Svj?p%cdCG$S$RH#!NYkLR`A#bEueQs z0|q;`2XNpzL_eOUtWG?Y&n~bduFwzh>(H_FA?&v!>pG62M2oP|Vn@3`00}~og3FD4 z04_K7ZVNk0dKJ}=%1K+$U3tIHvdtTNZ|Oa_$Dpm1Q>u@WqW3V^<8msm=9Q7sPR*aX zh^Sg!(I*=}Cd)o`)hjdjrnlooq14!XqP!cw zxxex;;*EjmNPde5Hk<1g%rIKq7RNlC!lK9d!FqkN7qNzyTUe3h6_ecyD-x5PT05!7 z2D5siN#52HqGJFTW(mn6)fAuVSw*NSt*{qq>ue5oFe}Z~-M9Ar#et%gC!NNro4nrc z>FtLP&X38SwDiQgH2+EwVd(Du-=BJ_O94)D$BCce z!?s*!Pmv~fn-jMlBeSns>7nh~NuTtnt+C26ftwY5+?E6%%ZUdN3ME0Uya-TpxM{&& zK38I5T#liGNe91PU6GM2+B`^*?s8UFv_lr_S{q4o<+*0Nggn=0uJ2qeF45+)xh!#l z!GirNp>x{jLSJwiCOvbJx;yO~L{!VbNE0Q~+>nT{5M$B&$utim>WZ|VexKLl#W{@l zBmu8m95BZ-CvC20Znbi<^SD=^_%JynOvtYd{w_RUD~vXjF$* zf(c_nx9(624>43Tn*TzEP@*Oe^?C&X$I!8%R~@2H`Tff$jx2a&eesyWiW$Stz1&zg z>HcZ{K1KcJmEZ9BmaHn9knzYujYFNssWPF70+j?s&Rngmw4V6}WW zxHHCKc5$wIFoD(=3|PlK&536?g2Zci0OojyL&rEk!xV%jbJf~vI)IAe*pL8Dw!*oi z_)1mXJG^E!>9WQ=ldLAwo4+ShT2(%~9^?DzoX%tYmk ze{VnH@-++~o^oY-K=?kOJe~c!{>nvuWzCY;l!EVPEZKWt&f-_d6NFckqw^OZhWcbH zF5LxqW(Rz8H*R{c2*-gYIBm{}6;@lCt*>o_t=6{A_OwlB;M&{Tr?;Qeep!3TEZFeF zm*(p*yTa!vOiRn3U6Cf5y<)<|3K8l=4~bz!hmQ?qN5*RhZ8Hz-qA8`bd|p|m7LyuJ z#7Vl)2@E8iv%7HQ2|J!PzYuY17B#89!b07JvHOxpyU-t+C+{ndx8wJmEg*xCsH=D|>Yk6?;D z7FlbP;;dW;YX@giQs%6RB+==xNyb?fl9yFHPdm+!nn+r)e6+v~r1Y|P%b$>GkO*3P?k+Qf6{$zmC! zcpkEq2f*=1zA9-RP#f-RZ7$F4>UCC0655N_fO{u9BO>E#qVhMoxH_gKsyxf@%vD0vaEW zAE(*|jT^W4O;w5>e*;CLr^xDX$TEEsVMaA$;X!OxnCZ#Fm3*YuT{HVOvh>IWOHEp( z;F^%OphP+Gsjp1Av~_mc?D$#y8_Kx^lAEA>PhwIQR*iptq@p;*YBKbK?H)``N=~=MrB~tbO}y-|t;Tp9MryQG zRhacg1e>SWDNu>0U=Wd24=HTuaZs3R&q9N;XpBZ`IM#%n28dWqK!7Rpl7OVWy!rLt z?;`^)I`-S%dTHK}O?Q@)h8+)|nxDGA$L6=Ty+&5{?{;UA>?H}`eNQ&tNF6y?zUxN& z&dRK2IX9hO&tLw&zp$;Zvgc#vcS0=5K_XJDM36-3HJFVgw8h9^t~Hq$rQ}pYsxB!; z*2&csaSjYJS69Sam!TIdxJ>N8XdTAvTu^%)*gWbPl<7*f#{p zaOlj+;p}sd&+9}>Wz}3+nR;NzCmv!XNu=CQjGjx@y=k?%%0-W|?J~(BHskC2a=Xuv z$XOU=KD+q>wat0tEDjExzKLvoa5=J6a(V=kjW9%AI2=~RvpA)Tt5bYJe04=m!UPww zCLkHKHK8`)^@KACpCz;;$R@!BM{dDP7+NVyG+8XVstOA=Kk9)>ES9EcRG}KwXVJ^* zJM>XUN90&fjmDPfUDCh>CucPNC8;ufXa4FkzOLRs+k4W-)(I7 zU`GCT-8+5o-0daxdAFsb^GO9S0KuaPfjb4=$w@e@7((U_aldz?cxK7=?fcRW3@;u1{@xSjG?Mwx z8|20BjDtrwMqDqkHRZ}zbub$7+&#hD99F0Go(i+u z>LzA6-d$Z`h_^Y@ojg4jFX$|F?sG~8F5VVj89ygpvxOUPwt<>M$vvtmkah5^0W9e71o+bAZR>M{@#)ImahBK9_GDas zjdW5Pm9KLixs<0Y^@?Lwov$DCK>ZWD-0-Wjk8Z9_`Aa)S4pwecUKeWDKKkIZwe*3vlpP;_pgjNH88YTLg^79wwGOoWB)id=YR8n; zItM$7OtvIbk|91m*6Hok$>YhiI@8dknYK*cnd!{T>f-2_B^V@u_6X>q2x^6Cc#K@4 z2>amQn4hDkA8WxebczMX%(I2M*Ki|o#OH<2^E(BfuRy0GNE0hxDy7{)-m9_YLKc=2;d?zheEJaV*$GQA7gERMgi<4auFCs?*2lZ~ zGZ-$-;%femWj5RbVP*3nx-=|4fh`R~kL0TS6XYw4oBugS!3E?;Vu0_ffIbxvX_c?g z<4^=?BJ%z{~K47?eEg@uuxhvB^l=~+Hn23@=r@Dxb35z?Eyq&8A$E7FsL zW)2evdXUZ=WHTs_B0Q6xBZe%u2)EpJKc5r9u_J<9_#}#MH)e}7Da&JG&2EP~7L1qU z6JnzoAES@39?XaAYc-(C-=+bgY82fRyb>uss!_t^Mb*&FwGTRYm)UKwTHP)oJ|QO7 zfi~h$%}7nPlB1g`s^(D*7A_&W;hOmfHCTvZYbj=8fi5-IIT#l&3$`Suh3At5Avs0h z90_q2*`Sq=WWs9gsokSJ7F5aU#6Feqa$(@O-@To^A+eW z>=h8zO&maBEmSWXro}sT{w&63wcLvJZaa5@_(V{e{taW1I1rvJgHAVPK zQ?mLJUfZ;(x!cB#WXh&Zh$NnZuMUXIVdxFCS`sJ9oNP2nhxV>{z zXM_$F@L)GxiK&f~AchCK?cSL}W3%^?(D#zE36t6MVC{4A9?YR72TkC=KF)2Dkb+B{ z4T`iCc&v4XFv@}hSda!@j^z*3?Oxh1^OJiw1KI8Yl&tG>0*Tey!kZ zp0Pm))ZLgx2?9scKoFCBPQa;V2ol-cuUZtHM`H7*Mj?9xNW1=txPcZ(>jCOmfg+TJ z7D$^=)fmm1FqPrgZr~qpx~MyOV-}rHqvtZDu_vKwoW%38jw5tw08=%)Un|gWH}dtg zKykx$SXZ@%cudEo2Q8ujXH4sKdIL_`pk;=hjV{*iWd)XFUm;GblbmQuIw6VX1Oc=~Z_H9LXnbQB zFc5?)jA~8%OhuW} zhp1t=7)1=9N|d+(C>ddV%Qf;ns&<808ss3t8G!~)6!qc+&?fEX$h+VZw~r7j3=UOP z9QZRA6IL()%x;I|ms%H8`g)OcR2Z{igR%v(%#({$Z9y|NW8fSwAR7@{PlxGBERaxH z9|}G&X$h2Ga8I??JsCa}FAvQ`G_{XV2T-k7;t|8@Q~XjhJ+L0emo`G?WR`3KUTk zGkmPA>GZR7KuN3nsE#QYf+WL%Hxza2S}F+bxoJMIs}C z7qP0d*lL4@ii7NgB&R@KJ^?vwu7U|5-`8E(aJ{|osb)LQ!FCw93{1~Q_#|rz5ptek zrKT)`QV5@bN181Oi64~^h#%!qFqk14aMA|hbv$K}kqAa!_e&(VW)Y*Bpb$?1p>H1H zTwT)vetw;j!p|43TyHN8WYohF@oTBbLn;lJtWAe3nP~e$o_0&*U5UujKAu=H%}m<} zqf>NciYE7}WeiIbvvO3PG=rmByCyH>iAs~E@dmD4&?=hr5|8-RXyPS3oFLq(s`Xm? zhQbVrTPUg{mzy%{K4SJu^1^~amNc3*J{d*P0!&PncALn%CL){m=?Nyy^wI=+G6vJH zR)j}Ok{Z&e?-%QYAx)W3IdZxAG2O}QN9v>tr~_?g@;$TI2CiE$6_RAYkN~*UMucc2 zf&(zxa;dc(F{|EO1slZVNciMB=F6B%pyq+e5jDrK4n~tqcy)C|6o=p(2$e^s$ig`U z^M3oH&mf108YAAzXCJcxXOq^g6%$D5-@~(l%hJEOU8!^B{`Gd#?O>i@RR54;D zdB7ejMonH}Xq_V0H9tze0P)hm8+FVPhRrcl8$x8^Wuws)R_!*jWTJ8uZ9O%+#Of1j z{E%sa-EW@3Y?JOJlO|Xv&62~#&zs9ISlW}{dutG1O% z7VL#mPwgx70nEe-s_A2f+JKq$p~3bsvTWywS+BPmh{0x8P3>+gdDlv0>pnBF;#3<0 z&P!DbjdBZW=*#M*nJujNQA0ZXrpi)XSN9P!TTJ2Vn~Ho|A5f_D>J+t@HT73$HM^o7LlS_uppghumEl&7%yG%|qvp%FQPV}RgPTXQrz zMxegR2q|RFin(bTD@a~=EFp|nfM{E}Awi$cVu5%VOgtpgX17d;AwtY<9eG!W{;{UF z=#jHEK_O!kGRaJD!B15*RWAv_#DXCzo<()EHK}ak3rro23k?S$qSREw1#6+p6(%;2 zRFi;JmKg1oW%MLep31xRFwiODt4Dcimu=WFrccjp#D5m?_%#vxpot zZPDxPF<7ccj3%6zWj6?d%pw94*&RdPjUjT(J}a@}f4D}>XV99cQp%XB)=PC7e$~0g zdI}(=l%1-e^7mdZf~0&(D=B@1Dr#Yqrj77hI+MwQfj>lbus2%JBxzBTegc?E12om# z&;Uvcv7?xZuWI*9jr+7XO85ji!D1<9EF(S*@{D|1EaAjOkNXtc|mFLTh=CEt1~X20z_D>0R6=Px&VhsjNgSvIR%_iA(_V@%Va?`WONs8SaOWuve z`eA-w9I?icI6ED!X7s^cM{x=?L|JW>Qk7k_@nW$qgHo#L25U~ODJj7r9nqSVHR<&u zs;)3YL_>1^TWJqyr=4H)Rzw1~k*9Tj3D)UKd#;yDd-!j~OB5I~fbahS7*nc$3IYE| z%+$xI!2Ed)7)!(@l?+s!MHhAtf4(_~Kd%DQ&j`&V3YZQFF`C1`9k{8=A^>Nyehx-~ zFf2r8(n2d~@{k5UfK0)Cx&AnesRZY3+|J#}-NjAdCUeuc85jeZ$1UP&xLR%nw+aWb ztivHK_1u$KLGUd1JgE!*7oU+o zY3fv6T42N)X_})$(U=FMd+&AT^uMcCnrBSxQTCWLX_6_a=k4pH$#GeI#y==6Tj?+*D)!rUhsP3lQ#+JZl~4i zvYBv~MQu&ZvilcLA5}b{bH{Wuw|FsUPVd-xK=G*Q#)sz5x#ylm^JcGE z_q?!b)vq4iDLh06dHr?_XHm1pR>{KEYk&Anui-9z{jYzq@kb5EfBS<@GRJx|wU-q2 zT^IHJm#({`VE(7@Bid8T2)1!!fVIWsm<%~xqbR{vVH2*GgGH3vM&$dAe@5_;r=~{zNjoRezsck2UnTpy zTm3$f{!LN8Po{s9#?rq@?7Ir8`-VMCGTC#=XOooADwR(rDxXePKA)_+TFH%q0r~%? zjNA*{OWZ5mA?{V~b?z8PL8OF?5K4ls#3A?X`Cj_dpOQ*yUid+}bcxTOw5yRA z8>Bz}QSeWGzLA)MvC@Uq;g7v|P5SiHv=QrG`ce8!E}Xifk;F7ezyG~1Fzwk!Vg=B- zjIsyzUzh&;XYcK`uiTKnF!rc^s*yMvq|>KOJ!d@KNSpvVlU4p;gChO)uf9819BPri zis>_JYa@wkkluUG+IRMojl_LWdcVV%hmSN8zCrr?-*fI-^=cy#4ocrRitgRqND>>Q zDzDfCaihAk?0Oe-^C4FxS^4xHb`&10Ju?t--Ad7=|J*H59C{rND=;d!7)F$H3Gl;Q;r4A z$G$u9&HG=S`QqGX7c7TKDH(a-*opVgoNFZg56KrUyz%zCAAHzIf(`N?UV7!wt01QD zA^C+D_U=2-_*x_B)gbStrVh;Nc}RZ#`SqK&Y}?*Qx;4lQjO=u)}hh%CJM~xoaNIEvi z#etrE`wwa)IfrCw7kdQ-R zsf9G#T#Y3CfXw}PqvZ$_o|1#|4?q0tr=}x>gU>7uy5*~X*u8UcWpU?t?&?)8zH@Qq z;+?zyU~DA%10R3>m%m+UBm)k~AAR)M7hiqzT|XDj1(k8wSwsLwa54naM9joSTv)oA zOorkL`i+{QRX?yGHDqStr2pGy@!vxJuMF+K#n_6jd<|4J%{aLh>o8iss5x$XjsE_B zc|EgD8T2>B@4Ll|n*LkSDuxp8y9Cf=n7hpGP=4m>Y&;zV5(b9pku(+}+sRGZVYg z7H~^&tj2O~CAS*ObLzOqxhJ?^bI)+kalhey%e~AU%KUBUT`j-lQM7jSMEk$Vj2z zVJu9zJ$PTqj5RM{O~d=>E!krwLZ;vUo4+MWCr>gnCRY6hihp z1F$(mLTwAchgkTv!B{jek-|gF@Jq$TM`5;YB$ad~!*D%#D8H~rpCW1CzEHkHFx+CFLxbe^-uvB~ z@0>hL*?dsuUxULtOuCY82W3fu$2&|zjDrK@7hc@oa2U?C)1m(Io;|;Q=DFV-CTO68 zvb=5k&fSMeJJS9j2EErkUVj*@@f-}wYaZLQ`7lW&>4*Btk34ce{NZ76$9+&X);#dw z!-o;Z#2u6^7P!O1V5jw9FL}nSdlw$YfNIR4o^o~d*vcu>4}&%OgL2GW6DChPOnq1| zUbfreEN`@QlS_t|m0wo^@{l3aSsf+=Nby10aS7h)F!k&Q<=EIOSO0Ywr$?6tv9$ar z{snoBaYjsuF5I1&9rhu|4)B~d>R|W#V|nuLi?Lu{#bv(tzX_)j1=Dd zB5fXU1I8Ei(zUrS;a(u>nuPBjymSTL*i3vn@#&3vwSE3S-j6Dq(m~q(*2)gi8N#pA z=%VzvQ9gZ9IzsnD<%WN2c%9m(bpCoyb>weGHT^e}zE#hN{=5Eo=+=xGA5~YMSO06* zn!g4#d#>p>Gf3YV=Vy>TGiS`0$u761yuMEdTTL_Dg4(B6-se>7gXr2ZePd{QY-S6$Kg z@kcdhG%0)`u%aMAEe{C>4LS2!{SBMXjPeMiDY( zDk6r2Az%+sr2) z$B26Y>pX-pE_5!~0u5%dx^%{INOi34dz+tXev+aF_)u{pLk(zcbdHV)Qeb&#^PcA2 z;>H_gC_Ngt{UDFocT^%w2Vwzv44At2MtA;hpxe#u5Oc+BjEAMs*?$|SkLTjkJuWj+ z-qT^oC_XtutEALD9a#Yv+X741QPW);^6o`v7uTF!vgB;d;>coy3)kYi?k7x%iq{hT=+=ciXzwwt0aE;bLvytFvL*15B*YkYEY z*8xMP%)kGhv4&;Khuphx_`(kte!h?|y6=I34}AE*=MV7t)w2p`?VCjs$Ba)M?Xsdij}hf$z~r?$gqT7&~-|>9p{HS>wz5bn4WneEh5j7V5I5cAgZR#81lTJSU6f zW%bQkmnCG;Ig7-TdE-vn!~HS4-*z$|3unXc>?;-yhcBo%RoBD@$o}ISMAYTYC_tV7 zpZ4k0KHb`9=)SJa@6h$oXWRR2e`mJAA1Y6{;K$a}ja|EU@A_k)AW-0?Kb3BU1qFq_ z4HOgv_%iz5oD@Ln5`K9Yw)w@b-2;W*f^OXk$O#Ipj4ccV3W1^^u#v(FoAHM1_W|Wx zAW-lH4#Fdw06c~wTZA`qxX|CDxqm@Hx2=AEfKSnY6cJbe9Z=3=CnBEj236b7troq) zbu4$aA2eb~DqDQS#25U_k3%*e&YQtuxpE<2J@eu`MLE=-e0)j)S^Z2 zFIsqNfw9C+^ z#kEmF-z|zSgL+MbdhMAARU3XYEx3&vlc^d`j;4#}=8={BBw+z(#$JG|pu;J17TJ=J z7)RH~Vx1cj8epUsb7WCgfo+xyt+mr>o15s8JATsRlc&~goKiJ#aLKfRw@sToc=!Z< z>5R4Or%&B5qk zXRm@TIJqvEjYECA6m}!s{QjW9R@^>0xl@KUV?@S;48fn_&xkX`3Dz_$x5Uz9I+X`P z*;Yn64vl>w{&B~1w4e~bwdoTk7QU{WC!N!Eg@|A=qKotAb5RwGlOhWWF-L<<3T`Yg z^vO$<`lcJo6FiwjU}wpsG0K@gU98_q{1^U2x-^f;^>}jWi=4~xc=GZ*o}A{dhi=?3 zw0GsJjg$Cd1)gSF({)m)M7C~qo#(ciOLTtsyQ>GzB3m17z?(71&XpwWdTnnH*=j+ zX{}Q`lXIO?X{}Q`HNQBi@$jTRB^x#lZB^@Z%tNT_nbp>3VnM%Z(x6F%KQ<1#@ZH$kh0zt6W;Vha4ur1Q zi0{L0d~X3Z5FrsrVZa?q`QSs!ht);>?(TUcx3L@}oVKBjT^jQ599^_z%4<0d!)+HX zm`e|2zczbL+L||ytzL6nct`AcQTF9FR85vGN$jq|G#>T{1I4(6U zH7}KqON~pFgEZ@(x{4;G2cg=A*uZLzH#EGKcF;}pp6RrCSIj9owMx<*?pge$xvO8C zyJ%GThUo-5hlf(TnK^n<&8YI8eHQUWjvdpN?kXR(f7n#vV+^hw=&q;iRRYsa(>{&ue5 zbFh$2@9E!bbasX{MzonlF(x+C8}rSmm+xJ$cX!Qgqn;R3vvl<6nx!JneHCL2dQr4n z%rQwlClBkIZjj}oF_1bY` zR+TL}qSA!SHYYI8**}=&<5JQ(>6~s7W9(Yc!DKb1nfOlnG^f|8w_EMRWH;FpNg`-e zBhyIDJc|6n*WIp7NuB;3yOr3!9wU{iyB)uQo*Lic@R z=Iz)tw)fqc4%3dg^S9qN$`OW-L{B8>;^cK6!uASpe?6&Cfp?OOd{QACmzvlf# zzIMJPo43y>pX3wu!%G${*qJ}FYU$R+g)UTUYRlK?i7bKdz>;O1Ga=Dp!=^48yV3+3 zEI^h(f-jU*)6JIpQxTVCep1|+eRq`GU zno$KL(MID9b@NZyI#I@A6Afh87roM*d_8pQJ>&Db-y7UGqkH$I!*cS($%()EHl$&@T4B&Q^$ zn#}sdxMj8!h=Lz^0%1cb6)Xs%UzzowJ_BN)ZUnPS(InY3NoIj0UVU=Hyqe*8In5VW z&+Fb}(U8JU{Hx9Dcwh5HGN5+T-6Ll^$QzF<3+Hbu$Q`=C$zR>COnZF67Q|vxTLL04 zonrI!3xc;<3=YHsR+BC+k>{PsLOjO_I)j+*!Q$C8Nlb>s8j}n$W@~DS!x@(lk31y? zx6S4@2s)(e){#mb(YYYhSa@t#hn#Gu+}-Ib%w$?6`d|G()pS?`BH^Vg2(Xvmo(UEN zVs-X_gc~A%vQlZNJc++bGK79A7nBC_+Gu4P>HW0w1PN9?J)T^v++IlrDwnsDvC8}7 zpQ==hW0sR^+Z7`gSbm90Y{P!DSgZw3jd8`gW>g>#13v?KNCd1Mjg56k4r~#1IIw3x z+jAbz0-HRx(^btG;8gQ*AW?w!kL{>F;@Ow^;yomPCh=z~r&385yu%?DHl3OHawfm1 zelPmD;@#_;ozz*_OF&x^ixMeP+F9OXikEBzMua zOd;^(Ud2YP?tOAE-=+D?UeJOJkc=-$+@xS1hvRF3d?b(xfpim!5sO+4Y1mOyYrtaU zxL|{gJZ~deHmuaQ*=)R7w#7*}Y?m_&TtZa^7Sx0`sr&Qne(XSuow#|o~-35=i69#0|r#~@2$#y@<-;fk{TULGg*10Kh{lQCq zn>^$3r$oNAd6a(U=IyfbCbA&&h+8=E3R*P=vO6-^#Q|R4Q-O6qE|bgY6hRdB)ON;p z+DfOS?yMCI0)k$XDXFT$Bp|U+xT!%e_T6AhGtDu;xJwm|^Jtsq>0WvXd$o0;lqBL6 z<+sWox6M?}{BCRZwqaz;_dhjHI+uMuVd-PfPMo-2H2+iiNApj@@)Km%AGe&Sd1U^$ zJ3(&@O)U<3lMr5X3dX}6By&|2$;tLahrJy($3qlnSD3siC$%mAp>!z%94;7!RN2fK zAVr3n5rudJUx+I5$vSydPrv7$f+wD_kP&3sKfc|yjY!IYGeyH!Y?v^02%3Ftvb!wy z?-s|J2l5N$E+4$})E5El@9olb?}D;2EQ9-(QZ6<^IAf94qaD{Zn39~Do)VifuEOLH z1Ve0`JvPQ_<_ziMDhxJ0gEEk&r+{?2)#I4qVt8#JSH4+FoTdRagI!8BIW_&-aWd_l zZ1SEm&J8QEyC16O0LlhPV+di(N7DWqms!R~MDc!Z>QmprxIJa0?N z+Yi0frFz%SU6%YVO+70nuB+eJI6^5WyE?p^--l1yIO@u`q(K?-W%E=a{c@hHR0}=H z->}KGKq;4wvR!w(=$2HR$u*lErw&T9f-aX7A8#C25pT0`)>w%{?i`$kkf*Uzqb<`< zEleZ_67e8L_G`WsyOegWRQ_51)@s{5V>jnaQqGYfB-huWpT5tQDUZ~iD%< zb|cw!@U1@#8~6N^gJ*yeO4&{bqK(6$2R5@TNHIpi;E*7Vl0yhLE1fcc9xy5dq+)@r z(bOzr%&VJ}i(?0!TMGHd^h^HMZRFRas`*7?Y#vJXup}%<2ifN=va$@&>V1_NymmpS zg)_%Guy>Vi0L32SSQ$f7eNk^@eQxva?tLf18JNU)T}0?HEJ@=eZ-4@C9849b%Cxn0wJE2*#=k z!9iFxX|f3|u?j62+m=~o2Gq2ta&cU98Fp+pUoH@KXE%M%k3yU8IVt>uaPKuCD#F3= zv*~H>C?G57WCb9vm6a7R4x6Gey1=S+6MpQ+Cmw#Y@?ClJH80=y|FCv005;Xz<6qzJ zK989(@AnL29?YPL!8D#>NX#IwB!iJ8uaYJqNl1)Hl2S=hNs=TXmBiIclIxZvNnJ_Z z>ZX#UIeY$}?>=+JA-d}Kckib?=bXLQ{;svYkF~#hf7iCh=Ij6F`rcJ9*<;lFb$aVJ z@AxjKYENQmy?LDr*NR4isMv5TrUnU`(@?`D38s6i>M5Lz8IJATS-PMqvsZreOjV~| zok$%=20en@Xxg302&U6Ef4N2V+&<>9wjrHVti8hyiRyautlS6QZ+}unmkcktyj6B;e!o0>rE8FH!;B%z zTC34_+>-uXjbYdL%!=6e3+#|%_4dysa_0;rI`86 zv`9K((i?DI!cH2Aab&zVKlZc|xCh(I5Wn%~%)@>Pn9)!!XckEo)skoFyh^jbLjk}F%*uHCqMBl|TS^2p1T zg}y_yftcOXF5J>aC;PtMI^vCc_B=loL-xIz_QxaI`08y+m@3)QvoNn?2CHQ=(lc}o zcSJ^wnz1!WPn4XV%*T-Au-F=5gG(`PlEES-PD%xRNr zCAF-RonEhXdd1Ayy7%u-sKe1K!ft5s$g}0wUB9N)yqolWEpwaoioH5NJqKf(5x)*? z+AE2LtdAL4LdqkTWl}1b_^2xTfT;x5cec#*_f8YF=n1~N=#jP|p$-wxC>pJoS{3I} z*ObUERySou6dOrVCY6CBi99=|Kfp~!SaW;w5PSCzs&T2Bp?2E&*t<6^luX+0Z5TF5 zG9;rg+7lg9`dFiK*Q(=4!)cGYXEO^!RS zUSfZ3fB4*%Eq9LZ)A5G9_nzPQ{wwyv0mByd8dOq0{`b${Rz;7lx#QSvqsGN(*S|J> z_0E^}#^-*GzWc!RwQDF#raYtc$jzikk1;%ycQ4yVkKf!(uLHCkZJyn1I|0o|Buuxo4-=ExUAS*}9W=vu}WY z%3js3O`CQXw`+%>6|P~rx#zGWh?nt1Sag2}-Y^doGvo(P?dj%rX1O|OR|I5vI@uYs z)WK^`$s%Jn@ugo@c41OWud2^QMN~wO2pus~tKoVAd25kR-q1HpcxgOUkXbLNtUBD+ zUoYR?sdbC4rns(sum7uEo3?FDQB~zA*EThWx01NYFs)=NH=Ej}zUNcgy;G$S&?@eT@kqE{$Zf1|AF;pnwzenP z#}yYGD$g~~I_6F1z=W5?Z57H?Wlpm_^?h1&)uGI6>-l8pO?X5lxaLu_YS_Qv$<<^w zUgSB3B_oAY8|}EMrM$Wx7KrGfJDcWc^10?2tx1ulPObA+yI#Fo@p_wH#qA2abf4zR z*IO%U_qe=Ov#uqGovYXBiC)rQAU3Ixby!w?E;PKIt?rIUBqGps+d%^Ry)xL||3U8} zN1l6}ubs8lFOTS^i@HTObHAs&A(Ja#v)^#CqDk#;4%-eh#sSxv6*>`5AZ`}UNO20=gCt8twq)=*xM`Vh0$);9VKoz58B8b zC6#!Tsq>&ynUDac<>~)4u6VPd{!c^w#lC&^r2YHpvKFetx|~jrG{@^$o^SGj`MqV_ zU;g8xst?H=cC+J~`nb-k+L7GKR`rfV`#udgS6vag*hA$6S4~DCp@MhsUiS=zUgPnxiWXw(1^SEpt6EY=4XM{8kSsG%6 z)Z*PL`Ja}S@e&=AaoFU0RC({`Iu(>i+W&GNuc=f{*0!LxDopNErY_CfIArT~{~Myz z-GP@XoE)?+_M%5St#jTD#T%l`i=wJZ-Ko0N{R`Ww5N=f{9_2k(xji>}rh2R>Pr7Fw z_ru3<(^+Tm9MV#5Bm~M$>gv&>D+zVg0b~w*@Wt7-;&n)<%A-A@S zAN}Oc(+aM9BV21`nWu=FKsLf+mukU%a%(Epnyj==_tmU!c0!iR>l-mkJ*d*Q*;_}u z)^6XScU(IRw=Q$7wI(`8#}$SadsGXv9G5%C?>WcDWw^*zlU=Zir?jrie~kq1o}yiE zzwO!~$~TFHB<704B+8EB{&zGtDO!-XEFx?w3xzm&Qz{`{eVlW1*?(!Cn6zx?lSM^i z(;jYk;J&hLCGP0@@vWOZuq-RaDarwBmm@G^E%G*29xbea%;rX>XKI*vw*uLm{W24| zz$fF4bHQ3~+4@(z6y2D{YOJ&pFx`e5<$_=6kkq}(ct%pBc{(~Yj3+-VuX5vHre~d5HxqsO4aXDa^zqnjqdj~e z4<{CtyWZx0*v!G0E+28dt9{`tXm@;Jk>f$JSlgNHt$tX+FOY0vjDe2C`|Wu{RFTRr zw^pbzgYAvnhd5O{Cus$@Az67(b{UWIFFQ72v6(%t_G@#$SAFS&^z?GwMeiKsdsvSR zk`w9}%wI>e*DUg`sv*I03KXS^^Op)ed#iQ(%fHi4shOkf5q4v11oApno6Y3Ga2!C` z&1Kc8DQ&;WfwJ%JAKa0o%c#9)YDiKHN7h+1)Mc~ntNN?X zv#GRGhT3}-OTbNJ>$HM19O)*}xFhIXj$CK=zK-<*IC7$IuRhe>cTi^ri8Cw81C7d5 z3`U?cn=kMVd5b!R`#I94qXJV`)|) z<$AGxw8-~_CU+3`Rs-@(D+oCCl(;iYhf_&FWh(Cyd+-Fc;6%BKRM+TtJNY`Du+}24 zs7juPah)~9+T{&#S&A9mKR7i|&r-(gvT}Euj=wK*nU0nMoyC_XO~jx2veQ_6$s58B z6;&BO`)~Skquq9r-?%8XNP<*ts_M!S}iwb!`1G^v=ZVs#lp>s34SFISL- z_K=Bcx(Y8>y)C;*ML&zh!#t!EXcMPesq0*=w5o3K!igzr)t+)y*!JbtxQaRMo_Q5X)~IO+ z4fG>sH2n)g1HEPUDXP0_Sgz;!%G`Z&e?O$hs5O6EDmQWbV+~TrDNng-Zf`eIC!e(D zAT;1!ugTfOGH!QBC~eJYu7QpOLz-TMD+gQT?UV%Qv{Qc<_}#)Os1;GbO4>tPJ7*8HCFx1%RDv=QDZ1Y zw`xE7+b3y=Oo}otfK-TI(jVGqJ+g*5w%K5B8>k*JRb#$tX73-SCKAw?k@&1a$uo66 zLLajC_jQEo26~!(e1w|l+p4+p{mViNl)Jj5)9wHEafE(jJ!eE#d|)+1ByXdrZWEE> zaS_UBiwWhkj$1+E=Gs5?REt$Xx$CYYXkF39G7S~2gB(f=Bc~26jP_-2lAqSP>M5s< zZX2W?neEzUAD~DG2!v`OjC+B2h&a;C;O@v^h&oM-+k}$F6P03@aUs>Z-1X+a%T-d4 zC?^Y2pxdSQb-Rf>s)YrlRW;C4k?CSWDl>}e5o%Joy-jmzTV1-pDRK$Z-cwX`xhl}B z%Y8pt*+C-x3i~4&;z-vy6gI(RRcN%zep5aAQ@M4h+*j!IM}fu=!u4vvcD&OnAga0& z|DksqIha+QgG~goM=c#<@7HGf_EZJVs_uwLD?(>kWxi^8L48}G!?<=ZOB-kuYltHk z54PWCePlE;17Tb6r2_r02~baYay?c( ze68Kv9_s4vmsCAgoo9(m$9C-?IyOC2Egni;GjamGYmhgM`2&Tj*6a`7EE-3T+o#-> zR&m%GT;zL*q=iaaR`+qi-t^MY|HPaA5M-m>dmM|3@a7WVjaE@7-{bn;b%<>DcSQOt z$Ts`332LB;K*rk3tbT2LeN;>ImbtnO4Ddl03Qn^k457xF zTXv^)llU@l#n*i@H|wf`kdP)7Wlp0Hhzkxbk>_<0g_t%KBrvF*20V+%ivuwTB1_MV zK~4p%$kcx>Gtl;fLy)kB6}f*1K~59;=LJ1$1QOQp_c#3!NI-dK`GP+JvCMV2Y5V3` zfK!${6@@ghDd6IRQLI^_6N9Y=Rzh5X( zNFTc$LjQIYLhMx)FDpvx(B9uF{#O`sO5PIt`y1416NdD*M;USc zIAp|WEqF(PUB2DJ906wzb;g}c z5dG;;M}+EcM6cVg3{j)h6b5(up@C|F6VC)pWTphnm4T7SaLmG@b9Ld>RK3bKkWBx;<+#!e$Y&k6lvQ2EkzWnt zqO`1>3x%%+sx1}ETqZn1>C<{$mSu+Gh;xna^;E&BsM6YQZyBy0IgXgW8dh3?u=0rA zPxVzT%U%8L4&_e75fJrPVnA;ZfjVsFikT@szc6IXAlB}VD7U8gHmf@a*(dZZKOwT;-w#7J+GPXD%28CV zN89hJ>BEWmn>ex8sbc<(FytXKk=l(pZ7R;_f%ax63<*d)?MnA-{fRTinEs^RAU&yE zZyn@&)b%E64m_hFn3>rB5$Kw*a@;_bHya)247YbX7wyff-Fa%l8T<3h!k>p9JM1=P zPV{YUt7xP5b+eOQ=GmZtxWK68IFwY%e;z6X!jGO~5ILyaYFP1s5gBHU{N@}o|940e z2tSb7PIW2Q?HH~0b@Lt3-L#pXZC+_tP1gK{@T00xY_xlpF;|mU&O=Pg_5N)XtFQLB zPF4(T5|{@+%|3r6{5WJkKZ)?8d$~1HMOW-ZpuL711;N*Q!80r87k=!rw@p%yo5ndr z{p8aK#g{47LZ@@TDOl*ar)#*KP(8@3vp@3-U1Htr>)6DqsCdE}SS@oJ_ft))@P{AH zZ2Q?}?}Oy6vcK}nvus~KidZ!*#o!<0(envEK0(ZESDLS--y74aTWM8985-u&fhmEY zu$D)zjdErJ7%~2MOJ5D zx-~gSlbG&@NGj{#X|0MIR*SXQONcQYV~Z=|1WK8bzO>>`RDCb zE8x|AJVL}c!tJ5{_E7twA*!!)KP@21nf5S2Aj!xrVcy8x0y}-$!)V82F?Fmw-)jT( zlJatEzi-kI{pI14Q-X?g{`Dghc~xQRLHn}-+%oJ-v|s|(>zw!~P_)1h{}(FAYn9?x zmV{YN>_bD$WU4hisFbI9^IRdNx4N}2IdGL@JKgQXP{Pv>T&8CH<%rUMFTt6o)C=rw zOws7zyVU19Q&}BS?zg*<6r~L}6MO{tW{%?Tgp`grrCCu^q7Hvh(U7~i-@4}dJ$l;EWnvJnU_5^ogOKmWnZI`= zhN;QrR^N)1NIYSEvgI5iO`Q5?A_JGWj>t4M$_YWtt>%+@iW7nav91`}%2Wt%*Q>_cY{H!>1<3 z0(ZWuA`mY1SRr6;==@Qk>G#(BGZ;*zn#St9R@-@Q!#{Z(xD_)^ZJup}`27*^ zsDI`Zk8)>-+b90ZgtNyWd+a__)J8K}ZQENB&$2X9QvLC^vSTeX5keAer!Z$ccW^2K zIc8rwQLSS#+d5Q{*2LA)i9oWeFZfQyf6hEewZQ5r)WD2qbu~F;-!n;VB2v|5Dz;*B z6IT}=kuY~V{;JSmhwinPOi_EeNB_1SQL($gRp^`MTxtbm1_hPpp6NZ!p)XHT|1b`% zQ*oe)t3S^Yn79{l)j{Lh#Ji zx$A|w5}h|*A1QYY`+ZSIcN+wp`PheXr+Jnq;LX#^;l!s-8$Dr37vNirZAxJ(vj?cnOCyujR~>1q7Z^J%R#|6ZYb7CBC!I@9A1v(Gpowf4_svSG+jYC)&ay_AkbI;$2wF2cj(~;zObL3U`9j0qM ztxI+U<4w zyIXE$1fHPu_t=5yN&BFEA5T$DE4MaPbmXzZAW4CU-b5LS*d@g6Z%@do7FN|&7-{}+ z$cT$J^Un1u_LaLD?Ed@m{KN7W_PwMV99ynC`Zks8V=QYprRrZSpkJVgO!K)1ta5Fh z5gKSM;YoIuak%z*6LpTdon?C7&=%x;jF<5BE=%Xf}H?agZ628j(vjVvr=eD4Ix}Rg8U^$na zW1rzca=M*mp9$2b1>Q``b6-_`dQ;N<7D_r*YO~kUpuJj>uHfu@15Y!Gs+dbSNHSU>$3COtJ_)kGIgcYyS>_fT`6AV23nu0 zS51=8^nl zm7HXmg)d%L6n__nM-?T<*9a@T@S>uy!g$61;|pWri{cAeLJ{AW1)bx?>P+{#vGVJ} zob38V3uU>m=7dT51VYCGAxu<9$mp)e3kkJ{v%bknD~xn(zfn7cjt zKyK+9ikOT4ea8BNozCk%c-whqoU>xRPV;8Xojf6mcgmU<;-1uV>iNbUZPRAS)Y!4n z4VxFL_sWMPxxRD7x<_o*{VuzB)YQHamxeXUYuMag_T~)RFewE_y)QiZitEu(NPqj0VNp9+8KSJ=_lyv&s~(?(tLp_vsg0d-mN zSG5?%uds@2+h)nMIHPg9SJK-?vj}lkyV-wK`Sp&gTPL)7sY8&%O%lJF^6X@t&lCzTwk}XfNI+FZrvL2tTIwucL*2y(bbN7eF-5&+J`;@au*TzcL>b0O= zca^8z#wsh@7Q|h1W51$?`E%5oDo6Vsa_WGmVOl+&qaJ$26<0UO9vQa4adwGWoM@{0 zKHMEeE|)a9r?4dp{o~`3qthIH$-rdvjY|pWo1zL+REp6z#ps*TH+5L*_*APi>2|91 zO!$9@^tZ9|A&s3KsuT`FQ z6n?wyMX^;1KU(c)`~I_Od`p$D+in(ZPjKyHnPR4dvCg}wuu*J{!id7!nMDzWG08;{ zp5>N$&|(fp)nn~VXlRd!t0KlkSP@h2jZ;Ul2g}RKQr|1(k$kfxOXYo*o16NsS&eyW zbsxF4{EM^f2}SK&weHY)+==dU)Fqeh>9EB;_|mQyHR;eRdVMukz~|yyCrgC<%zbm3z*7Jr$ssx< zidU@aN=n)^so2VoDz+|+EVk-K6kCPSH}WdFsrM$Rqtsug)Ss3%O?@wyf2Czk>X6dd zmZWm#0yPDlcym$pk}TeIorn_oBx}gbsW-i-{Wx^^?~3eCH zp&feVC*M|QSg(|~M&9up%gE-V%NTTFJssLSRT!;8r8PRV5r z6-vKxRjI#2QKtW_*4$Y{=PakQH|o3V`EKsrqw}PqZj;p{w#8j1yB~U8O)TmK)9ba?m@{A1`Z)I5J z84qUYjN}}e5DKOqKquqW(z2V3di-O}oyuc5?5C;QV_N2=zF$={Pc0F2{vwr_e^FX( z9Y_|_NZUt(ltt-paxSVdBl-5ed0h*e*KC(LEp77U4Li4K=II?|fY%DLZ@RTsomvAX zkExYa%V}JD)f|=*CP;0$;$=y$-11UfQc*e`Vr`QGF_*lDwF@KfA|w1WV%>r(U-$0f zF3HrH;R{(EX-!~Nr0d=ob(C(^@uH)pS&Q5>^|RdfN?Ak5>i5&iUMH)OW-RbGxurSz zrp#AR<`$;RE!SUIM3LuqR4p&uGGvpxNua#nQQZBHUK88!!9q&Cf|}dkSpXSMUc#LF zJsJIKSw(B{4mHSYehug)MJvQ`pN-~F%OrRv8 zv>{UxYZ>{1=7c^H`fR8bA6hr`B5o&z^6Jp3hr@me(;tPY2WjTjB?(iQK@4NpqV!HH^WqPjP6X`+rw zOi$E_^D-)_t{IK_Po(vg=~OAWVph*RZQDv9aSVm`e|wDd(`Bc znzm%YE4>p5t;}z%e>|<94O;Q42zRPGEPG=2&TZNjb*0r-{b8?q;?lv7^xE)wv3;!P zPy|)_Uv_ZPLUCXVJXt1#$z>fjT!`SpO_v= zIwh)liOmzW`Oomg35k0X-H9n1D}P;|RJ@DPabx8-h4InFDS1)FDGeiwQ>I2*olog# zmRp-HIJYVBoyyB4A*qRLf`*S^wQ!NWpoh`M-v>E=*dI7u)0t|7o3U*=)n^LDCwG*T z7Iuui%k{A98JBenw}oD>u?saiiK@rLAzBKpo|g7^K(AZ7=zTnGEtPKNQQfA_j9wVM zJldKNt)jh*9Zpw+M;JHC%62-9krGojQb_)xDcZ-JO1-q6(-5mWkCy8ic5YkX*}M6x z;1=jKy&bAQB{mhlO<_EV={kj}dST7OwE53oQ;)H2VN6nSlrt3XA_s`EC$miXRFf(@ zngy)R07ht7C(C3KTUXqnMa$VYP4+i2T;42ifp%>4jVDbl4r#zM1>sUqn8|DCi^Em@ z@D|~EMEEU?JfS%;#XV@>Z(HgXPQ>&R)$fmI3Y=(cmku}HHFmP&6VEjIMo#lOW6?3! z2J1UAK!g%zq)UBywlKS1di}im?dn_g>(?qwN|Kx?mBh;z1yUVX)jxRZ*6ZT(s|CjK+=^F%9gYEr5)L6^RgpleLL8WTSyeqQ_!@s;uJ4C2!W ztFNW7PokA$X)nc(HHLE9kJGTs&|j8{6In-|TlSu*fwU}gIhIlnS!K-EnDT5RqLmSo zAJ5Wbv+|hr=R^lM|5$g%M}JE*+XQ>}f z+quZ@N1b51wS&Qpum|6n34M8eT}1@t-z+0Hub0>5dT zW_-q2t4A~)mij@h7Ah)h_hXCa&o}n*Ejit8p8bs`G>#lKBBuMY)yr06A>U6yR;x17 z4zEc=Z$hgKxvQ{tdPcH}Nmg!#)?|yd`f)uXA2WfY2d9U+jFDP}7ZY`L^7i$P_gW?q zL3rxa^o+cWb{V@eTp1>c7y5D&J89`*sVHKRDRcxbE71&Mq#kHm`YDwp^*v(>6IbL? zk(><5<{57C<(aBt`hhdD5I6>?t|F?PX&U3QPuIA2=hA~&j}%Y#tlIoRkgB>v*O^f{ zQv&rOSmlX@vB?=3!J3{^&9tfM$$81`l6NJ$k{va%(f?M{@pzS*r?mVN6+hDVtM40)trc+B&>$K%NfQ%PZJSeWV@b|pQE ze;UE`*kw&kh)6uRJ^IsJ<`7I4iQM;%W>uBfpHd+EjLS=gRDV=ut;>4nk!24o@Lt)s z*XX+Tnp0PrOA0Skp6ojd?{crXWAW0$#Vct!=32AQ6<0UT84)(|?#JWXy=X47 zjk4>il+Bj%mnEC4n*lW3>iC0|E8lr}j2A@x-56AaH?wh5;UKTM&Eg4ObR5yy$K&wTC9Szjei(%K-Pk zKP-OUk}Ca=JNlb6h1VAr*NLfBt4h(xbfai`-GumfPrJI$*VR#V$JEtzjiPn`o}$%$ z{-c|N=1)j_S~Y#*t#gKs2imq-Iwf{&%(aF7Nt7FI3-Ym=$L!IRzTutXdoy`tW>Vr` zoOYUzjgB`IcFhn1`Ivx~nMTXZG)K#{=hJjl+L$z*X0%NEOIp4WsLhT$-!eH-%!STr zt~^~!=EVGyVrOXi7IQ^YV{eKX+D`2(Z`(A~nH{UH%2jIC=a$0A-YLU85^>z@Rq- zeQT2)?>T@)Q|O;b+L;g)U(*wsWQ9h#c&|ccX-Rluh)Ly^N?J0LON@G&W z)HE@PVqrU{cGe@89)%;*QZs^Qld;UygMy2!hVxcxo}%~LZ*Hd_@4Nh#{E+bUA{G(! z{VFDOcB?KEFYD6&l3TmF#{O%In(P>G+Up;6DS2#`y~@*NAcM40QNLj;nx+CgE>BFWJzRNjkFpgOSF4rN!rHBA2vi5rzO@X)*CB7D$K4~e2-ST zUPQ639bT-X!ipoc3iZ%9b!fa55gSU1N0S=RQIPwTd3h#Xow-5Cu6^AB_v#+)v(4-6I-eIz}yJB_ulo_K3 zUGLgxzi!**m15HA>iHcXz3$*i`=&8H29QYgJF+*f#3N03)xst6T47XTd)^~n)2$;t z?cGC4+Hb7fxi+zw&D(1e%;x99lGx(*S&>mi?b~;(8J3lrrLC-%Eeo1PHBE1-Yk1O| zUQ<$#Go&OfyUGHq~C=iW@~ zY?w8;dsO?CYqz)SvwY60I}+jtjLd0#s8M}u_0q9dUw&2GmBr03Aw#wEz=eA)Rf{@a zSR=|CW`(N=W<8u9uc`+jK_;&q@S4tocF0U>b8FKQ9?`#l?y?(Zss8r!_NIsYDFp9R z4R3nfEgS5szZ<%7u`f;UGHD@Mbvp3Pp`42+YuuUS6bwFBRA{)9`|&L2qLIaMu0G>9 z*XC(YjOeX;+pFzusf%yk?1Yc%r@bjgd?H`aUoZYmgrEgwl&fm>%60uSwi` zAyK+h*SbHB0;d1B!#sm%8wKP=uiGd+>%#O4YhBQ^R%wY&0G-k_I{Sj5 zCE1C*)IEyKqM@~dm7(VPn=-Z4d8LBC{%IF^ksXyxzDY+VlWzJfgG6GIYfygA7vH_l zKEAH~lzKxZ&0Sn_WnP`0_6M8lC!KZ3xN`HQdQ9xGJ-h8Kk0vIlsAeB;D!Vn(o@R{; z`NO!8Uei=Q+_V}u)iD$I#!VTxC?hncIHN&CaRyyiMr>GdMrdfU&d?cYS+%W{v@`tX zPi~s$Z-}`j06eGXs7|K(lBv=iU+uBwlc&vn{M{;#&9oZ?a$%~y6IGKloaNc;I4h7O zQ=5mhvT@O1s&pOcR@m6MC8OpwB^h-xiZim(AtA9SgPfU>8Hx-jejTDx(#~*KKnH&x zOovjXg~@vPM`t-27%g0b|KOd5*?4ELy*!YFv$Vfzcvg=Dl5?unju-m6*Wra4Gu(lO5%*AZ%Ps*uV#CO$Ggw6r8XIw~qM!Ie6+#Faq$zo1c;a3$M_K9$Ki&Wx=7 z*Em?NBX`;V8D!hld7QuhDk1c~_etU0^Q3QFP!4C;pj}^@1kSd34Bez~-h^_=tYV3a z4K=yzU6BlduH-Q#uGmwlxlMC9?ezXU&ViG=H~IA&9rp0_Wq12~y9uv8{`A)HHph*w z+SRD;^e!ZW+2GsNcjbcxg|>O7$7HfT;;G7H9bPlKX5!G2nh7bbL_S9U zsszXwm<*>*L~&XMYjT4-ROR8d zY3IUx_pH!|LiN+3YGmld(7Qsde$0?H&Lf|GM0!MC#A6Z9N4O)rRz{5*YusDI+EU{v zbB+E9`~%E4ZFeRQDX!OBrydz99hzH5GQ zYLU#pevOF8lv*`Cso@Dp$x*Q}WXR`zC#i{vso~Ksw>Qq?m9Zt>6sBtZY14^gofk}- z*CZHlleu%KC6k^k&f89Vo0A^c%J#awpcXEBv4u*%%${Mt+yx8QfCTp9hLH6-sYloE&T|1n|7(_yckeaQJ zj3oalpO~gGO9Pu)UAZnYpUuB!XYdrC4{`9l?D-at&n_kn??2#M2EImc18gRis|mb! z-ZKaI-SZvs@(@@@DrZ)yannIU9})@6g`FZyR!fcjBH^>(KOzxb;Yl8`r~{KkqAnJR zHY^c|8490?#C8VC5El#2io_?vDBv6kUSR)(=S32cop_f~4_H&e?Q2P15647Ou7u?x zsl@ZC2xf>}K%p=Az)vpn zaw+qLvqc(mu7<0DV;cQT`bhR~jQqxwr3w2rc@Ul!X?j1rDw3ZLl|sIpaTqpS+Ek` zgQFsCUV?q_yGUDX*_Ip_ZPC9iI=1zZ4|fH;3+Th6yHeN`(5G;#Nc*SYO+dE}Zpent zFjC|aY;y^|=!lOy=0aB(4fEgy;P;Ndid?!1D9feD?-ULfLN`GF&Z+Pk901Bvlm?Wq zh&oV2d5ig6%;#c07f*x7;bqtj*uD$4>q7nMas^C)hXI>+*$>F;ngEo!>v558$zCwHp55oUy;kAp)pWrF1rcv-(~B7-!D5M(w*PC^LuxG?|!pL56af#ZTLo{CpPHG zBh@{7Kp8B6X8{}bq|NpU0esYp^Y`NXy>0{K_rg!THPi*_X77Q3?A{Lmb+Pw{fPXK) z2GHyB1AtzA(5nwN?{gVo^FA{~uE2L!JOZx)`(05f(l;G0fonysY$?(YzxA5~l&#-3 zz)t;;SCR(Uxdc0xVCRx2f%BE%!;)V_`g6YioUea-pe+44Uw>>ifb9V4`T*=O06Po} z1@;@*6~+R348&gpDbGOUltw@v^a6e_#ZINv&(eMHo5-M=&;}^SpegXR$W{1tFy+2_ zJ?sVc8^V4=S_5*142M@luEECFG>3=b6Oo}^fVOmPAuNH9MTTM9VGqJH@IL%3GCUcO zHGD9j&v0xr{8iWi*nR|d9Z?$^L0gfL^?>t?> z44m(Je1H9~BBN_UJGdIA!&9&wz8ARxSz{)_L6IA=PuU2On^J&2Z!G5=OT8JpOyp+l zbTj_Hd7;QS_8E5z91|IThsXr>pMajXP`7Tm3Vs)vh)-{=58L2~$RvCo{5pj)PaOiZnW>z6D(9M311Rqu=y%6I z;7gI|P2q8P0k*cl;B;1PILWL_9x&wKIby^~=sJPOajYp@g0XFkWw=a~C) z;R%ri)Sm@Dk^5(hJdh3#i7dQVIDScMC&L+}@VUqae7b?(UP6zTHi&G*=6{D*J`j0zBH+7MpB33eJK01XdX0MU8s~kD zw!E2hZRY%&Df{bRi)_JGTOSkoM>D{N+t7I%<=r*`?h<(;6!7yK==;V@SPuB^%_l|P z!bfkd5P7?k$UDg0u3!{!u6N5scJO(}(<1L(C$bZJypIic;h%qg1Yf~%k=^fz{0qN- zkO}kPMc512?n5u^5ZQwtKcZcK%y~W@0kcK+xqlT z576&?-b>^Q3y}YB`mcXK3i$01b?(a~zz>J9)nR;e7(aZ~5Eh6W;T%V>=Mmb}*W-b6 zebW?P68X<1@DGu1*?#+($aiB!z8@m;-#cM3tP}Ym96ko@d=&kUQkEY%{>P;vKSjW8 zB0r<|&r3v(T?qK>7wX_Il;WGWO%I0&@G!g#2cS|EFG^7=9ooayqI5Luf}ch41`1`hgi@FWPl|Gp zXwmg5aJx5$5piegGCIv@6milGd#h47uI zxI1~VEBeJFKLK46IBx>FCC(F-#6C$}IVIf)_W^Q~J{6TLKpB#|!OidxybUY{O2H;6 zZQxo!-;@_%kEqlT;8j1VBY~B?sV~7n_*GO*&ReqyTn^*l0eB6*5LGJ_uxYI;0Q=Nh z0q+41>7~^M%9uuejDvwXE1L2uyq+DqUq_>ZXc6rh~x_$3`( z()YTUI^j4E&xo z0XRq2(}0XD>{KTL(5ud+z_E2>;0{sQMWS*>!%0!~W{9ePyQl^?!HZyvx*!qI>4Kx8 za`(YEqAr{zsv+lWxIk1RAUQ`Es++jN4w@dC8)$uk_m*zk-pdNI(MO5c5fb62VqKdH%@w@7B z8Q{AvYeaQL@2+iO9B{6#*t+ZQqPlVJZj`IrB`^TcsoMjv9`*wMx{R`4)*4D-GHiq& zM0LLau7<_%fv6slfKPf{0r$e&fG>#K6>+;FZdbjqNAJe~fA_{tms^kx)Q8JC?sDqG z<@ow?e0@3o>7yV8n!x2i`L3WmS0LjGWL$xazWA?i1Lz8)VLnj)zLdW&<-alw+QT(4 z1D=7MfDZj)pa4o>5=XHiu)&;nbB8yF`t=9;gqa@a=VZuvFCbl<9iv%IFtF-9R0<;T=(9`T*bE zxDs9wRaOMl*PBL&8q2xIqVLW4Y+Nt6TGV*z)c9HOkf;gNxm)=A7WSX`uBcn5i<*=P z&xyKi8u0z(J4M}&oo=U0w;vQWi3-%41nuI%_s)! zGcz1G|IC-jUx18q>dUMs!1uGB5_MM*VCUJ?!8z$b8SbVY-n~!MT-xkh%6AX8nimZZ z!{AJ%GI*_*v9K%C!)GKZs8s{7}?G zvjE>boB;n6wWv(gBT4YRs7E+&x9cx9s7Y^9&J^tQV05bs{-fs;Lh}wm{c9o0zXKkQu{&Nyg z#@!b1-EMT)jSjo9&%Z{B`k)l>*@xKg!{zWUd?IQOb?&1Ez;}Ba!TX{&r}7C+hHH z@I1T@y8zoCM(@LwqP~iPbU?4KXgf#H;|TTn>-D0(St9B`34m?>QvjF36|hy*x76G3 z9v1cemB9Z0%@y^70QNmfS&pLXQGEYnA}ka26X*G9IP4eob9eYu)Ug4geyPEl2-@m# z%KmE(JR$0Y3#J14|Asw&L%)*|z_Gu7BdP*hRiKwI1m^OpsEdF)Y5&MgMb2GG-L1S$ zcuN=Xb~D)}T9t{`@$i;tizolB8SuSm*B$VcXm>u$guS9YZWsqUM0+z~vFMOqz$43{ zO<@%9TUa;IHKO5==>e}m`-=zKwI zcujQfb)ql41+Yg$%GL-OjVN>8C!!m3Op_6!o3;_1e=#8Qq6zBnqMHo?&fk2! z=oW+FQ_(H2g@21~wF)+gZvCL>i|-QMW{zm)fpxp7q6@KIA-cEcz25Eji|#OA^d(;4 zTpihVd=vJFz7(04qQj-=*$JIH?H1iR39g2pMYD`k7g0{;Zgnws>Z0KZ(OvOnSLAoC z5Zw*`T{cW~_iVUbbdLl;eou7j`GDwN__fy+fIhvGVVmg7Tf`|y1q{7Q_a`*K|0 z-f#~f^U6>d57dc%jiC&F5?w;wD?zUk>{!BiOYlVrGD?n%?q3@UVF=s`l)pb^>3>4> z0Ln2S2YLd(4WK*&(0#yHq6gyNffvCbm<4MATbH_kV@ivFx>`CLuzTtIz;UIv=s{V~ z2{?8Te3M84#6Ko_5e@KT+;yh!EJyJ*L*B`s2lixXkS3@p^IS?d?uRd z5q&M?zm~UJUONzOh9&S8{3d$Xg@B!h-3Zua7`hF61HKkL9D5GOX2a2YIKK^F3DlqA z-v}A{f!{_92lO8CDjXF(k~%VydNdM!N22dY^c{Ip^eF5!>N24HjCugp1HX+rEc!a? z>vfd>y7o{4li*R<3fSa&^t-+u6vIfE1`h*u;(BZ{x+$RB=&69MMpORL`0fVk#trM> zBcOhaNrj66ea5iw81@~r4Zak8V<Z1u+Iw|vlcsX&7)t81nltQF8EFKx*Qk`55jKI>#_a%%U~|B&j$3^Faq8b z{Zb7;&P()Z8>zn=7sCQd30IDXR&z`0(duDm2 zN%ZT~jn^L&y@h?Y42NGtZ>9eHBO2ZVj@d@}n1|QfrUG^UZR*VX)WHu=ir&L-dyu{7 z5#XF3asH36!AGM2eLkX`d$GknblHdPKB3H?pyU2dqCdS+^nnu5pW%~(O+v6aDQ% zVEY|*_@27<-w5adl=laG_`@K08h#div^Pu!>iE$gMgNG6etZb<=Z}2;=|boU)XSeW zOg8zbabu|kXCQTS1;u(mJ*{wY?COt=}gh!q|IgJGTUnoQ^n^WZbFBAY@v zd@5E{7F+{QLxot;z2GU}Wxz3H;E1^$c8L{R2T0cu`-WI?HQ)+Z0_Ydt5$=VL#Y$km z1j?F#eu?og1lEg{6b9&;giVr;h?U#`ke&RYSSkFSatpjHR;mWdkjj3kC&j9Xt~HTe zbGKNv(63e*yd_pz0+a&fPQxa(+X4F3Mn7KLZKdA`*dZeZC_~09SPh&n1G$+Q&7|z6`p{1 z;U}@OQ^m?j6ssO~tM7*2#A+~8tP6UJmD^dY3;T-IkUG;4d5t)C9{c9)5vy@Iux}Im z*p%|;lS$yBrD7FK7pocPZw@UuU(43;fmp5X7OQnO;Ma>^602=6K%E=hv>#p=j8J1!CH(jKBjM1{4vz4W6Cu8O+&7YPmF3z4mhF8axA-~06Q zw|+nDTM^bTWG?kSRG1Ah-@A6oR%aV8TxLQSNwJp7c6Y8caE*|B&psLJUMU@Qm~7V@ zq>J8AIodT)R`J_tT~xV9FOUYhh+_s-F6X-ru)#H=au?f3wny03gnrN+nnPc+zd4q_ zM+dN0$#Tv$(Cw+5;W{n_uER3PJ&J8#XeR~k8GK$O1y*$Bn|isu*>!~P$u#2)lL8NL zMLx;(Mb-8ozqO(K?PP_!T;{qq%0_QJ+34C=Imb0!UU7A)+@_aT?zaZX0k#t;Lmex> zvXg6!s&H+U{-hYqwhpj0e~**?x}q|hziYboNVXnquur(=`2Y5{k!Q_LbO*+K1456q`aia&KASpq&MkG_=ws@<**f(e zJTLOng{v=i#8sjsHJIJR=Om5&C0wkDe2D{akPZsSLD&NH{} z<#JKrJEy&2<1@G30+~d1h5jzuplJvGZRO+DpJ|t-ZJ73X)@?hPLc3{U+OE@n+R1XZ z=}tSwZ|A!;?cHf}ro9_KSG9Z7_DuT^-s%IDVYIm~0=_qO-qbr&XPtTzDC-#2oOU(Q zRivh|U9AVJ4z49SUM;We!{^qJ>^^mDG<%00&B?s*(Tf9L8~xyRVb=;tY? zPSMA)UF-g)a<6l|(R&~Ms44Y~PdV>k*MEg{L40?-ax;BXYu7sZWq!BT@g4i1^H66$ zQ)d=bE;IdzYnTk<_kpHexi`|UZL8eu?Ee$()8;cWJ!u?2%C7KC;O}|#n}KtgwrGCm zJEJ4It#EWU{fe<|RbOK2taoMQHt)2meYT8>~F z2dl;b`tAbvJY<+L!Pqg_R_1)hR>%z4%6))+hRDW{5Ge>TWt%T6yz!jJoa?aE3?ZF@ z>j>vC{nBdsk%j2HhyHjMpK0gb)jZSPL{hMuzh7C3&AzLAlP8;#(AhsO7@IOSn0~|= zFQ|{6njCM&gX1!aGB4x%QQko^$~{yDdPeizG#SDE>7LabyMl9=J_R}E+(wRRJE!_U z`-JBR=R6`!9RHazm^!})In*uulpSafXKtN#!M?oSt$}y7AI8F5qT#VHO1G?B#P*;y zLB_%;>m=iLxNL?dmXmoNJGyxNVtW>Zwk_)r<*ULiBAZbs&* z_`&&mrIfjgDzgo=!8T6+$4v*$#rf18#=krm1e2gQ-;0To0$aV3_=nG`FW>P*5$%`T zlzg!hs{XNmAA^x??Bkvz<6Mh~FQ&;LQ|F9-1O13zS-B`gDzgpr0h8R>(%+NM7`R4w z{;Gl-A-?C?PG!4{?GUFvo4(iY>oFlsWSVE040C(%;|J2ln?ijT>bI6Ee=t@feO-}J#%Thm9Ge!}!=PMbet8z^IS zKS1B+^e+Mb7(4BtA2PAA>5rC48`IZe>oz>t*WdGnyh%N}%iV#o>;qZr-9z7+TluD! z@!gw;KMqlM!YR*6>^y{VU?ci5mUs%V*_=PxBVd>RU)z9P|L)fK%=DxFZRNp$UH|H~ zx_t-Q`8l>{#xH^X;D2oc{q!HUTh02Liovi#AH2t8q9?2}-;7Pht|9b)-a6EoZOAs)OjXxwjA>~mp5Zz( z*NOcWBhOqz(Z=077+;UmcDHk#Gl8)!5W|`FQbwH}YT}^E|Hs<9z(-YG`{VmO=FDU= znaoVynas?YMN`@w-3>2x@M^smIEa<%EkJ_s}k7(bHj0G`kzA0}st;vRQv1{nP z$oSA+-e_K(`$NRPc}+K`9j>Q^hW!>P3s<7yJH=+0+5F_>=!7jL&X|7 zTIa~U&ox6U#!6bZeI{(!pSXy;DtL_CC?+x=eoy^C`4n*?be(x5Unu%<``tiD>t>p- zaEw|ZtnoQa4#h*nsCZr;69huga8Hlkr#9Wp2VI?W!p;h z7XffU_ho}ql#xb%HA9HeP2{)+p!k93+u4;sGAe= zUW^-#ZY+uNYmfKU0Lj-f^1 zOX08$?@_e%1t1;OFNA0OL(oHYZ>t3?2f)H@N#VRhD0dt3r2N~+#?K(cGwf}6uAS<0 zvlW1P-b8+FDF`nCC=WZr*8o&D)URz6Xd6PTm~ZYzh&r)7DiKoqeE_%tfQN=&2Q&c` zzyW{}^5+3pA&ckhxqh%qs2>0;{Sa(=vkiQ*RVM0c0^ALL9(Zp7sQs{XZ}TGj2TYL* z`c=pxPx@=aycqgB;B(N};Rx*n{1G(O*8=DYSOf3_%mAbhVg7781EBVR4~47%)Uj>5 z^r<)?eHt1sYoSv#cJTceLf+H-0{17oMFQOuP(L<^&_~)`*e|7f;P=qaXsvrM#taAU z2S27U4P(p-?0LM4`-;J#4~_SPKE}Me4*Le>yheQv{iYOfM`*XfgFS*fLTe2lV_d`7 zV@SjJHwb+kd8ik$-o||)jZf5n!)3yn5c_L92Vxwh`xC7+v=i6W(RrRi)N3sFd5nG0 z`$Ofk&`QI!(2uq2C|_5MpPyljtHk|VrRb^55`*ZiUW_{*$sPTsJZRLt zRCz!2x#3={yTf3@o=`umFLGgriDV1ZcaUld?NH8$LM0FPQ7Z0JRB^Yq0rf$stQ5~0 zR>3Z{*k}A{TI_4wiG7RDz<&bwl;x292yh1Qy10US%RefwBW^F?HN5CBSllpd zki5!ju?uhx@TuW0&~GDtySND5Ujp7$dZS%4#gCQu#YeJ?J=$&1Jz2b^>|k9N6&J>k zz2XYsqVk@2T7E{nrv&k`%Ng+{#{N$+KYWUDy&uNYXE63$M!JtMzg$$-2os!IlXnXZ z^1UF}3uE*#$n;Z!@P)nN2g;gImGMrD@oxzY*SuE^A9@Po|Eua-Z96cB6f0UNA9Ka~ zNc~n?defy1(Ul zj`lMuLhr&BDax0a$LQV*_YYzHNJnW2=w6oR&`=QjIQ=jW(tNuey2AUh1(+lM1Uorl zhwkDPWwZF0Y>BmMo79TF1)C}x#2MIOwOk`UmW#0`0g%27t&&>Ba%peq&+-Sb_js`l z@CEE-Ci`O^+pFvr7qL%s5%>DoJ;%E8DYVsF;&tp@oI|5BkF2;jeoUzSLo@yAb8i!8L{19r(QF$N05_{X7yz$I58feh(eJ zm!>@l+J}qYt8@-wD=H7~Q{p#9{31=u5O&>)X}j0UYu%%i>M ze+lc6&wA+p4EjGqxC!AVgoR=rL3>+7?HRFEw7%`-j+85!S9`kKw55^u_5r3(#56!d zd$?MZngD1I>0d#NQ`7(&%mv~Jz&GLDVuBeEEywM`n2Dke&|qGL^s5loBCJJd67vZD zRr#Yn7!9c&a#zWt&XVw$u#_D6PGo(j@{^BAhD5Q@U=~GMnOF$_FEUl4@2{42GVGS# zi`o@oFMtm)fOs@!5vXSLQI8k{`41S7=3D-N?y>~7~%e+1w@?AL&CSYI?CZ7E;` zzQ-y4P8+R2`N~nw?FgSnIoD&Yg_#KTqjl+r09tc?gn6J)tra5xyKz52YbxSly%=&t zf%cNIes~)T%dOa3#`?594s#97Hw+HUR}%r{46AWp^eo1Sy_lDlW4-jONXJ^GLY<7Y z)axRj=i}Ff$=Ds=CB83A;JL7-EHWix4B3G-!0W=y^8?)6{-yLfy zSZnPK{R#W+QvldY#4(U~@do?lIGg9zka)DGkFvjD{7_n9*o*JGHsU+755;QeoTh## z<9=3B4I4wP1|fZ9*eJis^tVF9lT15EABSZrBUWS5$=%)Zq}mu>k$5sLaaU3bb?X1E(TCYkdJ-9 ze1y?w1&ToT1QdWzVfcO~9NvNJ-ry6@1xNuz(-FTbt|@(C2dDs_t~-|_Do1&YNAqb9!6&+7UQs=@5q`UFy1q?0N)bm;770rsHy-reodJB}6#z(YJAhC0 za}l7jGk{OwYn=i7@3KeddK5v9Y((~m)|u?>0-x+md}@#O_5q)0Dj&5QrR8+s(>0Yb z+UDH;;1loGcDc>G7oAsVO#fHVK6c+`zVDp2v%Jzze9#f#(@z0@48Yz6hjfj8()J1f zeW49|6KyX5i1#JZUhM>}xNZmI`p{e2dVFWJ3isAehjwWzLN92vpLh|r`T%>%#fZNV z`lD$);@hw`PQkwIV1%AU#w$L>kAv7}Df5*^ zWs&l8<*;&G!3K+JQRCFnYLPl#eMEgpea(dQA%u9>A%%?>X*F+93+?G^?9?ry}YBmW4#sLh2EcdH~3_q=8N|^ zd`UP^)#K~x>+UP?Rrx0QWxvhu&BP6GrX|ysnV6ZHnUNXD?2*|&b4cdY%mtYXGaE7& zWxk&I^UO_|TQhfN?#kSsc_{PGnIC7iWDUv6$;!>D%z8AdCTmL86FsK&c&b;*e|rCO z(LdETe_JSYGeoUK_SMB2X`)muEr5Mrm)1yYr8lH4uR3_O-&k52_Q?O7&%RsUgweb_rLT zTXqk1=eQTRUxIztxUaacdW0v{qk9TGMG^Zx;#uI??m6H&?)lVn#nY+_-J&~S-)^vP zUwu%!eJAVnuzx3Zl?3*01?*ra3-iKk|CGGaL!@g-gcf`JxzG}9wejEE1 zwcB?|=9^iT0$(mzCnbS*Sox&lwX1o%tnb?G9)FWY8IpNFcYX3(FBiPGuNz0#-B z$I^#4kKl~r!#Cdp|GBnDZ~nCHp_?n)l5YMxMhe=&#Kf)+JpYmq=N~+qbbj>bbI%Vy zfB)GzpIgt)KG$;Y?78N1P3KOZ`}EwYbDx|$dG5rykIo%GckJ8;=iWber1{=+ZwYbc z!nsXn&LI5c%*k^Poh`Ay3kO$S>R zw9IOGv?;U6*OcCr_Ql^x_KTJ#ZK@n6Vizy3Vw^Tf|%KR11D_*`xdHD7D~ zpXLkApEn_GSbhVDp7fsR+OwGRNE zG=TV0-mS6!+baqCxb!FW3Ws4VWihXZG!!uazRC`V-;E`m%0qvWI~@L>@rCbAaX2a= z4VOkp0Vz`&DHW<)r3d5+`4P2Qt~895i{u9lC5BSNLvpcPBehC@H#{dVmVYcSkzbRS z%CF1I)WLZ{Z)p$(C4?@fM z31&G)Hp{WH#rUBdCtKxs*&!zwPsxMjA;uQ@9(kzoobfNlOUA#-X>z*pvhjapr}2vM zYo$)kFy4%*l0C+dDNgPo_cU4MJ|>&o&os(3TJA63C6~$La_)b)d|X+{*fGTq7L6YD zK;g&{!wc@uAC`At?hkVA9eU4@!P$cb-aX*1JNxwR)w4&JJF+qZexKKqnrOGhTjOHQ zF(#vCQ1L^bqK6)oDu)G?Ox>PeD_%?P_CqyJ<*t?5{g+6jR}kAz_5O_@yIb{jX^bYc(s2REdNSXaKS`) z*<@-Uzb$BOb$b1c4!b_6H*$k4m121H<9g7L71StI#{}?AO40~~rm?n$gTFYD0e&t; zALNG`(lg9ItTOUHyEYX$>M(dg_pn2ZEeq!4!E!lO5oZ~;rB839sH#N6Jx=ZWU|F!Y zzb=^Q&kcJM7;K!!$CPoBFn3rm@xGv_d^D0O*n1e#q6-XbB#-;wHt7O1>2r(5)n+4K z|AS?}6a7L>Tl(ux9Bt8GjLU~C=6|gHo>RwBVO3rfct2mmqko>t=z|Mj z_oARg)_<5gw-bIh&Uq^ztgxnkoz@u~{_Uj0!I<7(N-M z7z01A{H_SNcTQC#LT~gBuWs~@DH{UY!v%}Wo^j3v5p;-=(#Wy7J$r1CrQ9ukso}vb zIXEAuybPmm?(eV{r#Fl(+lt?hxUVvI+?D|1%YLT|k;7b>xWpt8oi0dQF)mCj@BCek z5DPd~Wd>hAxGC*=lX{kg=y zm-zRF`5N(!{@kFHEFt-=?T)V4C;e?_qwOzb%5fNY8f{e{$3kgj$^Aw7C6)Pg`SRs_X>h)j57y|SQ6+swNuxj(7L6?NjFjR>-aGP* zk;<5&;*xvuYYI|P$%92jB|AcUayDgJZ28`PddX+HByis-f2B)Hbm@n>q)SSPr=L>d zRzjX@&q%Xp=6Gh!?Ca@X|5d$QUoY*imu61r?MdsGT4IEh2C4c*3m3`N4fPF-&Ne7@ zj}P&@@`Uun;{i|q>C)I~IJ{^7v}4nhA5ME^nygPtNXdU?@=qtrzn}c>Wcl$49#29) zM~MO1s!-^mA2PdFc|%dOu`gG@EZ0sL;GqJ?JvMk~e&DfXkF9%b+hf@7-IEjZnCFgs z+hh7;_z9GzoK26VI`h@X5+AF7Oc_)ojjMUQMmE++gC|K}O_J0}iIeIlDY4ZP?)E%7 zp_^yqL@9RSPbdC*qGCN(B{{34*h*(*_sVxGKdJnxQj6Csv%2QTKJv*Uazai;um1Tt z6>iMO6$#1tu@j_wAD-~l1o@K*(yu4{e!{yGl#wq<8U36k$^DW_>{5J*tzUe}8}WaR zm;1y^SihA>)uQAH@vL}5{8gwnK|io*kakE*wu~Lqz5B==#t^3bn4*V+QbRCv4B?yy z%Y#}&P?VHET((7$7LR-J)mKHXYh~h3ikbC9&zv=LX8p|W_1$Mdgn0;Ob%*dQuqX@x5HED8dd)qL{^4bo|4UV~GO$sv+EUcEoLoA$$W3`GgzGLVsy1 zZA)z1MbDu8fBiFYLaCp?xQ6exZP09M+jOHXbUB1))$km@?Z(c~mA2mrt9)1JYxzwP zhx{*#m&JdGP2x>)SbQc4$t87{x{J>xMf^kr#arTI@rAf5;oA-TT?OYe#B}(RuzwW! z`ve-_*9XIJ^}tzF$q`0#dPtg z=mqKr;7mnW+@5MCUriD-Avr_L2CjzWD5S0j=wghhLh6|!7gtjeN80Man+gq&iU+`* z&azLVG~v9aA@(uEP6yWUOq~85+VtD#`*yy!lPu-(&O|;`0v+}4h1&OT&nsH)p6xkx zEcZA0JdV2QD6x)O%|KWUy;Or4VhVUqh#KJAS(7Y779shk5l&&!eyo$@M}m-*{Uu=1)U>9U$x*Pk_2LE#3*irx(g}tN%RC zwv2kuH@b>oCCY6U+h``dGVHBnGb(9sF%~r;54^RGGa!lYlabe>umJgZA=`NpN=8@I zGP6KaJ!XKehctQd51^|GX~I{xrs;wB&feFTz3;p0Sk*ySFO+2l?A1Hcf1>4}8Wf^u z-6w{@gU0~(L_a2vrcp(Nt^)A>8?L_nM?2;wVa6NPM(i}={4$8(i9#VHoLK<90zE*2 z=KCO*huTZs7pk zu5MPhfZnR^1O1kYv*gr2<6UpX(8JIJ-^%wiK(nDp8zv+zU&CAO+8E>OLNYEhuE2=~ z|8B&&YsOy~e+hcM@eR;HBi^t#{>JzR(0h!~X?)9wbM%bw84rX0v*|@4nHo&5;Pit< zF(^Owq8!>w z1KzVY3^WV`onyfH5UBJ0zy)~XP0@yHI1xiD(uzPos67a}m@LBe!E}h0HN#slM?CuU zjHx2=u^E%5h``jU`so-4u@elR386j7gR~CU5@=(GYni^!5iwIH&6q9*cEr=FW=s)7 z8Rtdtlxb5$`Lqrg+9j+n2vd1z7A3nX&~HGlMranejzLK+BE9RtZVP(qy?f-IA2V=l zan;I+^J_-c9_F%0kdz=(4X?{rQ<28XZ6i9gjmm9fLfc#uG29+Hw+G%mKznpSdt~6f zCJ$_#4L|CS_ge?RvZL9u#q3Qu*+*oGfVc;x$`cbrx_Dl!fVJ?ftQd(s`CL5LcOC1) zui4xGDUX7;-;l@1rQ)VsE>DmoB~@|41^Os=Nij-}az9qZS;nf#FU zuvRTk&>q*O%8zMJX!GSM+H=}U`G?vsw2kslwExl$$p4|etDTkq+a#GJ`F+!9>}wu1 zRhnw#4@^&*o|I3T>P_|XCm30TbR4i1fD=)q-3a#s-T@qm0L7m|!z@9F?-)2d51Ih$ zBEH6$BVDJ)184w@DKgetaw-7(&T;@f9V3j4(`?#dIrum=MaF3>^3L19p-z0dj>4)4 zO=)WYxd5E@!gN?4j=@77SlP+t0F)o2kC4~042~p2I0G;TK+gxy2P_0E!8N6)@@)V# zMtI9vj%35~q$gaKu-sq60UY>FpnNEfLh0r-yqzH39L5;!hVi!v z&(}!ORpQ7o%pXTMG>CDl;UMS$^Jg5R1qhtkeh76O+tZe?7lj7P8Q zOF7~jW5|e&M2jxyhu|>(uv!m#KVgw*zXQL3bnPc~>t3dZ9d4ZZEb|=g4ROf?k zX1tR%!)GAVB_e}Vp~DN%3V#Oy{Ai>Fa1!)dV8PbYCpbl4Xp4L2G)5O zd6#H8b%Ju@{xLfR_yf1k#ISoKSZ1eK59P!`n3IQs)=lFznrEfba5<7Q!~s_Y;Pr6KW)E3)=uj}*dYg&I!r`6 ztZu8TF>P{SpLbu{rL>%kdAH&~OU67$BJsm*0m&9fcEApuI7zEB%z+V}{nS!n+R-Cz z_UNsSzK((8R;HbD3?04IHN%lNZYBA!V?jR(y4i)cRNa% zKi=6F^u(|X@jaKw+x2e#o#R%9ZLW8NudZ}V&t8MpsrOYo7J0U&UPE6{_4$rPj=8?V z)VA~kfn%^nGxA;FDMY?6dA3q(g5Ls}rPN;ny8iY@R z-iv{j#6Ag=!+f{ZyDxAhF_2Klv9l@G*_PUuyf<|y`9Q+Fv~18D!*s&)@biX*#o#YX zSedXUVSU1;gsnc?5Ph62VTZ5Umq8;*!fs!G-}!|7KAXN7{C5J!(0?luj$>?DlW+vR zI6?)@MBLs~9|%WFX%_qfkP#uQ}m-!li_(G|DAhM|)-Yj%Tm&Z}v62 zM+CCcD*QXkc7;7TQ4pP|v9DI7tz%=q}sk-IW-?=wb2iOzh@& zlQsO6i39vKi9-@|0|OHa63hL25=W75Cyr&hhQ_+YsTpSf>BO4M7SNTR^+bpHi8DaY z@fIb{AEYNPOl(YCLZfBka(^SVb);7@e=YHoR#2}`T8$cwaMmVnaFy$)6F0lcz4bIo zCvJ0I@xDa8CUK|Jgc9y?rDm^BJdmLV_9Y&QjLdF7YQZumNXC0O@pR(Z(OVNQ1WM6U z2I!j;FYCE_L1Js-jU+j>Ey1n>CtfU^~rT276>PsWDx0J@K zq=6Z;({l9XNkfzJT!Ew!Nktj+DBq;g%q#vt()gr_NwsCWlBOrsd-u_dkTf@G0o5hx zrKClu*U~^K=ni$H)=XN*t#;C<(tP1c1!rT@HQ%zNHlK<)?tD@(IU{L%(k^$Fe?Zbc z_pzjdNr#h;C7n!aN@~H(!n0n|MU>%6(zVQ%B=jBkv2iQWgEFYTgV(0EC9BEiWLt7_ zaz?T*xr?t5y{T7ne|?6(VDQ-F?Btx}{N%#qvgG14A8-Y5wd<&UIeGG+9$q=QE?o;O zO`e_6P;N<{=bw}Oy!T}C)#Qe7j|h+9gA$V$CofB0>2FM4le~VQBYBfg&0d3f3O=8_ z)t8?^9$uWh!`G0!+qW!vfATxYN0N_+Yn^<`-#TGba$q|8rQn9`WCBxQNZs+6@U8&Wo>Y)jdhvM1$0 z%AwSgDMx8!b_X#^C#Rg?k!pQlXOto zrrb!CQ%$K>mmA~fg49Helj%gKVnzU+h4J%pYLC<=uk1?o?@S$-q3Q*xBU1YkojNo% z4|Gv#sXIM&eCov1+SKW(^{I1H7o@(Fx+ryN>Wb9Wsq3;YLEFZR9f5;GhNcEnx2Nt( z-IsdM8>I0nZF1^i@4nQNsmG}NG$(>?B0A$d=qsr$Gz+9&bPfc~GeVl#IWR3b&Bmkj zR@5;$ErVzprPKP;$d=YCa18Yg)8W~$FfD(aEv?K|m^}Ac> zy0qD8^E?%4&!;t{E%rO~wQ0-JR(kghnV7aFZN1)Yh>lriQ`*+F9cjDM_NTq$znpd? z?RY@e3;Y+-PPyCbLTkD7g=B4yFYP>yz-gEC0+j74jTLD$`i)2z>G;u7??runx+6U` z-JKpt@0Q*teL(t<^xX7<^ikZ52SnSM09W=lVjemeau z^@#Kffgp|fG|u}n!fV3xRxaUgYUq(iM4;Vyehh~&zRAf|VOwOpwm`!b(F`K+DJnLnw z$!KtuNATi|Wf?0$uXmOEnlm_!jW?;o4-4y}G&1%ZJX zM>39QoPq_;)3^~ZWn5x>H7g@@Jn zt^uC)t|6{mSAlDkp6d>}#)jM7gSFqd^R7x)jcY1aN^X6pYrbnCX#;L_EpcsjEqAQ~ zUhCQbyv?=Kwa0b9b;xzpb;5Ppb=Gykb=lSGy5W`s`^H~#o7`6Sc6XvX%bo7l-C5;l z-8}*=?!IB{*-vvp_&<FgrU?>uzzQU8ogcfop*lpE>Mxc!qL>JCAHg_XV^b2#=Y8 z1@5B2L3e3jwR^mKqPx~T-CggV%THS_#l6NN_fq$YupT^p8Fa66Zv@^>`MP&ezV3bQ zgW1`hE&#C?TJa+ox@+kE{!s>e)a@Yp=bo(zxAKQ_?f>Eh`H z+@D&(lTCVbEsXVUo*Yj;^>KZahfa41BUIxeRemVz-{)t!}M{_DbVMmt7Yn0JY!y`8tI3K)&+SBf=*KI#^FEUmuua=kK8tJmLXdLtQ zrB?6`^bQ4`=N;iK@|H4xJo6_qUCZ?J@H)!7z`G8fLwCL_ysJTP49_FqtcSe^!>!5p z#m9&aq%+;Z{43rzjNTi)>~&!ps~7S>8{aP{!}oZ_>+``U*ZaEAO2F5P>1~}e&4?VGMoLYI?#N_>c^cF)+&c+4eUP=F!@jOp1@i1 zdH)5bZx9`@1`;!2)qswfC@at-&^ItJFf@>d`}87OsRqUeCSsRhdZ0cq7k%UO1e0@uoEXZ~-rgCbtRnG+ID7R5f0vXFLG z6j@WTpVUWNf_?RM%+VPa5LO!qYcrU$g0TE+<5b3dkoF5oD}TgzCQc)euZ`GAmaAxoObt*fb-mUDIG6Q!+J->SO`KyP z$ssDI^j9wDS5za=kd%MO8U~XF&?NH@N+l1*sTPv_9MwXJA$e?ZllfMvZHidK8m?(?!s>p?MfoY|G3Idzf697BlKr)-9Q!hHq^~%Yg>yegSbC2* z%4w2ObGanpdYx<=3jRRiOSMGH1zd}DWKTtq4dp3hLwwnVlY_B4eh3;04e%esM$%(Q zq_lV|9J$Cw!p3Ya+Z~jnX64xVT+>7@)nu}{I+@F`n>kgS<54c*6_$@DD~bOk%cIrE zZc~|FMv}@M)V|6xZo50!Gc(8nN-?EXe#TyU|4ne@Ou|YETlICuFOW9*e)>%y`30Qu zh`MO&Kv!uyfEDJu7-(l$`6Qb4ij9hCM4#Y(+6?S94=NyadQ zH9SNzYC3CJ#j%6Jk}R``Wu~x91M9iLv2=QlB@++2P-;f%(Y+G3}$aoHMU`b$k1YzYmr@}WOpdTk} z8cH0M-iVNtN^bF9th1Rl;QJJ$#kVDheTu!P2lIOnM|zn1-Bsd94^!FXQB1ERzN|B+ zg*b*&oT`PjO=3iteI-J_h=-}G@gzNGQjl)_jrB$9GjvV3= zYFvg8dtfH%moGBCk;lD69x--OUUF|5H&h$TXEJ9HNvdN=k93vNsy>R9c2KNwI`L!v zMA*27ZSonlvgt#TG2X|VGUgNzN83dl#l^Yz=9(TRK2A8H(*A@?yOXedC)eG?ZRZWJqJqLei!_OEhNT{)qiGYvZ<1`ZE0xm!XvB%~qZ_hjH)V zxkmaG{Z_I3C1L3|JV!4hEd7Q!%2JZlxJN5Xx#Yd5rSJtfETHt_^1nbORQ`v{^8&4r zu(qKxr!Z$Gaj*iZ11G>7J+um(FDR{al<`+w{@;;)=`|h!hLV2im&C#Mx75~;F+GN@ z+MRP5Oti!`6-!9J{7;fJ{GH`rRVE+AF+LkZH=7o25!di8khu9>ZKJzmm!;v})ogV_Ea#T=)H~?Qu$_Jj^l&S>|DqQ6D8e z+5qCHPqEC)#8LPgZ?&HIvYj>9S!Ws1$}#3xNK&q&RI-`v_5yLF7g%x^=kh*lP+5M7 zybQ5lv;G6bm)@nc>P$+j%^(?-*DZLxlJtc8nu#Unu+DtW@p-0;iB{*c{>9A6qESxz zn#a00wq$_yhsT!uwr+?u5mug~w75GXTTSEfA&WI3n|zH* zDE*D=8^`>!oJwc}W6k_jg7g#C zwt;i(Lwwv#K(joBHJqnZ%6P7Ifb`(LX&GU*zyy|@$Z7MK{vm0=5Bwn)c_Ody*D@!I zIltw!zvZ-(SpEs-S22E=?+ykr=6MHe3DWiiTdaz6sbac2^HZ1}%q3jNB^=BgopO=* zjzFp5QTi>Kad1yZ+TP;at9a!wkW;q=iKvYhE-QltenrB`K%$IaXss-XPe|x zt+5iIlIIf#{(xMd6BzGLqF!vl5m+ zU<>qS4;;kwM6Ub4vrQ)Q?0Jaoxq>*-8_eNR2>l%;!PpKgFXkG(L3$(u({J+KnTN}K zo-m%kqS)WC{QX?o8{EqGo1g*rVuzr|LuHoU)UKkO=M9TMf5El5pIbSd_57VQK!)s7 zKpLbsS!V&?73#b)Il?mQ7@y_xtRpP*h$@|>no8?PQqft%I?Zbvc<-8`M+Qr#&OBH-DL}x z<-{Hfu$;i0CmGi+DN*AP7vcdk0iNj-Zu~N_%ujO-Asku?oGu24A$WdxhA6<3rej69 zsKisqQ*k{<%ohtqqgW!Ai&bK+*dR9J`LCT~k2nB}$n5<|>>q7xqh}buK^&zwTjz7; zgm>Sj60O>p&pszlq58{DGUoP>|HeCObD48LVTD(&cv6n&BIfU6{O{~%Pq6$Y)|m%> zM>{%TwPj)ru%zzABaTV8JQGT_>5nJjwur%~(+)g2y;J-F7TAl=DDgEuqopJ%Nfgm@ zo#H|D9-OaKto}g#fhbXjsl#ygPJudHJfx0PM~ZPc`QkyGDp#VGh=)$G~rrT9jjW_Vpsp zvyhZa2AaKsYBTUQ`~rfceon2UULx8s7H#}H39BcVE+nk&Cv0F04M=4u=d|^N zm1BlEkbjP4Mi5s2O4vA&=?2EEN13bkMC?Yq@gpgZXjafRyzwOAnOktQjr0tpQmEp$ zz?J^QS3HC@AJdx{7ZFx%B&n@r`D29DT*jj~b|CW$7;g$=dP0(H2Fb!OCQ0100m~CP zRXS_9Ml=pUsQ8wDmWgWiPy9+Ep0Mut%?E!M%yH{uEM?MSmv9K?H8$HYmg zK{Nqc#6@vMToY}QDw%QaS~A{LER-@NA8;4Y`BE=@`b*hT4(P?;7E5I~ucum?EX|YZ zq}jmFOAY*4CM|;meOBVL4A20YfM@`0@Kf>^%(K+CrH1E0A0%2i#O)a*4xXBaMdc%m zyG8iK(TUc6PT25U!pa^_yMplsoXabz_j7Cy!YX@~aTL?*8P_u|AdGdaA2PeyYaTFM zhkk`y={#Y%l6_~oavqZB86P8zUQI1Iki98W?Sj@mV}KW+pM$TB;Mik~Z!oSQtj;l@ zm2qAUG#H#*h8*xaj8&OdTI}yI|ES|cf+@jDV88AV6gnJ^R0sI+ zXB~Yg9n0l93LNE*%7nax5ftZ`?^x(q?l{Z&ZgX6A9B>@+&gp&ZJ0aCt?AvZ%<~wNL zaSOEA&-*&UKKmxW>InGFj&9!xy&O~h9iiB-!?>jNsii{cBR z>Hg>8C-6hIS%=WlYPmuDI62Nl?Z-BPpHdjTw(YYWB;REo+L!E0ZQL=mZMW@;v&JR* zm%*puZwchv2&312AN(9X7!BF)J6@v?kbn9M!y)-5U&CiO-|q>z|4^B8981Wz{qQep zUkd$Yjy>e#ox`|vM{ArOm(`vonl>6nbg<2+4X&XNqklzxByMP2UfhVdqPWty@o^L5 zYNLGerMMnppSoS>U-^yCk$m*}b|L#(XJ6{zYjJ(UzSlYQ9q!4vj$_+mPBc zZeX}=JBNPTH*Kyj4%hp3Vbm_|Z4zlaeP!5Aw+q|tNMm25?K*~0pP;@=WsiF)ZV}OO z)8p!C?4+?c+Fz+(#?6geKr&>zsQu!W#;ve!vTh|^)E6mT-0HY>WD|x+zo9md+ZY#& z+a9+o>id+ZHQSmKFXFYheQ^hQe2tFb@a4F}amV6L#x;@O#RHWQ8Oxz+sBsZm~+v7)px}qI=8}dYc@yfc) zy3)GFx;{E4MDve^oyWasxuRiv`J&@SWSnRpA3F7KY9s3o>uz6UJhbk&@| zWo?eyFq(gKoNdo1(s$z*#y48eTQ6C!TCY>PF<^}6d7I``nw!x^G&WJ2*e2R)38=lu zf8$f*-BH~%pOat2_lY0CJ{1|`c&>)O#^=Tt5TDwRfaZ_*QSoD07X0|~-c8gl@s;s4 z_A+~gz1luGero&-+d$h;9%CYYYRj{YpgG#E+RZffMS*1O8FpX%ocQ@vulObL%eg$O z;@9%LPji1{{--qY8{#+fT(~WMXZ)V{1M!FAkJ6aj8EhAASK?2^pJrKFH^3HL9;)kw z_{&Vgr`eyO*WTZr9p4&%qkSELx<}iCe3^WRA!19mX}V1(f3x+l^`-h!9c@LnQmzx` zDBJkn8_7;l``f15>TPpv3v4gh7TK2CR@heC*4Z}Ng5>)&A5j@>hi%7fCv8nM*YJD; zo3jqAkJ{}(ZGk#d9oyGHXlItYW@{rG+imt_E(dJO?bgNKi}Vvsa@-a<_WaIkEN*AA zC+uY}v=_5I$d@AeDJ=oDd9=Olb@thu7x^CSOYKB`-xq|xkPP4k=^{!a9P54u0z__C6V<==XFSQebOGn zPX0AmH=|vnwI2=M?!zTV-@Am9!A$M zk+n;-f3=6mlgo7)>-Yb%6cVlOB3j+WG6gJCK(w)# zXk#(Uyv{POGyf{{ud+Npn_+m1W%xTUwTx()Yb}Rsy^7PWV)=K8HoVL7Z!`aGrk^BQ z;U^rFKM^Np8)3X(48F$lT6mxTMdF*dUM8-WiJzD%#d=u~anQWZ4EAb7iQ~e|B`6KaFev(j~#xkF=%x6sVH(!Qp zOq-Z*V)}ii-zOU1>_DedL$uLPw9(Hp8qw+(jQQIc^*!Rt>xqNkZv$;;CECzRwE6-| z@{?xjM&=0S2&TDx4L4Z+2B+n3@C~^{%WQd>Ew6AZE8NNo*H_{C8n`VC+!hAjr8kVH zv>JP?#vZG2T{Nx>o~S|DG$-rlTF74z4POOc=Ju7j6%6d32KG<&DK7I8ulXgG&SsLytk@eA{k{9$txd*F>#Euh&Ik5+LTGOiTjI*ZDr!V zpz%(y)|+$TR#UmvG|oliT#R?Ip1VlKz^!B8)={~CsocL*_D_}lQ|4AsxP29kHM4K1 z>>FwYX;Uk>R9tHl*IK?zeEBlxq7rRTnPxj1*v>eW0ep>ntMVn$%9pI4WmJ|??-jOua9Wkqs_a*4*sr+N6dr$+PdOF$F9Y{4wUo7$vIe%N%J!7QKK3HZujE`- z60LA=Qn)v%=Q!;-PWuYeuMllC6KymzeGk+35Unv^W4_@dPPLgak2&}yC(_T>Q`mYc zr&T$v!XB=$hZ|ldorae=?GDa&2h;rgkD5lb@ea=S4x+VDEb}qT+{^U6OuxXGCDjqk zA3+>t9ns1zCQ8%3e;jmtwJl2Mu^q6tv2osj_FPXE>KL z%;#}N<#9&kv?`~?la@%Ugxj%*<%>vOV_(u-pjB+NM!v7H&*QzjUbJ_|r*`0YX6)6` zw-4cOUMQ6Co444Vi#uscjCTN10Rccaz-GV@KrW!bmKfK9a1`JIpd3&GmvqfaQR-fDM3cfSrIFfH?qngzkfIK!iSk@N5LeM#4&j#Ge76bd-KRpb;x(86m~3 z0vrNRzDEIjP*&9EJ7F&3sg6{?j)3}69ovCy5Un58u`^KpIs(-X^|VlVsEpqMaSOnw zdQ+V{LbT42&_Z>I)|u+v87QtJP@Ty(2)P}Rcju7nOnFn?zbmBrQkkP6*@nvaec_Nu zy4!{1J5<(aNH(T=eottjI#E4ZBJ$*SmFa&QQvV@;ApatpP)PjvZQ5{q-f^q=*SJYQ5mysUzwUFKAZ}`#p|G&fU^{s9w-@o#~&OX$s4Li5#?XKJF z9j*Uu!p?0LwbS>7x3pcf4JnNJ2K8N(JuVR;=r|KX8aq=XK>alUzBM9)_Tjz?`^2RK zHsTt(c&tXcI2|^2pAgnJQ=!ieYy#yYBc^1&6h@<+92P_4w089kbf=@n1dDlaJ6T*{WUi-L! zvT?s$g75&K4`k*7Xbc?!AR9!(XdR zmayTs$`{R(?ACFdh?YANQX9nuA(IP0ed4wwBpd7k>;oOOVbl)Yz(bweeRdn@qp(#n zl?&kLZq$t#KE@BYQ^c5Xmd;MsYYZvflAifu%KOh^|Wb;m7-H*7Ouq^u!*@DVLy7R*!jm^>ZgY`W4h2W!% zJl4X_(e@x;w!()PBDQ3kRzL=AZ>m2}WY(0)^s_Q9)kheAi zpub(;DqLT}HOk55?WCLZTCXAwa_mbH{ahC0!)+dE?|3bu!yO5!j23_cKxOS5rh-SZ z0RZXxzOWl)`T)K!B%dDu7y=-@xd1B5_k{(Jfvwv6^(fF}m(JmZh}`YMa>SDzqhSqb z%KvsDe20DWcHw2jll`J0`2*U$y^nUjUWm9x!1sl)(|4{*qWmS$LFN9wa5-dF0ixkr z(1!rga06)QJJ%8gZ*>fJ;!}t zK0RxyuI49cw-Z*L=BH1YW3+N?En%%EVM8X<{g@6i_A;lCu)2#m1%!>o%z2&ZtIX%; zb=5MWWzI`o#r$^(t8Wul{zN!t8)1$4+KWWvgnh!32^+g|>~+HGlZ0c|Fy_*ls);t) z2pd>Z{Ug!pH0FH9_!?sq;VM zPLBOCb2wHFTZ!wXe9E!hUTP`Ja5?3$#a`stm4p>;DfJx7yh7M$W_%A}jcLP29J`q@ zdy&GWRar)1%Nt(i*d2`12pjKU`eVlTGJb*a2*S!brrCztD5hCn=8`LWi6e*Gf^Dmw zVHx%xm1C7~t&51Sxd`J?pFSO*1>&89ay)^F=N1jvhY&tI|C5C$e7cDqI4!m}pZWtnd@WcFf@quVlh8Qxze-&@$2zfgU@=@ zH2k*3C(tO#V;JK+M$mUM{){odA17U9`Ui|B5|+ZxrROodkMSYK{8YTu#56sz+TkfF zw#+6xt4WqIV812pmM7-^@27k|fm1%|G|ve*&2xwJI-leDZ+wpD20q90SA33V3!me8 zp3m`|gmXO4%FF0X(>awcbULTfn@;CcxJ}vCTW~Dvou(r598;-zm8HT` zZ7DXl#+poXW385o*nzQmu@f!TG0$5j$G#N1I`*Qa(4tz*mSjtYrOrG*w${AXe87@# zzHF(pl*KI8sx4))LoIc&wXxH+$)FcmX5;FLCEH@N9_=5k&V1Q?ApEhEg+H;ioO3O5=TEzIjyBtpV=A)L5oq(Y=S`)t zwH?8{3iSY3Do~pU#5S4tFkOt=ML=snuC1s!Al8KXML=7uEhAc6sjV^1jaeLPjZKVA zMBU1?^(Y&{Fld`%^H74VNR7~vt?kfuqqenC(DuW+u$yJF_6~)x`62@Ch<2RmUD~PG z)t1=|7onvyG-=JykPUm~a2xs1P7K<4?GndOY(yevF-kfxb|_heO8{+AEB$Z7sI_hv zvQ@5X*NqmVh}N=W2)@?wnrQGG#?|-jm z%rmbt4v4*IUTYj;%!Tjzj0Kir<0#`;SkpvpV<|J18!Kb;j5V+_=iPmTYL;0NtCx-3G~>CfQ`dDbELthm1#!Cyb}rg5(R- zmQ>2K#tX)Fub~``t>&YEv$3n8{RX8cpE6lvr;{hNTf5$Tzyyf;Rn#(JpMd^Idz;po z63GWm>86(~#WByDbW;}V=wa$hX~;6Bfu^CB*`_?x2=qDF1ig8+X}oEosn#^zJO`T0 zloNTYX#up5x2=X<=TW~l&o?cCHI||cuF!`pV_IQ$#4LvYUpB3d$wmn_BLASJ%(NY& z#V*r6)4`ZB(_zyw(@F4~FkaM}T1*#BS4`LNX^Wj6qsEwHY%$5PS7I_^eE4*U=@rvI zCfiaMgOMR7Kc+C|6n>qpET)3;h^da598+h8&&14*nHTeXOar`iS z*%7llW`E2(F-KyKBVBXs#hCLkmtwA>>}xIgJO)jtQGrJwpLt2lb+a&QmNK&?cDmVt zPpWwojaz27xzZdkj{>*S+zp&Q<^kp*=3IOV%%kv`VIFHPM_i40DroYu4d#XB&E`h) z67zB%H#Wdxo6XzII}z?dua1l#=0oPA<`d@A=CkGt7*+GBy`y8tE#Zw={9GwYN@E7W z+}NU6JvKc8S+PB0`%*7ufUl6h#EyVWY3%r@e?&t|b?kHo9z$a5(F*m@w}8ivrLilb z<4G*hG>)u`-548;-5$Fuc3qVY}?uyVd_6R=M2@+rr7#(kf#foEu>rPw-(#hWxVXFtd99c^Gdm2nwi zRVFO;;dcwK@|%HD+dJUANm#zb_$*;%1=H7pdtAS#?uJLln^#dAv@qX07~@$VdHS(7~_aG9OAV5Nm6@}<$p<7Sx7dC z;T4Z*J#maTSY{Mqc{Zg||48MORue}GpM~*D*7hdjI^yFrdBT^;8u%s(*kB|M-Wmax z|3Z>V7RwJ}j+0|g5|&gh`8JAG_p?kE@zwcEbB;&yO+`t1FS1~pb zA18u*F37Pd z@;2x^!g~0e3%QJCbjF+LJ4J=R<<e7*Ao9qtvoq9~Y zr`|^ATOif!wT-$wR%;H{vfekPXVD|x{VlEPu3ENw`)8DEKuRvt^|&-_cxq^4vbwrsO5 zHBVr>*oQ50F3NJoWpV_o?@cJzjG}yr)NhmV?J=oCdt~{T)O6MIxc5pOx1B8Qg~ES3 zU$5nIJ#wQSd7vFbU(FJ<0+U@7+*@v?{O|Ho8 zrpw`4XN%TRoyCGldmKI5GFkFQb+(j+x*VZrd_(Jerpw{FWtpDwDp}G;EZbDdcDTVA z?Y`Pyj@DnH+n>|&V_JSwmSt*%cs7l)GhLUfW$FG8%Q7kDPZ+`>^2ZS@ow6oWN4^em zJYT>u=0v`b;PO?PQ^{XW=Sjfb_|~o7$P_KlEnSAxj3F!Sr_T?L z;t9gxWUae?g3!7r$-mrJWNDr4Ybl@G#L>(;DVM3$;!7A(=Tlu?uFIduUVDj@;i@d> z>-KlGe1Rk@~V9{LTBUi$TpYW>DUZ~c15K>cpV5&FfBW6ZI_aNq&#przkzSI`|` zacy641h^B_zk&qg<)w!DT#w#`Zv$S(*PfEwI~lOQcK2HK&Q7!!f$Vn$PmR{d%$IGkKJTh?Qkg*Ojz z4cqk{7!2^R#f*^|D`u)ZE!`AI{q5CKHk0KUceY5K8)exP>eAP}35gw8!syRzP-M&=I`?4G_?+l|R{l`*jj%hQV<;e15rL4;u z-7+j&YW-n)_Nlsee7>A-%3Xvjw^^dkG;ZnU#lUx2@5_4U8hm;W#_M<)WY9hD$Iua;%K z1lca-%&ypNk2diXpn0e%q#vWEDY_iTGM2XxH6=~RF-zo_Wwu4?B=Wu%(^lR>M42Vu z4`MG%DL>TYYxz!H2D(&Dkh4%{E?m;_LY45#koI+EF{6c-BlTD5+I48jEJ`if@(^|7 zOkdEIn0@F=t}U^yi^kY(=Wp90=a6O7I4##~TTFR@ybFabtF>Iq($_i*vgP*fY$?k7 z1lYck%z1=|*CO(}=lkl?0RmYi403-UTyc{Q@;fwuN6Y7A5l zx|co~FHgj0Pr|QaJe8-n>6xuOpFLEc+U^SN&J(jk`PW{iw|U+C4I40yXJ-G){?y*Y zld#L2d!757`<-7qi=4&IQ_d3SdFK_C^#k##73M%Q5`WwcU)&9U+KrLjZst?)xjgf! zUk#Hw!~RX3VR+0beAk6H95uy!X=!{@D(iL@+uE=e+soPVlctERDO*!&-k|#yHTljY zuok=pBIKdmwBaain_{N|?A8>!1+4IHdi+O-0<1HYveXKx6;dmtR!FUgS`ptSqLy7w z9ml!KbfY%sbJqwr?S?(O?b)qjMVFD4QJ0bZzZfvk8!=#D?Z%41-iX3m0|r*C95C>x zt^-f*w6)V#Z^WSTc9Sbs)UK=DJY;z7=87k3*Lg8(tk-Vdt>cj4M{YiHvlkz^xnf2C zFIs-J8@&;=8?)blfvtZ7PtJaW$}3jtapYL}@#L7LUxzid99hu+i`sQ1cq6jkfPsaj z(q?M!jCItAy_hi+`7M=Y?YgW5wHtTqD8Hk+4jG=I)Ec3kwjQ~8P`RMpWckTCYc~!U zxO=}LWA?dqpNl%I*}dQHWxLN{Sv6!#`%7dy&-u;R=T@G?x}^QIeJ-N3uy$ShwEe;k z6Whb7_8Z!#9XfV6l&5+&@VgPr?y#oAhECPJ=XBrHVSA@)`Sq)=uIahHqgOS%_niJw zzv`;lVEz7WyKm|}r@E%&$^EMPNBtwIS+%}ueeJrc<-)J3 zTHSZiVeR(6tw+sa5BFOl{}tM=y65;3q;B6ueJi_n?NQTxX|L6C)wSym7=O@30;w%E z1P9&DyM5=^t`qdD?y<7x_|hJsJ>iT%d6TzBcv-c)Drjk4*2+@Lwe@gD+L*Pg-;%>? z`;QaIF-zr|ZZ+4{_-uPo&)7;HOLF;b^cxbolf)v&n=_R31pb$PCl6dv`em}2$*4&0 zkTF=vJIEnOCCCzX!$x&5oya44VExMVo>e=(9#w1FbIund? z#Z0sN@Dca_Cd#We(~0!@n45WrM_)5j-lSk|A@b{IX7Nss8a_N-YirG|M1e<}|FJ{t z5Oaq;#vWttw8z=w&0Y2cdxDw6n?BAk_t%pLyQSvk#dSya8k((d{DpgsJ2GB2SvoK4qUWt9k#- zQuDg??FzHTzGMUQj$LV2nfG`XO}$xf8+oVP2fUT$HS>{u-M(&O-W;-)Z~8`L3LES? z`=R;Nerz|Ggtw1;W;XJ+n#BCwZn7y~`rYD`nXjC3$Ft>5Tc@opIPIKvwynb})9r42 zjq+66&Kd2TVcR?BIOo`o&Ut*Xuah&unPB&DE_QxwzvoPHequX2KXra;_j9gvuD0Er zYn)r`0nY8t6SkjIbe^@RILn=v>^aWM&dc_E=M|^kUf{gyg!Urmb!Uye#98aSZ7*}) zao(|$o%fs%?SDD3v%y~JeBpd)r#f4mukB1{yX)FnZn;}&f9dY!9%JY69**Jm7560f zB-`kYa7Wlz-ILvuZRn14N7~oi)7{hUYIn3d+P?0d>7HrVxM#a(+c(^E+;i<(_k8z! z`<8p5d!c>Xo#0Nek$bUwv3)1l47!4SK{wDH90)j`TLr2?AJ7*Z$}!|CkAu>%|&_j4=n$l4-PL8Z8OU(bOD*Z@-c9O<)GN8O#K?fEPgkRyKw9XyOj)+GD_R z#0y^2G+H-})`he#q;(;!3u#?Q>q1%=(z=k=g|sfDbs?<_X$Eya)*Fp!0~`~x+j7kf>Xe$;B+t= zoC(eb9E-@bjj2Wws!cmA__1J|8HQ9;BNf%y-8SSKZNbhx!g=*iM{l;ZWRc=WI%*pNY89zf zq*jr0#MCTuo|xl@_A2N#obOu7KLgiszU!gW*fyQ>-@tyXzQy9(ne4;b+n@Xt zeo6UP(A&YCl<$JhX5ZbE=YV^`eQdiQ`T#9-xPBLufs)@k0FA`f5?gk_=69mzPF#Z< zF`Y<~ea?|_?a^~&*}93$eYBd$79USA4@-=(vX7tbOe-yJT6 za3JA|<%$xHlyF4}SCnwXgeyw8f`pcbv^=Ec^1Wm9gO*BvCbTHakt2FBDz$_ji|Db) zRP1o{(vkC{5=*zCr`poqYq)}GK)9Z9H_h9U(iXWoX-i65QjQ&P>;TJBk~1=W+LFnZ zv@WG}vL&T;DQD>b$MAh@mHuwI+MU|NRVG|z!d1$(#r!*#7=eGbWlIH+(E%9|fY&Xp zWlzeUl&^0W&~T~Ksq`?VFr^6GzLr!`TyOGV51De+IoC+)sHf z;P_6Ft6mJA0!vuOUprV-2W#qJJ7{4-3lmzHI7Amt4E_c-QGYW?vHJ!dz)2VBaN(Pa zgt)t78;CsIy};gZsuuoa5;Kq9UjVT6TtUbcB=Bo4R}k3uDSreufRwZ3Qsp4c@Nh0y z5OD>Ob0?Ss9tQJ~j^9$Zh_o&Sf28~r6b^AUf%7M*&wrnVE`xGDct6)!4c!F(0XBnw z0y*cGU<>=df^KKz$7`BPFUMTjTzWd@ssi_W^wl%;mFh3!SCzz#(Kl@KP-@{t%n4vP zz?K?ps5upgCp;ZG3OX8!JvG=KK zvlaO*2k5dzhSW!OKpMnPVS&_F!F}~tdqR;d+Xd_g4gd#(L%?C+aL^wN0LNjg=nwVk z_&M?Hmi|CbG8>CeBW91(%j46;(>v!O!<~_UF350KsCfN-q5DC*LB;!bhe`x+AXK6N zF)#7;#sr2i|@V`f(&U3P|=f z6ge7(JwE{q2Pa{5M*{J4r?GxIbQE+n^bBwoxRK-B1ZIGn!Ax)qc#z{gOx;H~Caocw zjEE*9qREJ8G9sD`$Wa1vlz<#1Fpq<$z|&v}cm`l4$Wa3GEa$$a{di2jnsVxlBMV!w3R+54;aP;5Z+FkHIHkEB3k^;BAoa zn8-6gt^;zNfLtd)o@3-WMxJBjIkr7arL6)7Q$7S71`Y@P!2mFjeMc~^e-t>5$OGOY z;}P;5Am1@@flplE6BqbILO$LwBKk>)e#9$AdBl_0n^>O#ZUH|Bx3TY+{Qp?gkQbJP3XR9tFPxzX!;U^9S%G<>vu* z5I-5Zg&qbyob&Vt1Hd3~Bsdxj0mp#j0s2d> z9k@RPr+`zz>0mTC6Pyj`59~~gor$qCF?J@#&cxW67&{ZYmzlQiL@*g#hkdx&Ffu}h z6Pg-O3kIQeN8nXx0U38d#vR}dL$aQbtS2Pv3CVgwvYwEvCo~UGm*|F!J0asv$hZSC zp%8Bs;;9%b1?$0wAO;(VLD~a}jQ0SQ0B<eA@@~iQl2A%*#))!M3%ZHuz zvC|)MMud%)w`UQ0oun}xw+gJ1?ISjE-NGuc(3xzH`!`}PY`w&kR z;-x}7RET#9@lGM0i7`WP8W;u0;P65r9w=l~Az@S@VN@YuR3TwhAz@S@VN@Y;FXQ+V z!DMh9{a*%W6Y`=Ij;3%V)tn?Y#P@jcEN<^fJf@?G*t`In7hv-OdPXwQfZj>0WKLIc z47i64jIe<*8DLBX7-I{=+!jXI!I1ViG+RrNlhzjV zbJGp0nP4@OW@|}gUb2`@DW9Hz42e~Q$7&gOw1|mw9oxwav5X0pF~Kq>&P*^1?8-Wd zjO}P46D(w+7V?kKr-8^Co)sC3)oMy^L{zEPvt%__vrjCiSWU5*nYBz>S<3`#nP4p? zUXO{@W8(A}nT(sQXB*_E0u-7SAe#$vtC^^5?ui|6klqx@P0ij&ijVC0cr(eYBD`6Q zH;eIFybGLjc<4wwfKKB%BpZsc@{+GbSoH{t9$~E`EOmsHjBLy(gi-A_#0Zib z&!d+X0Ew7hKn4TK5;awD1af6GIY5hJv^Yj%!{$h;l#gL4;GSeJqNSpl0h%aUC>ki5 z7iuPQ0B6jyYLS-@xQ36oHjxozfU{}#tbJbUU+GinyFap@>vo=DJ?kf*e)64CAFZbR z3Hx^Bx$j!8*HvCiPBd3|%-yciI87EKgc>7AzWOxRE;;I(v}hA&Esc>+qC6S=gr1k2 zbP0GFWIi>7+acTz;dUswXLFv}!g=wJVeS({a}a#c`}=S{hVwC;k8{q)@TA0jz4yNp z_v4)Vk_}7#D7j4nu$dII?i=?#%N=@A(TkY0(kS9;MJ9YdxyMOss& zH4A9X0_31bYb48!=$&kA_Ufhu$bye7_{c($)!#4Uh}IQpU1ZwRs%&&YcoguD(&)f^%Gszu z%9&Hn+>+VvA@YqUOYmX|UM!K>5OOVerUb8);EfXJ20%QCH%jnE30^3{3nkj_=b$UV zi$L0m)xygpc$q}oTgKVSK>;wXf`>`W^k&O0XP%EX5z!-E5t0?PYDr8q8WD|#*w_#o z8xxIkzYd7xy#;+6AWili=)2%O%Il!S1K3!Rkq8?b6OqQ)*O-VjCL)dP=bRURX#Y&q z`4{L$>LJP4+L-47D~V3U*2YAq;*T=xKLHuJh;`u%BjnhUK&Ab1%2%*$3RFhI>KZ0DY2e z&muj~f#)f|041}*2FGYygl!9nU}GZKm|lsn#WC6!V2{P#1=wV#7gB8m+iB6x?< zWbAWHG#hI#{+aF4lki7-^RLjasQ)$lx1kfFwQbN3v6&UnQV%metXj;No%A-5Zs=BG zsrQ8L#lF3O0kbAJ}Jc~$vB?Rb*E^auh+;} zw@Px!T8n?kM!?@!-6`glTKqyb>Mh>+o0ht@Hd1hJJD_0n0Z98Rhi|aCftfdr)gL7OewsFjABM`N!ljkh!QEJL6h99i0$Vy|NCRit{452Vea`#amKD7ROU>VIZUWwcH7Uo2@%Y|}_aBV<#8bK2$o9E{sL62qsqk1wJR|Y98N40(D%wq??S^l=N;MnuBM+ zkEJ?tyNEK@#nSJLN2gfg(s*>Dz8+4aaVcZcG8V9-&Q7BJqPJIqt0|XSmyJuO@G0HF z14&%4lx;p#B>81f2he*oP@=M($EZ`rs8b!?-ON52)!hQW3~-chJC9SRSek5{x-&hV zjrEJI_<*bU2+HVWZZDKSNPL>dOewvV(qrj2?10z+%Tcp9DMgx7q&el@aw$(?i~*j8 zcrzJK3E^RgH%sxWDKZw@I%rAqvBbNS{y&=JVEN5p{$_9U)PN zj5dhH_4BC1cZx(MPqLja-Qo|TTw}x^glJ4iBog8eLgdI-TlW%lCC6CBwoIM^qLPrP zBt))4q7umon&BLP z>?tFlGWsc_oGCpoS{pl9rB?SLvpW(K(2~jQyB0bf+z4iXS>SQ-2T;#`j)!)MW{Fm% zXj6(0lZYs$brMHOWE3;Yuyw2EA@`YHFse^^R}pol8)OIUZ$ut5{fJuW$G?lPqgD}i zlt4oS-q)~RJ7g0V2yz5AN*IbMKW7M7LL@Dx)^2j^Nbs@@iA!-$Q zN8gCNTXdl%0-wLjC_KvbfqYK&A%oqZd6erwlklQ z#cP?&x5R9DyrwdrkK1YNb_t#)lXap?%G1DfbV9t7c&3@Gw~psBx!)mvYmVJAxz9X@ z$o&B-=Z~0mJ7kKI>5&C|Yu@@>_KQuEEb337ltJwr!%D`)l_`(2Jhp{zVk5X4W)AvB z*8BoI600Q^T%sVc&|;Nu0K3YbCHj##RwAG*k}gGv-^`?mb~KtU9+QkjpUS}7#f%&Y@8ag%jS*O)N4X~{8Hq&MrI`)6*0C?k zN+cf^Udp(nM3ga+q~yL5O~&NBF`5-K>J+!0=|B`IV~!F@#_A~?sKj?3kgIG9WYi+N z2O8^0W0torg11GkK=P~SIZG*jodlnM2CfGZ|5B%voi&e#tz{ph#Iz`FJr1U`X>_Iv z(TBvUr5IIbt>A5U$V+K&N?X&CMl+wiWt=h_En7s}vNj6$CC8B%K2|*`jag2jeOb(& zXbvcCW)u~Umqv}U(X%D2w~U~*#O=F^*LM}0@1eP0Vk92VWCaVS9we6oA|%PWGFg!R zeuj1FTj^KnQ|Zecv*M)LyO+GVWS4DJ3tRt-9_Ee%7K5)_RyOl%FfGx%-Bhu^4>*K* z{58;8Aa|*bBt|_7WOt|%Gn?&qgE`VM;|3sr6ZN zBG;dC{VCUIL9>pO z^kXPmJPe!wh6CiW)trwopYsvsb3P)S^Kl+^xIYgM0(cO>g8&``@IdYW|9ky?LX;CEmVAYU<$0Y*ug4-y)3Z{~x9%m)b#qkYT=2@Q9xcA5_on3vcd zaQ>H}E1|DISJ9R_Xg#z6O7vr1g@(}Apsxe+Nb@Eje>Cp^Mp2m`B6p$_=7?l7_pxl; zkxrN^l9&zP6R`7qk@mPS$94hC1z`S2^l#^l45t3~ z!Li^t>-3L3342l+$ z5ad~hfH?^AyhFeo1bOBmU=D&j_Yg1#L7sgG++NUXXm4mA=)usw&_keyLJxx;4*G)u zU=TPG91VtmW57^!@_4A&IOIz0+=0dprkeZ~=EdTIo`l&sEBv$2f;5^*rRQGvfzc7`M;n^Az*> zJjHxIPZ3>``8-8*N#^qu(IuJBQ$&|!K2H%{lKDJEbV=s(6wxJ_&r{6j^Ayn~A6@d% zB_Cb#(Ip>U^3f$9UGj5X@^fACb6xUV>5`x8lAr66pX-vJ>yn@AlAr66pX-v3E`{h) z$o!v>`9GmM0bC3&1w;cn??;}@s$_&u^r#XYs>Cyu#-7np=5u6E6^zH{T}qjm3(N_L zbxz0>))`Bdxgl0YM@oMERQwx{X6uujKj8Tu_rhzgm}n|5zGA|UP4|iCPnpbHNO^Xf zw*fS1t(G$1t8d=!@V^TuU2ZB{FWJjO?)=N4X4^J1%gZVj>VNbd4{a{vYC75jomzKT z*;#n?qj;mtNj$+hhWQ|u@iqEu^{oQ8GbZzpS*YK$Ud|gBLf*O|-%n3?*T%p2igi2h zHshA9Dy#E;p|sxnrP2oPS4tbb+o5%3tGqju)_Hd-t@rLy+ThJr+UVWQ+i~i=Ijq%F z`yQor-n~lez5A3lc=s!9^d6vgy*HP&25Qe!TIc;*X}$NL(gyD#rH$TisNLW_%vvM0 zA5mK8%~x9Q{Z?rM?+ugvjozcwZrq6@m+;nwsodqA#k&ap6Gs+uoK>9XcS`HLMM~?v z-z#nK9#h)rJj8!xG*$u`3w~IF4}SWuHRrFCAT(t7Vzr43%F zw9$Kw+I8M))`UN=E3Na^C~ffGP}=CNg$hUBR9fe~rL^9ATWNzADQ)!LQI5RJnsDSj zrFGsqrS;zXN*lcON*lcoz5_=Bo`7DaS`R+3G;xx%q+y$?B#aO5MUbzZEr-uqZ- zgSSCxqxXq&kJj%-s}=WSP7?=>lH;3aXgzp)^1(OOl&;t59zuF|?fnbP_~8>J0}a;1%h z3gJk>V-1cJ3QFq=ZI#v+c2n9=Xs5KXu)A=i(4I9oQs|(xuFz3weSv4}+1^mtLuq4y z_jIvV$r_v~?5VV_u$R*M!rn?7u)bE>jU_HuYfM{&I)`GJ_fVVeQs@8wTeHMlsO7hJ z(t>toGET>%1^e>Ee?P4MQ11GjRp@NW%04dpyYr($m%KE#&{a#D*tSnz8e7}WW}2B*=uVyNOb6tpv4sP*Bu6+X zFO4nqpp>1dXI>gxsM3y?+r7I>?7*{5Y6v+eM_G`3KqrBB$_KQDb-i>j%UwWxPq z8e8b2B{|c5V_+OSPpG$=2PrB__u g9WaxAkvKs5$boOJ`G+&8oLAXU8ex7|#@jLfA17qw^Z)<= literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf b/addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..27ff1ed60a9afc0e6a4d7604abf6d9ad307ef7fd GIT binary patch literal 274624 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Theme/Font/NotoSans-Regular.ttf b/addons/dialogic/Documentation/Theme/Font/NotoSans-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..10589e277ed7087dfd2d499a064e8c0e8bd9efad GIT binary patch literal 398968 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 z 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd b/addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd new file mode 100644 index 0000000..564b83a --- /dev/null +++ b/addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd @@ -0,0 +1,374 @@ +tool +extends Control + +#################################################################################################### +## VARIABLES +#################################################################################################### +# references +var editor_reference +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +var portrait_entry = load("res://addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn") +onready var nodes = { + 'editor': $Split/EditorScroll/Editor, + 'name': $Split/EditorScroll/Editor/NameAndColor/NameLineEdit, + 'color': $Split/EditorScroll/Editor/NameAndColor/ColorPickerButton, + 'display_name_checkbox': $Split/EditorScroll/Editor/DisplayName/CheckBox, + 'display_name': $Split/EditorScroll/Editor/DisplayName/LineEdit, + 'nickname_checkbox': $Split/EditorScroll/Editor/DisplayNickname/CheckBox, + 'nickname': $Split/EditorScroll/Editor/DisplayNickname/LineEdit, + 'description': $Split/EditorScroll/Editor/Description/TextEdit, + 'theme':$Split/EditorScroll/Editor/Theme/ThemeButton, + + 'file': $Split/EditorScroll/Editor/FileName/LineEdit, + + 'mirror_portraits_checkbox' : $Split/EditorScroll/Editor/HBoxContainer/MirrorOption/MirrorPortraitsCheckBox, + 'scale': $Split/EditorScroll/Editor/HBoxContainer/Scale, + 'offset_x': $Split/EditorScroll/Editor/HBoxContainer/OffsetX, + 'offset_y': $Split/EditorScroll/Editor/HBoxContainer/OffsetY, + + 'portrait_search':$Split/EditorScroll/Editor/Portraits/Search, + 'portrait_list': $Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/ScrollContainer/VBoxContainer/PortraitList, + 'new_portrait_button': $Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/Labels/HBoxContainer/NewPortrait, + 'import_from_folder_button': $Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/Labels/HBoxContainer/ImportFromFolder, + + 'portrait_preview_full': $Split/Preview/Background/FullTextureRect, + 'portrait_preview_real': $Split/Preview/Background/Positioner/RealSizedRect, + 'image_label': $Split/Preview/Background/TLabel10, +} + +# data +var opened_character_data +var selected_theme_file = '' + +#################################################################################################### +## SCRIPT +#################################################################################################### + +# connect functions; translate buttons; update styles, etc... +func _ready(): + editor_reference = find_parent('EditorView') + + nodes['new_portrait_button'].text = " "+editor_reference.dialogicTranslator.translate("New portrait") + nodes['import_from_folder_button'].text = " "+editor_reference.dialogicTranslator.translate("Import folder") + + # connecting signals + nodes['name'].connect('text_changed', self, '_on_name_changed') + nodes['name'].connect('focus_exited', self, '_update_name_on_tree') + nodes['color'].connect('color_changed', self, '_on_color_changed') + nodes['display_name_checkbox'].connect('toggled', self, '_on_display_name_toggled') + nodes['nickname_checkbox'].connect('toggled', self, '_on_nickname_toggled') + nodes['theme'].connect("about_to_show", self, "build_ThemePickerMenu") + + nodes['portrait_search'].connect('text_changed', self, '_on_PortraitSearch_text_changed') + nodes['portrait_search'].right_icon = get_icon("Search", "EditorIcons") + nodes['import_from_folder_button'].connect('pressed', self, '_on_Import_Portrait_Folder_Button_pressed') + nodes['new_portrait_button'].connect('pressed', self, '_on_New_Portrait_Button_pressed') + + # updating styles + var style = $Split/EditorScroll.get('custom_styles/bg') + style.set('bg_color', get_color("base_color", "Editor")) + nodes['new_portrait_button'].icon = get_icon("Add", "EditorIcons") + nodes['import_from_folder_button'].icon = get_icon("Folder", "EditorIcons") + $Split/EditorScroll/Editor/Portraits/Title.set('custom_fonts/font', get_font("doc_title", "EditorFonts")) + $Split/EditorScroll/Editor/PortraitPanel.set('custom_styles/panel', get_stylebox("Background", "EditorStyles")) + + # loading default setup + _on_PreviewMode_item_selected(DialogicResources.get_settings_value('editor', 'character_preview_mode', 1)) + $Split/Preview/Background/PreviewMode.select(DialogicResources.get_settings_value('editor', 'character_preview_mode', 1)) + $Split/Preview/Background/PreviewMode.set_item_text(0, editor_reference.dialogicTranslator.translate("Full View")) + $Split/Preview/Background/PreviewMode.set_item_text(1, editor_reference.dialogicTranslator.translate("Actual Size")) + +# removes all input for a new character +func clear_character_editor(): + nodes['file'].text = '' + nodes['name'].text = '' + nodes['color'].color = Color('#ffffff') + nodes['display_name_checkbox'].pressed = false + nodes['display_name'].text = '' + nodes['nickname_checkbox'].pressed = false + nodes['nickname'].text = '' + nodes['description'].text = '' + nodes['theme'].text = 'No custom theme' + selected_theme_file = '' + + nodes['portrait_search'].text = '' + nodes['portraits'] = [] + nodes['scale'].value = 100 + nodes['mirror_portraits_checkbox'].pressed = false + nodes['offset_x'].value = 0 + nodes['offset_y'].value = 0 + + # Clearing portraits + for p in nodes['portrait_list'].get_children(): + p.queue_free() + nodes['portrait_preview_full'].texture = null + nodes['portrait_preview_real'].texture = null + nodes['portrait_preview_real'].rect_scale = Vector2(1, 1) + +# creates new character data +func create_character(): + var character_file = 'character-' + str(OS.get_unix_time()) + '.json' + var character = { + 'color': '#ffffff', + 'id': character_file, + 'portraits': [], + 'mirror_portraits' :false + } + DialogicResources.set_character(character) + character['metadata'] = {'file': character_file} + return character + +#################################################################################################### +## SAVING AND LOADING +#################################################################################################### + +# returns all of the current data in the format it's saved as +func generate_character_data_to_save(): + var portraits = [] + for p in nodes['portrait_list'].get_children(): + var entry = {} + entry['name'] = p.get_node("NameEdit").text + entry['path'] = p.get_node("PathEdit").text + portraits.append(entry) + var info_to_save = { + 'id': nodes['file'].text, + 'color': '#' + nodes['color'].color.to_html(), + 'display_name_bool': nodes['display_name_checkbox'].pressed, + 'display_name': nodes['display_name'].text, + 'nickname_bool': nodes['nickname_checkbox'].pressed, + 'nickname': nodes['nickname'].text, + 'description': nodes['description'].text, + 'theme': selected_theme_file, + + 'portraits': portraits, + 'scale': nodes['scale'].value, + 'mirror_portraits': nodes["mirror_portraits_checkbox"].pressed, + 'offset_x': nodes['offset_x'].value, + 'offset_y': nodes['offset_y'].value, + } + # Adding name later for cases when no name is provided + if nodes['name'].text != '': + info_to_save['name'] = nodes['name'].text + + return info_to_save + +# save the currently opened data +func save_character(): + var info_to_save = generate_character_data_to_save() + if info_to_save['id']: + DialogicResources.set_character(info_to_save) + opened_character_data = info_to_save + +# load data in +func load_character(filename: String): + clear_character_editor() + var data = DialogicResources.get_character_json(filename) + opened_character_data = data + nodes['file'].text = data['id'] + nodes['name'].text = data.get('name', '') + nodes['color'].color = Color(data.get('color','#ffffffff')) + nodes['display_name_checkbox'].pressed = data.get('display_name_bool', false) + nodes['display_name'].text = data.get('display_name', '') + nodes['nickname_checkbox'].pressed = data.get('nickname_bool', false) + nodes['nickname'].text = data.get('nickname', '') + nodes['description'].text = data.get('description', '') + refresh_themes_and_select(data.get('theme', '')) + + nodes['scale'].value = float(data.get('scale', 100)) + #nodes['nickname'].visible + nodes['offset_x'].value = data.get('offset_x', 0) + nodes['offset_y'].value = data.get('offset_y', 0) + nodes['mirror_portraits_checkbox'].pressed = data.get('mirror_portraits', false) + nodes['portrait_preview_full'].flip_h = data.get('mirror_portraits', false) + nodes['portrait_preview_real'].flip_h = data.get('mirror_portraits', false) + nodes['portrait_preview_real'].rect_scale = Vector2( + float(data.get('scale', 100))/100, float(data.get('scale', 100))/100) + + # Portraits + var default_portrait = create_portrait_entry() + default_portrait.get_node('NameEdit').text = 'Default' + default_portrait.get_node('NameEdit').editable = false + if opened_character_data.has('portraits'): + for p in opened_character_data['portraits']: + var current_item + if p['name'] == 'Default': + default_portrait.get_node('PathEdit').text = p['path'] + default_portrait.update_preview(p['path']) + current_item = default_portrait + else: + current_item = create_portrait_entry(p['name'], p['path']) + + +#################################################################################################### +## UI FUNCTIONS +#################################################################################################### + + +func _on_PortraitSearch_text_changed(text): + for portrait_item in nodes['portrait_list'].get_children(): + if text.empty() or text.to_lower() in portrait_item.get_node("NameEdit").text.to_lower() or text.to_lower() in portrait_item.get_node("PathEdit").text.to_lower(): + portrait_item.show() + else: + portrait_item.hide() + +func refresh_themes_and_select(file): + selected_theme_file = file + + if file == '' or file == 'No custom theme': + nodes['theme'].text = "No custom theme" + nodes['theme'].custom_icon = get_icon("GuiRadioUnchecked", "EditorIcons") + else: + nodes['theme'].text = DialogicUtil.get_theme_dict()[file]['name'] + nodes['theme'].custom_icon = editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").theme_icon + +func build_ThemePickerMenu(): + nodes['theme'].get_popup().clear() + var folder_structure = DialogicUtil.get_theme_folder_structure() + + ## building the root level + build_PickerMenuFolder(nodes['theme'].get_popup(), folder_structure, "MenuButton") + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + + if menu == nodes["theme"].get_popup(): + menu.add_item('No custom theme') + menu.set_item_icon(index, get_icon("GuiRadioUnchecked", "EditorIcons")) + menu.set_item_metadata(index, {"file":""}) + index += 1 + + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + index += 1 + + # give it the right style + nodes['theme'].update_submenu_style(submenu) + + var files_info = DialogicUtil.get_theme_dict() + for file in folder_structure['files']: + menu.add_item(files_info[file]['name']) + menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").theme_icon) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_theme_selected"): + menu.connect("index_pressed", self, '_on_theme_selected', [menu]) + + return current_folder_name + + +func _on_theme_selected(index, menu): + refresh_themes_and_select(menu.get_item_metadata(index).get('file', '')) + + +func _on_display_name_toggled(button_pressed): + nodes['display_name'].visible = button_pressed + if button_pressed: nodes['display_name'].grab_focus() + + +func _on_nickname_toggled(button_pressed): + nodes['nickname'].visible = button_pressed + if button_pressed: nodes['nickname'].grab_focus() + +func is_selected(file: String): + return nodes['file'].text == file + + +func _on_name_changed(value): + save_character() + + +func _update_name_on_tree(): + var item = master_tree.get_selected() + item.set_text(0, nodes['name'].text) + master_tree.build_characters(nodes['file'].text) + + +func _input(event): + if event is InputEventKey and event.pressed: + if nodes['name'].has_focus(): + if event.scancode == KEY_ENTER: + nodes['name'].release_focus() + + +func _on_color_changed(color): + var item = master_tree.get_selected() + item.set_icon_modulate(0, color) + + + +# Portraits +func _on_New_Portrait_Button_pressed(): + create_portrait_entry('', '', true) + + +func create_portrait_entry(p_name = '', path = '', grab_focus = false): + if grab_focus and nodes['portrait_list'].get_child_count() == 1 and nodes['portrait_list'].get_child(0).get_node("PathEdit").text == '': + nodes['portrait_list'].get_child(0)._on_ButtonSelect_pressed() + return + + var p = portrait_entry.instance() + p.editor_reference = editor_reference + p.image_node = nodes['portrait_preview_full'] + p.image_node2 = nodes['portrait_preview_real'] + p.image_label = nodes['image_label'] + var p_list = nodes['portrait_list'] + p_list.add_child(p) + if p_name != '': + p.get_node("NameEdit").text = p_name + if path != '': + p.get_node("PathEdit").text = path + if grab_focus: + p.get_node("NameEdit").grab_focus() + p._on_ButtonSelect_pressed() + return p + + +func _on_Import_Portrait_Folder_Button_pressed(): + editor_reference.godot_dialog("*", EditorFileDialog.MODE_OPEN_DIR) + editor_reference.godot_dialog_connect(self, "_on_dir_selected", "dir_selected") + + +func _on_dir_selected(path, target): + var dir = Directory.new() + if dir.open(path) == OK: + dir.list_dir_begin() + var file_name = dir.get_next() + while file_name != "": + if not dir.current_is_dir(): + var file_lower = file_name.to_lower() + if '.svg' in file_lower or '.png' in file_lower: + if not '.import' in file_lower: + var final_name = path+ "/" + file_name + create_portrait_entry(DialogicResources.get_filename_from_path(file_name), final_name) + file_name = dir.get_next() + else: + print("An error occurred when trying to access the path.") + + +func _on_MirrorPortraitsCheckBox_toggled(button_pressed): + nodes['portrait_preview_full'].flip_h = button_pressed + nodes['portrait_preview_real'].flip_h = button_pressed + + +func _on_Scale_value_changed(value): + #nodes['portrait_preview_real'].rect_position = ($Split/Preview/Background/Positioner.rect_position-nodes['portrait_preview_real'].rect_size*Vector2(0.5,1)) + nodes['portrait_preview_real'].rect_size = Vector2() + nodes['portrait_preview_real'].rect_scale = Vector2( + float(value)/100, float(value)/100) + +func _on_PreviewMode_item_selected(index): + if index == 0: + nodes['portrait_preview_real'].hide() + nodes['portrait_preview_full'].show() + if index == 1: + nodes['portrait_preview_real'].show() + nodes['portrait_preview_full'].hide() + DialogicResources.set_settings_value('editor', 'character_preview_mode', index) + diff --git a/addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn b/addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn new file mode 100644 index 0000000..a6fbd2a --- /dev/null +++ b/addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn @@ -0,0 +1,547 @@ +[gd_scene load_steps=16 format=2] + +[ext_resource path="res://addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Example Assets/portraits/df-3.png" type="Texture" id=4] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=5] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=6] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0.2, 0.23, 0.31, 1 ) + +[sub_resource type="Image" id=10] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 254, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 255, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 254, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 255, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 255, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 72, 255, 255, 255, 205, 255, 255, 255, 249, 255, 255, 255, 218, 255, 255, 255, 73, 255, 255, 255, 92, 255, 255, 255, 218, 255, 255, 255, 246, 255, 255, 255, 199, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 194, 255, 255, 255, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 203, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 152, 255, 255, 255, 193, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 202, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 98, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 219, 255, 255, 255, 217, 255, 255, 255, 12, 0, 0, 0, 0, 255, 255, 255, 94, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 217, 255, 255, 255, 55, 255, 255, 255, 20, 255, 255, 255, 156, 255, 255, 255, 243, 255, 255, 255, 201, 255, 255, 255, 44, 255, 255, 255, 23, 255, 255, 255, 179, 255, 255, 255, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 0, 0, 0, 0, 255, 255, 255, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 74, 255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 89, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 176, 255, 255, 255, 160, 255, 255, 255, 78, 0, 0, 0, 0, 255, 255, 255, 153, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 44, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 255, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 46, 255, 255, 255, 254, 255, 255, 255, 25, 0, 0, 0, 0, 255, 255, 255, 39, 255, 255, 255, 226, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 27, 0, 0, 0, 0, 255, 255, 255, 29, 255, 255, 255, 255, 255, 255, 255, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 227, 255, 255, 255, 4, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 213, 0, 0, 0, 0, 255, 255, 255, 143, 255, 255, 255, 106, 255, 255, 255, 96, 255, 255, 255, 151, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 97, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 96, 0, 0, 0, 0, 255, 255, 255, 103, 255, 255, 255, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 250, 255, 255, 255, 15, 255, 255, 255, 219, 255, 255, 255, 30, 255, 255, 255, 26, 255, 255, 255, 222, 255, 255, 255, 16, 255, 255, 255, 250, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 170, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 85, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 164, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 50, 255, 255, 255, 243, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 95, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 97, 255, 255, 255, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 239, 255, 255, 255, 9, 255, 255, 255, 242, 255, 255, 255, 17, 0, 0, 0, 0, 255, 255, 255, 23, 255, 255, 255, 230, 255, 255, 255, 5, 255, 255, 255, 242, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 196, 255, 255, 255, 134, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 139, 255, 255, 255, 199, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 239, 255, 255, 255, 103, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 91, 255, 255, 255, 234, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 250, 255, 255, 255, 42, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 255, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 166, 255, 255, 255, 201, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 199, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 255, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 244, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 251, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 251, 255, 255, 255, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 214, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 214, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 223, 255, 255, 255, 219, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 228, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 161, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 228, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 249, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 235, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 233, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 235, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 45, 255, 255, 255, 243, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 240, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 3, 255, 255, 255, 44, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 91, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 200, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 198, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 242, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 232, 255, 255, 255, 25, 255, 255, 255, 19, 255, 255, 255, 225, 255, 255, 255, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 235, 255, 255, 255, 100, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 220, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 220, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 120, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 109, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 153, 255, 255, 255, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 194, 255, 255, 255, 182, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 237, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 255, 255, 255, 223, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 204, 255, 255, 255, 66, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 233, 255, 255, 255, 3, 255, 255, 255, 3, 255, 255, 255, 234, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 228, 255, 255, 255, 234, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 29, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 227, 255, 255, 255, 69, 255, 255, 255, 205, 255, 255, 255, 1, 255, 255, 255, 91, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 205, 255, 255, 255, 127, 255, 255, 255, 216, 255, 255, 255, 225, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 255, 255, 255, 131, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 108, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 229, 255, 255, 255, 66, 255, 255, 255, 65, 255, 255, 255, 228, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 241, 255, 255, 255, 245, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 219, 255, 255, 255, 211, 255, 255, 255, 77, 255, 255, 255, 205, 255, 255, 255, 68, 255, 255, 255, 38, 255, 255, 255, 160, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 1, 255, 255, 255, 205, 255, 255, 255, 68, 255, 255, 255, 57, 255, 255, 255, 9, 255, 255, 255, 16, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 255, 255, 255, 37, 255, 255, 255, 225, 255, 255, 255, 2, 255, 255, 255, 1, 255, 255, 255, 213, 255, 255, 255, 17, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 139, 255, 255, 255, 143, 255, 255, 255, 145, 255, 255, 255, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 215, 255, 255, 255, 107, 255, 255, 255, 117, 255, 255, 255, 223, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 185, 255, 255, 255, 7, 255, 255, 255, 188, 255, 255, 255, 24, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 198, 255, 255, 255, 67, 255, 255, 255, 64, 255, 255, 255, 168, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 47, 255, 255, 255, 214, 255, 255, 255, 217, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 187, 255, 255, 255, 1, 255, 255, 255, 3, 255, 255, 255, 203, 255, 255, 255, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 220, 255, 255, 255, 48, 255, 255, 255, 149, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 220, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 191, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 104, 255, 255, 255, 161, 255, 255, 255, 163, 255, 255, 255, 69, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 238, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 46, 255, 255, 255, 249, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 163, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 255, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 163, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 169, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 237, 255, 255, 255, 215, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 11, 255, 255, 255, 221, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 222, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 229, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 229, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 219, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 171, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 221, 255, 255, 255, 218, 255, 255, 255, 55, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 225, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 66, 255, 255, 255, 73, 255, 255, 255, 193, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 158, 255, 255, 255, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 241, 0, 0, 0, 0, 255, 255, 255, 44, 255, 255, 255, 218, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 242, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 161, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 228, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 180, 255, 255, 255, 187, 255, 255, 255, 187, 255, 255, 255, 180, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 255, 255, 255, 210, 255, 255, 255, 126, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 249, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 250, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 66, 255, 255, 255, 73, 255, 255, 255, 197, 255, 255, 255, 64, 255, 255, 255, 204, 255, 255, 255, 65, 255, 255, 255, 221, 255, 255, 255, 218, 255, 255, 255, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 91, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 155, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 155, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 180, 255, 255, 255, 187, 255, 255, 255, 187, 255, 255, 255, 180, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 217, 255, 255, 255, 248, 255, 255, 255, 217, 255, 255, 255, 71, 255, 255, 255, 113, 255, 255, 255, 232, 255, 255, 255, 234, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 43, 255, 255, 255, 165, 255, 255, 255, 229, 255, 255, 255, 235, 255, 255, 255, 220, 255, 255, 255, 137, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 32, 255, 255, 255, 79, 255, 255, 255, 205, 255, 255, 255, 202, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 249, 255, 255, 255, 224, 255, 255, 255, 158, 255, 255, 255, 244, 255, 255, 255, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 151, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 219, 255, 255, 255, 220, 255, 255, 255, 61, 255, 255, 255, 202, 255, 255, 255, 66, 255, 255, 255, 202, 255, 255, 255, 66, 255, 255, 255, 73, 255, 255, 255, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 220, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 168, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 241, 255, 255, 255, 230, 255, 255, 255, 117, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 155, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 155, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 53, 255, 255, 255, 17, 255, 255, 255, 102, 255, 255, 255, 246, 255, 255, 255, 216, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 219, 255, 255, 255, 86, 255, 255, 255, 8, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 152, 255, 255, 255, 210, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 222, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 175, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 51, 255, 255, 255, 242, 255, 255, 255, 226, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 239, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 182, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 20, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 24, 255, 255, 255, 37, 255, 255, 255, 254, 255, 255, 255, 10, 255, 255, 255, 21, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 168, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 192, 255, 255, 255, 239, 255, 255, 255, 178, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 253, 255, 255, 255, 102, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 226, 255, 255, 255, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 216, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 221, 255, 255, 255, 213, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 222, 255, 255, 255, 94, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 230, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 218, 255, 255, 255, 46, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 205, 255, 255, 255, 1, 255, 255, 255, 91, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 83, 255, 255, 255, 119, 255, 255, 255, 223, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 20, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 139, 255, 255, 255, 2, 255, 255, 255, 32, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 166, 255, 255, 255, 225, 255, 255, 255, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 119, 0, 0, 0, 0, 255, 255, 255, 37, 255, 255, 255, 198, 255, 255, 255, 228, 255, 255, 255, 224, 255, 255, 255, 28, 255, 255, 255, 39, 255, 255, 255, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 44, 255, 255, 255, 247, 255, 255, 255, 62, 255, 255, 255, 119, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 190, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 111, 255, 255, 255, 160, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 197, 255, 255, 255, 65, 255, 255, 255, 73, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 1, 255, 255, 255, 205, 255, 255, 255, 68, 255, 255, 255, 38, 255, 255, 255, 160, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 183, 255, 255, 255, 234, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 189, 255, 255, 255, 173, 255, 255, 255, 14, 255, 255, 255, 2, 255, 255, 255, 255, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 42, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 106, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 23, 255, 255, 255, 2, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 204, 255, 255, 255, 143, 0, 0, 0, 0, 255, 255, 255, 85, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 250, 255, 255, 255, 43, 255, 255, 255, 251, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 227, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 219, 255, 255, 255, 220, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 185, 255, 255, 255, 7, 255, 255, 255, 188, 255, 255, 255, 24, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 19, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 24, 255, 255, 255, 95, 255, 255, 255, 153, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 255, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 31, 255, 255, 255, 12, 255, 255, 255, 255, 255, 255, 255, 6, 255, 255, 255, 17, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 130, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 85, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 217, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 186, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 220, 255, 255, 255, 48, 255, 255, 255, 149, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 167, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 24, 255, 255, 255, 1, 255, 255, 255, 194, 255, 255, 255, 56, 255, 255, 255, 155, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 19, 0, 0, 0, 0, 255, 255, 255, 177, 255, 255, 255, 138, 255, 255, 255, 2, 255, 255, 255, 20, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 139, 255, 255, 255, 23, 255, 255, 255, 166, 255, 255, 255, 198, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 33, 255, 255, 255, 59, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 15, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 62, 255, 255, 255, 70, 255, 255, 255, 249, 255, 255, 255, 22, 255, 255, 255, 103, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 232, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 120, 255, 255, 255, 45, 255, 255, 255, 246, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 163, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 255, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 167, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 168, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 167, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 187, 255, 255, 255, 239, 255, 255, 255, 215, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 225, 255, 255, 255, 241, 255, 255, 255, 148, 255, 255, 255, 4, 255, 255, 255, 114, 255, 255, 255, 225, 255, 255, 255, 251, 255, 255, 255, 224, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 64, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 224, 255, 255, 255, 216, 255, 255, 255, 71, 255, 255, 255, 207, 255, 255, 255, 213, 255, 255, 255, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 9, 255, 255, 255, 28, 255, 255, 255, 92, 255, 255, 255, 222, 255, 255, 255, 190, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 143, 255, 255, 255, 214, 255, 255, 255, 205, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 245, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 229, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 183, 255, 255, 255, 188, 255, 255, 255, 188, 255, 255, 255, 183, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 167, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 168, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 255, 255, 255, 202, 255, 255, 255, 112, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 230, 255, 255, 255, 247, 255, 255, 255, 53, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 216, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 12, 255, 255, 255, 39, 255, 255, 255, 212, 255, 255, 255, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 183, 255, 255, 255, 188, 255, 255, 255, 188, 255, 255, 255, 183, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 190, 255, 255, 255, 172, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 240, 255, 255, 255, 171, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 148, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 248, 255, 255, 255, 240, 255, 255, 255, 158, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 113, 255, 255, 255, 204, 255, 255, 255, 239, 255, 255, 255, 237, 255, 255, 255, 221, 255, 255, 255, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 250, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 249, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 173, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 150, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 234, 255, 255, 255, 4, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 237, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 59, 255, 255, 255, 206, 255, 255, 255, 246, 255, 255, 255, 209, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 229, 255, 255, 255, 75, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 225, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 249, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 250, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 136, 255, 255, 255, 18, 255, 255, 255, 139, 255, 255, 255, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 166, 0, 0, 0, 0, 255, 255, 255, 175, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 151, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 249, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 250, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 239, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 238, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 75, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 37, 255, 255, 255, 241, 255, 255, 255, 19, 255, 255, 255, 246, 255, 255, 255, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 239, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 151, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 212, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 162, 255, 255, 255, 194, 255, 255, 255, 71, 255, 255, 255, 230, 255, 255, 255, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 152, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 222, 255, 255, 255, 94, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 230, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 239, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 238, 255, 255, 255, 77, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 236, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 45, 255, 255, 255, 252, 255, 255, 255, 254, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 252, 255, 255, 255, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 190, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 222, 255, 255, 255, 94, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 230, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 196, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 59, 255, 255, 255, 238, 255, 255, 255, 145, 255, 255, 255, 221, 255, 255, 255, 166, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 250, 255, 255, 255, 43, 255, 255, 255, 251, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 190, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 236, 255, 255, 255, 121, 255, 255, 255, 233, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 130, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 224, 255, 255, 255, 158, 255, 255, 255, 26, 255, 255, 255, 230, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 186, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 250, 255, 255, 255, 43, 255, 255, 255, 251, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 119, 255, 255, 255, 255, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 227, 255, 255, 255, 243, 255, 255, 255, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 186, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 200, 255, 255, 255, 50, 255, 255, 255, 33, 255, 255, 255, 91, 255, 255, 255, 223, 255, 255, 255, 248, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 245, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 170, 255, 255, 255, 235, 255, 255, 255, 247, 255, 255, 255, 207, 255, 255, 255, 95, 255, 255, 255, 38, 255, 255, 255, 229, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 12, 255, 255, 255, 39, 255, 255, 255, 212, 255, 255, 255, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 245, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 221, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 248, 255, 255, 255, 240, 255, 255, 255, 158, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 12, 255, 255, 255, 39, 255, 255, 255, 212, 255, 255, 255, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 248, 255, 255, 255, 240, 255, 255, 255, 158, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 239, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 238, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 116, 255, 255, 255, 206, 255, 255, 255, 245, 255, 255, 255, 244, 255, 255, 255, 213, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 212, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 193, 255, 255, 255, 205, 255, 255, 255, 70, 255, 255, 255, 16, 255, 255, 255, 23, 255, 255, 255, 78, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 234, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 255, 255, 255, 210, 255, 255, 255, 126, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 193, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 211, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 238, 255, 255, 255, 77, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 236, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 119, 255, 255, 255, 235, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 76, 255, 255, 255, 183, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 32, 255, 255, 255, 79, 255, 255, 255, 205, 255, 255, 255, 202, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 133, 255, 255, 255, 206, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 173, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 196, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 133, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 222, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 104, 255, 255, 255, 217, 255, 255, 255, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 206, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 236, 255, 255, 255, 121, 255, 255, 255, 233, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 240, 255, 255, 255, 252, 255, 255, 255, 243, 255, 255, 255, 240, 255, 255, 255, 252, 255, 255, 255, 243, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 255, 255, 255, 79, 255, 255, 255, 225, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 241, 255, 255, 255, 177, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 119, 255, 255, 255, 255, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 73, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 28, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 114, 255, 255, 255, 245, 255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 54, 255, 255, 255, 175, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 73, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 227, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 160, 255, 255, 255, 79, 255, 255, 255, 235, 255, 255, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 227, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 243, 255, 255, 255, 252, 255, 255, 255, 240, 255, 255, 255, 243, 255, 255, 255, 252, 255, 255, 255, 240, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 130, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 148, 255, 255, 255, 189, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 216, 255, 255, 255, 194, 255, 255, 255, 61, 255, 255, 255, 15, 255, 255, 255, 13, 255, 255, 255, 95, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 122, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 232, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 219, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 147, 255, 255, 255, 226, 255, 255, 255, 252, 255, 255, 255, 246, 255, 255, 255, 218, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 71, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 9, 255, 255, 255, 28, 255, 255, 255, 92, 255, 255, 255, 222, 255, 255, 255, 190, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 247, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 231, 255, 255, 255, 21, 0, 0, 0, 0, 255, 255, 255, 231, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 255, 255, 255, 202, 255, 255, 255, 112, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 217, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 213, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 155, 255, 255, 255, 232, 255, 255, 255, 230, 255, 255, 255, 154, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 228, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 180, 255, 255, 255, 18, 255, 255, 255, 15, 255, 255, 255, 165, 255, 255, 255, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 244, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 189, 255, 255, 255, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 255, 255, 255, 242, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 156, 255, 255, 255, 181, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 161, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 195, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 222, 255, 255, 255, 98, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 221, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 142, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 231, 255, 255, 255, 34, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 39, 255, 255, 255, 221, 255, 255, 255, 7, 255, 255, 255, 211, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 54, 255, 255, 255, 243, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 235, 255, 255, 255, 165, 255, 255, 255, 208, 255, 255, 255, 165, 255, 255, 255, 234, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 234, 255, 255, 255, 48, 255, 255, 255, 234, 255, 255, 255, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 255, 255, 255, 12, 255, 255, 255, 227, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 158, 255, 255, 255, 177, 255, 255, 255, 16, 255, 255, 255, 13, 255, 255, 255, 162, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 172, 255, 255, 255, 101, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 204, 255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 40, 255, 255, 255, 116, 255, 255, 255, 244, 255, 255, 255, 114, 255, 255, 255, 40, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 246, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 229, 255, 255, 255, 13, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 157, 255, 255, 255, 234, 255, 255, 255, 232, 255, 255, 255, 159, 255, 255, 255, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 213, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 221, 255, 255, 255, 4, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 23, 255, 255, 255, 228, 255, 255, 255, 85, 255, 255, 255, 227, 255, 255, 255, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 228, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 145, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 228, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 255, 255, 255, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 9, 255, 255, 255, 237, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 78, 255, 255, 255, 178, 0, 0, 0, 0, 255, 255, 255, 172, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 227, 255, 255, 255, 25, 255, 255, 255, 228, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 242, 255, 255, 255, 102, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 255, 255, 255, 242, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 231, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 85, 255, 255, 255, 231, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 121, 255, 255, 255, 232, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 142, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 36, 255, 255, 255, 249, 255, 255, 255, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 213, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 255, 255, 255, 12, 255, 255, 255, 227, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 229, 255, 255, 255, 13, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 229, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 145, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 242, 255, 255, 255, 102, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 121, 255, 255, 255, 232, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 213, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 35, 255, 255, 255, 235, 255, 255, 255, 70, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 234, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 39, 255, 255, 255, 255, 255, 255, 255, 42, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 235, 255, 255, 255, 123, 255, 255, 255, 235, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 9, 255, 255, 255, 199, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 255, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 37, 255, 255, 255, 188, 255, 255, 255, 244, 255, 255, 255, 231, 255, 255, 255, 167, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 255, 255, 255, 2, 255, 255, 255, 175, 255, 255, 255, 179, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 235, 255, 255, 255, 119, 255, 255, 255, 235, 255, 255, 255, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 198, 255, 255, 255, 169, 255, 255, 255, 22, 255, 255, 255, 40, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 255, 255, 255, 224, 255, 255, 255, 149, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 147, 255, 255, 255, 228, 255, 255, 255, 248, 255, 255, 255, 223, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 53, 255, 255, 255, 146, 255, 255, 255, 199, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 234, 255, 255, 255, 66, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 234, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 54, 255, 255, 255, 211, 255, 255, 255, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 217, 255, 255, 255, 188, 255, 255, 255, 50, 255, 255, 255, 17, 255, 255, 255, 61, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 163, 255, 255, 255, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 191, 255, 255, 255, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 15, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 132, 255, 255, 255, 229, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 255, 255, 255, 24, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 244, 255, 255, 255, 19, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 234, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 172, 255, 255, 255, 166, 255, 255, 255, 183, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 249, 255, 255, 255, 193, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 131, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 214, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 255, 255, 255, 13, 255, 255, 255, 223, 255, 255, 255, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 175, 255, 255, 255, 253, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 55, 255, 255, 255, 212, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 15, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 239, 255, 255, 255, 14, 255, 255, 255, 207, 255, 255, 255, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 246, 255, 255, 255, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 139, 255, 255, 255, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 179, 255, 255, 255, 228, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 134, 255, 255, 255, 216, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 78, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 176, 255, 255, 255, 13, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 95, 255, 255, 255, 21, 255, 255, 255, 28, 255, 255, 255, 180, 255, 255, 255, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 235, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 223, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 47, 255, 255, 255, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 15, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 195, 255, 255, 255, 243, 255, 255, 255, 240, 255, 255, 255, 174, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 213, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 227, 255, 255, 255, 197, 255, 255, 255, 53, 255, 255, 255, 14, 255, 255, 255, 33, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 51, 255, 255, 255, 52, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 227, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 238, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 157, 255, 255, 255, 230, 255, 255, 255, 253, 255, 255, 255, 242, 255, 255, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 192, 255, 255, 255, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 249, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 75, 255, 255, 255, 209, 255, 255, 255, 246, 255, 255, 255, 201, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 127, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 143, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 217, 255, 255, 255, 52, 255, 255, 255, 22, 255, 255, 255, 176, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 67, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 255, 255, 255, 227, 255, 255, 255, 170, 255, 255, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 202, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 9, 255, 255, 255, 239, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 147, 255, 255, 255, 18, 255, 255, 255, 147, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 15, 255, 255, 255, 50, 255, 255, 255, 189, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 239, 255, 255, 255, 251, 255, 255, 255, 206, 255, 255, 255, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 212, 255, 255, 255, 242, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 204, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 141, 255, 255, 255, 246, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 37, 255, 255, 255, 182, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 243, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 231, 255, 255, 255, 20, 255, 255, 255, 254, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 163, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 161, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 158, 255, 255, 255, 35, 255, 255, 255, 35, 255, 255, 255, 127, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 162, 255, 255, 255, 124, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 12, 255, 255, 255, 63, 255, 255, 255, 217, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 179, 255, 255, 255, 241, 255, 255, 255, 236, 255, 255, 255, 169, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 230, 255, 255, 255, 11, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 131, 255, 255, 255, 34, 255, 255, 255, 38, 255, 255, 255, 191, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 147, 255, 255, 255, 228, 255, 255, 255, 248, 255, 255, 255, 223, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 75, 255, 255, 255, 209, 255, 255, 255, 246, 255, 255, 255, 201, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 110, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 164, 255, 255, 255, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 134, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 255, 255, 255, 255, 77, 255, 255, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 217, 255, 255, 255, 188, 255, 255, 255, 50, 255, 255, 255, 17, 255, 255, 255, 61, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 217, 255, 255, 255, 52, 255, 255, 255, 22, 255, 255, 255, 176, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 205, 255, 255, 255, 229, 255, 255, 255, 223, 255, 255, 255, 155, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 15, 255, 255, 255, 62, 255, 255, 255, 220, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 132, 255, 255, 255, 229, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 221, 255, 255, 255, 131, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 219, 255, 255, 255, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 176, 255, 255, 255, 175, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 228, 255, 255, 255, 228, 255, 255, 255, 236, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 161, 255, 255, 255, 193, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 182, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 161, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 154, 255, 255, 255, 197, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 168, 255, 255, 255, 230, 255, 255, 255, 249, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 146, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 244, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 160, 255, 255, 255, 237, 255, 255, 255, 232, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 218, 255, 255, 255, 50, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 223, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 227, 255, 255, 255, 167, 255, 255, 255, 45, 255, 255, 255, 24, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 166, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 116, 255, 255, 255, 217, 255, 255, 255, 246, 255, 255, 255, 165, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 206, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 152, 255, 255, 255, 195, 255, 255, 255, 37, 255, 255, 255, 60, 255, 255, 255, 226, 255, 255, 255, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 227, 255, 255, 255, 197, 255, 255, 255, 53, 255, 255, 255, 14, 255, 255, 255, 33, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 125, 255, 255, 255, 210, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 243, 255, 255, 255, 250, 255, 255, 255, 230, 255, 255, 255, 150, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 208, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 219, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 104, 255, 255, 255, 219, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 230, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 101, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 157, 255, 255, 255, 230, 255, 255, 255, 253, 255, 255, 255, 242, 255, 255, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 200, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 36, 255, 255, 255, 22, 255, 255, 255, 65, 255, 255, 255, 216, 255, 255, 255, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 237, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 129, 255, 255, 255, 211, 255, 255, 255, 243, 255, 255, 255, 183, 255, 255, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 152, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 168, 255, 255, 255, 14, 255, 255, 255, 31, 255, 255, 255, 189, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 194, 255, 255, 255, 36, 255, 255, 255, 16, 255, 255, 255, 174, 255, 255, 255, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 238, 255, 255, 255, 228, 255, 255, 255, 228, 255, 255, 255, 228, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 184, 255, 255, 255, 244, 255, 255, 255, 211, 255, 255, 255, 129, 255, 255, 255, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 44, 255, 255, 255, 21, 255, 255, 255, 63, 255, 255, 255, 219, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 235, 255, 255, 255, 198, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 121, 255, 255, 255, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 231, 255, 255, 255, 146, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 173, 255, 255, 255, 238, 255, 255, 255, 249, 255, 255, 255, 216, 255, 255, 255, 123, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 211, 255, 255, 255, 40, 255, 255, 255, 41, 255, 255, 255, 222, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 89, 255, 255, 255, 255, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 56, 255, 255, 255, 213, 255, 255, 255, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 177, 255, 255, 255, 240, 255, 255, 255, 240, 255, 255, 255, 176, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 229, 255, 255, 255, 62, 255, 255, 255, 37, 255, 255, 255, 196, 255, 255, 255, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 118, 255, 255, 255, 220, 255, 255, 255, 247, 255, 255, 255, 156, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 188, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 5, 255, 255, 255, 19, 255, 255, 255, 142, 255, 255, 255, 228, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 92, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 200, 255, 255, 255, 166, 255, 255, 255, 33, 255, 255, 255, 35, 255, 255, 255, 168, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 140, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 125, 255, 255, 255, 234, 255, 255, 255, 237, 255, 255, 255, 159, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 255, 255, 255, 66, 255, 255, 255, 204, 255, 255, 255, 76, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 54, 255, 255, 255, 250, 255, 255, 255, 233, 255, 255, 255, 174, 255, 255, 255, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 224, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 206, 255, 255, 255, 247, 255, 255, 255, 228, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 73, 255, 255, 255, 198, 255, 255, 255, 72, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 16, 255, 255, 255, 63, 255, 255, 255, 219, 255, 255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 173, 255, 255, 255, 12, 255, 255, 255, 12, 255, 255, 255, 179, 255, 255, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 227, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 232, 255, 255, 255, 101, 255, 255, 255, 15, 255, 255, 255, 47, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 203, 255, 255, 255, 181, 255, 255, 255, 195, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 223, 255, 255, 255, 132, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 187, 255, 255, 255, 238, 255, 255, 255, 237, 255, 255, 255, 153, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 156, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 111, 255, 255, 255, 255, 255, 255, 255, 91, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 232, 255, 255, 255, 68, 255, 255, 255, 111, 255, 255, 255, 238, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 246, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 251, 255, 255, 255, 241, 255, 255, 255, 135, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 96, 255, 255, 255, 203, 255, 255, 255, 238, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 137, 255, 255, 255, 239, 255, 255, 255, 236, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 175, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 206, 255, 255, 255, 246, 255, 255, 255, 211, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 96, 255, 255, 255, 42, 255, 255, 255, 201, 255, 255, 255, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 231, 255, 255, 255, 49, 255, 255, 255, 52, 255, 255, 255, 234, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 35, 255, 255, 255, 252, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 147, 255, 255, 255, 17, 255, 255, 255, 134, 255, 255, 255, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 73, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 219, 255, 255, 255, 255, 255, 255, 255, 251, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 180, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 176, 255, 255, 255, 33, 255, 255, 255, 37, 255, 255, 255, 185, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 64, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 234, 255, 255, 255, 97, 255, 255, 255, 127, 255, 255, 255, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 244, 255, 255, 255, 96, 255, 255, 255, 28, 255, 255, 255, 39, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 193, 255, 255, 255, 244, 255, 255, 255, 239, 255, 255, 255, 181, 255, 255, 255, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 247, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 176, 255, 255, 255, 239, 255, 255, 255, 236, 255, 255, 255, 164, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 244, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 76, 255, 255, 255, 196, 255, 255, 255, 255, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 109, 255, 255, 255, 40, 255, 255, 255, 35, 255, 255, 255, 175, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 208, 255, 255, 255, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 29, 255, 255, 255, 156, 255, 255, 255, 224, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 107, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 231, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 242, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 156, 255, 255, 255, 45, 255, 255, 255, 241, 255, 255, 255, 48, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 90, 255, 255, 255, 25, 255, 255, 255, 17, 255, 255, 255, 122, 255, 255, 255, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 59, 255, 255, 255, 211, 255, 255, 255, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 232, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 225, 255, 255, 255, 84, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 242, 255, 255, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 232, 255, 255, 255, 107, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 194, 255, 255, 255, 243, 255, 255, 255, 244, 255, 255, 255, 194, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 149, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 208, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 176, 255, 255, 255, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 226, 255, 255, 255, 227, 255, 255, 255, 246, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 242, 255, 255, 255, 92, 255, 255, 255, 27, 255, 255, 255, 37, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 29, 255, 255, 255, 80, 255, 255, 255, 225, 255, 255, 255, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 247, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 236, 255, 255, 255, 50, 255, 255, 255, 59, 255, 255, 255, 238, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 62, 255, 255, 255, 252, 255, 255, 255, 241, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 219, 255, 255, 255, 255, 255, 255, 255, 251, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 180, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 238, 255, 255, 255, 239, 255, 255, 255, 138, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 111, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 76, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 242, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 125, 255, 255, 255, 59, 255, 255, 255, 23, 255, 255, 255, 242, 255, 255, 255, 143, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 221, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 48, 255, 255, 255, 24, 255, 255, 255, 66, 255, 255, 255, 220, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 227, 255, 255, 255, 250, 255, 255, 255, 254, 255, 255, 255, 196, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 205, 255, 255, 255, 247, 255, 255, 255, 228, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 190, 255, 255, 255, 243, 255, 255, 255, 218, 255, 255, 255, 101, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 234, 255, 255, 255, 249, 255, 255, 255, 221, 255, 255, 255, 133, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 123, 255, 255, 255, 16, 255, 255, 255, 51, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 234, 255, 255, 255, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 246, 255, 255, 255, 189, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 81, 255, 255, 255, 217, 255, 255, 255, 246, 255, 255, 255, 165, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 24, 255, 255, 255, 137, 255, 255, 255, 248, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 207, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 219, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 161, 255, 255, 255, 246, 255, 255, 255, 215, 255, 255, 255, 78, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 93, 255, 255, 255, 25, 255, 255, 255, 18, 255, 255, 255, 142, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 223, 255, 255, 255, 42, 255, 255, 255, 44, 255, 255, 255, 214, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 161, 255, 255, 255, 246, 255, 255, 255, 217, 255, 255, 255, 113, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 193, 255, 255, 255, 243, 255, 255, 255, 244, 255, 255, 255, 193, 255, 255, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 116, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 106, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 223, 255, 255, 255, 42, 255, 255, 255, 44, 255, 255, 255, 215, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 170, 255, 255, 255, 214, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 116, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 106, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 152, 255, 255, 255, 212, 255, 255, 255, 91, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 242, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 211, 255, 255, 255, 40, 255, 255, 255, 41, 255, 255, 255, 222, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 180, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 101, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 118, 255, 255, 255, 220, 255, 255, 255, 247, 255, 255, 255, 156, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 242, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 171, 255, 255, 255, 216, 255, 255, 255, 92, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 218, 255, 255, 255, 40, 255, 255, 255, 37, 255, 255, 255, 205, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 242, 255, 255, 255, 207, 255, 255, 255, 88, 255, 255, 255, 18, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 101, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 181, 255, 255, 255, 216, 255, 255, 255, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 165, 255, 255, 255, 247, 255, 255, 255, 220, 255, 255, 255, 116, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 19, 255, 255, 255, 88, 255, 255, 255, 211, 255, 255, 255, 244, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 218, 255, 255, 255, 40, 255, 255, 255, 37, 255, 255, 255, 206, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 214, 255, 255, 255, 169, 255, 255, 255, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 165, 255, 255, 255, 247, 255, 255, 255, 220, 255, 255, 255, 82, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 91, 255, 255, 255, 211, 255, 255, 255, 152, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 110, 255, 255, 255, 209, 255, 255, 255, 246, 255, 255, 255, 201, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 177, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 218, 255, 255, 255, 52, 255, 255, 255, 22, 255, 255, 255, 176, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 92, 255, 255, 255, 215, 255, 255, 255, 171, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 92, 255, 255, 255, 216, 255, 255, 255, 180, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 104, 255, 255, 255, 85, 255, 255, 255, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 253, 255, 255, 255, 240, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 36, 255, 255, 255, 194, 255, 255, 255, 245, 255, 255, 255, 219, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 231, 255, 255, 255, 146, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 73, 255, 255, 255, 181, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 189, 255, 255, 255, 176, 255, 255, 255, 28, 255, 255, 255, 61, 255, 255, 255, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 56, 255, 255, 255, 213, 255, 255, 255, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 227, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 114, 255, 255, 255, 217, 255, 255, 255, 246, 255, 255, 255, 165, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 161, 255, 255, 255, 238, 255, 255, 255, 220, 255, 255, 255, 191, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 207, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 219, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 210, 255, 255, 255, 39, 255, 255, 255, 42, 255, 255, 255, 214, 255, 255, 255, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 16, 255, 255, 255, 63, 255, 255, 255, 219, 255, 255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 224, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 96, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 252, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 223, 255, 255, 255, 132, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 76, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 218, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 109, 255, 255, 255, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 255, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 217, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 210, 255, 255, 255, 40, 255, 255, 255, 41, 255, 255, 255, 222, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 210, 255, 255, 255, 39, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 142, 255, 255, 255, 231, 255, 255, 255, 239, 255, 255, 255, 137, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 251, 255, 255, 255, 75, 255, 255, 255, 220, 255, 255, 255, 247, 255, 255, 255, 156, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 133, 255, 255, 255, 224, 255, 255, 255, 244, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 233, 255, 255, 255, 71, 255, 255, 255, 35, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 201, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 234, 255, 255, 255, 131, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 157, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 156, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 52, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 180, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 51, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 52, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 183, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 95, 255, 255, 255, 251, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 157, 255, 255, 255, 62, 0, 0, 0, 0, 255, 255, 255, 156, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 230, 255, 255, 255, 67, 255, 255, 255, 36, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 43, 255, 255, 255, 248, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 237, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 133, 255, 255, 255, 224, 255, 255, 255, 244, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 139, 255, 255, 255, 228, 255, 255, 255, 246, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 117, 255, 255, 255, 238, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 233, 255, 255, 255, 71, 255, 255, 255, 35, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 216, 255, 255, 255, 225, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 255, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 61, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 9, 255, 255, 255, 16, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 111, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 43, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 225, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 255, 255, 255, 172, 255, 255, 255, 36, 255, 255, 255, 65, 255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 25, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 191, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 228, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 190, 255, 255, 255, 245, 255, 255, 255, 221, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 143, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 169, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 51, 255, 255, 255, 192, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 230, 255, 255, 255, 67, 255, 255, 255, 36, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 219, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 139, 255, 255, 255, 228, 255, 255, 255, 246, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 254, 255, 255, 255, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 202, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 194, 255, 255, 255, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 142, 255, 255, 255, 14, 255, 255, 255, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 200, 255, 255, 255, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 0, 0, 0, 0, 255, 255, 255, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 216, 255, 255, 255, 251, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 133, 255, 255, 255, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 193, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 251, 255, 255, 255, 95, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 218, 255, 255, 255, 249, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 226, 255, 255, 255, 127, 255, 255, 255, 15, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 217, 255, 255, 255, 245, 255, 255, 255, 195, 255, 255, 255, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 18, 255, 255, 255, 238, 255, 255, 255, 117, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 254, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 109, 255, 255, 255, 68, 255, 255, 255, 36, 255, 255, 255, 158, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 255, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 198, 255, 255, 255, 207, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 198, 255, 255, 255, 197, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 255, 255, 255, 255, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 17, 255, 255, 255, 19, 255, 255, 255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 45, 255, 255, 255, 242, 255, 255, 255, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 16, 255, 255, 255, 127, 255, 255, 255, 229, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 18, 255, 255, 255, 146, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 201, 255, 255, 255, 193, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 200, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 244, 255, 255, 255, 194, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 191, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 233, 255, 255, 255, 8, 255, 255, 255, 16, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 18, 255, 255, 255, 20, 255, 255, 255, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 202, 255, 255, 255, 179, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 198, 255, 255, 255, 198, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 218, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 219, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 252, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 220, 255, 255, 255, 249, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 239, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 166, 255, 255, 255, 35, 255, 255, 255, 251, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 223, 255, 255, 255, 219, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 202, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 3, 255, 255, 255, 44, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 235, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 226, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 46, 255, 255, 255, 208, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 29, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 207, 255, 255, 255, 83, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 219, 255, 255, 255, 211, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 225, 255, 255, 255, 223, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 226, 255, 255, 255, 61, 255, 255, 255, 40, 255, 255, 255, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 57, 255, 255, 255, 36, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 109, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 225, 255, 255, 255, 223, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 242, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 219, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 205, 255, 255, 255, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 64, 255, 255, 255, 253, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 236, 255, 255, 255, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 239, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 70, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 161, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 150, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 251, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 91, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 205, 255, 255, 255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 205, 255, 255, 255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 242, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 251, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 70, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 218, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 219, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "RGBA8", +"height": 256, +"mipmaps": false, +"width": 128 +} + +[sub_resource type="ImageTexture" id=3] +image = SubResource( 10 ) +size = Vector2( 128, 256 ) + +[sub_resource type="BitmapFont" id=4] +textures = [ SubResource( 3 ) ] +chars = PoolIntArray( 32, 0, 0, 0, 0, 0, 0, 11, 4, 160, 0, 1734439808, 0, 0, 0, 0, 11, 4, 96, 0, 2, 216, 3, 2, 3, 0, 8, 192, 0, 32, 16, 11, 13, -1, -2, 9, 224, 0, 85, 180, 5, 11, 1, 0, 7, 64, 0, 72, 34, 10, 11, 1, 1, 12, 97, 0, 76, 188, 5, 8, 1, 3, 7, 65, 0, 2, 16, 11, 10, -1, 1, 9, 161, 0, 2, 222, 2, 11, 1, 3, 4, 193, 0, 17, 16, 11, 13, -1, -2, 9, 225, 0, 112, 169, 5, 11, 1, 0, 7, 33, 0, 65, 234, 2, 10, 1, 1, 4, 34, 0, 49, 187, 5, 4, 1, 1, 6, 162, 0, 12, 136, 6, 10, 1, 1, 8, 66, 0, 46, 109, 7, 10, 1, 1, 9, 194, 0, 113, 2, 11, 13, -1, -2, 9, 226, 0, 72, 143, 6, 11, 1, 0, 7, 98, 0, 102, 165, 6, 11, 1, 0, 8, 99, 0, 40, 179, 5, 8, 1, 3, 7, 67, 0, 68, 115, 7, 10, 1, 1, 8, 227, 0, 2, 155, 6, 12, 1, -1, 7, 195, 0, 53, 2, 11, 14, -1, -3, 9, 163, 0, 22, 167, 6, 10, 1, 1, 8, 35, 0, 78, 66, 8, 10, 0, 1, 9, 164, 0, 14, 79, 8, 7, 0, 3, 8, 68, 0, 90, 66, 8, 10, 1, 1, 10, 100, 0, 82, 150, 6, 11, 1, 0, 8, 36, 0, 102, 137, 6, 12, 1, 0, 8, 196, 0, 98, 2, 11, 13, -1, -2, 9, 228, 0, 121, 169, 5, 11, 1, 0, 7, 101, 0, 32, 124, 6, 8, 1, 3, 8, 197, 0, 83, 2, 11, 12, -1, -1, 9, 229, 0, 20, 196, 5, 12, 1, -1, 7, 165, 0, 79, 98, 7, 10, 0, 1, 8, 69, 0, 29, 191, 5, 10, 1, 1, 7, 37, 0, 2, 30, 10, 10, 1, 1, 12, 230, 0, 58, 34, 10, 8, 1, 3, 12, 102, 0, 2, 201, 5, 11, 0, 0, 4, 166, 0, 95, 228, 2, 14, 3, 0, 7, 198, 0, 21, 2, 12, 10, -1, 1, 12, 70, 0, 101, 105, 6, 10, 1, 1, 7, 38, 0, 67, 49, 9, 10, 1, 1, 10, 39, 0, 119, 219, 2, 4, 1, 1, 3, 167, 0, 112, 131, 6, 11, 0, 0, 7, 103, 0, 13, 107, 7, 11, 1, 3, 7, 199, 0, 57, 97, 7, 13, 1, 1, 8, 231, 0, 2, 186, 5, 11, 1, 3, 7, 71, 0, 66, 65, 8, 10, 1, 1, 10, 168, 0, 77, 217, 4, 2, 2, 0, 8, 104, 0, 72, 158, 6, 11, 1, 0, 8, 40, 0, 93, 212, 4, 12, 1, 1, 4, 200, 0, 47, 195, 5, 13, 1, -2, 7, 232, 0, 62, 143, 6, 11, 1, 0, 8, 72, 0, 54, 65, 8, 10, 1, 1, 10, 105, 0, 109, 213, 3, 11, 0, 0, 4, 41, 0, 51, 226, 3, 12, 0, 1, 4, 201, 0, 56, 197, 5, 13, 1, -2, 7, 233, 0, 52, 142, 6, 11, 1, 0, 8, 169, 0, 44, 34, 10, 10, 1, 1, 12, 73, 0, 38, 191, 5, 10, 0, 1, 5, 170, 0, 29, 205, 4, 5, 0, 1, 5, 42, 0, 108, 80, 7, 6, 0, 0, 8, 202, 0, 65, 202, 5, 13, 1, -2, 7, 74, 0, 92, 195, 5, 13, -2, 1, 3, 106, 0, 101, 213, 4, 14, -1, 0, 4, 234, 0, 12, 181, 6, 11, 1, 0, 8, 171, 0, 22, 181, 5, 6, 1, 4, 7, 43, 0, 101, 94, 7, 7, 0, 3, 8, 107, 0, 112, 92, 7, 11, 1, 0, 7, 203, 0, 83, 200, 5, 13, 1, -2, 7, 235, 0, 2, 171, 6, 11, 1, 0, 8, 75, 0, 102, 66, 8, 10, 1, 1, 8, 44, 0, 107, 231, 2, 3, 1, 9, 4, 172, 0, 2, 104, 7, 4, 0, 6, 8, 108, 0, 113, 228, 2, 11, 1, 0, 4, 204, 0, 101, 196, 5, 13, 0, -2, 5, 236, 0, 30, 214, 3, 11, 0, 0, 4, 76, 0, 22, 124, 6, 10, 1, 1, 7, 173, 0, 16, 229, 3, 2, 1, 7, 5, 45, 0, 123, 201, 3, 2, 1, 7, 5, 109, 0, 68, 2, 11, 8, 1, 3, 13, 205, 0, 11, 211, 5, 13, 0, -2, 5, 237, 0, 37, 214, 3, 11, 1, 0, 4, 77, 0, 62, 20, 10, 10, 1, 1, 12, 46, 0, 101, 231, 2, 2, 1, 9, 4, 110, 0, 111, 107, 6, 8, 1, 3, 8, 206, 0, 20, 212, 5, 13, 0, -2, 5, 238, 0, 11, 196, 5, 11, -1, 0, 4, 174, 0, 30, 33, 10, 10, 1, 1, 12, 78, 0, 2, 79, 8, 10, 1, 1, 10, 175, 0, 35, 111, 7, 1, 0, -1, 7, 111, 0, 102, 153, 6, 8, 1, 3, 8, 207, 0, 119, 184, 5, 13, 0, -2, 5, 239, 0, 69, 219, 4, 11, 0, 0, 4, 79, 0, 41, 66, 9, 10, 1, 1, 11, 47, 0, 90, 105, 7, 10, -1, 1, 5, 176, 0, 61, 219, 4, 4, 1, 1, 6, 112, 0, 32, 150, 6, 11, 1, 3, 8, 240, 0, 82, 165, 6, 11, 1, 0, 8, 208, 0, 86, 33, 9, 10, 0, 1, 10, 80, 0, 52, 128, 6, 10, 1, 1, 8, 48, 0, 42, 135, 6, 10, 1, 1, 8, 177, 0, 46, 97, 7, 8, 0, 3, 8, 113, 0, 22, 152, 6, 11, 1, 3, 8, 241, 0, 2, 112, 6, 12, 1, -1, 8, 81, 0, 15, 59, 9, 13, 1, 1, 11, 209, 0, 74, 80, 8, 14, 1, -3, 10, 49, 0, 45, 212, 4, 10, 2, 1, 8, 178, 0, 58, 187, 5, 6, 0, 1, 5, 114, 0, 85, 217, 4, 8, 1, 3, 5, 210, 0, 2, 62, 9, 13, 1, -2, 11, 242, 0, 62, 165, 6, 11, 1, 0, 8, 82, 0, 35, 97, 7, 10, 1, 1, 8, 50, 0, 57, 114, 7, 10, 1, 1, 8, 179, 0, 53, 214, 4, 6, 0, 1, 5, 115, 0, 112, 146, 6, 8, 0, 3, 7, 211, 0, 106, 49, 9, 13, 1, -2, 11, 243, 0, 52, 172, 6, 11, 1, 0, 8, 83, 0, 24, 96, 7, 10, 0, 1, 7, 51, 0, 22, 138, 6, 10, 1, 1, 8, 180, 0, 9, 228, 3, 2, 3, 0, 8, 116, 0, 67, 188, 5, 10, 0, 1, 5, 212, 0, 93, 49, 9, 13, 1, -2, 11, 244, 0, 42, 164, 6, 11, 1, 0, 8, 84, 0, 13, 93, 7, 10, 0, 1, 7, 52, 0, 24, 110, 7, 10, 1, 1, 8, 245, 0, 12, 165, 6, 12, 1, -1, 8, 181, 0, 2, 140, 6, 11, 1, 3, 8, 117, 0, 42, 123, 6, 8, 1, 3, 8, 53, 0, 92, 119, 6, 10, 1, 1, 8, 85, 0, 114, 66, 8, 10, 1, 1, 10, 213, 0, 2, 44, 9, 14, 1, -3, 11, 118, 0, 15, 47, 9, 8, -1, 3, 7, 182, 0, 68, 98, 7, 13, 1, 0, 9, 214, 0, 80, 49, 9, 13, 1, -2, 11, 246, 0, 72, 173, 6, 11, 1, 0, 8, 86, 0, 76, 18, 10, 10, -1, 1, 8, 54, 0, 82, 121, 6, 10, 1, 1, 8, 183, 0, 77, 223, 2, 2, 1, 5, 4, 215, 0, 2, 93, 7, 7, 0, 3, 8, 247, 0, 90, 94, 7, 7, 0, 3, 8, 119, 0, 37, 2, 12, 8, -1, 3, 10, 87, 0, 2, 2, 15, 10, -1, 1, 13, 55, 0, 72, 129, 6, 10, 1, 1, 8, 184, 0, 116, 212, 3, 3, 0, 11, 3, 120, 0, 119, 80, 7, 8, 0, 3, 7, 248, 0, 2, 128, 6, 8, 1, 3, 8, 216, 0, 99, 33, 9, 12, 1, 0, 11, 88, 0, 90, 19, 10, 10, -1, 1, 8, 56, 0, 62, 129, 6, 10, 1, 1, 8, 185, 0, 23, 229, 3, 6, 0, 1, 5, 57, 0, 12, 122, 6, 10, 1, 1, 8, 121, 0, 112, 33, 9, 11, -1, 3, 7, 249, 0, 52, 157, 6, 11, 1, 0, 8, 217, 0, 38, 80, 8, 13, 1, -2, 10, 89, 0, 28, 65, 9, 10, -1, 1, 7, 186, 0, 37, 205, 4, 5, 0, 1, 5, 58, 0, 89, 229, 2, 8, 1, 3, 4, 122, 0, 112, 119, 6, 8, 1, 3, 7, 90, 0, 32, 136, 6, 10, 1, 1, 8, 250, 0, 42, 149, 6, 11, 1, 0, 8, 218, 0, 26, 79, 8, 13, 1, -2, 10, 187, 0, 31, 181, 5, 6, 1, 4, 7, 59, 0, 71, 234, 2, 9, 1, 3, 4, 251, 0, 12, 150, 6, 11, 1, 0, 8, 123, 0, 103, 180, 5, 12, 0, 1, 5, 91, 0, 58, 227, 3, 12, 1, 1, 4, 219, 0, 50, 80, 8, 13, 1, -2, 10, 60, 0, 92, 153, 6, 7, 1, 3, 8, 92, 0, 97, 80, 7, 10, -1, 1, 5, 252, 0, 92, 133, 6, 11, 1, 0, 8, 220, 0, 62, 79, 8, 13, 1, -2, 10, 124, 0, 83, 229, 2, 14, 3, 0, 7, 188, 0, 16, 33, 10, 10, 0, 1, 10, 61, 0, 79, 112, 7, 5, 0, 4, 8, 125, 0, 110, 196, 5, 12, 0, 1, 5, 93, 0, 44, 226, 3, 12, 0, 1, 4, 221, 0, 54, 48, 9, 13, -1, -2, 7, 253, 0, 28, 47, 9, 14, -1, 0, 7, 189, 0, 47, 20, 11, 10, 0, 1, 10, 126, 0, 62, 158, 6, 3, 1, 5, 8, 94, 0, 86, 80, 7, 6, 0, 1, 7, 62, 0, 112, 158, 6, 7, 1, 3, 8, 254, 0, 102, 119, 6, 14, 1, 0, 8, 222, 0, 32, 165, 6, 10, 1, 1, 8, 190, 0, 104, 19, 10, 10, 0, 1, 10, 95, 0, 92, 148, 6, 1, 0, 12, 6, 63, 0, 74, 202, 5, 10, 0, 1, 6, 191, 0, 94, 180, 5, 11, 0, 3, 6, 255, 0, 41, 48, 9, 14, -1, 0, 7, 223, 0, 82, 135, 6, 11, 1, 0, 8 ) +height = 14.0 +ascent = 11.0 + +[sub_resource type="Image" id=11] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=6] +flags = 4 +flags = 4 +image = SubResource( 11 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxTexture" id=7] +texture = SubResource( 6 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 2.0 +margin_right = 2.0 +margin_top = 2.0 +margin_bottom = 2.0 + +[sub_resource type="Image" id=12] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=9] +flags = 4 +flags = 4 +image = SubResource( 12 ) +size = Vector2( 16, 16 ) + +[node name="CharacterEditor" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -25.0 +theme = ExtResource( 5 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Split" type="HSplitContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="EditorScroll" type="ScrollContainer" parent="Split"] +margin_right = 581.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_styles/bg = SubResource( 1 ) +scroll_horizontal_enabled = false + +[node name="Editor" type="VBoxContainer" parent="Split/EditorScroll"] +margin_right = 581.0 +margin_bottom = 600.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 11 + +[node name="NameAndColor" type="HBoxContainer" parent="Split/EditorScroll/Editor"] +margin_right = 581.0 +margin_bottom = 24.0 + +[node name="TLabel" parent="Split/EditorScroll/Editor/NameAndColor" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 130.0 +margin_bottom = 19.0 +rect_min_size = Vector2( 130, 0 ) +text = "Name: " +text_key = "Name: " + +[node name="ColorPickerButton" type="ColorPickerButton" parent="Split/EditorScroll/Editor/NameAndColor"] +margin_left = 134.0 +margin_right = 164.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 30, 0 ) +color = Color( 1, 1, 1, 1 ) +edit_alpha = false + +[node name="NameLineEdit" type="LineEdit" parent="Split/EditorScroll/Editor/NameAndColor"] +margin_left = 168.0 +margin_right = 308.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 140, 0 ) +expand_to_text_length = true +caret_blink = true +caret_blink_speed = 0.5 + +[node name="Spacer" type="Control" parent="Split/EditorScroll/Editor/NameAndColor"] +margin_left = 312.0 +margin_right = 322.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 10, 0 ) + +[node name="DisplayName" type="HBoxContainer" parent="Split/EditorScroll/Editor"] +margin_top = 28.0 +margin_right = 581.0 +margin_bottom = 52.0 +__meta__ = { +"_editor_description_": "Display name is the name that will +show up on the dialogs in game." +} + +[node name="TLabel2" parent="Split/EditorScroll/Editor/DisplayName" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 130.0 +margin_bottom = 19.0 +rect_min_size = Vector2( 130, 0 ) +text = "Display Name: " +text_key = "Display Name: " + +[node name="CheckBox" type="CheckBox" parent="Split/EditorScroll/Editor/DisplayName"] +margin_left = 134.0 +margin_right = 164.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 30, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="LineEdit" type="LineEdit" parent="Split/EditorScroll/Editor/DisplayName"] +visible = false +margin_left = 168.0 +margin_right = 308.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 140, 0 ) +expand_to_text_length = true +caret_blink = true +caret_blink_speed = 0.5 + +[node name="DisplayNickname" type="HBoxContainer" parent="Split/EditorScroll/Editor"] +margin_top = 56.0 +margin_right = 581.0 +margin_bottom = 80.0 +__meta__ = { +"_editor_description_": "Display name is the name that will +show up on the dialogs in game." +} + +[node name="TLabel3" parent="Split/EditorScroll/Editor/DisplayNickname" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 130.0 +margin_bottom = 19.0 +rect_min_size = Vector2( 130, 0 ) +text = "Nicknames: " +text_key = "Nicknames: " + +[node name="CheckBox" type="CheckBox" parent="Split/EditorScroll/Editor/DisplayNickname"] +margin_left = 134.0 +margin_right = 164.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 30, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="LineEdit" type="LineEdit" parent="Split/EditorScroll/Editor/DisplayNickname"] +visible = false +margin_left = 162.0 +margin_right = 527.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 140, 0 ) +size_flags_horizontal = 3 +caret_blink = true +caret_blink_speed = 0.5 + +[node name="Description" type="HBoxContainer" parent="Split/EditorScroll/Editor"] +margin_top = 84.0 +margin_right = 581.0 +margin_bottom = 134.0 + +[node name="TLabel5" parent="Split/EditorScroll/Editor/Description" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 130.0 +margin_bottom = 14.0 +rect_min_size = Vector2( 130, 0 ) +size_flags_vertical = 0 +text = "Description: " +text_key = "Description: " + +[node name="TextEdit" type="TextEdit" parent="Split/EditorScroll/Editor/Description"] +margin_left = 134.0 +margin_right = 581.0 +margin_bottom = 50.0 +rect_min_size = Vector2( 100, 50 ) +size_flags_horizontal = 3 +wrap_enabled = true + +[node name="Theme" type="HBoxContainer" parent="Split/EditorScroll/Editor"] +margin_top = 138.0 +margin_right = 581.0 +margin_bottom = 162.0 + +[node name="TLabel5" parent="Split/EditorScroll/Editor/Theme" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 130.0 +margin_bottom = 14.0 +rect_min_size = Vector2( 130, 0 ) +size_flags_vertical = 0 +text = "Theme: " +text_key = "Theme: " + +[node name="ThemeButton" parent="Split/EditorScroll/Editor/Theme" instance=ExtResource( 6 )] +margin_left = 134.0 +margin_right = 248.0 +custom_colors/font_color = Color( 0.8, 0.807843, 0.827451, 1 ) + +[node name="Separator" type="HSeparator" parent="Split/EditorScroll/Editor"] +margin_top = 166.0 +margin_right = 581.0 +margin_bottom = 184.0 +rect_min_size = Vector2( 0, 10 ) +custom_constants/separation = 18 + +[node name="Portraits" type="HBoxContainer" parent="Split/EditorScroll/Editor"] +margin_top = 188.0 +margin_right = 581.0 +margin_bottom = 212.0 + +[node name="Title" parent="Split/EditorScroll/Editor/Portraits" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 457.0 +margin_bottom = 19.0 +size_flags_horizontal = 3 +custom_fonts/font = SubResource( 4 ) +text = "Portraits" +valign = 1 +text_key = "Portraits" + +[node name="Search" type="LineEdit" parent="Split/EditorScroll/Editor/Portraits"] +margin_left = 461.0 +margin_right = 581.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 120, 0 ) +size_flags_vertical = 4 +expand_to_text_length = true +clear_button_enabled = true +placeholder_text = "Search" + +[node name="HBoxContainer" type="HBoxContainer" parent="Split/EditorScroll/Editor"] +margin_top = 216.0 +margin_right = 581.0 +margin_bottom = 240.0 + +[node name="TLabel11" parent="Split/EditorScroll/Editor/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 33.0 +margin_bottom = 19.0 +text = "Scale" +text_key = "Scale" + +[node name="Scale" type="SpinBox" parent="Split/EditorScroll/Editor/HBoxContainer"] +margin_left = 37.0 +margin_right = 113.0 +margin_bottom = 24.0 +value = 100.0 +allow_greater = true +align = 2 +suffix = "%" + +[node name="TLabel12" parent="Split/EditorScroll/Editor/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 117.0 +margin_top = 5.0 +margin_right = 156.0 +margin_bottom = 19.0 +text = "Offset" +text_key = "Offset" + +[node name="OffsetX" type="SpinBox" parent="Split/EditorScroll/Editor/HBoxContainer"] +margin_left = 160.0 +margin_right = 236.0 +margin_bottom = 24.0 +allow_greater = true +allow_lesser = true +suffix = "X" + +[node name="OffsetY" type="SpinBox" parent="Split/EditorScroll/Editor/HBoxContainer"] +margin_left = 240.0 +margin_right = 316.0 +margin_bottom = 24.0 +allow_greater = true +allow_lesser = true +suffix = "Y" + +[node name="MirrorOption" type="HBoxContainer" parent="Split/EditorScroll/Editor/HBoxContainer"] +margin_left = 320.0 +margin_right = 445.0 +margin_bottom = 24.0 + +[node name="TLabel11" parent="Split/EditorScroll/Editor/HBoxContainer/MirrorOption" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 97.0 +margin_bottom = 19.0 +text = "Mirror portraits" +text_key = "Mirror portraits" + +[node name="MirrorPortraitsCheckBox" type="CheckBox" parent="Split/EditorScroll/Editor/HBoxContainer/MirrorOption"] +margin_left = 101.0 +margin_right = 125.0 +margin_bottom = 24.0 + +[node name="PortraitPanel" type="PanelContainer" parent="Split/EditorScroll/Editor"] +margin_top = 244.0 +margin_right = 581.0 +margin_bottom = 600.0 +size_flags_vertical = 3 +custom_styles/panel = SubResource( 7 ) + +[node name="VBoxContainer" type="VBoxContainer" parent="Split/EditorScroll/Editor/PortraitPanel"] +margin_left = 2.0 +margin_top = 2.0 +margin_right = 579.0 +margin_bottom = 354.0 + +[node name="Labels" type="HBoxContainer" parent="Split/EditorScroll/Editor/PortraitPanel/VBoxContainer"] +margin_right = 577.0 +margin_bottom = 22.0 + +[node name="TLabel7" parent="Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/Labels" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 4.0 +margin_right = 160.0 +margin_bottom = 18.0 +rect_min_size = Vector2( 160, 0 ) +text = "Name" +text_key = "Name" + +[node name="TLabel8" parent="Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/Labels" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 164.0 +margin_top = 4.0 +margin_right = 329.0 +margin_bottom = 18.0 +size_flags_horizontal = 3 +text = "Path" +text_key = "Path" + +[node name="HBoxContainer" type="HBoxContainer" parent="Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/Labels"] +margin_left = 333.0 +margin_right = 577.0 +margin_bottom = 22.0 + +[node name="NewPortrait" type="Button" parent="Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/Labels/HBoxContainer"] +margin_right = 117.0 +margin_bottom = 22.0 +text = " New portrait" +icon = SubResource( 9 ) + +[node name="ImportFromFolder" type="Button" parent="Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/Labels/HBoxContainer"] +margin_left = 121.0 +margin_right = 244.0 +margin_bottom = 22.0 +text = " Import folder" +icon = SubResource( 9 ) + +[node name="ScrollContainer" type="ScrollContainer" parent="Split/EditorScroll/Editor/PortraitPanel/VBoxContainer"] +margin_top = 26.0 +margin_right = 577.0 +margin_bottom = 352.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/ScrollContainer"] +margin_right = 577.0 +margin_bottom = 326.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="PortraitList" type="VBoxContainer" parent="Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/ScrollContainer/VBoxContainer"] +margin_right = 577.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="PortraitEntry" parent="Split/EditorScroll/Editor/PortraitPanel/VBoxContainer/ScrollContainer/VBoxContainer/PortraitList" instance=ExtResource( 1 )] +margin_right = 577.0 + +[node name="FileName" type="HBoxContainer" parent="Split/EditorScroll/Editor"] +visible = false +margin_top = 625.0 +margin_right = 527.0 +margin_bottom = 649.0 + +[node name="TLabel9" parent="Split/EditorScroll/Editor/FileName" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 27.0 +margin_bottom = 19.0 +text = "File:" +text_key = "File:" + +[node name="LineEdit" type="LineEdit" parent="Split/EditorScroll/Editor/FileName"] +margin_left = 31.0 +margin_right = 527.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 140, 0 ) +size_flags_horizontal = 3 +editable = false +caret_blink = true +caret_blink_speed = 0.5 + +[node name="Preview" type="VBoxContainer" parent="Split"] +margin_left = 593.0 +margin_right = 999.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.7 + +[node name="Background" type="Panel" parent="Split/Preview"] +margin_right = 406.0 +margin_bottom = 600.0 +rect_clip_content = true +size_flags_vertical = 3 + +[node name="FullTextureRect" type="TextureRect" parent="Split/Preview/Background"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 30.0 +margin_top = 30.0 +margin_right = -30.0 +margin_bottom = -30.0 +rect_min_size = Vector2( 100, 100 ) +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +expand = true +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Positioner" type="Control" parent="Split/Preview/Background"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 11.0 +margin_top = 50.0 +margin_right = -10.0 +margin_bottom = -15.0 +rect_clip_content = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RealSizedRect" type="TextureRect" parent="Split/Preview/Background/Positioner"] +visible = false +margin_left = 3.0 +margin_right = 402.0 +margin_bottom = 756.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +texture = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel10" parent="Split/Preview/Background" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 50.0 +margin_bottom = 14.0 +text = "Preview" +text_key = "Preview" + +[node name="PreviewMode" type="OptionButton" parent="Split/Preview/Background"] +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -110.0 +margin_top = 6.0 +margin_right = -8.0 +margin_bottom = 26.0 +grow_horizontal = 0 +text = "Full View" +items = [ "Full View", null, false, 0, null, "Actual Size", null, false, 1, null ] +selected = 0 +__meta__ = { +"_edit_use_anchors_": false +} + +[connection signal="value_changed" from="Split/EditorScroll/Editor/HBoxContainer/Scale" to="." method="_on_Scale_value_changed"] +[connection signal="toggled" from="Split/EditorScroll/Editor/HBoxContainer/MirrorOption/MirrorPortraitsCheckBox" to="." method="_on_MirrorPortraitsCheckBox_toggled"] +[connection signal="item_selected" from="Split/Preview/Background/PreviewMode" to="." method="_on_PreviewMode_item_selected"] +[connection signal="item_selected" from="Split/Preview/Background/PreviewMode" to="." method="_on_OptionButton_item_selected"] diff --git a/addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd b/addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd new file mode 100644 index 0000000..0393fd7 --- /dev/null +++ b/addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd @@ -0,0 +1,55 @@ +tool +extends HBoxContainer + +var editor_reference +var image_node +var image_node2 +var image_label + +func _ready(): + $ButtonDelete.icon = get_icon("Remove", "EditorIcons") + + +func _on_ButtonDelete_pressed(): + if $NameEdit.text == 'Default': + $PathEdit.text = '' + update_preview('') + else: + queue_free() + + +func _on_ButtonSelect_pressed(): + editor_reference.godot_dialog("*.png, *.svg, *.tscn") + editor_reference.godot_dialog_connect(self, "_on_file_selected") + + +func _on_file_selected(path, target): + update_preview(path) + $PathEdit.text = path + if $NameEdit.text == '': + $NameEdit.text = DialogicResources.get_filename_from_path(path) + + +func _on_focus_entered(): + if $PathEdit.text == '': + image_label.text = editor_reference.dialogicTranslator.translate('NoImagePreview') + image_node.texture = null + image_node2.texture = null + else: + update_preview($PathEdit.text) + + +func update_preview(path): + image_label.text = editor_reference.dialogicTranslator.translate('Preview of')+' "'+$NameEdit.text+'"' + var l_path = path.to_lower() + if '.png' in l_path or '.svg' in l_path: + image_node.texture = load(path) + image_node2.texture = load(path) + image_label.text += ' (' + str(image_node.texture.get_width()) + 'x' + str(image_node.texture.get_height())+')' + elif '.tscn' in l_path: + image_node.texture = null + image_node2.texture = null + image_label.text = editor_reference.dialogicTranslator.translate('CustomScenePreview') + else: + image_node.texture = null + image_node2.texture = null diff --git a/addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn b/addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn new file mode 100644 index 0000000..461fcb3 --- /dev/null +++ b/addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn @@ -0,0 +1,61 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd" type="Script" id=2] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[node name="PortraitEntry" type="HBoxContainer"] +margin_right = 451.0 +margin_bottom = 24.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NameEdit" type="LineEdit" parent="."] +margin_right = 160.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 160, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PathEdit" type="LineEdit" parent="."] +margin_left = 164.0 +margin_right = 391.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 150, 0 ) +size_flags_horizontal = 3 +editable = false +selecting_enabled = false + +[node name="ButtonSelect" type="Button" parent="."] +margin_left = 395.0 +margin_right = 419.0 +margin_bottom = 24.0 +text = "..." + +[node name="ButtonDelete" type="Button" parent="."] +margin_left = 423.0 +margin_right = 451.0 +margin_bottom = 24.0 +icon = SubResource( 3 ) +flat = true + +[connection signal="focus_entered" from="NameEdit" to="." method="_on_focus_entered"] +[connection signal="focus_entered" from="PathEdit" to="." method="_on_focus_entered"] +[connection signal="pressed" from="ButtonSelect" to="." method="_on_ButtonSelect_pressed"] +[connection signal="pressed" from="ButtonDelete" to="." method="_on_ButtonDelete_pressed"] diff --git a/addons/dialogic/Editor/Common/SectionTitle.gd b/addons/dialogic/Editor/Common/SectionTitle.gd new file mode 100644 index 0000000..b5b840c --- /dev/null +++ b/addons/dialogic/Editor/Common/SectionTitle.gd @@ -0,0 +1,12 @@ +tool +extends Label +export var text_key : String = "" +var editor_reference + +func set_text_from_key(value): + text = editor_reference.dialogicTranslator.translate(value) + +func _ready(): + editor_reference = find_parent('EditorView') + if text_key != '': + set_text_from_key(text_key) diff --git a/addons/dialogic/Editor/Common/SectionTitle.tscn b/addons/dialogic/Editor/Common/SectionTitle.tscn new file mode 100644 index 0000000..8d19bf6 --- /dev/null +++ b/addons/dialogic/Editor/Common/SectionTitle.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Common/SectionTitle.gd" type="Script" id=1] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 4.0 +content_margin_right = 4.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.252, 0.2718, 0.3246, 1 ) + +[node name="SectionTitle" type="Label"] +margin_right = 270.0 +margin_bottom = 22.0 +custom_styles/normal = SubResource( 1 ) +text = "Visuals" +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Common/TLabel.gd b/addons/dialogic/Editor/Common/TLabel.gd new file mode 100644 index 0000000..3e339ff --- /dev/null +++ b/addons/dialogic/Editor/Common/TLabel.gd @@ -0,0 +1,11 @@ +tool +extends Label +export var text_key : String = "" +var editor_reference + +func set_text_from_key(value): + text = editor_reference.dialogicTranslator.translate(value) + +func _ready(): + editor_reference = find_parent('EditorView') + set_text_from_key(text_key) diff --git a/addons/dialogic/Editor/Common/TLabel.tscn b/addons/dialogic/Editor/Common/TLabel.tscn new file mode 100644 index 0000000..4d066f3 --- /dev/null +++ b/addons/dialogic/Editor/Common/TLabel.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.gd" type="Script" id=1] + +[node name="TLabel" type="Label"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd b/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd new file mode 100644 index 0000000..386f3ed --- /dev/null +++ b/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd @@ -0,0 +1,65 @@ +tool +extends Control + +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +var current_page : String = "" + +var previous_pages = [] +var next_pages = [] + +signal open_link(link) + +onready var nodes = { + 'DocsViewer': $DocsViewer, + 'Next': null, + 'Previous':null, +} + +func _ready(): + set("custom_styles/panel", get_stylebox("Background", "EditorStyles")) + + var _scale = get_constant("inspector_margin", "Editor") + _scale = _scale * 0.125 + nodes['DocsViewer'].MarkdownParser.editor_scale = _scale + nodes['Next'] = find_parent("EditorView").get_node("ToolBar/DocumentationNavigation/Next") + nodes['Next'].connect('pressed',self, 'open_next_page') + nodes['Previous'] = find_parent("EditorView").get_node("ToolBar/DocumentationNavigation/Previous") + nodes['Previous'].connect('pressed',self, 'open_previous_page') + + + +func load_page(page): + if current_page: + previous_pages.push_back(current_page) + nodes['Previous'].disabled = false + next_pages = [] + current_page = page + nodes['DocsViewer'].load_page(current_page) + nodes['Next'].disabled = true + + +func open_previous_page(): + if len(previous_pages): + next_pages.push_front(current_page) + current_page = previous_pages.pop_back() + nodes['DocsViewer'].load_page(current_page) + nodes['Previous'].disabled = len(previous_pages) == 0 + nodes['Next'].disabled = false + + +func open_next_page(): + if len(next_pages): + previous_pages.push_back(current_page) + current_page = next_pages.pop_front() + nodes['DocsViewer'].load_page(current_page) + nodes['Next'].disabled = len(next_pages) == 0 + nodes['Previous'].disabled = false + + +func toggle_editing(): + nodes['DocsViewer'].toggle_editing() + + +func _on_DocsViewer_open_non_html_link(link, section): + #print(link, " ", section) + master_tree.select_documentation_item(link) diff --git a/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn b/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn new file mode 100644 index 0000000..9827a8e --- /dev/null +++ b/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn" type="PackedScene" id=2] + +[sub_resource type="Image" id=6] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=4] +flags = 4 +flags = 4 +image = SubResource( 6 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxTexture" id=5] +texture = SubResource( 4 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 2.0 +margin_right = 2.0 +margin_top = 2.0 +margin_bottom = 2.0 + +[node name="DocumentationViewer" type="Panel"] +anchor_right = 1.0 +anchor_bottom = 1.0 +custom_styles/panel = SubResource( 5 ) +script = ExtResource( 1 ) + +[node name="DocsViewer" parent="." instance=ExtResource( 2 )] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = 0.0 +margin_bottom = 0.0 +rect_min_size = Vector2( 50, 0 ) + +[connection signal="open_non_html_link" from="DocsViewer" to="." method="_on_DocsViewer_open_non_html_link"] diff --git a/addons/dialogic/Editor/EditorView.gd b/addons/dialogic/Editor/EditorView.gd new file mode 100644 index 0000000..bead114 --- /dev/null +++ b/addons/dialogic/Editor/EditorView.gd @@ -0,0 +1,196 @@ +tool +extends Control + +var editor_file_dialog # EditorFileDialog +var file_picker_data: Dictionary = {'method': '', 'node': self} +var version_string: String + +var dialogicTranslator = load("res://addons/dialogic/Localization/translation_service.gd").new() + +# this is set when the plugins main-view is instanced in dialogic.gd +var editor_interface = null + +func _ready(): + # Adding file dialog to get used by Events + editor_file_dialog = EditorFileDialog.new() + add_child(editor_file_dialog) + + $ToolBar/Docs.text = dialogicTranslator.translate('Help') + $ToolBar/Web.text = dialogicTranslator.translate('Website') + + $MainPanel/MasterTreeContainer/MasterTree.connect("editor_selected", self, 'on_master_tree_editor_selected') + + # Updating the folder structure + DialogicUtil.update_resource_folder_structure() + + # Sizes + # This part of the code is a bit terrible. But there is no better way + # of doing this in Godot at the moment. I'm sorry. + var separation = get_constant("separation", "BoxContainer") + $MainPanel.margin_left = separation + $MainPanel.margin_right = separation * -1 + $MainPanel.margin_bottom = separation * -1 + $MainPanel.margin_top = 38 + var modifier = '' + var _scale = get_constant("inspector_margin", "Editor") + _scale = _scale * 0.125 + if _scale == 1: + $MainPanel.margin_top = 30 + if _scale == 1.25: + modifier = '-1.25' + $MainPanel.margin_top = 37 + if _scale == 1.5: + modifier = '-1.25' + $MainPanel.margin_top = 46 + if _scale == 1.75: + modifier = '-1.25' + $MainPanel.margin_top = 53 + if _scale == 2: + $MainPanel.margin_top = 59 + modifier = '-2' + $ToolBar/NewTimelineButton.icon = load("res://addons/dialogic/Images/Toolbar/add-timeline" + modifier + ".svg") + $ToolBar/NewTimelineButton.hint_tooltip = dialogicTranslator.translate('Add Timeline') + $ToolBar/NewCharactersButton.icon = load("res://addons/dialogic/Images/Toolbar/add-character" + modifier + ".svg") + $ToolBar/NewCharactersButton.hint_tooltip = dialogicTranslator.translate('Add Character') + $ToolBar/NewValueButton.icon = load("res://addons/dialogic/Images/Toolbar/add-definition" + modifier + ".svg") + $ToolBar/NewValueButton.hint_tooltip = dialogicTranslator.translate('Add Value') + $ToolBar/NewGlossaryEntryButton.icon = load("res://addons/dialogic/Images/Toolbar/add-glossary" + modifier + ".svg") + $ToolBar/NewGlossaryEntryButton.hint_tooltip = dialogicTranslator.translate('Add Glossary Entry') + $ToolBar/NewThemeButton.icon = load("res://addons/dialogic/Images/Toolbar/add-theme" + modifier + ".svg") + $ToolBar/NewThemeButton.hint_tooltip = dialogicTranslator.translate('Add Theme') + + var modulate_color = Color.white + if not get_constant("dark_theme", "Editor"): + modulate_color = get_color("property_color", "Editor") + $ToolBar/NewTimelineButton.modulate = modulate_color + $ToolBar/NewCharactersButton.modulate = modulate_color + $ToolBar/NewValueButton.modulate = modulate_color + $ToolBar/NewGlossaryEntryButton.modulate = modulate_color + $ToolBar/NewThemeButton.modulate = modulate_color + + $ToolBar/FoldTools/ButtonFold.icon = get_icon("GuiTreeArrowRight", "EditorIcons") + $ToolBar/FoldTools/ButtonUnfold.icon = get_icon("GuiTreeArrowDown", "EditorIcons") + $ToolBar/FoldTools/PlayTimeline.icon = get_icon("PlayScene", "EditorIcons") + + # Toolbar + $ToolBar/NewTimelineButton.connect('pressed', $MainPanel/MasterTreeContainer/MasterTree, 'new_timeline') + $ToolBar/NewCharactersButton.connect('pressed', $MainPanel/MasterTreeContainer/MasterTree, 'new_character') + $ToolBar/NewThemeButton.connect('pressed', $MainPanel/MasterTreeContainer/MasterTree, 'new_theme') + $ToolBar/NewValueButton.connect('pressed', $MainPanel/MasterTreeContainer/MasterTree, 'new_value_definition') + $ToolBar/NewGlossaryEntryButton.connect('pressed', $MainPanel/MasterTreeContainer/MasterTree, 'new_glossary_entry') + $ToolBar/Web.icon = get_icon("Instance", "EditorIcons") + $ToolBar/Web.connect('pressed', OS, "shell_open", ["https://dialogic.coppolaemilio.com"]) + $ToolBar/Docs.icon = get_icon("HelpSearch", "EditorIcons") + $ToolBar/DocumentationNavigation/Previous.icon = get_icon("Back", "EditorIcons") + $ToolBar/DocumentationNavigation/Next.icon = get_icon("Forward", "EditorIcons") + $ToolBar/Docs.connect('pressed', + $MainPanel/MasterTreeContainer/MasterTree, + "select_documentation_item", + ['/']) + $ToolBar/FoldTools/ButtonFold.connect('pressed', $MainPanel/TimelineEditor, 'fold_all_nodes') + $ToolBar/FoldTools/ButtonUnfold.connect('pressed', $MainPanel/TimelineEditor, 'unfold_all_nodes') + $ToolBar/FoldTools/PlayTimeline.connect('pressed', $MainPanel/TimelineEditor, 'play_timeline') + + + #Connecting confirmation + $RemoveFolderConfirmation.connect('confirmed', self, '_on_RemoveFolderConfirmation_confirmed') + $RemoveConfirmation.window_title = dialogicTranslator.translate("RemoveResourcePopupTitle") + $RemoveFolderConfirmation.window_title = dialogicTranslator.translate("RemoveFolderPopupTitle") + $RemoveFolderConfirmation.dialog_text = dialogicTranslator.translate("RemoveFolderPopupText") + + # Loading the version number + var config = ConfigFile.new() + var err = config.load("res://addons/dialogic/plugin.cfg") + if err == OK: + version_string = config.get_value("plugin", "version", "?") + $ToolBar/Version.text = 'Dialogic v' + version_string + + $MainPanel/MasterTreeContainer/FilterMasterTreeEdit.right_icon = get_icon("Search", "EditorIcons") + + +func on_master_tree_editor_selected(editor: String): + $ToolBar/FoldTools.visible = editor == 'timeline' + $ToolBar/DocumentationNavigation.visible = editor == 'documentation' + + +func popup_remove_confirmation(what): + # disconnect previous signals + if $RemoveConfirmation.is_connected( + 'confirmed', self, '_on_RemoveConfirmation_confirmed'): + $RemoveConfirmation.disconnect( + 'confirmed', self, '_on_RemoveConfirmation_confirmed') + + # the last theme should not be deleteded!!! + if what == "Theme" and len(DialogicUtil.get_theme_list()) == 1: + print("[D] You cannot delete the last theme!") + $RemoveConfirmation.dialog_text = dialogicTranslator.translate("CantDeleteLastTheme") + # otherwise we're ok + else: + var remove_text = dialogicTranslator.translate('DeleteResourceText') + $RemoveConfirmation.dialog_text = remove_text.replace('[resource]', what) + $RemoveConfirmation.connect('confirmed', self, '_on_RemoveConfirmation_confirmed', [what]) + + # popup time! + $RemoveConfirmation.popup_centered() + + +func _on_RemoveFolderConfirmation_confirmed(): + var item_path = $MainPanel/MasterTreeContainer/MasterTree.get_item_path($MainPanel/MasterTreeContainer/MasterTree.get_selected()) + DialogicUtil.remove_folder(item_path) + $MainPanel/MasterTreeContainer/MasterTree.build_full_tree() + + +func _on_RemoveConfirmation_confirmed(what: String = ''): + if what == 'Timeline': + var target = $MainPanel/TimelineEditor.timeline_file + DialogicResources.delete_timeline(target) + elif what == 'GlossaryEntry': + var target = $MainPanel/GlossaryEntryEditor.current_definition['id'] + DialogicResources.delete_default_definition(target) + elif what == 'Value': + var target = $MainPanel/ValueEditor.current_definition['id'] + DialogicResources.delete_default_definition(target) + elif what == 'Theme': + var filename = $MainPanel/MasterTreeContainer/MasterTree.get_selected().get_metadata(0)['file'] + DialogicResources.delete_theme(filename) + elif what == 'Character': + var filename = $MainPanel/CharacterEditor.opened_character_data['id'] + DialogicResources.delete_character(filename) + DialogicUtil.update_resource_folder_structure() + $MainPanel/MasterTreeContainer/MasterTree.remove_selected() + $MainPanel/MasterTreeContainer/MasterTree.hide_all_editors() + + +# Godot dialog +func godot_dialog(filter, mode = EditorFileDialog.MODE_OPEN_FILE): + editor_file_dialog.mode = mode + editor_file_dialog.clear_filters() + editor_file_dialog.popup_centered_ratio(0.75) + editor_file_dialog.add_filter(filter) + return editor_file_dialog + + +func godot_dialog_connect(who, method_name, signal_name = "file_selected"): + # You can pass multiple signal_name using an array + + # Checking if previous connections exist, if they do, disconnect them. + for test_signal in editor_file_dialog.get_signal_list(): + if not file_picker_data['node'] or not is_instance_valid(file_picker_data['node']): + continue + + if editor_file_dialog.is_connected( + test_signal.name, + file_picker_data['node'], + file_picker_data['method'] + ): + editor_file_dialog.disconnect( + test_signal.name, + file_picker_data['node'], + file_picker_data['method'] + ) + # Connect new signals + for new_signal_name in signal_name if typeof(signal_name) == TYPE_ARRAY else [signal_name]: + editor_file_dialog.connect(new_signal_name, who, method_name, [who]) + + file_picker_data['method'] = method_name + file_picker_data['node'] = who diff --git a/addons/dialogic/Editor/EditorView.tscn b/addons/dialogic/Editor/EditorView.tscn new file mode 100644 index 0000000..ad58ca3 --- /dev/null +++ b/addons/dialogic/Editor/EditorView.tscn @@ -0,0 +1,330 @@ +[gd_scene load_steps=22 format=2] + +[ext_resource path="res://addons/dialogic/Editor/EditorView.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Images/Toolbar/add-character.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Images/Toolbar/add-timeline.svg" type="Texture" id=4] +[ext_resource path="res://addons/dialogic/Images/Toolbar/add-definition.svg" type="Texture" id=5] +[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn" type="PackedScene" id=6] +[ext_resource path="res://addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn" type="PackedScene" id=7] +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn" type="PackedScene" id=8] +[ext_resource path="res://addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn" type="PackedScene" id=9] +[ext_resource path="res://addons/dialogic/Images/Toolbar/add-glossary.svg" type="Texture" id=10] +[ext_resource path="res://addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn" type="PackedScene" id=11] +[ext_resource path="res://addons/dialogic/Editor/ValueEditor/ValueEditor.tscn" type="PackedScene" id=12] +[ext_resource path="res://addons/dialogic/Images/Toolbar/add-theme.svg" type="Texture" id=13] +[ext_resource path="res://addons/dialogic/Editor/MasterTree/MasterTree.tscn" type="PackedScene" id=35] + +[sub_resource type="Image" id=9] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 9 ) +size = Vector2( 16, 16 ) + +[sub_resource type="InputEventKey" id=7] +scancode = 16777252 + +[sub_resource type="ShortCut" id=8] +shortcut = SubResource( 7 ) + +[sub_resource type="Image" id=10] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=4] +flags = 4 +flags = 4 +image = SubResource( 10 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxTexture" id=5] +texture = SubResource( 4 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 2.0 +margin_right = 2.0 +margin_top = 2.0 +margin_bottom = 2.0 + +[node name="EditorView" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +rect_min_size = Vector2( 0, 200 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ToolBar" type="HBoxContainer" parent="."] +anchor_right = 1.0 +margin_bottom = 24.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NewTimelineButton" type="Button" parent="ToolBar"] +modulate = Color( 0, 0, 0, 1 ) +margin_right = 28.0 +margin_bottom = 24.0 +hint_tooltip = "Add Timeline" +icon = ExtResource( 4 ) +flat = true + +[node name="NewCharactersButton" type="ToolButton" parent="ToolBar"] +modulate = Color( 0, 0, 0, 1 ) +self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 ) +margin_left = 32.0 +margin_right = 60.0 +margin_bottom = 24.0 +hint_tooltip = "Add Character" +icon = ExtResource( 3 ) + +[node name="NewValueButton" type="Button" parent="ToolBar"] +modulate = Color( 0, 0, 0, 1 ) +margin_left = 64.0 +margin_right = 92.0 +margin_bottom = 24.0 +hint_tooltip = "Add Value" +icon = ExtResource( 5 ) +flat = true + +[node name="NewGlossaryEntryButton" type="Button" parent="ToolBar"] +modulate = Color( 0, 0, 0, 1 ) +margin_left = 96.0 +margin_right = 124.0 +margin_bottom = 24.0 +hint_tooltip = "Add Glossary Entry" +icon = ExtResource( 10 ) +flat = true +__meta__ = { +"_editor_description_": "" +} + +[node name="NewThemeButton" type="Button" parent="ToolBar"] +modulate = Color( 0, 0, 0, 1 ) +margin_left = 128.0 +margin_right = 156.0 +margin_bottom = 24.0 +hint_tooltip = "Add Theme" +icon = ExtResource( 13 ) +flat = true + +[node name="FoldTools" type="HBoxContainer" parent="ToolBar"] +visible = false +margin_left = 160.0 +margin_right = 348.0 +margin_bottom = 24.0 + +[node name="Label" type="Label" parent="ToolBar/FoldTools"] +visible = false +margin_top = 5.0 +margin_right = 59.0 +margin_bottom = 19.0 +text = " Fold " + +[node name="ButtonFold" type="ToolButton" parent="ToolBar/FoldTools"] +margin_left = 63.0 +margin_right = 91.0 +margin_bottom = 24.0 +icon = SubResource( 2 ) +align = 0 + +[node name="ButtonUnfold" type="ToolButton" parent="ToolBar/FoldTools"] +margin_left = 95.0 +margin_right = 123.0 +margin_bottom = 24.0 +icon = SubResource( 2 ) +align = 0 + +[node name="PlayTimeline" type="ToolButton" parent="ToolBar/FoldTools"] +self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 ) +margin_left = 127.0 +margin_right = 188.0 +margin_bottom = 24.0 +mouse_default_cursor_shape = 2 +shortcut = SubResource( 8 ) +text = "Play Timeline" +icon = SubResource( 2 ) + +[node name="Spacer" type="Control" parent="ToolBar"] +margin_left = 160.0 +margin_right = 747.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="Web" type="ToolButton" parent="ToolBar"] +self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 ) +margin_left = 751.0 +margin_right = 835.0 +margin_bottom = 24.0 +mouse_default_cursor_shape = 2 +text = "Website" +icon = SubResource( 2 ) + +[node name="Docs" type="ToolButton" parent="ToolBar"] +self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 ) +margin_left = 839.0 +margin_right = 900.0 +margin_bottom = 24.0 +mouse_default_cursor_shape = 2 +text = "Help" +icon = SubResource( 2 ) + +[node name="Version" type="Label" parent="ToolBar"] +self_modulate = Color( 1, 1, 1, 0.631373 ) +margin_left = 904.0 +margin_top = 5.0 +margin_right = 1024.0 +margin_bottom = 19.0 +text = "Dialogic v1.4 - DEV" + +[node name="DocumentationNavigation" type="HBoxContainer" parent="ToolBar"] +visible = false +margin_left = 980.0 +margin_right = 1024.0 +margin_bottom = 32.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VSeparator" type="VSeparator" parent="ToolBar/DocumentationNavigation"] +margin_right = 4.0 +margin_bottom = 40.0 + +[node name="Previous" type="Button" parent="ToolBar/DocumentationNavigation"] +margin_right = 22.0 +margin_bottom = 32.0 +rect_min_size = Vector2( 22, 22 ) +focus_mode = 0 +disabled = true +icon = SubResource( 2 ) +flat = true +expand_icon = true + +[node name="Next" type="Button" parent="ToolBar/DocumentationNavigation"] +margin_left = 22.0 +margin_right = 44.0 +margin_bottom = 32.0 +rect_min_size = Vector2( 22, 22 ) +focus_mode = 0 +disabled = true +icon = SubResource( 2 ) +flat = true +expand_icon = true + +[node name="MainPanel" type="HSplitContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = 38.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MasterTreeContainer" type="VBoxContainer" parent="MainPanel"] +margin_right = 150.0 +margin_bottom = 562.0 + +[node name="FilterMasterTreeEdit" type="LineEdit" parent="MainPanel/MasterTreeContainer"] +margin_right = 150.0 +margin_bottom = 26.0 +clear_button_enabled = true +right_icon = SubResource( 2 ) +placeholder_text = "Filter" + +[node name="MasterTree" parent="MainPanel/MasterTreeContainer" instance=ExtResource( 35 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 30.0 +margin_right = 150.0 +margin_bottom = 562.0 +size_flags_vertical = 3 + +[node name="TimelineEditor" parent="MainPanel" instance=ExtResource( 2 )] +visible = false + +[node name="CharacterEditor" parent="MainPanel" instance=ExtResource( 7 )] +visible = false + +[node name="GlossaryEntryEditor" parent="MainPanel" instance=ExtResource( 9 )] +visible = false +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 162.0 +margin_right = 1024.0 +margin_bottom = 562.0 + +[node name="ValueEditor" parent="MainPanel" instance=ExtResource( 12 )] +visible = false + +[node name="ThemeEditor" parent="MainPanel" instance=ExtResource( 8 )] +visible = false + +[node name="SettingsEditor" parent="MainPanel" instance=ExtResource( 6 )] +visible = false +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 192.0 +margin_right = 1253.0 +margin_bottom = 661.0 + +[node name="DocumentationViewer" parent="MainPanel" instance=ExtResource( 11 )] +visible = false +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 162.0 +margin_right = 1024.0 +margin_bottom = 562.0 +custom_styles/panel = SubResource( 5 ) + +[node name="Empty" type="CenterContainer" parent="MainPanel"] +margin_left = 162.0 +margin_right = 1024.0 +margin_bottom = 562.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="MainPanel/Empty"] +margin_left = 291.0 +margin_top = 274.0 +margin_right = 571.0 +margin_bottom = 288.0 + +[node name="Label" type="Label" parent="MainPanel/Empty/VBoxContainer"] +margin_right = 280.0 +margin_bottom = 14.0 +text = "Select or create an element to start working" + +[node name="RemoveConfirmation" type="ConfirmationDialog" parent="."] +margin_right = 325.0 +margin_bottom = 88.0 +rect_min_size = Vector2( 250, 87.5 ) +window_title = "Be sure you want to delete!" +dialog_text = "Are you sure you want to remove this [resource]? +(Can't be restored)" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RemoveFolderConfirmation" type="ConfirmationDialog" parent="."] +margin_right = 325.0 +margin_bottom = 88.0 +rect_min_size = Vector2( 250, 87.5 ) +window_title = "Be sure you want to delete this folder!" +dialog_text = "Are you sure you want to remove this folder and all the items contained in it? +(Can't be restored)" +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/AudioEvent.tscn b/addons/dialogic/Editor/Events/AudioEvent.tscn new file mode 100644 index 0000000..985d25d --- /dev/null +++ b/addons/dialogic/Editor/Events/AudioEvent.tscn @@ -0,0 +1,129 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioFilePicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg" type="Texture" id=5] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="Image" id=5] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 5 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=6] + +[node name="AudioEvent" instance=ExtResource( 1 )] +margin_right = -705.0 +margin_bottom = 44.0 +event_name = "Audio Event" +event_data = { +"audio": "play", +"audio_bus": "Master", +"event_id": "dialogic_030", +"event_name": "AudioEvent", +"file": "", +"volume": 0.0 +} +event_color = Color( 0.988235, 0.396078, 0.0784314, 1 ) +event_icon = ExtResource( 5 ) +header_scene = ExtResource( 2 ) +body_scene = ExtResource( 3 ) +expand_on_default = false +help_page_path = "res://addons/dialogic/Documentation/Content/Events/030.md" +event_category = 3 +sorting_index = 0 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 404.0 +margin_bottom = 44.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 404.0 +margin_bottom = 44.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 398.0 +margin_bottom = 38.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 388.0 +margin_bottom = 32.0 + +[node name="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_bottom = 32.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.988235, 0.396078, 0.0784314, 1 ) +margin_top = 16.0 +margin_bottom = 16.0 + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 5 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +texture = SubResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_top = 9.0 +margin_right = 76.0 +margin_bottom = 23.0 +text = "Audio Event" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 76.0 +margin_right = 344.0 +margin_bottom = 32.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +visible = true +margin_left = 344.0 +margin_top = 1.0 +margin_right = 388.0 +margin_bottom = 31.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 388.0 +margin_right = 388.0 +margin_bottom = 32.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 401.0 +margin_right = 431.0 +icon = SubResource( 2 ) + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +margin_bottom = 62.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +margin_bottom = 28.0 +custom_constants/margin_left = 0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 6 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/BackgroundMusic.tscn b/addons/dialogic/Editor/Events/BackgroundMusic.tscn new file mode 100644 index 0000000..61dfffa --- /dev/null +++ b/addons/dialogic/Editor/Events/BackgroundMusic.tscn @@ -0,0 +1,113 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/background-music.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioFilePicker.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="Image" id=5] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 5 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=6] + +[node name="BackgroundMusic" instance=ExtResource( 2 )] +event_name = "Background Music" +event_data = { +"audio_bus": "Master", +"background-music": "play", +"event_id": "dialogic_031", +"event_name": "BackgroundMusic", +"fade_length": 1.0, +"file": "", +"volume": 0 +} +event_color = Color( 0.988235, 0.396078, 0.0784314, 1 ) +event_icon = ExtResource( 3 ) +header_scene = ExtResource( 4 ) +body_scene = ExtResource( 1 ) +expand_on_default = false +help_page_path = "res://addons/dialogic/Documentation/Content/Events/030.md" +event_category = 3 +sorting_index = 1 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 444.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 444.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 438.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 428.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.988235, 0.396078, 0.0784314, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 3 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +texture = SubResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 116.0 +text = "Background Music" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 116.0 +margin_right = 384.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +visible = true +margin_left = 384.0 +margin_top = 17.0 +margin_right = 428.0 +margin_bottom = 47.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 428.0 +margin_right = 428.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +icon = SubResource( 2 ) + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +margin_bottom = 66.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +margin_bottom = 32.0 +custom_constants/margin_left = 0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 6 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/CallNode.tscn b/addons/dialogic/Editor/Events/CallNode.tscn new file mode 100644 index 0000000..198c2ea --- /dev/null +++ b/addons/dialogic/Editor/Events/CallNode.tscn @@ -0,0 +1,92 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/call-node.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=5] + +[node name="CallNode" instance=ExtResource( 2 )] +event_name = "Call Node" +event_data = { +"call_node": { +"arguments": [ ], +"method_name": "", +"target_node_path": "" +}, +"event_id": "dialogic_042" +} +event_color = Color( 0.0470588, 0.647059, 0.921569, 1 ) +event_icon = ExtResource( 1 ) +body_scene = ExtResource( 4 ) +expand_on_default = false +help_page_path = "res://addons/dialogic/Documentation/Content/Events/042.md" +event_category = 4 +sorting_index = 2 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 131.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 131.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 125.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 115.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.0470588, 0.647059, 0.921569, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 1 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +texture = SubResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 61.0 +text = "Call Node" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 61.0 +margin_right = 71.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +visible = true +margin_left = 71.0 +margin_top = 17.0 +margin_right = 115.0 +margin_bottom = 47.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 115.0 +margin_right = 115.0 + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +margin_bottom = 88.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +margin_bottom = 54.0 +custom_constants/margin_left = 0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/ChangeBackground.tscn b/addons/dialogic/Editor/Events/ChangeBackground.tscn new file mode 100644 index 0000000..3309e7a --- /dev/null +++ b/addons/dialogic/Editor/Events/ChangeBackground.tscn @@ -0,0 +1,86 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-background.svg" type="Texture" id=6] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn" type="PackedScene" id=7] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=5] + +[node name="ChangeBackground" instance=ExtResource( 4 )] +event_name = "Change Background" +event_data = { +"background": "", +"event_id": "dialogic_021" +} +event_color = Color( 0.964706, 0.239216, 0.403922, 1 ) +event_icon = ExtResource( 6 ) +header_scene = ExtResource( 7 ) +body_scene = ExtResource( 1 ) +expand_on_default = false +event_category = 3 +sorting_index = 3 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 395.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 395.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 389.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 379.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.964706, 0.239216, 0.403922, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 6 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +texture = SubResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 124.0 +text = "Change Background" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 124.0 +margin_right = 379.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 535.0 +margin_right = 587.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 379.0 +margin_right = 379.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 924.0 +margin_right = 954.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +custom_constants/margin_left = 0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/ChangeScene.tscn b/addons/dialogic/Editor/Events/ChangeScene.tscn new file mode 100644 index 0000000..ec83b33 --- /dev/null +++ b/addons/dialogic/Editor/Events/ChangeScene.tscn @@ -0,0 +1,73 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=5] + +[node name="ChangeScene" instance=ExtResource( 1 )] +event_name = "Change Scene" +event_data = { +"change_scene": "", +"event_id": "dialogic_041" +} +event_color = Color( 0.0470588, 0.647059, 0.921569, 1 ) +event_icon = ExtResource( 3 ) +header_scene = ExtResource( 4 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/041.md" +event_category = 4 +sorting_index = 1 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 355.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 355.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 349.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 339.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.0470588, 0.647059, 0.921569, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 3 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +texture = SubResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 88.0 +text = "Change Scene" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 88.0 +margin_right = 339.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 339.0 +margin_right = 339.0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/ChangeTimeline.tscn b/addons/dialogic/Editor/Events/ChangeTimeline.tscn new file mode 100644 index 0000000..0f577bf --- /dev/null +++ b/addons/dialogic/Editor/Events/ChangeTimeline.tscn @@ -0,0 +1,69 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn" type="PackedScene" id=4] + +[sub_resource type="StyleBoxEmpty" id=4] + +[sub_resource type="Image" id=5] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 5 ) +size = Vector2( 16, 16 ) + +[node name="ChangeTimeline" instance=ExtResource( 1 )] +event_name = "Change Timeline" +event_data = { +"change_timeline": "", +"event_id": "dialogic_020" +} +event_color = Color( 0.0705882, 0.717647, 0.415686, 1 ) +event_icon = ExtResource( 3 ) +header_scene = ExtResource( 4 ) +event_category = 2 +sorting_index = 0 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 361.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 361.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 355.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 345.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.0705882, 0.717647, 0.415686, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 106.0 +text = "Change Timeline" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 106.0 +margin_right = 345.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 345.0 +margin_right = 345.0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 4 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/Character.tscn b/addons/dialogic/Editor/Events/Character.tscn new file mode 100644 index 0000000..9b2e0fd --- /dev/null +++ b/addons/dialogic/Editor/Events/Character.tscn @@ -0,0 +1,123 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Character/CharacterAction.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Character/CharacterActionSettings.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/character.svg" type="Texture" id=5] + +[sub_resource type="Image" id=1] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 1 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=3] + +[node name="Character" instance=ExtResource( 2 )] +event_name = "Character" +event_data = { +"animation": "[Default]", +"animation_length": 0.0, +"change_mirror_portrait": false, +"change_z_index": false, +"character": "", +"event_id": "dialogic_002", +"mirror_portrait": false, +"portrait": "", +"portrait_definition": "", +"position": { +"0": false, +"1": false, +"2": false, +"3": false, +"4": false +}, +"type": 0, +"z_index": 0 +} +event_color = Color( 0.0705882, 0.717647, 0.415686, 1 ) +event_icon = ExtResource( 5 ) +header_scene = ExtResource( 3 ) +body_scene = ExtResource( 4 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/002.md" +sorting_index = 1 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 370.0 +margin_bottom = 104.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 370.0 +margin_bottom = 104.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 364.0 +margin_bottom = 98.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 354.0 +margin_bottom = 32.0 + +[node name="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_bottom = 32.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.0470588, 0.647059, 0.921569, 1 ) +margin_top = 16.0 +margin_bottom = 16.0 + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 5 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +texture = SubResource( 2 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_top = 9.0 +margin_right = 60.0 +margin_bottom = 23.0 +text = "Character" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 60.0 +margin_right = 310.0 +margin_bottom = 32.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +visible = true +margin_left = 310.0 +margin_top = 1.0 +margin_right = 354.0 +margin_bottom = 31.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 354.0 +margin_right = 354.0 +margin_bottom = 32.0 + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +visible = true +margin_left = 0.0 +margin_top = 36.0 +margin_right = 354.0 +margin_bottom = 92.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +margin_top = 0.0 +margin_right = 354.0 +margin_bottom = 56.0 +custom_constants/margin_left = 0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 3 ) +items = [ "Documentation", SubResource( 2 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 2 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 2 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 2 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/Choice.tscn b/addons/dialogic/Editor/Events/Choice.tscn new file mode 100644 index 0000000..02e2687 --- /dev/null +++ b/addons/dialogic/Editor/Events/Choice.tscn @@ -0,0 +1,97 @@ +[gd_scene load_steps=9 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/choice.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=5] + +[sub_resource type="Image" id=6] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 6 ) +size = Vector2( 16, 16 ) + +[node name="Choice" instance=ExtResource( 2 )] +event_name = "Choice" +event_data = { +"choice": "", +"condition": "", +"definition": "", +"event_id": "dialogic_011", +"value": "" +} +event_color = Color( 0.619608, 0.466667, 0.92549, 1 ) +event_icon = ExtResource( 1 ) +header_scene = ExtResource( 4 ) +expand_on_default = false +needs_indentation = true +help_page_path = "res://addons/dialogic/Documentation/Content/Events/011.md" +event_category = 1 +sorting_index = 1 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 320.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 320.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 314.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 304.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.619608, 0.466667, 0.92549, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 1 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +visible = true +hint_tooltip = "This event needs a question event around it!" + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 43.0 +text = "Choice" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 43.0 +margin_right = 304.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 304.0 +margin_right = 304.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +icon = SubResource( 2 ) + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/CloseDialog.tscn b/addons/dialogic/Editor/Events/CloseDialog.tscn new file mode 100644 index 0000000..4388e3a --- /dev/null +++ b/addons/dialogic/Editor/Events/CloseDialog.tscn @@ -0,0 +1,69 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn" type="PackedScene" id=4] + +[sub_resource type="StyleBoxEmpty" id=4] + +[sub_resource type="Image" id=5] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 5 ) +size = Vector2( 16, 16 ) + +[node name="CloseDialog" instance=ExtResource( 1 )] +event_name = "Close Dialog" +event_data = { +"event_id": "dialogic_022", +"transition_duration": 1.0 +} +event_color = Color( 0.941176, 0.266667, 0.219608, 1 ) +event_icon = ExtResource( 2 ) +header_scene = ExtResource( 4 ) +event_category = 2 +sorting_index = 4 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 300.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 300.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 294.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 284.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.941176, 0.266667, 0.219608, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 2 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 79.0 +text = "Close Dialog" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 79.0 +margin_right = 284.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 284.0 +margin_right = 284.0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 4 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/Condition.tscn b/addons/dialogic/Editor/Events/Condition.tscn new file mode 100644 index 0000000..348beb6 --- /dev/null +++ b/addons/dialogic/Editor/Events/Condition.tscn @@ -0,0 +1,90 @@ +[gd_scene load_steps=9 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/condition.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=5] + +[sub_resource type="Image" id=6] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 6 ) +size = Vector2( 16, 16 ) + +[node name="Condition" instance=ExtResource( 2 )] +event_name = "Condition" +event_data = { +"condition": "", +"definition": "", +"event_id": "dialogic_012", +"value": "" +} +event_color = Color( 0.619608, 0.466667, 0.92549, 1 ) +event_icon = ExtResource( 1 ) +header_scene = ExtResource( 4 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/012.md" +show_name_in_timeline = false +event_category = 1 +sorting_index = 2 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 370.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 370.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 364.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 354.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.619608, 0.466667, 0.92549, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 1 ) + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 354.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 146.0 +margin_right = 210.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 354.0 +margin_right = 354.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +icon = SubResource( 2 ) + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/DummyEvent.tscn b/addons/dialogic/Editor/Events/DummyEvent.tscn new file mode 100644 index 0000000..3427a0f --- /dev/null +++ b/addons/dialogic/Editor/Events/DummyEvent.tscn @@ -0,0 +1,75 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn" type="PackedScene" id=2] + +[sub_resource type="StyleBoxEmpty" id=7] + +[sub_resource type="Image" id=8] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=6] +flags = 4 +flags = 4 +image = SubResource( 8 ) +size = Vector2( 16, 16 ) + +[node name="DummyEvent" instance=ExtResource( 1 )] +event_name = "Event couldn't be found. The data will be preserved in this dummy." +event_data = { +"event_id": "" +} +event_color = Color( 1, 0.278431, 0.447059, 1 ) +body_scene = ExtResource( 2 ) +expand_on_default = false + +[node name="PanelContainer" parent="." index="1"] +margin_right = 497.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 497.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 491.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 481.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 1, 0.278431, 0.447059, 1 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 427.0 +text = "Event couldn't be found. The data will be preserved in this dummy." + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 427.0 +margin_right = 437.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +visible = true +margin_left = 437.0 +margin_top = 17.0 +margin_right = 481.0 +margin_bottom = 47.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 481.0 +margin_right = 481.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 924.0 +margin_right = 954.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +custom_constants/margin_left = 0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 7 ) +items = [ "Documentation", SubResource( 6 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 6 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 6 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 6 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/EmitSignal.tscn b/addons/dialogic/Editor/Events/EmitSignal.tscn new file mode 100644 index 0000000..18c72ac --- /dev/null +++ b/addons/dialogic/Editor/Events/EmitSignal.tscn @@ -0,0 +1,73 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=3] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=5] + +[node name="EmitSignal" instance=ExtResource( 3 )] +event_name = "Emit Signal" +event_data = { +"emit_signal": "", +"event_id": "dialogic_040" +} +event_color = Color( 0.0470588, 0.647059, 0.921569, 1 ) +event_icon = ExtResource( 1 ) +header_scene = ExtResource( 2 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/040.md" +event_category = 4 +sorting_index = 0 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 457.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 457.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 451.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 441.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.0470588, 0.647059, 0.921569, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 1 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +texture = SubResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 70.0 +text = "Emit Signal" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 70.0 +margin_right = 441.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 441.0 +margin_right = 441.0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/EndBranch.tscn b/addons/dialogic/Editor/Events/EndBranch.tscn new file mode 100644 index 0000000..9477115 --- /dev/null +++ b/addons/dialogic/Editor/Events/EndBranch.tscn @@ -0,0 +1,74 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg" type="Texture" id=5] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=5] + +[sub_resource type="Image" id=6] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 6 ) +size = Vector2( 16, 16 ) + +[node name="EndBranch" instance=ExtResource( 1 )] +event_name = "End Branch" +event_data = { +"event_id": "dialogic_013" +} +event_color = Color( 0.619608, 0.466667, 0.92549, 1 ) +event_icon = ExtResource( 5 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/013.md" +event_category = 1 +sorting_index = 3 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.619608, 0.466667, 0.92549, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 5 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 71.0 +text = "End Branch" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 71.0 +margin_right = 81.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 81.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 924.0 +margin_right = 954.0 +icon = SubResource( 2 ) + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/GoTo Event.tscn b/addons/dialogic/Editor/Events/GoTo Event.tscn new file mode 100644 index 0000000..365a7cc --- /dev/null +++ b/addons/dialogic/Editor/Events/GoTo Event.tscn @@ -0,0 +1,70 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/GoTo Selector.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/go-to.svg" type="Texture" id=5] + +[sub_resource type="StyleBoxEmpty" id=4] + +[sub_resource type="Image" id=5] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 5 ) +size = Vector2( 16, 16 ) + +[node name="GoTo Event" instance=ExtResource( 1 )] +event_name = "Go to" +event_data = { +"anchor_id": "", +"event_id": "dialogic_016" +} +event_color = Color( 0.0705882, 0.717647, 0.415686, 1 ) +event_icon = ExtResource( 5 ) +header_scene = ExtResource( 4 ) +expand_on_default = false +event_category = 2 +sorting_index = 2 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 209.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 209.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 203.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 193.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.0705882, 0.717647, 0.415686, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 5 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 35.0 +text = "Go to" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 35.0 +margin_right = 193.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 193.0 +margin_right = 193.0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 4 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/LabelEvent.tscn b/addons/dialogic/Editor/Events/LabelEvent.tscn new file mode 100644 index 0000000..4e13b1a --- /dev/null +++ b/addons/dialogic/Editor/Events/LabelEvent.tscn @@ -0,0 +1,72 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/LabelSetter.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/label.svg" type="Texture" id=5] + +[sub_resource type="StyleBoxEmpty" id=4] + +[sub_resource type="Image" id=5] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 5 ) +size = Vector2( 16, 16 ) + +[node name="LabelEvent" instance=ExtResource( 2 )] +event_name = "Label" +event_data = { +"event_id": "dialogic_015", +"id": "anchor-1634488067", +"index": 0, +"name": "" +} +event_color = Color( 0.0705882, 0.717647, 0.415686, 1 ) +event_icon = ExtResource( 5 ) +header_scene = ExtResource( 3 ) +expand_on_default = false +event_category = 2 +sorting_index = 1 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 274.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 274.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 268.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 258.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.0705882, 0.717647, 0.415686, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 5 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 34.0 +text = "Label" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 34.0 +margin_right = 258.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 258.0 +margin_right = 258.0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 4 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/NoSkipEvent.tscn b/addons/dialogic/Editor/Events/NoSkipEvent.tscn new file mode 100644 index 0000000..aa87cd3 --- /dev/null +++ b/addons/dialogic/Editor/Events/NoSkipEvent.tscn @@ -0,0 +1,83 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/NoSkip/NoSkipPart.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=3] + +[node name="NoSkipEvent" instance=ExtResource( 4 )] +event_name = "No Skip" +event_data = { +"block_input": true, +"event_id": "dialogic_050", +"wait_time": 0.0 +} +event_color = Color( 0.92549, 0.0941176, 0.756863, 1 ) +event_icon = ExtResource( 3 ) +body_scene = ExtResource( 2 ) +expand_on_default = false +event_category = 2 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 358.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 358.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 352.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 342.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.92549, 0.0941176, 0.756863, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 3 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +texture = SubResource( 2 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 48.0 +text = "No Skip" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 48.0 +margin_right = 58.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +visible = true +margin_left = 58.0 +margin_top = 17.0 +margin_right = 102.0 +margin_bottom = 47.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 102.0 +margin_right = 342.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +custom_constants/margin_left = 0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 3 ) +items = [ "Documentation", SubResource( 2 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 2 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 2 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 2 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/Parts/Audio/AudioFilePicker.tscn b/addons/dialogic/Editor/Events/Parts/Audio/AudioFilePicker.tscn new file mode 100644 index 0000000..4bb4e62 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/AudioFilePicker.tscn @@ -0,0 +1,50 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/FilePicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioFilePicker.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/SimpleButtonHover.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/SimpleButtonNormal.tres" type="StyleBox" id=4] + +[sub_resource type="StyleBoxEmpty" id=3] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[node name="AudioFilePicker" type="HBoxContainer"] +margin_right = 181.0 +margin_bottom = 22.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FilePicker" parent="." instance=ExtResource( 1 )] +margin_top = 0.0 +margin_right = 162.0 +margin_bottom = 22.0 +Mode = "Audio" + +[node name="ButtonPreviewPlay" type="Button" parent="."] +margin_left = 166.0 +margin_right = 188.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +custom_styles/hover = ExtResource( 3 ) +custom_styles/pressed = ExtResource( 3 ) +custom_styles/focus = SubResource( 3 ) +custom_styles/normal = ExtResource( 4 ) +icon = SubResource( 2 ) + +[node name="AudioPreview" type="AudioStreamPlayer" parent="."] diff --git a/addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn b/addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn new file mode 100644 index 0000000..155ba8e --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn @@ -0,0 +1,151 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/SectionPanel.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioFilePicker.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=4] + +[node name="AudioPicker" type="PanelContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -718.0 +margin_bottom = -580.0 +theme = ExtResource( 4 ) +custom_styles/panel = ExtResource( 2 ) +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +event_name = "AudioEvent" + +[node name="VBox" type="VBoxContainer" parent="."] +margin_left = 6.0 +margin_top = 5.0 +margin_right = 300.0 +margin_bottom = 66.0 + +[node name="AudioFilePicker" parent="VBox" instance=ExtResource( 3 )] +visible = false +margin_right = 294.0 + +[node name="adv_settings" type="HBoxContainer" parent="VBox"] +margin_right = 294.0 +margin_bottom = 61.0 +custom_constants/separation = 8 + +[node name="AudioVolume" type="PanelContainer" parent="VBox/adv_settings"] +margin_right = 88.0 +margin_bottom = 61.0 +custom_styles/panel = ExtResource( 2 ) + +[node name="VBox" type="VBoxContainer" parent="VBox/adv_settings/AudioVolume"] +margin_left = 6.0 +margin_top = 5.0 +margin_right = 82.0 +margin_bottom = 57.0 + +[node name="Label" type="Label" parent="VBox/adv_settings/AudioVolume/VBox"] +margin_right = 76.0 +margin_bottom = 14.0 +text = "Volume:" + +[node name="Volume" type="SpinBox" parent="VBox/adv_settings/AudioVolume/VBox"] +margin_top = 18.0 +margin_right = 76.0 +margin_bottom = 52.0 +min_value = -80.0 +max_value = 24.0 +step = 0.01 +suffix = "dB" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="AudioBus" type="PanelContainer" parent="VBox/adv_settings"] +margin_left = 96.0 +margin_right = 181.0 +margin_bottom = 61.0 +custom_styles/panel = ExtResource( 2 ) + +[node name="VBox" type="VBoxContainer" parent="VBox/adv_settings/AudioBus"] +margin_left = 6.0 +margin_top = 5.0 +margin_right = 79.0 +margin_bottom = 57.0 + +[node name="Label" type="Label" parent="VBox/adv_settings/AudioBus/VBox"] +margin_right = 73.0 +margin_bottom = 14.0 +text = "AudioBus:" + +[node name="BusSelector" type="OptionButton" parent="VBox/adv_settings/AudioBus/VBox"] +margin_top = 18.0 +margin_right = 73.0 +margin_bottom = 38.0 +size_flags_vertical = 5 +text = "Master" +items = [ "Master", null, false, 0, null ] +selected = 0 + +[node name="AudioRegion" type="PanelContainer" parent="VBox/adv_settings"] +visible = false +margin_left = 187.0 +margin_right = 419.0 +margin_bottom = 51.0 +custom_styles/panel = ExtResource( 2 ) + +[node name="VBox" type="VBoxContainer" parent="VBox/adv_settings/AudioRegion"] +margin_left = 6.0 +margin_top = 5.0 +margin_right = 226.0 +margin_bottom = 47.0 + +[node name="Label" type="Label" parent="VBox/adv_settings/AudioRegion/VBox"] +margin_right = 220.0 +margin_bottom = 14.0 +text = "Audio-region:" + +[node name="HBox" type="HBoxContainer" parent="VBox/adv_settings/AudioRegion/VBox"] +margin_top = 18.0 +margin_right = 220.0 +margin_bottom = 42.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="StartAtLabel" type="Label" parent="VBox/adv_settings/AudioRegion/VBox/HBox"] +margin_top = 5.0 +margin_right = 33.0 +margin_bottom = 19.0 +text = "Start:" + +[node name="StartAt" type="SpinBox" parent="VBox/adv_settings/AudioRegion/VBox/HBox"] +margin_left = 37.0 +margin_right = 111.0 +margin_bottom = 24.0 +hint_tooltip = "Leave both at 0 to use the whole file." +max_value = 9999.0 +step = 0.1 +suffix = "sec" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="StopAtLabel" type="Label" parent="VBox/adv_settings/AudioRegion/VBox/HBox"] +margin_left = 115.0 +margin_top = 5.0 +margin_right = 142.0 +margin_bottom = 19.0 +text = "End:" + +[node name="StopAt" type="SpinBox" parent="VBox/adv_settings/AudioRegion/VBox/HBox"] +margin_left = 146.0 +margin_right = 220.0 +margin_bottom = 24.0 +hint_tooltip = "Leave both at 0 to use the whole file." +max_value = 9999.0 +step = 0.1 +suffix = "sec" +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn b/addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn new file mode 100644 index 0000000..218a872 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn @@ -0,0 +1,43 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPickerComplex.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=3] + +[node name="AudioPickerComplex" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +theme = ExtResource( 3 ) +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBox" type="VBoxContainer" parent="."] +margin_right = 193.0 +margin_bottom = 108.0 + +[node name="Fade" type="HBoxContainer" parent="VBox"] +margin_right = 193.0 +margin_bottom = 34.0 + +[node name="FadeLengthLabel" type="Label" parent="VBox/Fade"] +margin_top = 10.0 +margin_right = 87.0 +margin_bottom = 24.0 +text = " Fade-length:" + +[node name="FadeLength" type="SpinBox" parent="VBox/Fade"] +margin_left = 91.0 +margin_right = 167.0 +margin_bottom = 34.0 +step = 0.01 +suffix = "s" + +[node name="AudioPicker" parent="VBox" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 38.0 +margin_right = 193.0 +margin_bottom = 108.0 +event_name = "Background Music" diff --git a/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioFilePicker.gd b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioFilePicker.gd new file mode 100644 index 0000000..4d50f6b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioFilePicker.gd @@ -0,0 +1,59 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var file_picker = $FilePicker +onready var preview_button = $ButtonPreviewPlay +onready var audio_preview = $AudioPreview + +# used to connect the signals +func _ready(): + file_picker.connect("data_changed", self, "_on_FilePicker_data_changed") + preview_button.connect("pressed", self, "_on_PreviewButton_pressed") + audio_preview.connect("finished", self, '_on_AudioPreview_finished') + preview_button.icon = get_icon("Play", "EditorIcons") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + file_picker.load_data(event_data) + preview_button.visible = !event_data['file'].empty() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +func _on_FilePicker_data_changed(data): + event_data = data + + preview_button.visible = !event_data['file'].empty() + # informs the parent about the changes! + data_changed() + +func _on_PreviewButton_pressed(): + if audio_preview.is_playing(): + audio_preview.stop() + else: + audio_preview.stream = load(event_data['file']) + audio_preview.bus = event_data['audio_bus'] + audio_preview.volume_db = event_data.get('volume', 0) + if event_data.has('start_time'): + audio_preview.play(event_data['start_time']) + else: + audio_preview.play() + preview_button.icon = get_icon("Stop", "EditorIcons") + +func _on_AudioPreview_finished(): + preview_button.icon = get_icon("Play", "EditorIcons") + + +func _process(_delta): + #Will automatically stop playing when reaching stop_time + if(audio_preview.playing && event_data.has('stop_time') && audio_preview.get_playback_position() >= event_data['stop_time']): + audio_preview.stop() diff --git a/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd new file mode 100644 index 0000000..1524167 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd @@ -0,0 +1,96 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +signal audio_loaded + +export (String) var event_name = "Audio Event" + +## node references +onready var file_picker := $VBox/AudioFilePicker + +onready var volume_input := $VBox/adv_settings/AudioVolume/VBox/Volume +onready var region_group := $VBox/adv_settings/AudioRegion +onready var start_at_input := $VBox/adv_settings/AudioRegion/VBox/HBox/StartAt +onready var stop_at_input := $VBox/adv_settings/AudioRegion/VBox/HBox/StopAt +onready var bus_selector := $VBox/adv_settings/AudioBus/VBox/BusSelector + +# used to connect the signals +func _ready(): + + # signals + file_picker.connect("data_changed", self, '_on_FilePicker_data_changed') + bus_selector.connect("item_selected", self, "_on_BusSelector_item_selected") + volume_input.connect("value_changed", self, "_on_Volume_value_changed") + start_at_input.connect("value_changed", self, "_on_StartAt_value_changed") + stop_at_input.connect("value_changed", self, "_on_StopAt_value_changed") + + # AudioBusPicker update + AudioServer.connect("bus_layout_changed", self, "update_bus_selector") + update_bus_selector() + + # file picker is here only used for text voice + file_picker.hide() + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + file_picker.load_data(data) + + # Now update the ui nodes to display the data. + if data.has('audio_bus'): + for idx in range(bus_selector.get_item_count()): + if bus_selector.get_item_text(idx) == data['audio_bus']: + bus_selector.select(idx) + + if data.has('volume'): + volume_input.value = data['volume'] + if data.has('start_time'): + start_at_input.value = data["start_time"] + if data.has('stop_time'): + stop_at_input.value = data["stop_time"] + + if not data.has("event_id"): + file_picker.show() + region_group.show() + + # TODO 2.0 delete this mess + if event_data.has('audio'): event_data['audio'] = 'play' + if event_data.has('background-music'): event_data['background-music'] = 'play' + +func get_preview(): + return '' + +func update_bus_selector(): + if bus_selector != null: + var previous_selected_bus_name = bus_selector.get_item_text(max(0, bus_selector.selected)) + + bus_selector.clear() + for i in range(AudioServer.bus_count): + var bus_name = AudioServer.get_bus_name(i) + bus_selector.add_item(bus_name) + + if previous_selected_bus_name == bus_name: + bus_selector.select(i) + +func _on_FilePicker_data_changed(data): + event_data['file'] = data['file'] + data_changed() + +func _on_BusSelector_item_selected(index): + event_data['audio_bus'] = bus_selector.get_item_text(index) + data_changed() + +func _on_Volume_value_changed(value): + event_data['volume'] = value + data_changed() + +func _on_StopAt_value_changed(value): + event_data['stop_time'] = value + data_changed() + +func _on_StartAt_value_changed(value): + event_data['start_time'] = value + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPickerComplex.gd b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPickerComplex.gd new file mode 100644 index 0000000..56f1a80 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPickerComplex.gd @@ -0,0 +1,42 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var audio_picker = $VBox/AudioPicker +onready var fade_length_input = $VBox/Fade/FadeLength + +# used to connect the signals +func _ready(): + audio_picker.connect("data_changed", self, "_on_AudioPicker_data_changed") + fade_length_input.connect("value_changed", self, "_on_FadeLength_value_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + audio_picker.editor_reference = editor_reference + audio_picker.load_data(event_data) + + fade_length_input.value = event_data['fade_length'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return audio_picker.get_preview() + +func _on_AudioPicker_data_changed(data): + event_data = data + + # informs the parent about the changes! + data_changed() + +func _on_FadeLength_value_changed(value): + event_data['fade_length'] = value + audio_picker.load_data(event_data) + + # informs the parent about the changes! + data_changed() + diff --git a/addons/dialogic/Editor/Events/Parts/Audio/EventPart_VoiceEditor.gd b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_VoiceEditor.gd new file mode 100644 index 0000000..48aff89 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_VoiceEditor.gd @@ -0,0 +1,95 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + + +export(PackedScene) var audio_picker + +#onready var voices_container = $List/VoicesList +#onready var label_container = $List/Label +var audio_lines = 1 # how many lines does the text event has + + +func load_data(data): + .load_data(data) + + update_data() + +func repopulate() -> void: + for child in $List.get_children(): + child.queue_free() + + var settings = DialogicResources.get_settings_config() + #recraete audio pickers + for i in range(audio_lines): + var label = Label.new() + label.text = "Line "+str(i+1)+":" + label.size_flags_vertical = 0 + $List.add_child(label) + + var a_picker = audio_picker.instance() + a_picker.editor_reference = editor_reference + a_picker.event_name = "voice line" + a_picker.connect("data_changed", self, "_on_audio_picker_audio_loaded", [i]) + $List.add_child(a_picker) + + #loaded data + if event_data.has('voice_data'): + var voice_data = event_data['voice_data'] + if voice_data.has(str(i)): + var _d = voice_data[str(i)] + if _d.has('file'): + a_picker.load_data(_d) + continue + + a_picker.load_data({'file':'', 'audio_bus':settings.get_value("dialog", "text_event_audio_default_bus", "Master")}) + + +func _on_text_changed(text:String) -> void: + # This is called when the text has changed + # Are we adding new text events per new line ? + var settings_file = DialogicResources.get_settings_config() + + if not (settings_file.get_value("dialog", "new_lines", true)): + $Label.text = "Audio Picker:" + return + + var prev_lines = audio_lines + $Label.text = "Audio Pickers:" + audio_lines = max(1, len(text.split('\n'))) + + if prev_lines != audio_lines: + repopulate() + +#Since the nodes are now in a grid sharing indicies with lables, index must +#be multiplied by 2, then added an offset of 1 to get the requested node +func _get_audio_picker(index:int): + var data = $List.get_child(index * 2 + 1) + return data + +func _on_audio_picker_audio_loaded(data,index:int) -> void: + # update the data + if not event_data.has('voice_data'): + event_data['voice_data'] = {} + + event_data['voice_data'][str(index)] = data + + #load the data + load_data(event_data) + + # informs the parent about the data change + data_changed() + + +func update_data(): + if not event_data.has('voice_data'): + return + var keys = event_data['voice_data'].keys() + # This subroutine was already a hack before I got to it, so don't blame me. + # divide by two, again becouse the two merged nodes. + # reused _get_audio_picker wherein we multiply by two again :D + # - KvaGram + for i in range($List.get_child_count() / 2): + if keys.has(str(i)): + var data = event_data['voice_data'][str(i)] + #voices_container.get_child(i).load_data(data) + _get_audio_picker(i).load_data(data) diff --git a/addons/dialogic/Editor/Events/Parts/Audio/VoiceEditor.tscn b/addons/dialogic/Editor/Events/Parts/Audio/VoiceEditor.tscn new file mode 100644 index 0000000..2c67b9f --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/VoiceEditor.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/EventPart_VoiceEditor.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn" type="PackedScene" id=2] + +[node name="VoiceEditor" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +audio_picker = ExtResource( 2 ) + +[node name="Label" type="Label" parent="."] +margin_right = 86.0 +margin_bottom = 14.0 +text = "Voice Picker :" + +[node name="List" type="GridContainer" parent="."] +margin_top = 18.0 +margin_right = 86.0 +margin_bottom = 18.0 +columns = 2 diff --git a/addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn b/addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn new file mode 100644 index 0000000..b688272 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn @@ -0,0 +1,72 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=4] + +[node name="CallNodePicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +theme = ExtResource( 4 ) +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" parent="." instance=ExtResource( 2 )] +margin_top = 0.0 +margin_right = 782.0 +margin_bottom = 14.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "This event calls the function [Function Name] on the [Target Node] (use full path!). It also passes a number of arguments." + +[node name="Properties" type="HBoxContainer" parent="."] +margin_top = 18.0 +margin_right = 782.0 +margin_bottom = 45.0 +custom_constants/separation = 8 + +[node name="TargetNodeLabel" type="Label" parent="Properties"] +margin_top = 6.0 +margin_right = 81.0 +margin_bottom = 20.0 +text = "Target Node:" + +[node name="TargetNodeEdit" parent="Properties" instance=ExtResource( 3 )] +margin_left = 89.0 +margin_right = 329.0 +margin_bottom = 27.0 +rect_min_size = Vector2( 240, 27 ) + +[node name="CallMethodLabel" type="Label" parent="Properties"] +margin_left = 337.0 +margin_top = 6.0 +margin_right = 432.0 +margin_bottom = 20.0 +text = "Method Name:" + +[node name="CallMethodEdit" parent="Properties" instance=ExtResource( 3 )] +margin_left = 440.0 +margin_right = 620.0 +margin_bottom = 27.0 +rect_min_size = Vector2( 180, 27 ) + +[node name="ArgumentsLabel" type="Label" parent="Properties"] +margin_left = 628.0 +margin_top = 6.0 +margin_right = 698.0 +margin_bottom = 20.0 +text = "Arguments" + +[node name="ArgumentsSpinBox" type="SpinBox" parent="Properties"] +margin_left = 706.0 +margin_right = 782.0 +margin_bottom = 27.0 +max_value = 99.0 + +[node name="Arguments" type="VBoxContainer" parent="."] +margin_top = 49.0 +margin_right = 782.0 +margin_bottom = 49.0 +custom_constants/separation = 5 diff --git a/addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd b/addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd new file mode 100644 index 0000000..dda9f6d --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd @@ -0,0 +1,107 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var target_path_input = $Properties/TargetNodeEdit +onready var method_name_input = $Properties/CallMethodEdit +onready var argument_length = $Properties/ArgumentsSpinBox +onready var arguments_container = $Arguments + +# used to connect the signals +func _ready(): + target_path_input.connect("text_changed", self, "_on_TargetPathInput_text_changed") + method_name_input.connect("text_changed", self, "_on_MethodName_text_changed") + argument_length.connect("value_changed", self, "_on_AgrumentLength_value_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + target_path_input.text = event_data['call_node']['target_node_path'] + method_name_input.text = event_data['call_node']['method_name'] + + for i in range(event_data['call_node']['arguments'].size()): + if (event_data['call_node']['arguments'][i] == null): + event_data['call_node']['arguments'][i] = '' + + argument_length.value = len(event_data['call_node']['arguments']) + + _create_argument_controls() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + if event_data['call_node']["target_node_path"] and event_data['call_node']['method_name']: + return 'Calls `'+event_data['call_node']['method_name']+ "` on node `"+event_data['call_node']["target_node_path"]+"` with an array with "+str(len( event_data['call_node']['arguments'])) +" items." + else: + return '' + +func _on_TargetPathInput_text_changed(text): + event_data['call_node']['target_node_path'] = text + + # informs the parent about the changes! + data_changed() + +func _on_MethodName_text_changed(text): + event_data['call_node']['method_name'] = text + + # informs the parent about the changes! + data_changed() + +func _on_AgrumentLength_value_changed(value): + event_data['call_node']['arguments'].resize(max(0, value)) + + for i in range(event_data['call_node']['arguments'].size()): + if (event_data['call_node']['arguments'][i] == null): + event_data['call_node']['arguments'][i] = '' + + _create_argument_controls() + + # informs the parent about the changes! + data_changed() + +func _on_argument_value_changed(value, arg_index): + if (arg_index < 0 or arg_index >= event_data['call_node']['arguments'].size()): + return + + event_data['call_node']['arguments'][arg_index] = str(value) + + # informs the parent about the changes! + data_changed() + + +# helpers +func _create_argument_controls(): + if (not event_data['call_node']['arguments'] is Array): + return + + # clear old + for c in arguments_container.get_children(): + arguments_container.remove_child(c) + c.queue_free() + + # create controls + var index = 0 + for a in event_data['call_node']['arguments']: + var container = HBoxContainer.new() + container.name = "Argument%s" % index + + var label = Label.new() + label.name = "IndexLabel" + label.text = "Argument %s:" % index + label.rect_min_size.x = 100 + container.add_child(label) + + var edit = LineEdit.new() + edit.name = "IndexValue" + edit.text = str(a) + edit.connect("text_changed", self, "_on_argument_value_changed", [ index ]) + edit.rect_min_size.x = 250 + container.add_child(edit) + + arguments_container.add_child(container) + + index += 1 diff --git a/addons/dialogic/Editor/Events/Parts/Character/CharacterAction.tscn b/addons/dialogic/Editor/Events/Parts/Character/CharacterAction.tscn new file mode 100644 index 0000000..e036ce7 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Character/CharacterAction.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterAction.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Character/PositionPicker.tscn" type="PackedScene" id=4] + +[node name="CharacterAction" type="HBoxContainer"] +margin_right = 454.0 +margin_bottom = 30.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ActionTypePicker" parent="." instance=ExtResource( 1 )] +margin_top = 4.0 +margin_bottom = 26.0 + +[node name="CharacterAndPortraitPicker" parent="." instance=ExtResource( 3 )] +margin_left = 98.0 +margin_right = 193.0 +margin_bottom = 30.0 +size_flags_vertical = 4 + +[node name="PositionPicker" parent="." instance=ExtResource( 4 )] +margin_left = 197.0 +margin_right = 471.0 +size_flags_vertical = 4 diff --git a/addons/dialogic/Editor/Events/Parts/Character/CharacterActionSettings.tscn b/addons/dialogic/Editor/Events/Parts/Character/CharacterActionSettings.tscn new file mode 100644 index 0000000..146b5c0 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Character/CharacterActionSettings.tscn @@ -0,0 +1,143 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterActionSettings.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=4] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="CharacterActionSettings" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +theme = ExtResource( 4 ) +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Animation" type="HBoxContainer" parent="."] +margin_right = 589.0 +margin_bottom = 24.0 + +[node name="Label" parent="Animation" instance=ExtResource( 2 )] +margin_top = 5.0 +margin_right = 70.0 +margin_bottom = 19.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Animation:" + +[node name="AnimationPicker" parent="Animation" instance=ExtResource( 3 )] +margin_left = 74.0 +margin_right = 172.0 +margin_bottom = 24.0 + +[node name="Label2" parent="Animation" instance=ExtResource( 2 )] +margin_left = 176.0 +margin_top = 5.0 +margin_right = 223.0 +margin_bottom = 19.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Length:" + +[node name="AnimationLength" type="SpinBox" parent="Animation"] +margin_left = 227.0 +margin_right = 303.0 +margin_bottom = 24.0 +step = 0.001 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label3" parent="Animation" instance=ExtResource( 2 )] +margin_left = 307.0 +margin_top = 5.0 +margin_right = 355.0 +margin_bottom = 19.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Repeat:" + +[node name="Repeat" type="SpinBox" parent="Animation"] +margin_left = 359.0 +margin_right = 435.0 +margin_bottom = 24.0 +min_value = 1.0 +value = 1.0 +rounded = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label4" parent="Animation" instance=ExtResource( 2 )] +margin_left = 439.0 +margin_top = 5.0 +margin_right = 561.0 +margin_bottom = 19.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Wait for animation:" + +[node name="WaitForAnimation" type="CheckBox" parent="Animation"] +margin_left = 565.0 +margin_right = 589.0 +margin_bottom = 24.0 + +[node name="Positioning" type="HBoxContainer" parent="."] +margin_top = 28.0 +margin_right = 589.0 +margin_bottom = 52.0 + +[node name="Label" parent="Positioning" instance=ExtResource( 2 )] +margin_top = 5.0 +margin_right = 52.0 +margin_bottom = 19.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Z-index:" + +[node name="EnableZIndex" type="ToolButton" parent="Positioning"] +margin_left = 56.0 +margin_right = 84.0 +margin_bottom = 24.0 +toggle_mode = true +icon = SubResource( 2 ) + +[node name="Z_Index" type="SpinBox" parent="Positioning"] +margin_left = 88.0 +margin_right = 164.0 +margin_bottom = 24.0 +min_value = -100.0 +rounded = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label2" parent="Positioning" instance=ExtResource( 2 )] +margin_left = 168.0 +margin_top = 5.0 +margin_right = 227.0 +margin_bottom = 19.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Mirrored:" + +[node name="EnableMirrored" type="ToolButton" parent="Positioning"] +margin_left = 231.0 +margin_right = 243.0 +margin_bottom = 24.0 +toggle_mode = true + +[node name="Mirrored" type="CheckBox" parent="Positioning"] +margin_left = 247.0 +margin_right = 271.0 +margin_bottom = 24.0 diff --git a/addons/dialogic/Editor/Events/Parts/Character/CharacterJoining.tscn b/addons/dialogic/Editor/Events/Parts/Character/CharacterJoining.tscn new file mode 100644 index 0000000..cc69e55 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Character/CharacterJoining.tscn @@ -0,0 +1,75 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterJoining.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Character/PositionPicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn" type="PackedScene" id=3] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="CharacterJoining" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_vertical = 4 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 389.0 +margin_bottom = 30.0 + +[node name="CharacterAndPortraitPicker" parent="HBox" instance=ExtResource( 3 )] +margin_right = 95.0 +margin_bottom = 30.0 + +[node name="PositionPicker" parent="HBox" instance=ExtResource( 2 )] +margin_left = 99.0 +margin_right = 357.0 +size_flags_vertical = 4 + +[node name="MirrorButton" type="ToolButton" parent="HBox"] +margin_left = 361.0 +margin_right = 389.0 +margin_bottom = 30.0 +hint_tooltip = "Mirrors the character" +toggle_mode = true +icon = SubResource( 2 ) + +[node name="NoCharacterContainer" type="HBoxContainer" parent="."] +visible = false +margin_top = 4.0 +margin_right = 399.0 +margin_bottom = 24.0 + +[node name="NoCharacterLabel1" type="Label" parent="NoCharacterContainer"] +margin_top = 3.0 +margin_right = 261.0 +margin_bottom = 17.0 +text = "You haven't created a character yet. Click" + +[node name="NoCharacterButton" type="Button" parent="NoCharacterContainer"] +margin_left = 265.0 +margin_right = 306.0 +margin_bottom = 20.0 +text = "here" + +[node name="NoCharacterLabel2" type="Label" parent="NoCharacterContainer"] +margin_left = 310.0 +margin_top = 3.0 +margin_right = 399.0 +margin_bottom = 17.0 +text = "to create one." diff --git a/addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterAction.gd b/addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterAction.gd new file mode 100644 index 0000000..af6ee80 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterAction.gd @@ -0,0 +1,84 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +## has an event_data variable that stores the current data!!! + +var join_icon = load("res://addons/dialogic/Images/Event Icons/character-join.svg") +var leave_icon = load("res://addons/dialogic/Images/Event Icons/character-leave.svg") +var update_icon = load("res://addons/dialogic/Images/Event Icons/character.svg") + +## node references +onready var action_picker = $ActionTypePicker +onready var character_portrait_picker = $CharacterAndPortraitPicker +onready var position_picker = $PositionPicker + +# used to connect the signals +func _ready(): + action_picker.connect("about_to_show", self, "_on_ActionTypePicker_about_to_show") + action_picker.get_popup().connect('index_pressed', self, "_on_ActionTypePicker_index_pressed") + character_portrait_picker.connect('data_changed', self, "_on_CharacterAndPortraitPicker_data_changed") + position_picker.connect('data_changed', self, "_on_PositionPicker_data_changed") + + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + match int(data.get('type', 0)): + 0: + action_picker.text = 'Join' + action_picker.custom_icon = join_icon + 1: + action_picker.text = 'Leave' + action_picker.custom_icon = leave_icon + 2: + action_picker.text = 'Update' + action_picker.custom_icon = update_icon + + position_picker.visible = data.get('type',0) != 1 and data.get('character', '') != '' + position_picker.load_data(data) + character_portrait_picker.load_data(data) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_ActionTypePicker_about_to_show(): + action_picker.get_popup().clear() + + action_picker.get_popup().add_icon_item(join_icon, "Join") + action_picker.get_popup().add_icon_item(leave_icon, "Leave") + action_picker.get_popup().add_icon_item(update_icon, "Update") + + +func _on_ActionTypePicker_index_pressed(index): + if index != event_data['type']: + if index == 0: + event_data['portrait'] = 'Default' + event_data['animation'] = '[Default]' + elif index == 1: + event_data['animation'] = '[Default]' + elif index == 2: + event_data['portrait'] = "(Don't change)" + event_data['type'] = index + + load_data(event_data) + + # informs the parent about the changes! + data_changed() + +func _on_CharacterAndPortraitPicker_data_changed(data): + event_data = data + + load_data(event_data) + + data_changed() + +func _on_PositionPicker_data_changed(data): + event_data = data + + data_changed() + diff --git a/addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterActionSettings.gd b/addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterActionSettings.gd new file mode 100644 index 0000000..20980ba --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterActionSettings.gd @@ -0,0 +1,163 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +var enable_icon = null +var disable_icon = null + + +## node references +onready var animation_picker = $Animation/AnimationPicker +onready var animation_length = $Animation/AnimationLength +onready var z_index_enable = $Positioning/EnableZIndex +onready var z_index = $Positioning/Z_Index +onready var mirrored_checkbox = $Positioning/Mirrored +onready var mirrored_checkbox_enable = $Positioning/EnableMirrored +onready var animation_repeat = $Animation/Repeat +onready var animation_wait_checkbox = $Animation/WaitForAnimation + +# used to connect the signals +func _ready(): + animation_picker.connect("about_to_show", self, "_on_AnimationPicker_about_to_show") + animation_picker.get_popup().connect("index_pressed", self, "_on_AnimationPicker_index_pressed") + animation_length.connect("value_changed", self, "_on_AnimationLength_value_changed") + z_index.connect("value_changed", self, "_on_ZIndex_value_changed") + z_index_enable.connect("toggled", self, "_on_ZIndexEnable_toggled") + mirrored_checkbox.connect('toggled', self, "_on_Mirrored_toggled") + mirrored_checkbox_enable.connect('toggled', self, "_on_MirroredEnabled_toggled") + animation_repeat.connect("value_changed", self, '_on_Repeat_value_changed') + animation_wait_checkbox.connect('toggled', self, 'on_WaitForAnimation_toggled') + enable_icon = get_icon("Edit", "EditorIcons") + disable_icon = get_icon("Reload", "EditorIcons") + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + $Positioning.visible = event_data.get('type',0) != 1 + if data['type'] == 0: + animation_picker.text = DialogicUtil.beautify_filename(event_data.get('animation', '[Default]')) + elif data['type'] == 1: + animation_picker.text = DialogicUtil.beautify_filename(event_data.get('animation', '[Default]')) + else: + animation_picker.text = DialogicUtil.beautify_filename(event_data.get('animation', '[No Animation]')) + + animation_picker.custom_icon = get_icon("Animation", "EditorIcons") if event_data['animation'] != "[No Animation]" else get_icon("GuiRadioUnchecked", "EditorIcons") + if event_data['animation'] == "[Default]": animation_picker.custom_icon = get_icon("Favorites", "EditorIcons") + animation_length.value = event_data.get('animation_length', 1) + animation_length.visible = event_data.get('animation', '') != "[Default]" + $Animation/Label2.visible = event_data.get('animation', '') != "[Default]" + animation_repeat.value = event_data.get('animation_repeat', 1) + animation_repeat.visible = int(data.get('type', 0)) == 2 + $Animation/Label3.visible = int(data.get('type', 0)) == 2 + animation_wait_checkbox.pressed = event_data.get('animation_wait', false) + + z_index.value = int(event_data.get('z_index', 0)) + mirrored_checkbox.pressed = event_data.get('mirror_portrait', false) + + # if the event is in UPDATE mode show the enablers + z_index_enable.visible = int(data.get('type', 0)) == 2 + mirrored_checkbox_enable.visible = int(data.get('type', 0)) == 2 + + z_index_enable.pressed = data.get('change_z_index', false) or int(data.get('type', 0)) != 2 + mirrored_checkbox_enable.pressed = data.get('change_mirror_portrait', false) or int(data.get('type', 0)) != 2 + + z_index.visible = z_index_enable.pressed + mirrored_checkbox.visible = mirrored_checkbox_enable.pressed + + z_index_enable.icon = enable_icon if not z_index_enable.pressed else disable_icon + mirrored_checkbox_enable.icon = enable_icon if not mirrored_checkbox_enable.pressed else disable_icon + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_AnimationPicker_about_to_show(): + animation_picker.get_popup().clear() + var animations = DialogicAnimaResources.get_available_animations() + var idx = 0 + if event_data['type'] == 2: + animation_picker.get_popup().add_icon_item(get_icon("GuiRadioUnchecked", "EditorIcons"), "[No Animation]") + animation_picker.get_popup().set_item_metadata(idx, {'file': "[No Animation]"}) + idx += 1 + else: + animation_picker.get_popup().add_icon_item(get_icon("Favorites", "EditorIcons"), "[Default]") + animation_picker.get_popup().set_item_metadata(idx, {'file': "[Default]"}) + idx += 1 + for animation_name in animations: + if (event_data['type'] == 0 and '_in' in animation_name) \ + or (event_data['type'] == 1 and '_out' in animation_name) \ + or (event_data['type'] == 2 and not '_in' in animation_name and not '_out' in animation_name): + animation_picker.get_popup().add_icon_item(get_icon("Animation", "EditorIcons"), DialogicUtil.beautify_filename(animation_name)) + animation_picker.get_popup().set_item_metadata(idx, {'file': animation_name.get_file()}) + idx +=1 + + + +func _on_AnimationPicker_index_pressed(index): + event_data['animation'] = animation_picker.get_popup().get_item_metadata(index)['file'] + + animation_picker.custom_icon = get_icon("Animation", "EditorIcons") if event_data['animation'] != "[No Animation]" else get_icon("GuiRadioUnchecked", "EditorIcons") + if event_data['animation'] == "[Default]": animation_picker.custom_icon = get_icon("Favorites", "EditorIcons") + animation_picker.text = animation_picker.get_popup().get_item_text(index) + + animation_length.visible = event_data.get('animation', '') != "[Default]" + $Animation/Label2.visible = event_data.get('animation', '') != "[Default]" + + # informs the parent about the changes! + data_changed() + +func _on_AnimationLength_value_changed(value): + event_data['animation_length'] = value + + # informs the parent about the changes! + data_changed() + + +func _on_Repeat_value_changed(value): + event_data['animation_repeat'] = value + + # informs the parent about the changes! + data_changed() + +func on_WaitForAnimation_toggled(toggled): + event_data['animation_wait'] = toggled + + # informs the parent about the changes! + data_changed() + +func _on_ZIndexEnable_toggled(toggled): + if event_data['type'] != 2: return + event_data['change_z_index'] = toggled + + z_index.visible = z_index_enable.pressed + z_index_enable.icon = enable_icon if not z_index_enable.pressed else disable_icon + + # informs the parent about the changes! + data_changed() + +func _on_ZIndex_value_changed(value): + event_data['z_index'] = value + + # informs the parent about the changes! + data_changed() + +func _on_MirroredEnabled_toggled(toggled): + if event_data['type'] != 2: return + event_data['change_mirror_portrait'] = toggled + + mirrored_checkbox.visible = mirrored_checkbox_enable.pressed + mirrored_checkbox_enable.icon = enable_icon if not mirrored_checkbox_enable.pressed else disable_icon + + # informs the parent about the changes! + data_changed() + +func _on_Mirrored_toggled(toggled): + event_data['mirror_portrait'] = toggled + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterJoining.gd b/addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterJoining.gd new file mode 100644 index 0000000..ab1db6c --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Character/EventPart_CharacterJoining.gd @@ -0,0 +1,71 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var character_portrait_picker = $HBox/CharacterAndPortraitPicker +onready var position_picker = $HBox/PositionPicker +onready var mirror_button = $HBox/MirrorButton +onready var no_character_button = $NoCharacterContainer/NoCharacterButton +onready var no_character_container = $NoCharacterContainer + +# used to connect the signals +func _ready(): + if DialogicUtil.get_character_list().size() > 0: + character_portrait_picker.show() + position_picker.show() + mirror_button.show() + no_character_container.hide() + else: + character_portrait_picker.hide() + position_picker.hide() + mirror_button.hide() + no_character_container.show() + var editor_reference = find_parent('EditorView') + no_character_button.connect('pressed', editor_reference.get_node('MainPanel/MasterTreeContainer/MasterTree'), 'new_character') + + + mirror_button.connect("toggled", self, "_on_MirrorButton_toggled") + character_portrait_picker.connect('data_changed', self, '_on_CharacterPortraitPicker_data_changed') + position_picker.connect('data_changed', self, '_on_PositionPicker_data_changed') + + # icons + mirror_button.icon = get_icon("MirrorX", "EditorIcons") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + character_portrait_picker.load_data(data) + position_picker.load_data(data) + mirror_button.pressed = data['mirror'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_MirrorButton_toggled(toggle): + event_data['mirror'] = toggle + + character_portrait_picker.load_data(event_data) + position_picker.load_data(event_data) + + # informs the parent about the changes! + data_changed() + +func _on_PositionPicker_data_changed(data): + event_data = data + + character_portrait_picker.load_data(event_data) + + # informs the parent about the changes! + data_changed() + +func _on_CharacterPortraitPicker_data_changed(data): + event_data = data + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Character/EventPart_PositionPicker.gd b/addons/dialogic/Editor/Events/Parts/Character/EventPart_PositionPicker.gd new file mode 100644 index 0000000..46c5898 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Character/EventPart_PositionPicker.gd @@ -0,0 +1,94 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +var default_icon_color = Color("#65989898") +var enable_icon +var disable_icon + +## node references +onready var positions_container = $HBox/PositionsContainer +onready var enable_position = $HBox/EnablePosition +# used to connect the signals +func _ready(): + for p in positions_container.get_children(): + p.connect('pressed', self, "position_button_pressed", [p.name]) + enable_position.connect('toggled', self, 'on_EnablePosition_toggled') + enable_icon = get_icon("Edit", "EditorIcons") + disable_icon = get_icon("Reload", "EditorIcons") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + if data.get('type', 0) == 0: + $HBox/Label.text = 'at position' + elif data.get('type', 0) == 2: + if not data.get('change_position', false): + $HBox/Label.text = '(same position)' + else: + $HBox/Label.text = 'to position' + + enable_position.pressed = data.get('change_position', false) or data.get('type', 0) != 2 + enable_position.visible = data.get('type', 0) == 2 + enable_position.icon = enable_icon if not enable_position.pressed else disable_icon + positions_container.visible = enable_position.pressed + + # Now update the ui nodes to display the data. + check_active_position() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func get_character_color(): + for ch in DialogicUtil.get_character_list(): + if ch['file'] == event_data['character']: + return ch['color'] + return default_icon_color + +func position_button_pressed(name): + clear_all_positions() + var selected_index = name.split('-')[1] + var button = positions_container.get_node('position-' + selected_index) + button.set('self_modulate', get_character_color()) + button.pressed = true + + event_data['position'][selected_index] = true + + data_changed() + +func clear_all_positions(): + if not event_data.get('position', false): + event_data['position'] = {} + for i in range(5): + event_data['position'][str(i)] = false + for p in positions_container.get_children(): + p.set('self_modulate', default_icon_color) + p.pressed = false + + +func check_active_position(active_color = Color("#ffffff")): + if not event_data.get('position', false): return + var index = 0 + for p in positions_container.get_children(): + if event_data['position'][str(index)]: + p.pressed = true + p.set('self_modulate', get_character_color()) + index += 1 + +func on_EnablePosition_toggled(toggled): + if event_data['type'] != 2: return + event_data['change_position'] = toggled + + positions_container.visible = enable_position.pressed + enable_position.icon = enable_icon if not enable_position.pressed else disable_icon + + if !toggled: + $HBox/Label.text = '(same position)' + else: + $HBox/Label.text = 'to position' + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Character/PositionPicker.tscn b/addons/dialogic/Editor/Events/Parts/Character/PositionPicker.tscn new file mode 100644 index 0000000..8bf667d --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Character/PositionPicker.tscn @@ -0,0 +1,72 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Character/EventPart_PositionPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/character.svg" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=3] + +[node name="PositionPicker" type="VBoxContainer"] +margin_right = 186.0 +margin_bottom = 30.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 274.0 +margin_bottom = 30.0 + +[node name="Label" parent="HBox" instance=ExtResource( 3 )] +margin_top = 8.0 +margin_right = 68.0 +margin_bottom = 22.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "at position" + +[node name="PositionsContainer" type="HBoxContainer" parent="HBox"] +margin_left = 72.0 +margin_right = 258.0 +margin_bottom = 30.0 + +[node name="position-0" type="ToolButton" parent="HBox/PositionsContainer"] +self_modulate = Color( 0.596078, 0.596078, 0.596078, 0.396078 ) +margin_right = 34.0 +margin_bottom = 30.0 +icon = ExtResource( 2 ) + +[node name="position-1" type="ToolButton" parent="HBox/PositionsContainer"] +self_modulate = Color( 0.596078, 0.596078, 0.596078, 0.396078 ) +margin_left = 38.0 +margin_right = 72.0 +margin_bottom = 30.0 +icon = ExtResource( 2 ) + +[node name="position-2" type="ToolButton" parent="HBox/PositionsContainer"] +self_modulate = Color( 0.596078, 0.596078, 0.596078, 0.396078 ) +margin_left = 76.0 +margin_right = 110.0 +margin_bottom = 30.0 +icon = ExtResource( 2 ) + +[node name="position-3" type="ToolButton" parent="HBox/PositionsContainer"] +self_modulate = Color( 0.596078, 0.596078, 0.596078, 0.396078 ) +margin_left = 114.0 +margin_right = 148.0 +margin_bottom = 30.0 +icon = ExtResource( 2 ) + +[node name="position-4" type="ToolButton" parent="HBox/PositionsContainer"] +self_modulate = Color( 0.596078, 0.596078, 0.596078, 0.396078 ) +margin_left = 152.0 +margin_right = 186.0 +margin_bottom = 30.0 +icon = ExtResource( 2 ) + +[node name="EnablePosition" type="ToolButton" parent="HBox"] +margin_left = 262.0 +margin_right = 274.0 +margin_bottom = 30.0 +toggle_mode = true +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn b/addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn new file mode 100644 index 0000000..8121dbd --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventPart_DummyEventDataShower.gd" type="Script" id=1] + +[node name="DummyEventDataShower" type="HBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Text" type="Label" parent="."] +margin_top = 13.0 +margin_right = 62.0 +margin_bottom = 27.0 +text = "Event ID: " + +[node name="EventId" type="Label" parent="."] +margin_left = 66.0 +margin_top = 13.0 +margin_right = 66.0 +margin_bottom = 27.0 diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.gd b/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.gd new file mode 100644 index 0000000..da26df0 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.gd @@ -0,0 +1,51 @@ +tool +extends HBoxContainer + +onready var visible_toggle = $VisibleToggle +onready var preview = $MarginContainer/Preview + +var enabled : bool +var expanded: bool + +var max_preview_characters = 50 + +signal state_changed(expanded) + +func _ready(): + $MarginContainer/Preview.set("custom_colors/font_color", get_color("disabled_font_color", "Editor")) + set_enabled(false) + visible_toggle.connect("toggled", self, "_on_VisibleToggle_toggled") + + +func set_preview(text: String): + if len(text) > 50: + text = text.substr(0, 50) + text += "..." + preview.text = text + + +func set_enabled(enabled: bool): + self.enabled = enabled + set_expanded(enabled) + if enabled: + show() + else: + hide() + + +func set_expanded(expanded: bool): + if not enabled: + return + self.expanded = expanded + visible_toggle.pressed = expanded + if expanded: + preview.hide() + else: + preview.show() + visible_toggle.release_focus() + emit_signal("state_changed", expanded) + + +func _on_VisibleToggle_toggled(button_pressed: bool): + if enabled: + set_expanded(button_pressed) diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn b/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn new file mode 100644 index 0000000..650b6bc --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.tscn" type="PackedScene" id=4] + +[node name="ExpandControl" type="HBoxContainer"] +visible = false +margin_right = 62.0 +margin_bottom = 30.0 +size_flags_vertical = 4 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VisibleToggle" parent="." instance=ExtResource( 4 )] +margin_left = 8.0 +margin_right = 38.0 +pressed = false +script = null + +[node name="MarginContainer" type="MarginContainer" parent="."] +margin_left = 42.0 +margin_right = 64.0 +margin_bottom = 30.0 +mouse_filter = 1 +custom_constants/margin_left = 10 + +[node name="Preview" type="Label" parent="MarginContainer"] +margin_left = 10.0 +margin_top = 8.0 +margin_right = 22.0 +margin_bottom = 22.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "..." diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/PopupMenu.gd b/addons/dialogic/Editor/Events/Parts/EventBlock/PopupMenu.gd new file mode 100644 index 0000000..c5da487 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/PopupMenu.gd @@ -0,0 +1,17 @@ +tool +extends PopupMenu + +func _ready(): + clear() + add_icon_item(get_icon("Help", "EditorIcons"), "Documentation") + add_separator() + add_icon_item(get_icon("ArrowUp", "EditorIcons"), "Move up") + add_icon_item(get_icon("ArrowDown", "EditorIcons"), "Move down") + add_separator() + add_icon_item(get_icon("Remove", "EditorIcons"), "Delete") + + var menu_background = load("res://addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres") + menu_background.bg_color = get_color("base_color", "Editor") + add_stylebox_override('panel', menu_background) + add_stylebox_override('hover', StyleBoxEmpty.new()) + add_color_override('font_color_hover', get_color("accent_color", "Editor")) diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.gd b/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.gd new file mode 100644 index 0000000..5381a41 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.gd @@ -0,0 +1,49 @@ +tool +extends CheckBox + +var current_piece +var is_disabled = false + + +func _ready(): + # Gotta love the nodes system some times + # Praise the paths (っ´ω`c)♡ + current_piece = get_parent().get_parent().get_parent().get_parent() + connect("toggled", self, "_on_VisibleToggle_toggled") + + +func disabled(): + self_modulate = Color(0,0,0,0) + is_disabled = true + + +func set_visible(visible: bool): + pressed = visible + var current_rect_size = current_piece.get("rect_size") + if visible: + current_piece.get_node("PanelContainer/VBoxContainer/Header/Preview").hide() + + var index = 0 + for node in current_piece.get_node("PanelContainer/VBoxContainer").get_children(): + if index > 0: + node.show() + index += 1 + else: + if current_piece.has_node("PanelContainer/VBoxContainer/Header/Preview"): + current_piece.get_node("PanelContainer/VBoxContainer/Header/Preview").show() + + var index = 0 + for node in current_piece.get_node("PanelContainer/VBoxContainer").get_children(): + if index > 0: + node.hide() + index += 1 + if "preview" in current_piece: + current_piece.get_node("PanelContainer/VBoxContainer/Header/Preview").text = current_piece.preview + current_piece.set("rect_size", Vector2(current_rect_size.x,0)) + release_focus() + + +func _on_VisibleToggle_toggled(button_pressed): + if is_disabled: + return + set_visible(button_pressed) diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.tscn b/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.tscn new file mode 100644 index 0000000..18bc939 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Images/Pieces/open-icon.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Images/Pieces/closed-icon.svg" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.gd" type="Script" id=3] + +[node name="VisibleToggle" type="CheckBox"] +margin_right = 30.0 +margin_bottom = 30.0 +custom_icons/checked = ExtResource( 1 ) +custom_icons/unchecked = ExtResource( 2 ) +pressed = true +flat = true +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/EventPart.gd b/addons/dialogic/Editor/Events/Parts/EventPart.gd new file mode 100644 index 0000000..9668d11 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventPart.gd @@ -0,0 +1,46 @@ +tool +extends Control + +# has to be set by the parent before adding it to the tree +var editor_reference + +var event_data = {} + +signal data_changed + +# emit this to set the enabling of the body +signal request_set_body_enabled(enabled) + +# emit these if you want the body to be closed/opened +signal request_open_body +signal request_close_body + +# emit these if you want the event to be selected +signal request_selection + +# emit this if you want a warning to be displayed/hidden +signal set_warning(text) +signal remove_warning() + + +# when the node is ready +func _ready(): + pass + +# to be overwritten by the subclasses +func load_data(data:Dictionary): + event_data = data + + +# to be overwritten by body-parts that provide a preview +func get_preview_text(): + return '' + +# to be overwritten by the body-parts if some kind of focus (on event creation) is wanted +func focus(): + pass + +# has to be called everytime the data got changed +func data_changed(): + emit_signal("data_changed", event_data) + diff --git a/addons/dialogic/Editor/Events/Parts/EventPart_DummyEventDataShower.gd b/addons/dialogic/Editor/Events/Parts/EventPart_DummyEventDataShower.gd new file mode 100644 index 0000000..43ef80b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventPart_DummyEventDataShower.gd @@ -0,0 +1,23 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var text_field = $EventId + +# used to connect the signals +func _ready(): + pass + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + text_field.text = event_data['event_id'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' diff --git a/addons/dialogic/Editor/Events/Parts/ExampleEventPartScript.gd b/addons/dialogic/Editor/Events/Parts/ExampleEventPartScript.gd new file mode 100644 index 0000000..20400cc --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ExampleEventPartScript.gd @@ -0,0 +1,36 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +## BEFORE EDITING THIS MAKE SURE YOU HAVE CREATED A UNIQUE SCRIPT!!! + +# has an event_data variable that stores the current data!!! + +## node references +# e.g. +onready var input_field = $Box/InputField + +# used to connect the signals +func _ready(): + # e.g. + input_field.connect("text_changed", self, "_on_InputField_text_changed") + pass + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + # e.g. + input_field.text = event_data['my_text_key'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +## EXAMPLE CHANGE IN ONE OF THE NODES +func _on_InputField_text_changed(text): + event_data['my_text_key'] = text + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn b/addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn new file mode 100644 index 0000000..06d521f --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/FilePicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPicker.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd" type="Script" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=4] + +[node name="BackgroundPicker" type="VBoxContainer"] +margin_top = 1.0 +margin_right = 331.0 +margin_bottom = 23.0 +size_flags_vertical = 4 +theme = ExtResource( 4 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 353.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FilePicker" parent="HBox" instance=ExtResource( 1 )] +margin_right = 149.0 + +[node name="FadeLabel" type="Label" parent="HBox"] +margin_left = 153.0 +margin_top = 5.0 +margin_right = 273.0 +margin_bottom = 19.0 +text = " Fade-in duration:" + +[node name="NumberBox" type="SpinBox" parent="HBox"] +margin_left = 277.0 +margin_right = 353.0 +margin_bottom = 24.0 +size_flags_vertical = 6 +step = 0.1 +value = 1.0 +allow_greater = true +align = 1 +script = ExtResource( 3 ) diff --git a/addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn b/addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn new file mode 100644 index 0000000..df4c172 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPreview.gd" type="Script" id=1] + +[node name="BackgroundPreview" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_horizontal = 0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Box" type="CenterContainer" parent="."] +margin_right = 200.0 +margin_bottom = 200.0 +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="Box"] +margin_right = 200.0 +margin_bottom = 200.0 +rect_min_size = Vector2( 200, 200 ) +size_flags_vertical = 5 +expand = true +stretch_mode = 6 diff --git a/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPicker.gd b/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPicker.gd new file mode 100644 index 0000000..a025dbd --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPicker.gd @@ -0,0 +1,73 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var file_picker = $HBox/FilePicker + +onready var fade_duration_label = $HBox/FadeLabel +onready var fade_duration = $HBox/NumberBox + +# used to connect the signals +func _ready(): + file_picker.connect("data_changed", self, "_on_FilePicker_data_changed") + fade_duration.connect('value_changed', self, '_on_fade_duration_changed') + + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + file_picker.load_data(data) + if event_data['background']: + fade_duration_label.visible = true + fade_duration.visible = true + emit_signal("request_close_body") + else: + fade_duration_label.visible = false + fade_duration.visible = false + emit_signal("request_close_body") + + fade_duration.value = event_data.get('fade_duration', 1) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_FilePicker_data_changed(data): + event_data = data + + fade_duration.visible = !data['background'].empty() + fade_duration_label.visible = !data['background'].empty() + + if !data['background'].empty(): + emit_signal("request_open_body") + else: + emit_signal("request_close_body") + + # informs the parent about the changes! + data_changed() + +#func _on_ClearButton_pressed(): +# event_data['background'] = '' +# +# clear_button.disabled = true +# name_label.text = 'No image (will clear previous background)' +# image_button.hint_tooltip = 'No background selected' +# fade_duration.visible = false +# fade_duration_label.visible = false +# fade_duration.value = 1 +# +# emit_signal("request_close_body") +# +# # informs the parent about the changes! +# data_changed() + +func _on_fade_duration_changed(value: float): + event_data['fade_duration'] = value + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPreview.gd b/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPreview.gd new file mode 100644 index 0000000..b288043 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPreview.gd @@ -0,0 +1,39 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var texture_rect = $Box/TextureRect + +# used to connect the signals +func _ready(): + pass + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + if event_data['background']: + if not event_data['background'].ends_with('.tscn'): + emit_signal("request_set_body_enabled", true) + texture_rect.texture = load(event_data['background']) + else: + emit_signal("request_set_body_enabled", false) + if editor_reference and editor_reference.editor_interface: + editor_reference.editor_interface.get_resource_previewer().queue_resource_preview(event_data['background'], self, "show_scene_preview", null) + else: + emit_signal("request_set_body_enabled", false) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func show_scene_preview(path:String, preview:Texture, user_data): + if preview: + texture_rect.texture = preview + emit_signal("request_set_body_enabled", true) + + diff --git a/addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn b/addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn new file mode 100644 index 0000000..ec15923 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_ChoicePicker.gd" type="Script" id=3] + +[node name="ChoicePicker" type="HBoxContainer"] +margin_right = 437.0 +margin_bottom = 24.0 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 158.0 +margin_bottom = 27.0 +size_flags_vertical = 3 + +[node name="Spacer2" type="Control" parent="HBox"] +margin_right = 10.0 +margin_bottom = 27.0 +rect_min_size = Vector2( 10, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ChoiceText" parent="HBox" instance=ExtResource( 2 )] +margin_left = 14.0 +margin_right = 144.0 +margin_bottom = 27.0 + +[node name="Spacer" type="Control" parent="HBox"] +margin_left = 148.0 +margin_right = 158.0 +margin_bottom = 27.0 +rect_min_size = Vector2( 10, 0 ) + +[node name="ConditionPicker" parent="." instance=ExtResource( 1 )] +margin_left = 162.0 +margin_right = 635.0 +margin_bottom = 27.0 diff --git a/addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn b/addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn new file mode 100644 index 0000000..7c7de0b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn @@ -0,0 +1,95 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ConditionTypePicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionPicker.gd" type="Script" id=4] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=5] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 10.0 +content_margin_right = 10.0 +content_margin_top = 5.0 +content_margin_bottom = 5.0 +bg_color = Color( 0.12549, 0.141176, 0.192157, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.0980392, 0.113725, 0.152941, 1 ) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[node name="ConditionPicker" type="VBoxContainer"] +margin_left = -1.0 +margin_right = 430.0 +margin_bottom = 24.0 +size_flags_vertical = 4 +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 473.0 +margin_bottom = 27.0 +size_flags_vertical = 3 + +[node name="HasCondition" type="HBoxContainer" parent="HBox"] +margin_right = 89.0 +margin_bottom = 27.0 +size_flags_vertical = 3 + +[node name="UseCondition" type="CheckBox" parent="HBox/HasCondition"] +margin_right = 89.0 +margin_bottom = 27.0 +size_flags_vertical = 7 +text = "Condition" + +[node name="Values" type="HBoxContainer" parent="HBox"] +margin_left = 93.0 +margin_right = 473.0 +margin_bottom = 27.0 + +[node name="Label2" parent="HBox/Values" instance=ExtResource( 5 )] +margin_top = 6.0 +margin_right = 9.0 +margin_bottom = 20.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "If" + +[node name="DefinitionPicker" parent="HBox/Values" instance=ExtResource( 1 )] +margin_left = 13.0 +margin_top = 1.0 +margin_right = 115.0 +margin_bottom = 25.0 + +[node name="Label" parent="HBox/Values" instance=ExtResource( 5 )] +margin_left = 119.0 +margin_top = 6.0 +margin_right = 130.0 +margin_bottom = 20.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "is" + +[node name="ConditionTypePicker" parent="HBox/Values" instance=ExtResource( 2 )] +margin_left = 134.0 +margin_right = 232.0 +margin_bottom = 27.0 + +[node name="Control" type="Control" parent="HBox/Values"] +margin_left = 236.0 +margin_right = 246.0 +margin_bottom = 27.0 +rect_min_size = Vector2( 10, 0 ) + +[node name="Value" parent="HBox/Values" instance=ExtResource( 3 )] +margin_left = 250.0 +margin_right = 380.0 +margin_bottom = 27.0 +custom_styles/read_only = SubResource( 1 ) +custom_styles/focus = SubResource( 1 ) +custom_styles/normal = SubResource( 1 ) +text = "text" diff --git a/addons/dialogic/Editor/Events/Parts/Logic/ConditionPickerOld.gd b/addons/dialogic/Editor/Events/Parts/Logic/ConditionPickerOld.gd new file mode 100644 index 0000000..d8df8f4 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/ConditionPickerOld.gd @@ -0,0 +1,58 @@ +tool +extends MenuButton + +var options = [ + { + "text": "[ Equal to ]", + "condition": "==" + }, + { + "text": "[ Different from ]", + "condition": "!=" + }, + { + "text": "[ Greater than ]", + "condition": ">" + }, + { + "text": "[ Greater or equal to ]", + "condition": ">=" + }, + { + "text": "[ Less than ]", + "condition": "<" + }, + { + "text": "[ Less or equal to ]", + "condition": "<=" + } +] + +func _ready(): + get_popup().connect("index_pressed", self, '_on_entry_selected') + get_popup().clear() + connect("about_to_show", self, "_on_MenuButton_about_to_show") + + +func _on_MenuButton_about_to_show(): + get_popup().clear() + var index = 0 + for o in options: + get_popup().add_item(o['text']) + get_popup().set_item_metadata(index, o) + index += 1 + + +func _on_entry_selected(index): + var _text = get_popup().get_item_text(index) + var metadata = get_popup().get_item_metadata(index) + text = _text + + +func load_condition(condition): + if condition != '': + for o in options: + if (o['condition'] == condition): + text = o['text'] + else: + text = options[0]['text'] diff --git a/addons/dialogic/Editor/Events/Parts/Logic/ConditionTypePicker.tscn b/addons/dialogic/Editor/Events/Parts/Logic/ConditionTypePicker.tscn new file mode 100644 index 0000000..91b1788 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/ConditionTypePicker.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionTypePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=2] + +[node name="ConditionTypePicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MenuButton" parent="." instance=ExtResource( 2 )] +margin_right = 98.0 +margin_bottom = 24.0 diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ChoicePicker.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ChoicePicker.gd new file mode 100644 index 0000000..bd4a349 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ChoicePicker.gd @@ -0,0 +1,47 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var input_field = $HBox/ChoiceText +onready var condition_picker = $ConditionPicker + +# used to connect the signals +func _ready(): + # e.g. + input_field.connect("text_changed", self, "_on_ChoiceText_text_changed") + condition_picker.connect("data_changed", self, "_on_ConditionPicker_data_changed") + condition_picker.connect("remove_warning", self, "emit_signal", ["remove_warning"]) + condition_picker.connect("set_warning", self, "set_warning") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + input_field.text = event_data['choice'] + + # Loading the data on the selectors + condition_picker.load_data(event_data) + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +func _on_ChoiceText_text_changed(text): + event_data['choice'] = text + + # informs the parent about the changes! + data_changed() + +func _on_ConditionPicker_data_changed(data): + event_data = data + + data_changed() + +func set_warning(text): + emit_signal("set_warning", text) diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionPicker.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionPicker.gd new file mode 100644 index 0000000..92e4129 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionPicker.gd @@ -0,0 +1,85 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +onready var enabled_view = $HBox/Values +onready var definition_picker = $HBox/Values/DefinitionPicker +onready var condition_type_picker = $HBox/Values/ConditionTypePicker +onready var value_input = $HBox/Values/Value + +onready var optional_view = $HBox/HasCondition +onready var use_condition_check = $HBox/HasCondition/UseCondition + +# used to connect the signals +func _ready(): + definition_picker.connect("data_changed", self, '_on_DefinitionPicker_data_changed') + + condition_type_picker.connect("data_changed", self, '_on_ConditionTypePicker_data_changed') + + value_input.connect("text_changed", self, "_on_Value_text_changed") + + use_condition_check.connect("toggled", self, "_on_UseCondition_toggled") + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Loading the data on the selectors + definition_picker.load_data(data) + condition_type_picker.load_data(data) + value_input.text = data['value'] + + if data['event_id'] == 'dialogic_011': + optional_view.show() + if data['definition'] == '': # Checking if definition is selected + use_condition_check.pressed = false + enabled_view.hide() + else: + use_condition_check.pressed = true + enabled_view.show() + else: + optional_view.hide() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +func _on_UseCondition_toggled(checkbox_value): + enabled_view.visible = checkbox_value + if checkbox_value == false: + event_data['definition'] = '' + event_data['condition'] = '' + event_data['value'] = '' + + data_changed() + +func _on_DefinitionPicker_data_changed(data): + event_data = data + + data_changed() + +func _on_ConditionTypePicker_data_changed(data): + event_data = data + check_data() + data_changed() + + # Focusing the value input + value_input.call_deferred('grab_focus') + +func _on_Value_text_changed(text): + event_data['value'] = text + check_data() + + data_changed() + +func check_data(): +# if event_data['condition'] != '==' and event_data['condition'] != '!=' and event_data['condition'] != '': +# if not event_data['value'].is_valid_float(): +# emit_signal("set_warning", DTS.translate("The selected operator requires a number!")) +# return + + emit_signal("remove_warning") diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionTypePicker.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionTypePicker.gd new file mode 100644 index 0000000..8960ce8 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionTypePicker.gd @@ -0,0 +1,76 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +var options = [ + { + "text": "Equal to", + "condition": "==" + }, + { + "text": "Different from", + "condition": "!=" + }, + { + "text": "Greater than", + "condition": ">" + }, + { + "text": "Greater or equal to", + "condition": ">=" + }, + { + "text": "Less than", + "condition": "<" + }, + { + "text": "Less or equal to", + "condition": "<=" + } +] +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + # e.g. + picker_menu.get_popup().connect("index_pressed", self, '_on_PickerMenu_selected') + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + picker_menu.custom_icon = get_icon("GDScript", "EditorIcons") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + select_condition_type(data['condition']) + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func select_condition_type(condition): + if condition != '': + for o in options: + if (o['condition'] == condition): + picker_menu.text = o['text'] + else: + picker_menu.text = options[0]['text'] + +func _on_PickerMenu_selected(index): + event_data['condition'] = picker_menu.get_popup().get_item_metadata(index).get('condition', '') + + select_condition_type(event_data['condition']) + + # informs the parent about the changes! + data_changed() + +func _on_PickerMenu_about_to_show(): + picker_menu.get_popup().clear() + var index = 0 + for o in options: + picker_menu.get_popup().add_item(o['text']) + picker_menu.get_popup().set_item_metadata(index, o) + index += 1 diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_GoToSelector.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_GoToSelector.gd new file mode 100644 index 0000000..1d7e96d --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_GoToSelector.gd @@ -0,0 +1,57 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + picker_menu.get_popup().connect("index_pressed", self, '_on_PickerMenu_selected') + find_parent("TimelineEditor").connect("timeline_loaded", self, "update") + picker_menu.custom_icon = load("res://addons/dialogic/Images/Event Icons/label.svg") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + update() + +func update(): + if event_data['anchor_id'] == "": + picker_menu.text = "Select label" + else: + var anchors = find_parent('TimelineEditor').get_current_events_anchors() + if event_data['anchor_id'] in anchors.keys(): + picker_menu.text = anchors[event_data['anchor_id']] + else: + picker_menu.text = "Label not found" + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +func _on_PickerMenu_about_to_show(): + picker_menu.get_popup().clear() + + var anchors = find_parent('TimelineEditor').get_current_events_anchors() + var index = 0 + for id in anchors.keys(): + picker_menu.get_popup().add_item(anchors[id]) + picker_menu.get_popup().set_item_metadata(index, {'id':id}) + index += 1 + +func _on_PickerMenu_selected(index): + var text = picker_menu.get_popup().get_item_text(index) + var metadata = picker_menu.get_popup().get_item_metadata(index) + + picker_menu.text = text + + event_data['anchor_id'] = metadata['id'] + + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_LabelSetter.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_LabelSetter.gd new file mode 100644 index 0000000..08fce6a --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_LabelSetter.gd @@ -0,0 +1,38 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var input_field = $NameInput +onready var new_id = $NewIdButton + +# used to connect the signals +func _ready(): + input_field.connect("text_changed", self, "_on_InputField_text_changed") + new_id.icon = get_icon("RotateRight", "EditorIcons") + new_id.connect("pressed", self, "new_id") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + if data['id'] == null: + new_id() + input_field.text = event_data['name'] + + new_id.hint_tooltip = "Change to a new unique ID. \nOnly do this if you have a duplicate id in this timeline! \nWill break existing links. \n\nCurrent ID: "+data['id'] + +func new_id(): + event_data['id'] = 'anchor-' + str(OS.get_unix_time()) + + new_id.hint_tooltip = "Change to a new unique ID. \nOnly do this if you have a duplicate id in this timeline! \nWill break existing links. \n\nCurrent ID: "+event_data['id'] + data_changed() + +func _on_InputField_text_changed(text): + event_data['name'] = text + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_OperationPicker.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_OperationPicker.gd new file mode 100644 index 0000000..16b082b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_OperationPicker.gd @@ -0,0 +1,71 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +var options = [ + { + "text": "to be", + "operation": "=" + }, + { + "text": "to itself plus", + "operation": "+" + }, + { + "text": "to itself minus", + "operation": "-" + }, + { + "text": "to itself multiplied by", + "operation": "*" + }, + { + "text": "to itself divided by", + "operation": "/" + }, +] + +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + picker_menu.get_popup().connect("index_pressed", self, '_on_PickerMenu_selected') + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + picker_menu.custom_icon = get_icon("GDScript", "EditorIcons") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + select_operation() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func select_operation(): + for o in options: + if (o['operation'] == event_data['operation']): + picker_menu.text = o['text'] + + +func _on_PickerMenu_selected(index): + event_data['operation'] = picker_menu.get_popup().get_item_metadata(index).get('operation') + + select_operation() + + # informs the parent about the changes! + data_changed() + +func _on_PickerMenu_about_to_show(): + picker_menu.get_popup().clear() + + var index = 0 + for o in options: + picker_menu.get_popup().add_item(o['text']) + picker_menu.get_popup().set_item_metadata(index, o) + index += 1 diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd new file mode 100644 index 0000000..1ea04a5 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd @@ -0,0 +1,53 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var slot_picker = $MenuButton +onready var custom_slot = $CustomSlot + +# used to connect the signals +func _ready(): + custom_slot.connect("text_changed", self, '_on_CustomSlot_text_changed') + slot_picker.get_popup().connect("index_pressed", self, "on_SlotPicker_index_pressed") + slot_picker.get_popup().clear() + slot_picker.get_popup().add_icon_item(get_icon("Save", "EditorIcons"), "Default slot") + slot_picker.get_popup().add_icon_item(get_icon("Tools", "EditorIcons"), "Custom slot") + slot_picker.custom_icon = get_icon("Save", "EditorIcons") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + if event_data.get('use_default_slot', true): + slot_picker.text = "Default slot" + else: + slot_picker.text = "Custom slot" + custom_slot.text = event_data.get('custom_slot', '') + + custom_slot.visible = not event_data.get('use_default_slot', true) + +func on_SlotPicker_index_pressed(index): + event_data['use_default_slot'] = index == 0 + + # Now update the ui nodes to display the data. + if event_data.get('use_default_slot', true): + slot_picker.text = "Default slot" + else: + slot_picker.text = "Custom slot" + custom_slot.text = event_data.get('custom_slot', '') + + custom_slot.visible = not event_data.get('use_default_slot', true) + + # informs the parent about the changes! + data_changed() + + +func _on_CustomSlot_text_changed(text): + event_data['custom_slot'] = text + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.tscn b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.tscn new file mode 100644 index 0000000..6fcd516 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=4] + +[node name="EventPart_Save" type="HBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +custom_constants/separation = 9 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label2" parent="." instance=ExtResource( 4 )] +margin_top = 13.0 +margin_right = 13.0 +margin_bottom = 27.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "to" + +[node name="MenuButton" parent="." instance=ExtResource( 3 )] +margin_left = 22.0 +margin_top = 9.0 +margin_right = 116.0 +margin_bottom = 31.0 + +[node name="CustomSlot" parent="." instance=ExtResource( 1 )] +margin_left = 125.0 +margin_top = 6.0 +margin_right = 255.0 +margin_bottom = 33.0 +hint_tooltip = "Also allows for value definitions like this: [my_value_name]" diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_SetValuePicker.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_SetValuePicker.gd new file mode 100644 index 0000000..7d58614 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_SetValuePicker.gd @@ -0,0 +1,99 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var input_feature = $HBox/InputValue +onready var input_field = $HBox/InputValue/InputField +onready var definition_picker = $HBox/DefinitionPicker +onready var operation_picker = $HBox/OperationPicker + +onready var random_enabled_button = $HBox/RandomEnabled +onready var random_features = $HBox/RandomValue +onready var random_lower_limit = $HBox/RandomValue/LowerLimit +onready var random_upper_limit = $HBox/RandomValue/UpperLimit + +# used to connect the signals +func _ready(): + input_field.connect("text_changed", self, "_on_InputField_text_changed") + definition_picker.connect("data_changed", self, "_on_DefintionPicker_data_changed") + operation_picker.connect("data_changed", self, "_on_OperationPicker_data_changed") + + random_enabled_button.icon = get_icon("MaterialPreviewCube", "EditorIcons") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + input_field.text = event_data['set_value'] + definition_picker.load_data(data) + operation_picker.load_data(data) + + switch_random_features(data.get('set_random', false)) + + random_lower_limit.value = data.get("random_lower_limit", 0) + random_upper_limit.value = data.get("random_upper_limit", 100) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func check_data(): + if event_data['operation'] != '=': + if not event_data['set_value'].is_valid_float(): + emit_signal("set_warning", editor_reference.dialogicTranslator.translate("The selected operator requires a number!")) + return + + emit_signal("remove_warning") + +func _on_InputField_text_changed(text): + event_data['set_value'] = text + + operation_picker.load_data(event_data) + definition_picker.load_data(event_data) + + check_data() + + # informs the parent about the changes! + data_changed() + +func _on_DefintionPicker_data_changed(data): + event_data = data + + operation_picker.load_data(data) + + # informs the parent about the changes! + data_changed() + +func _on_OperationPicker_data_changed(data): + event_data = data + + definition_picker.load_data(data) + + check_data() + + # informs the parent about the changes! + data_changed() + +func switch_random_features(enabled): + random_features.visible = enabled + input_feature.visible = !enabled + random_enabled_button.pressed = enabled + event_data['set_random'] = enabled + + +func _on_LowerLimit_value_changed(value): + event_data['random_lower_limit'] = value + + data_changed() + +func _on_UpperLimit_value_changed(value): + event_data['random_upper_limit'] = value + + data_changed() + +func _on_RandomEnabled_toggled(button_pressed): + switch_random_features(button_pressed) diff --git a/addons/dialogic/Editor/Events/Parts/Logic/GoTo Selector.tscn b/addons/dialogic/Editor/Events/Parts/Logic/GoTo Selector.tscn new file mode 100644 index 0000000..1d7d531 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/GoTo Selector.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_GoToSelector.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=3] + +[node name="GoTo Selector" type="HBoxContainer"] +margin_right = 129.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" parent="." instance=ExtResource( 3 )] +margin_right = 31.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "label" + +[node name="MenuButton" parent="." instance=ExtResource( 2 )] +margin_left = 35.0 +margin_right = 129.0 diff --git a/addons/dialogic/Editor/Events/Parts/Logic/LabelSetter.tscn b/addons/dialogic/Editor/Events/Parts/Logic/LabelSetter.tscn new file mode 100644 index 0000000..1b0f685 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/LabelSetter.tscn @@ -0,0 +1,33 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_LabelSetter.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=3] + +[node name="AnchorSetter" type="HBoxContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -723.0 +margin_bottom = -573.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NameInput" parent="." instance=ExtResource( 1 )] +margin_right = 130.0 +margin_bottom = 27.0 + +[node name="Label" parent="." instance=ExtResource( 3 )] +margin_left = 134.0 +margin_top = 6.0 +margin_right = 182.0 +margin_bottom = 20.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = " is here" + +[node name="NewIdButton" type="ToolButton" parent="."] +margin_left = 186.0 +margin_right = 198.0 +margin_bottom = 27.0 +hint_tooltip = "Change to a new unique ID. Only do this if you have a duplicate id in this timeline!" diff --git a/addons/dialogic/Editor/Events/Parts/Logic/OperationPicker.tscn b/addons/dialogic/Editor/Events/Parts/Logic/OperationPicker.tscn new file mode 100644 index 0000000..8477a7b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/OperationPicker.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_OperationPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=2] + +[node name="OperationPicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_vertical = 4 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MenuButton" parent="." instance=ExtResource( 2 )] diff --git a/addons/dialogic/Editor/Events/Parts/Logic/SetValuePicker.tscn b/addons/dialogic/Editor/Events/Parts/Logic/SetValuePicker.tscn new file mode 100644 index 0000000..db92f59 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/SetValuePicker.tscn @@ -0,0 +1,123 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/OperationPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_SetValuePicker.gd" type="Script" id=4] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=5] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[node name="SetValuePicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_vertical = 4 +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 726.0 +margin_bottom = 27.0 + +[node name="DefinitionPicker" parent="HBox" instance=ExtResource( 3 )] +margin_top = 2.0 +margin_right = 98.0 +margin_bottom = 24.0 + +[node name="OperationPicker" parent="HBox" instance=ExtResource( 1 )] +margin_left = 102.0 +margin_top = 2.0 +margin_right = 196.0 +margin_bottom = 24.0 + +[node name="InputValue" type="HBoxContainer" parent="HBox"] +margin_left = 200.0 +margin_right = 344.0 +margin_bottom = 27.0 + +[node name="Spacer" type="Control" parent="HBox/InputValue"] +margin_right = 10.0 +margin_bottom = 27.0 +rect_min_size = Vector2( 10, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="InputField" parent="HBox/InputValue" instance=ExtResource( 2 )] +margin_left = 14.0 +margin_right = 144.0 +margin_bottom = 27.0 + +[node name="RandomValue" type="HBoxContainer" parent="HBox"] +margin_left = 348.0 +margin_right = 680.0 +margin_bottom = 27.0 +custom_constants/separation = 5 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" parent="HBox/RandomValue" instance=ExtResource( 5 )] +margin_top = 6.0 +margin_right = 156.0 +margin_bottom = 20.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = " a random number from" + +[node name="LowerLimit" type="SpinBox" parent="HBox/RandomValue"] +margin_left = 161.0 +margin_right = 235.0 +margin_bottom = 27.0 +allow_greater = true +allow_lesser = true + +[node name="Label2" parent="HBox/RandomValue" instance=ExtResource( 5 )] +margin_left = 240.0 +margin_top = 6.0 +margin_right = 253.0 +margin_bottom = 20.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "to" + +[node name="UpperLimit" type="SpinBox" parent="HBox/RandomValue"] +margin_left = 258.0 +margin_right = 332.0 +margin_bottom = 27.0 +allow_greater = true +allow_lesser = true + +[node name="Spacer" type="Control" parent="HBox"] +margin_left = 684.0 +margin_right = 694.0 +margin_bottom = 27.0 +rect_min_size = Vector2( 10, 0 ) + +[node name="RandomEnabled" type="Button" parent="HBox"] +self_modulate = Color( 1, 1, 1, 0.501961 ) +margin_left = 698.0 +margin_right = 726.0 +margin_bottom = 27.0 +hint_tooltip = "Set to a random integer" +focus_mode = 0 +toggle_mode = true +icon = SubResource( 3 ) +flat = true + +[connection signal="value_changed" from="HBox/RandomValue/LowerLimit" to="." method="_on_LowerLimit_value_changed"] +[connection signal="value_changed" from="HBox/RandomValue/UpperLimit" to="." method="_on_UpperLimit_value_changed"] +[connection signal="toggled" from="HBox/RandomEnabled" to="." method="_on_RandomEnabled_toggled"] diff --git a/addons/dialogic/Editor/Events/Parts/NoSkip/EventPart_NoSkip.gd b/addons/dialogic/Editor/Events/Parts/NoSkip/EventPart_NoSkip.gd new file mode 100644 index 0000000..f9b2e17 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/NoSkip/EventPart_NoSkip.gd @@ -0,0 +1,35 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var noskip_selector = $HBoxContainer/NoSkipCheckbox +onready var autoadvance_time = $HBoxContainer2/AutoAdvanceTime + +# used to connect the signals +func _ready(): + autoadvance_time.connect("value_changed", self, "_on_SecondsSelector_value_changed") + noskip_selector.connect("toggled", self, "_on_HideDialogBox_toggled") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + autoadvance_time.value = event_data['wait_time'] + noskip_selector.pressed = event_data.get('block_input', true) + + +func _on_SecondsSelector_value_changed(value): + event_data['wait_time'] = value + data_changed() + + +func _on_HideDialogBox_toggled(checkbox_value): + event_data['block_input'] = checkbox_value + data_changed() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' diff --git a/addons/dialogic/Editor/Events/Parts/NoSkip/NoSkipPart.tscn b/addons/dialogic/Editor/Events/Parts/NoSkip/NoSkipPart.tscn new file mode 100644 index 0000000..a58a386 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/NoSkip/NoSkipPart.tscn @@ -0,0 +1,56 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/NoSkip/EventPart_NoSkip.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=3] + +[node name="VBoxContainer" type="VBoxContainer"] +size_flags_vertical = 4 +theme = ExtResource( 3 ) +script = ExtResource( 1 ) + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +margin_right = 392.0 +margin_bottom = 31.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" parent="HBoxContainer" instance=ExtResource( 2 )] +margin_top = 0.0 +margin_right = 243.0 +margin_bottom = 31.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Ignore input and auto advance dialog? +until an unchecked No Skip is reached" + +[node name="NoSkipCheckbox" type="CheckBox" parent="HBoxContainer"] +margin_left = 368.0 +margin_right = 392.0 +margin_bottom = 31.0 +size_flags_horizontal = 10 + +[node name="HSeparator" type="HSeparator" parent="."] +margin_top = 35.0 +margin_right = 392.0 +margin_bottom = 39.0 + +[node name="HBoxContainer2" type="HBoxContainer" parent="."] +margin_top = 43.0 +margin_right = 392.0 +margin_bottom = 67.0 + +[node name="Label2" parent="HBoxContainer2" instance=ExtResource( 2 )] +margin_top = 5.0 +margin_right = 312.0 +margin_bottom = 19.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Default wait time after dialog finishes in seconds" + +[node name="AutoAdvanceTime" type="SpinBox" parent="HBoxContainer2"] +margin_left = 316.0 +margin_right = 392.0 +margin_bottom = 24.0 +min_value = 2.0 +max_value = 50.0 +value = 2.0 diff --git a/addons/dialogic/Editor/Events/Parts/Numbers/EventPart_TransitonLengthPicker.gd b/addons/dialogic/Editor/Events/Parts/Numbers/EventPart_TransitonLengthPicker.gd new file mode 100644 index 0000000..3911251 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Numbers/EventPart_TransitonLengthPicker.gd @@ -0,0 +1,29 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var number_box = $HBox/NumberBox + +# used to connect the signals +func _ready(): + number_box.connect("value_changed", self, "_on_NumberBox_value_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + number_box.value = event_data['transition_duration'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_NumberBox_value_changed(value): + event_data['transition_duration'] = value + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn b/addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn new file mode 100644 index 0000000..a5eccfc --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Numbers/EventPart_TransitonLengthPicker.gd" type="Script" id=2] + +[node name="TransitonLengthPicker" type="VBoxContainer"] +margin_right = 195.0 +margin_bottom = 24.0 +size_flags_vertical = 3 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 195.0 +margin_bottom = 24.0 +size_flags_vertical = 3 + +[node name="NameLabel" type="Label" parent="HBox"] +margin_top = 5.0 +margin_right = 117.0 +margin_bottom = 19.0 +text = "Fade-out duration:" + +[node name="NumberBox" type="SpinBox" parent="HBox"] +margin_left = 121.0 +margin_right = 195.0 +margin_bottom = 24.0 +size_flags_vertical = 6 +step = 0.1 +value = 1.0 +allow_greater = true +align = 1 +script = ExtResource( 1 ) diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn new file mode 100644 index 0000000..2e0187b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn @@ -0,0 +1,39 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PortraitPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterAndPortraitPicker.gd" type="Script" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn" type="PackedScene" id=4] + +[node name="CharacterAndPortraitPicker" type="VBoxContainer"] +margin_right = 305.0 +margin_bottom = 48.0 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 305.0 +margin_bottom = 48.0 +size_flags_vertical = 3 +custom_constants/separation = 5 + +[node name="CharacterPicker" parent="HBox" instance=ExtResource( 2 )] +margin_top = 9.0 +margin_right = 95.0 +margin_bottom = 39.0 + +[node name="PortraitPicker" parent="HBox" instance=ExtResource( 1 )] +visible = false +margin_left = 100.0 +margin_top = 13.0 +margin_right = 264.0 +margin_bottom = 35.0 + +[node name="DefinitionPicker" parent="HBox" instance=ExtResource( 4 )] +visible = false +margin_left = 100.0 +margin_top = 13.0 +margin_right = 198.0 +margin_bottom = 35.0 diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn new file mode 100644 index 0000000..6065cb0 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn @@ -0,0 +1,53 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterPicker.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Theme/PickerTheme.tres" type="Theme" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=4] + +[node name="CharacterPicker" type="VBoxContainer"] +margin_right = 161.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 0, 30 ) +size_flags_vertical = 4 +theme = ExtResource( 3 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 161.0 +margin_bottom = 30.0 +size_flags_vertical = 3 +custom_constants/separation = 5 + +[node name="MenuButton" parent="HBox" instance=ExtResource( 4 )] +margin_top = 4.0 +margin_right = 95.0 +margin_bottom = 26.0 +text = "Character" + +[node name="NoCharacterContainer" type="HBoxContainer" parent="."] +visible = false +margin_top = 26.0 +margin_right = 399.0 +margin_bottom = 46.0 + +[node name="NoCharacterLabel1" type="Label" parent="NoCharacterContainer"] +margin_top = 3.0 +margin_right = 261.0 +margin_bottom = 17.0 +text = "You haven't created a character yet. Click" + +[node name="NoCharacterButton" type="Button" parent="NoCharacterContainer"] +margin_left = 265.0 +margin_right = 306.0 +margin_bottom = 20.0 +text = "here" + +[node name="NoCharacterLabel2" type="Label" parent="NoCharacterContainer"] +margin_left = 310.0 +margin_top = 3.0 +margin_right = 399.0 +margin_bottom = 17.0 +text = "to create one." diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterAndPortraitPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterAndPortraitPicker.gd new file mode 100644 index 0000000..69c5278 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterAndPortraitPicker.gd @@ -0,0 +1,78 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + + +## node references +onready var character_picker = $HBox/CharacterPicker +onready var portrait_picker = $HBox/PortraitPicker +onready var definition_picker = $HBox/DefinitionPicker + +# used to connect the signals +func _ready(): + if DialogicUtil.get_character_list().size() == 0: + hide() + character_picker.connect("data_changed", self, "_on_CharacterPicker_data_changed") + portrait_picker.connect("data_changed", self, "_on_PortraitPicker_data_changed") + definition_picker.connect("data_changed", self, "_on_DefinitionPicker_data_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + portrait_picker.load_data(data) + character_picker.load_data(data) + + portrait_picker.visible = get_character_data() and len(get_character_data()['portraits']) > 1 + + if data['event_id'] == 'dialogic_002': + if data.get('type', 0) != 1: # FOR JOIN AND UPDATE: + var has_port_defn = data['portrait'] == '[Definition]' + if portrait_picker.visible and has_port_defn and data.has('port_defn'): + definition_picker.load_data({ 'definition': data['port_defn'] }) + definition_picker.visible = has_port_defn + else: + portrait_picker.hide() + definition_picker.hide() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +func get_character_data(): + for ch in DialogicUtil.get_character_list(): + if ch['file'] == event_data['character']: + return ch + + +func _on_CharacterPicker_data_changed(data): + event_data = data + + # update the portrait picker data + portrait_picker.load_data(data) + portrait_picker.visible = get_character_data() and len(get_character_data()['portraits']) > 1 + if !portrait_picker.visible: + definition_picker.hide() + + # informs the parent about the changes! + data_changed() + + +func _on_PortraitPicker_data_changed(data): + event_data = data + + # update the portrait picker data + character_picker.load_data(data) + definition_picker.visible = event_data['portrait'] == '[Definition]' + + # informs the parent about the changes! + data_changed() + + +func _on_DefinitionPicker_data_changed(data): + event_data['port_defn'] = data['definition'] + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterPicker.gd new file mode 100644 index 0000000..0e49466 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterPicker.gd @@ -0,0 +1,156 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +export (bool) var allow_no_character := false + +## node references +onready var picker_menu = $HBox/MenuButton +onready var no_character_button = $NoCharacterContainer/NoCharacterButton +onready var no_character_container = $NoCharacterContainer + +# theme +var no_character_icon +var all_characters_icon +var single_character_icon + + +func _ready(): + if DialogicUtil.get_character_list().size() > 0: + picker_menu.show() + no_character_container.hide() + else: + picker_menu.hide() + no_character_container.show() + var editor_reference = find_parent('EditorView') + no_character_button.connect('pressed', editor_reference.get_node('MainPanel/MasterTreeContainer/MasterTree'), 'new_character') + + # So... not having real events makes me do this kind of hacks + # I hope to improve how events work, but in the mean time + # this is what I have to do to get by :') + var event_node = get_node('../../../../../../../..') + if event_node.get_node_or_null('AllowNoCharacter'): + allow_no_character = true + no_character_container.hide()#We dont want the button on text events + + # Connections + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + + # Themeing + no_character_icon = get_icon("GuiRadioUnchecked", "EditorIcons") + all_characters_icon = get_icon("GuiEllipsis", "EditorIcons") + single_character_icon = load("res://addons/dialogic/Images/Resources/character.svg") + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + allow_no_character = data['event_id'] != 'dialogic_002' + # Now update the ui nodes to display the data. + update_to_character() + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +# helper to not have the same code everywhere +func update_to_character(): + if event_data['character'] != '': + if event_data['character'] == '[All]': + picker_menu.text = "All characters" + picker_menu.reset_modulation() + picker_menu.custom_icon = all_characters_icon + else: + for ch in DialogicUtil.get_character_list(): + if ch['file'] == event_data['character']: + picker_menu.text = ch['name'] + picker_menu.custom_icon_modulation = ch['color'] + picker_menu.custom_icon = single_character_icon + else: + if allow_no_character: + picker_menu.text = 'No Character' + picker_menu.custom_icon = no_character_icon + else: + picker_menu.text = 'Select Character' + picker_menu.custom_icon = single_character_icon + picker_menu.reset_modulation() + +# when an index is selected on one of the menus. +func _on_PickerMenu_selected(index, menu): + var metadata = menu.get_item_metadata(index) + if event_data['character'] != metadata.get('file',''): + if event_data.get('event_id') == 'dialogic_002': + if event_data.get('type') == 0: + event_data['portrait'] = 'Default' + elif event_data.get('type') == 2: + event_data['portrait'] = "(Don't change)" + event_data['character'] = metadata.get('file','') + + update_to_character() + + # informs the parent about the changes! + data_changed() + + +func _on_PickerMenu_about_to_show(): + build_PickerMenu() + + +func build_PickerMenu(): + picker_menu.get_popup().clear() + var folder_structure = DialogicUtil.get_characters_folder_structure() + + ## building the root level + build_PickerMenuFolder(picker_menu.get_popup(), folder_structure, "MenuButton") + + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + + ## THIS IS JUST FOR THE ROOT FOLDER + if menu == picker_menu.get_popup(): + if event_data.get('event_id', 'dialogic_001') != 'dialogic_002': + menu.add_item('No character') + menu.set_item_metadata(index, {'file':''}) + menu.set_item_icon(index, no_character_icon) + index += 1 + + # in case this is a leave event + if event_data.get('type', 0) == 1: + menu.add_item('All characters') + menu.set_item_metadata(index, {'file': '[All]'}) + menu.set_item_icon(index, all_characters_icon) + index += 1 + + + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + index += 1 + + # give it the right style + picker_menu.update_submenu_style(submenu) + + var files_info = DialogicUtil.get_characters_dict() + for file in folder_structure['files']: + menu.add_item(files_info[file]['name']) + # this doesn't work right now, because it doesn't have the editor_reference. Would be nice though + #menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").character_icon) + menu.set_item_icon(index, single_character_icon) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_PickerMenu_selected"): + menu.connect("index_pressed", self, '_on_PickerMenu_selected', [menu]) + + return current_folder_name diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PortraitPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PortraitPicker.gd new file mode 100644 index 0000000..4cdf032 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PortraitPicker.gd @@ -0,0 +1,170 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +export (bool) var allow_dont_change := true +export (bool) var allow_definition := true + +## node references +onready var picker_menu = $HBox/MenuButton +onready var preview = $Preview/PreviewContainer +onready var preview_title = preview.get_node("VBox/Title") +onready var preview_texture = preview.get_node("VBox/TextureRect") +var current_hovered = null + +var character_data = null + +# theme +var no_change_icon +var definition_icon +var portrait_icon + + +# used to connect the signals +func _ready(): + picker_menu.get_popup().connect("index_pressed", self, '_on_PickerMenu_selected') + picker_menu.get_popup().connect("gui_input", self, "popup_gui_input") + picker_menu.get_popup().connect("mouse_exited", self, "mouse_exited_popup") + picker_menu.get_popup().connect("popup_hide", self, "mouse_exited_popup") + + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + preview_title.set('custom_fonts/font', get_font("title", "EditorFonts")) + preview.set('custom_styles/panel', get_stylebox("panel", "PopupMenu")) + + # Themeing + no_change_icon = get_icon("GuiRadioUnchecked", "EditorIcons") + definition_icon = load("res://addons/dialogic/Images/Resources/definition.svg") + portrait_icon = load("res://addons/dialogic/Images/Event Icons/Portrait.svg") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + allow_dont_change = event_data['event_id'] != 'dialogic_002' or (event_data['event_id'] == 'dialogic_002' and int(event_data.get('type', 0)) == 2) + + if event_data['event_id'] == 'dialogic_002' and event_data['type'] == 2: + $HBox/Label.text = "to portrait" + else: + $HBox/Label.text = "with portrait" + + # Now update the ui nodes to display the data. + if event_data.get('portrait', '').empty(): + # if this is a text/question event or character event in update mode + if allow_dont_change: + picker_menu.text = "(Don't change)" + picker_menu.custom_icon = no_change_icon + else: + picker_menu.text = "Default" + picker_menu.custom_icon = portrait_icon + else: + if event_data['portrait'] == "[Definition]": + picker_menu.text = "[Value]" + picker_menu.custom_icon = definition_icon + else: + picker_menu.text = event_data['portrait'] + picker_menu.custom_icon = portrait_icon + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_PickerMenu_selected(index): + if index == 0 and allow_dont_change: + event_data['portrait'] = "(Don't change)" + picker_menu.custom_icon = no_change_icon + elif allow_definition and ((allow_dont_change and index == 1) or index == 0): + event_data['portrait'] = "[Definition]" + picker_menu.custom_icon = definition_icon + else: + event_data['portrait'] = picker_menu.get_popup().get_item_text(index) + picker_menu.custom_icon = portrait_icon + # TODO in 2.0 + if event_data['portrait'] == "[Definition]": + picker_menu.text = "[Value]" + else: + picker_menu.text = event_data['portrait'] + + # informs the parent about the changes! + data_changed() + +func get_character_data(): + for ch in DialogicUtil.get_character_list(): + if ch['file'] == event_data['character']: + return ch + +func _on_PickerMenu_about_to_show(): + character_data = get_character_data() + picker_menu.get_popup().clear() + var index = 0 + if allow_dont_change: + picker_menu.get_popup().add_item("(Don't change)") + picker_menu.get_popup().set_item_icon(index, no_change_icon) + index += 1 + if allow_definition: + picker_menu.get_popup().add_item("[Value]") + picker_menu.get_popup().set_item_icon(index, definition_icon) + index += 1 + if event_data['character']: + if character_data.has('portraits'): + for p in character_data['portraits']: + picker_menu.get_popup().add_item(p['name']) + picker_menu.get_popup().set_item_icon(index, portrait_icon) + index += 1 + +func popup_gui_input(event): + if event is InputEventMouseMotion: + if current_hovered != picker_menu.get_popup().get_current_index(): + current_hovered = picker_menu.get_popup().get_current_index() + + # hide if this is not a previewable portrait + # this isn't even an item + if current_hovered == -1: + preview.hide() + return + var idx_add = 0 + if allow_dont_change: + idx_add -= 1 + if current_hovered == 0: + preview.hide() + return + if allow_definition and current_hovered == 1: + preview.hide() + return + if allow_definition: + idx_add -= 1 + if not allow_dont_change and current_hovered == 0: + preview.hide() + return + + ## show the preview + preview.rect_position.x = picker_menu.get_popup().rect_size.x + 130 + var current = character_data['portraits'][current_hovered + idx_add] + preview_title.text = ' ' + current['name'] + preview_title.icon = null + if current['path']: + if current['path'].ends_with('.tscn'): + preview_texture.expand = false + var editor_reference = find_parent('EditorView') + if editor_reference and editor_reference.editor_interface: + editor_reference.editor_interface.get_resource_previewer().queue_resource_preview(current['path'], self, "show_scene_preview", null) + preview_title.icon = get_icon("PackedScene", "EditorIcons") + return + else: + preview_title.icon = get_icon("Sprite", "EditorIcons") + preview_texture.expand = true + preview_texture.texture = load(current['path']) + else: + preview_texture.texture = null + preview.show() + + +func mouse_exited_popup(): + preview.hide() + current_hovered = null + + +func show_scene_preview(path:String, preview:Texture, user_data): + if preview: + preview_texture.texture = preview diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PortraitPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PortraitPicker.tscn new file mode 100644 index 0000000..4d9fa1e --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PortraitPicker.tscn @@ -0,0 +1,115 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PortraitPicker.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=7] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 10, 0, 0, 0, 19, 0, 0, 0, 25, 0, 0, 0, 31, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0, 19, 0, 0, 0, 10, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, 22, 0, 0, 0, 39, 0, 0, 0, 53, 0, 0, 0, 63, 0, 0, 0, 69, 0, 0, 0, 70, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 63, 0, 0, 0, 53, 0, 0, 0, 39, 0, 0, 0, 22, 0, 0, 0, 10, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 19, 0, 0, 0, 39, 59, 59, 67, 148, 66, 66, 75, 245, 62, 62, 71, 250, 62, 62, 70, 251, 62, 62, 70, 251, 62, 62, 70, 251, 62, 62, 70, 251, 62, 62, 71, 250, 66, 66, 75, 245, 59, 59, 67, 148, 0, 0, 0, 39, 0, 0, 0, 19, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 25, 0, 0, 0, 53, 65, 65, 74, 245, 47, 47, 54, 255, 45, 45, 51, 255, 45, 45, 51, 255, 45, 45, 51, 255, 45, 45, 51, 255, 45, 45, 51, 255, 45, 45, 51, 255, 47, 47, 54, 255, 65, 65, 74, 245, 0, 0, 0, 53, 0, 0, 0, 25, 0, 0, 0, 8, 0, 0, 0, 10, 0, 0, 0, 31, 0, 0, 0, 64, 61, 61, 69, 252, 45, 45, 51, 255, 44, 44, 50, 255, 44, 44, 50, 255, 44, 44, 50, 255, 44, 44, 50, 255, 44, 44, 50, 255, 44, 44, 50, 255, 45, 45, 51, 255, 61, 61, 69, 252, 0, 0, 0, 64, 0, 0, 0, 31, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 34, 0, 0, 0, 69, 59, 59, 67, 251, 44, 44, 50, 255, 43, 43, 49, 255, 43, 43, 49, 255, 43, 43, 49, 255, 43, 43, 49, 255, 43, 43, 49, 255, 43, 43, 49, 255, 44, 44, 50, 255, 59, 59, 67, 251, 0, 0, 0, 69, 0, 0, 0, 34, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 35, 0, 0, 0, 70, 58, 58, 66, 251, 42, 42, 49, 255, 42, 42, 48, 255, 42, 42, 48, 255, 42, 42, 48, 255, 42, 42, 48, 255, 42, 42, 48, 255, 42, 42, 48, 255, 42, 42, 49, 255, 58, 58, 66, 251, 0, 0, 0, 70, 0, 0, 0, 35, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 35, 0, 0, 0, 70, 56, 56, 65, 251, 41, 41, 48, 255, 41, 41, 47, 255, 41, 41, 47, 255, 41, 41, 47, 255, 41, 41, 47, 255, 41, 41, 47, 255, 41, 41, 47, 255, 41, 41, 48, 255, 56, 56, 65, 251, 0, 0, 0, 70, 0, 0, 0, 35, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 34, 0, 0, 0, 69, 55, 55, 62, 251, 40, 40, 46, 255, 40, 40, 45, 255, 40, 40, 45, 255, 40, 40, 45, 255, 40, 40, 45, 255, 40, 40, 45, 255, 40, 40, 45, 255, 40, 40, 46, 255, 55, 55, 62, 251, 0, 0, 0, 69, 0, 0, 0, 34, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 31, 0, 0, 0, 64, 54, 54, 61, 252, 39, 39, 45, 255, 39, 39, 44, 255, 39, 39, 44, 255, 39, 39, 44, 255, 39, 39, 44, 255, 39, 39, 44, 255, 39, 39, 44, 255, 39, 39, 45, 255, 53, 53, 60, 252, 0, 0, 0, 64, 0, 0, 0, 31, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 26, 0, 0, 0, 53, 56, 56, 64, 245, 41, 41, 46, 255, 39, 39, 44, 255, 38, 38, 44, 255, 38, 38, 44, 255, 38, 38, 44, 255, 38, 38, 44, 255, 39, 39, 44, 255, 41, 41, 46, 255, 56, 56, 64, 246, 0, 0, 0, 53, 0, 0, 0, 26, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 19, 0, 0, 0, 39, 49, 49, 56, 149, 56, 56, 64, 245, 52, 52, 59, 250, 52, 52, 59, 251, 52, 52, 59, 251, 52, 52, 59, 251, 52, 52, 59, 251, 52, 52, 59, 250, 57, 57, 63, 244, 49, 49, 56, 148, 0, 0, 0, 39, 0, 0, 0, 19, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, 22, 0, 0, 0, 39, 0, 0, 0, 53, 0, 0, 0, 64, 0, 0, 0, 69, 0, 0, 0, 70, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 63, 0, 0, 0, 53, 0, 0, 0, 39, 0, 0, 0, 22, 0, 0, 0, 10, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 10, 0, 0, 0, 19, 0, 0, 0, 25, 0, 0, 0, 31, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0, 19, 0, 0, 0, 10, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0 ), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 7 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxTexture" id=3] +content_margin_left = 10.0 +content_margin_right = 10.0 +content_margin_top = 10.0 +content_margin_bottom = 10.0 +texture = SubResource( 2 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="Image" id=8] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 254, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 255, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 254, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 255, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 255, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 72, 255, 255, 255, 205, 255, 255, 255, 249, 255, 255, 255, 218, 255, 255, 255, 73, 255, 255, 255, 92, 255, 255, 255, 218, 255, 255, 255, 246, 255, 255, 255, 199, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 194, 255, 255, 255, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 203, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 152, 255, 255, 255, 193, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 202, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 98, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 219, 255, 255, 255, 217, 255, 255, 255, 12, 0, 0, 0, 0, 255, 255, 255, 94, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 217, 255, 255, 255, 55, 255, 255, 255, 20, 255, 255, 255, 156, 255, 255, 255, 243, 255, 255, 255, 201, 255, 255, 255, 44, 255, 255, 255, 23, 255, 255, 255, 179, 255, 255, 255, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 0, 0, 0, 0, 255, 255, 255, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 74, 255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 89, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 176, 255, 255, 255, 160, 255, 255, 255, 78, 0, 0, 0, 0, 255, 255, 255, 153, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 44, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 255, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 46, 255, 255, 255, 254, 255, 255, 255, 25, 0, 0, 0, 0, 255, 255, 255, 39, 255, 255, 255, 226, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 27, 0, 0, 0, 0, 255, 255, 255, 29, 255, 255, 255, 255, 255, 255, 255, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 227, 255, 255, 255, 4, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 213, 0, 0, 0, 0, 255, 255, 255, 143, 255, 255, 255, 106, 255, 255, 255, 96, 255, 255, 255, 151, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 97, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 96, 0, 0, 0, 0, 255, 255, 255, 103, 255, 255, 255, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 250, 255, 255, 255, 15, 255, 255, 255, 219, 255, 255, 255, 30, 255, 255, 255, 26, 255, 255, 255, 222, 255, 255, 255, 16, 255, 255, 255, 250, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 170, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 85, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 164, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 50, 255, 255, 255, 243, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 95, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 97, 255, 255, 255, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 239, 255, 255, 255, 9, 255, 255, 255, 242, 255, 255, 255, 17, 0, 0, 0, 0, 255, 255, 255, 23, 255, 255, 255, 230, 255, 255, 255, 5, 255, 255, 255, 242, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 196, 255, 255, 255, 134, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 139, 255, 255, 255, 199, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 239, 255, 255, 255, 103, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 91, 255, 255, 255, 234, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 250, 255, 255, 255, 42, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 255, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 166, 255, 255, 255, 201, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 199, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 255, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 244, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 251, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 251, 255, 255, 255, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 214, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 214, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 223, 255, 255, 255, 219, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 228, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 161, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 228, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 249, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 235, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 233, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 235, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 45, 255, 255, 255, 243, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 240, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 3, 255, 255, 255, 44, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 91, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 200, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 198, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 242, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 232, 255, 255, 255, 25, 255, 255, 255, 19, 255, 255, 255, 225, 255, 255, 255, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 235, 255, 255, 255, 100, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 220, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 220, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 120, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 109, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 153, 255, 255, 255, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 194, 255, 255, 255, 182, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 237, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 255, 255, 255, 223, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 204, 255, 255, 255, 66, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 233, 255, 255, 255, 3, 255, 255, 255, 3, 255, 255, 255, 234, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 228, 255, 255, 255, 234, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 29, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 227, 255, 255, 255, 69, 255, 255, 255, 205, 255, 255, 255, 1, 255, 255, 255, 91, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 205, 255, 255, 255, 127, 255, 255, 255, 216, 255, 255, 255, 225, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 255, 255, 255, 131, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 108, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 229, 255, 255, 255, 66, 255, 255, 255, 65, 255, 255, 255, 228, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 241, 255, 255, 255, 245, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 219, 255, 255, 255, 211, 255, 255, 255, 77, 255, 255, 255, 205, 255, 255, 255, 68, 255, 255, 255, 38, 255, 255, 255, 160, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 1, 255, 255, 255, 205, 255, 255, 255, 68, 255, 255, 255, 57, 255, 255, 255, 9, 255, 255, 255, 16, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 255, 255, 255, 37, 255, 255, 255, 225, 255, 255, 255, 2, 255, 255, 255, 1, 255, 255, 255, 213, 255, 255, 255, 17, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 139, 255, 255, 255, 143, 255, 255, 255, 145, 255, 255, 255, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 215, 255, 255, 255, 107, 255, 255, 255, 117, 255, 255, 255, 223, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 185, 255, 255, 255, 7, 255, 255, 255, 188, 255, 255, 255, 24, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 198, 255, 255, 255, 67, 255, 255, 255, 64, 255, 255, 255, 168, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 47, 255, 255, 255, 214, 255, 255, 255, 217, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 187, 255, 255, 255, 1, 255, 255, 255, 3, 255, 255, 255, 203, 255, 255, 255, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 220, 255, 255, 255, 48, 255, 255, 255, 149, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 220, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 191, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 104, 255, 255, 255, 161, 255, 255, 255, 163, 255, 255, 255, 69, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 238, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 46, 255, 255, 255, 249, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 163, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 255, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 163, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 169, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 237, 255, 255, 255, 215, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 11, 255, 255, 255, 221, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 222, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 229, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 229, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 219, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 171, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 221, 255, 255, 255, 218, 255, 255, 255, 55, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 225, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 66, 255, 255, 255, 73, 255, 255, 255, 193, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 158, 255, 255, 255, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 241, 0, 0, 0, 0, 255, 255, 255, 44, 255, 255, 255, 218, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 242, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 161, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 228, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 180, 255, 255, 255, 187, 255, 255, 255, 187, 255, 255, 255, 180, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 255, 255, 255, 210, 255, 255, 255, 126, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 249, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 250, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 66, 255, 255, 255, 73, 255, 255, 255, 197, 255, 255, 255, 64, 255, 255, 255, 204, 255, 255, 255, 65, 255, 255, 255, 221, 255, 255, 255, 218, 255, 255, 255, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 91, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 155, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 155, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 180, 255, 255, 255, 187, 255, 255, 255, 187, 255, 255, 255, 180, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 217, 255, 255, 255, 248, 255, 255, 255, 217, 255, 255, 255, 71, 255, 255, 255, 113, 255, 255, 255, 232, 255, 255, 255, 234, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 43, 255, 255, 255, 165, 255, 255, 255, 229, 255, 255, 255, 235, 255, 255, 255, 220, 255, 255, 255, 137, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 32, 255, 255, 255, 79, 255, 255, 255, 205, 255, 255, 255, 202, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 249, 255, 255, 255, 224, 255, 255, 255, 158, 255, 255, 255, 244, 255, 255, 255, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 151, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 219, 255, 255, 255, 220, 255, 255, 255, 61, 255, 255, 255, 202, 255, 255, 255, 66, 255, 255, 255, 202, 255, 255, 255, 66, 255, 255, 255, 73, 255, 255, 255, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 220, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 168, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 241, 255, 255, 255, 230, 255, 255, 255, 117, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 155, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 155, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 53, 255, 255, 255, 17, 255, 255, 255, 102, 255, 255, 255, 246, 255, 255, 255, 216, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 219, 255, 255, 255, 86, 255, 255, 255, 8, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 152, 255, 255, 255, 210, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 222, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 175, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 51, 255, 255, 255, 242, 255, 255, 255, 226, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 239, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 182, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 20, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 24, 255, 255, 255, 37, 255, 255, 255, 254, 255, 255, 255, 10, 255, 255, 255, 21, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 168, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 192, 255, 255, 255, 239, 255, 255, 255, 178, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 253, 255, 255, 255, 102, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 226, 255, 255, 255, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 216, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 221, 255, 255, 255, 213, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 222, 255, 255, 255, 94, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 230, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 218, 255, 255, 255, 46, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 205, 255, 255, 255, 1, 255, 255, 255, 91, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 83, 255, 255, 255, 119, 255, 255, 255, 223, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 20, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 139, 255, 255, 255, 2, 255, 255, 255, 32, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 166, 255, 255, 255, 225, 255, 255, 255, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 119, 0, 0, 0, 0, 255, 255, 255, 37, 255, 255, 255, 198, 255, 255, 255, 228, 255, 255, 255, 224, 255, 255, 255, 28, 255, 255, 255, 39, 255, 255, 255, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 44, 255, 255, 255, 247, 255, 255, 255, 62, 255, 255, 255, 119, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 190, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 111, 255, 255, 255, 160, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 197, 255, 255, 255, 65, 255, 255, 255, 73, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 1, 255, 255, 255, 205, 255, 255, 255, 68, 255, 255, 255, 38, 255, 255, 255, 160, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 183, 255, 255, 255, 234, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 189, 255, 255, 255, 173, 255, 255, 255, 14, 255, 255, 255, 2, 255, 255, 255, 255, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 42, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 106, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 23, 255, 255, 255, 2, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 204, 255, 255, 255, 143, 0, 0, 0, 0, 255, 255, 255, 85, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 250, 255, 255, 255, 43, 255, 255, 255, 251, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 227, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 219, 255, 255, 255, 220, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 185, 255, 255, 255, 7, 255, 255, 255, 188, 255, 255, 255, 24, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 19, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 24, 255, 255, 255, 95, 255, 255, 255, 153, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 255, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 31, 255, 255, 255, 12, 255, 255, 255, 255, 255, 255, 255, 6, 255, 255, 255, 17, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 130, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 85, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 217, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 186, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 220, 255, 255, 255, 48, 255, 255, 255, 149, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 167, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 24, 255, 255, 255, 1, 255, 255, 255, 194, 255, 255, 255, 56, 255, 255, 255, 155, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 19, 0, 0, 0, 0, 255, 255, 255, 177, 255, 255, 255, 138, 255, 255, 255, 2, 255, 255, 255, 20, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 139, 255, 255, 255, 23, 255, 255, 255, 166, 255, 255, 255, 198, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 33, 255, 255, 255, 59, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 15, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 62, 255, 255, 255, 70, 255, 255, 255, 249, 255, 255, 255, 22, 255, 255, 255, 103, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 232, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 120, 255, 255, 255, 45, 255, 255, 255, 246, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 163, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 255, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 167, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 168, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 167, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 187, 255, 255, 255, 239, 255, 255, 255, 215, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 225, 255, 255, 255, 241, 255, 255, 255, 148, 255, 255, 255, 4, 255, 255, 255, 114, 255, 255, 255, 225, 255, 255, 255, 251, 255, 255, 255, 224, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 64, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 224, 255, 255, 255, 216, 255, 255, 255, 71, 255, 255, 255, 207, 255, 255, 255, 213, 255, 255, 255, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 9, 255, 255, 255, 28, 255, 255, 255, 92, 255, 255, 255, 222, 255, 255, 255, 190, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 143, 255, 255, 255, 214, 255, 255, 255, 205, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 245, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 229, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 183, 255, 255, 255, 188, 255, 255, 255, 188, 255, 255, 255, 183, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 167, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 168, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 255, 255, 255, 202, 255, 255, 255, 112, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 230, 255, 255, 255, 247, 255, 255, 255, 53, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 216, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 12, 255, 255, 255, 39, 255, 255, 255, 212, 255, 255, 255, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 183, 255, 255, 255, 188, 255, 255, 255, 188, 255, 255, 255, 183, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 190, 255, 255, 255, 172, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 240, 255, 255, 255, 171, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 148, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 248, 255, 255, 255, 240, 255, 255, 255, 158, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 113, 255, 255, 255, 204, 255, 255, 255, 239, 255, 255, 255, 237, 255, 255, 255, 221, 255, 255, 255, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 250, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 249, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 173, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 150, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 234, 255, 255, 255, 4, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 237, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 59, 255, 255, 255, 206, 255, 255, 255, 246, 255, 255, 255, 209, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 229, 255, 255, 255, 75, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 225, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 249, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 250, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 136, 255, 255, 255, 18, 255, 255, 255, 139, 255, 255, 255, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 166, 0, 0, 0, 0, 255, 255, 255, 175, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 151, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 249, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 250, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 239, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 238, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 75, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 37, 255, 255, 255, 241, 255, 255, 255, 19, 255, 255, 255, 246, 255, 255, 255, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 239, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 151, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 212, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 162, 255, 255, 255, 194, 255, 255, 255, 71, 255, 255, 255, 230, 255, 255, 255, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 152, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 222, 255, 255, 255, 94, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 230, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 239, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 238, 255, 255, 255, 77, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 236, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 45, 255, 255, 255, 252, 255, 255, 255, 254, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 252, 255, 255, 255, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 190, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 222, 255, 255, 255, 94, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 230, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 196, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 59, 255, 255, 255, 238, 255, 255, 255, 145, 255, 255, 255, 221, 255, 255, 255, 166, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 250, 255, 255, 255, 43, 255, 255, 255, 251, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 190, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 236, 255, 255, 255, 121, 255, 255, 255, 233, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 130, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 224, 255, 255, 255, 158, 255, 255, 255, 26, 255, 255, 255, 230, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 186, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 250, 255, 255, 255, 43, 255, 255, 255, 251, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 119, 255, 255, 255, 255, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 227, 255, 255, 255, 243, 255, 255, 255, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 186, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 200, 255, 255, 255, 50, 255, 255, 255, 33, 255, 255, 255, 91, 255, 255, 255, 223, 255, 255, 255, 248, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 245, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 170, 255, 255, 255, 235, 255, 255, 255, 247, 255, 255, 255, 207, 255, 255, 255, 95, 255, 255, 255, 38, 255, 255, 255, 229, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 12, 255, 255, 255, 39, 255, 255, 255, 212, 255, 255, 255, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 245, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 221, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 248, 255, 255, 255, 240, 255, 255, 255, 158, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 12, 255, 255, 255, 39, 255, 255, 255, 212, 255, 255, 255, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 248, 255, 255, 255, 240, 255, 255, 255, 158, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 239, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 238, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 116, 255, 255, 255, 206, 255, 255, 255, 245, 255, 255, 255, 244, 255, 255, 255, 213, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 212, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 193, 255, 255, 255, 205, 255, 255, 255, 70, 255, 255, 255, 16, 255, 255, 255, 23, 255, 255, 255, 78, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 234, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 255, 255, 255, 210, 255, 255, 255, 126, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 193, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 211, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 238, 255, 255, 255, 77, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 236, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 119, 255, 255, 255, 235, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 76, 255, 255, 255, 183, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 32, 255, 255, 255, 79, 255, 255, 255, 205, 255, 255, 255, 202, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 133, 255, 255, 255, 206, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 173, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 196, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 133, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 222, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 104, 255, 255, 255, 217, 255, 255, 255, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 206, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 236, 255, 255, 255, 121, 255, 255, 255, 233, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 240, 255, 255, 255, 252, 255, 255, 255, 243, 255, 255, 255, 240, 255, 255, 255, 252, 255, 255, 255, 243, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 255, 255, 255, 79, 255, 255, 255, 225, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 241, 255, 255, 255, 177, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 119, 255, 255, 255, 255, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 73, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 28, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 114, 255, 255, 255, 245, 255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 54, 255, 255, 255, 175, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 73, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 227, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 160, 255, 255, 255, 79, 255, 255, 255, 235, 255, 255, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 227, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 243, 255, 255, 255, 252, 255, 255, 255, 240, 255, 255, 255, 243, 255, 255, 255, 252, 255, 255, 255, 240, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 130, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 148, 255, 255, 255, 189, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 216, 255, 255, 255, 194, 255, 255, 255, 61, 255, 255, 255, 15, 255, 255, 255, 13, 255, 255, 255, 95, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 122, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 232, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 219, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 147, 255, 255, 255, 226, 255, 255, 255, 252, 255, 255, 255, 246, 255, 255, 255, 218, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 71, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 9, 255, 255, 255, 28, 255, 255, 255, 92, 255, 255, 255, 222, 255, 255, 255, 190, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 247, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 231, 255, 255, 255, 21, 0, 0, 0, 0, 255, 255, 255, 231, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 255, 255, 255, 202, 255, 255, 255, 112, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 217, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 213, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 155, 255, 255, 255, 232, 255, 255, 255, 230, 255, 255, 255, 154, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 228, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 180, 255, 255, 255, 18, 255, 255, 255, 15, 255, 255, 255, 165, 255, 255, 255, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 244, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 189, 255, 255, 255, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 255, 255, 255, 242, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 156, 255, 255, 255, 181, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 161, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 195, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 222, 255, 255, 255, 98, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 221, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 142, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 231, 255, 255, 255, 34, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 39, 255, 255, 255, 221, 255, 255, 255, 7, 255, 255, 255, 211, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 54, 255, 255, 255, 243, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 235, 255, 255, 255, 165, 255, 255, 255, 208, 255, 255, 255, 165, 255, 255, 255, 234, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 234, 255, 255, 255, 48, 255, 255, 255, 234, 255, 255, 255, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 255, 255, 255, 12, 255, 255, 255, 227, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 158, 255, 255, 255, 177, 255, 255, 255, 16, 255, 255, 255, 13, 255, 255, 255, 162, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 172, 255, 255, 255, 101, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 204, 255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 40, 255, 255, 255, 116, 255, 255, 255, 244, 255, 255, 255, 114, 255, 255, 255, 40, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 246, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 229, 255, 255, 255, 13, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 157, 255, 255, 255, 234, 255, 255, 255, 232, 255, 255, 255, 159, 255, 255, 255, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 213, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 221, 255, 255, 255, 4, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 23, 255, 255, 255, 228, 255, 255, 255, 85, 255, 255, 255, 227, 255, 255, 255, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 228, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 145, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 228, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 255, 255, 255, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 9, 255, 255, 255, 237, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 78, 255, 255, 255, 178, 0, 0, 0, 0, 255, 255, 255, 172, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 227, 255, 255, 255, 25, 255, 255, 255, 228, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 242, 255, 255, 255, 102, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 255, 255, 255, 242, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 231, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 85, 255, 255, 255, 231, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 121, 255, 255, 255, 232, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 142, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 36, 255, 255, 255, 249, 255, 255, 255, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 213, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 255, 255, 255, 12, 255, 255, 255, 227, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 229, 255, 255, 255, 13, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 229, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 145, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 242, 255, 255, 255, 102, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 121, 255, 255, 255, 232, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 213, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 35, 255, 255, 255, 235, 255, 255, 255, 70, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 234, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 39, 255, 255, 255, 255, 255, 255, 255, 42, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 235, 255, 255, 255, 123, 255, 255, 255, 235, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 9, 255, 255, 255, 199, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 255, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 37, 255, 255, 255, 188, 255, 255, 255, 244, 255, 255, 255, 231, 255, 255, 255, 167, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 255, 255, 255, 2, 255, 255, 255, 175, 255, 255, 255, 179, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 235, 255, 255, 255, 119, 255, 255, 255, 235, 255, 255, 255, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 198, 255, 255, 255, 169, 255, 255, 255, 22, 255, 255, 255, 40, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 255, 255, 255, 224, 255, 255, 255, 149, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 147, 255, 255, 255, 228, 255, 255, 255, 248, 255, 255, 255, 223, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 53, 255, 255, 255, 146, 255, 255, 255, 199, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 234, 255, 255, 255, 66, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 234, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 54, 255, 255, 255, 211, 255, 255, 255, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 217, 255, 255, 255, 188, 255, 255, 255, 50, 255, 255, 255, 17, 255, 255, 255, 61, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 163, 255, 255, 255, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 191, 255, 255, 255, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 15, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 132, 255, 255, 255, 229, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 255, 255, 255, 24, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 244, 255, 255, 255, 19, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 234, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 172, 255, 255, 255, 166, 255, 255, 255, 183, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 249, 255, 255, 255, 193, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 131, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 214, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 255, 255, 255, 13, 255, 255, 255, 223, 255, 255, 255, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 175, 255, 255, 255, 253, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 55, 255, 255, 255, 212, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 15, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 239, 255, 255, 255, 14, 255, 255, 255, 207, 255, 255, 255, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 246, 255, 255, 255, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 139, 255, 255, 255, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 179, 255, 255, 255, 228, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 134, 255, 255, 255, 216, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 78, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 176, 255, 255, 255, 13, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 95, 255, 255, 255, 21, 255, 255, 255, 28, 255, 255, 255, 180, 255, 255, 255, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 235, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 223, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 47, 255, 255, 255, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 15, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 195, 255, 255, 255, 243, 255, 255, 255, 240, 255, 255, 255, 174, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 213, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 227, 255, 255, 255, 197, 255, 255, 255, 53, 255, 255, 255, 14, 255, 255, 255, 33, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 51, 255, 255, 255, 52, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 227, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 238, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 157, 255, 255, 255, 230, 255, 255, 255, 253, 255, 255, 255, 242, 255, 255, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 192, 255, 255, 255, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 249, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 75, 255, 255, 255, 209, 255, 255, 255, 246, 255, 255, 255, 201, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 127, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 143, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 217, 255, 255, 255, 52, 255, 255, 255, 22, 255, 255, 255, 176, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 67, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 255, 255, 255, 227, 255, 255, 255, 170, 255, 255, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 202, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 9, 255, 255, 255, 239, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 147, 255, 255, 255, 18, 255, 255, 255, 147, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 15, 255, 255, 255, 50, 255, 255, 255, 189, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 239, 255, 255, 255, 251, 255, 255, 255, 206, 255, 255, 255, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 212, 255, 255, 255, 242, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 204, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 141, 255, 255, 255, 246, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 37, 255, 255, 255, 182, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 243, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 231, 255, 255, 255, 20, 255, 255, 255, 254, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 163, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 161, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 158, 255, 255, 255, 35, 255, 255, 255, 35, 255, 255, 255, 127, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 162, 255, 255, 255, 124, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 12, 255, 255, 255, 63, 255, 255, 255, 217, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 179, 255, 255, 255, 241, 255, 255, 255, 236, 255, 255, 255, 169, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 230, 255, 255, 255, 11, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 131, 255, 255, 255, 34, 255, 255, 255, 38, 255, 255, 255, 191, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 147, 255, 255, 255, 228, 255, 255, 255, 248, 255, 255, 255, 223, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 75, 255, 255, 255, 209, 255, 255, 255, 246, 255, 255, 255, 201, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 110, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 164, 255, 255, 255, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 134, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 255, 255, 255, 255, 77, 255, 255, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 217, 255, 255, 255, 188, 255, 255, 255, 50, 255, 255, 255, 17, 255, 255, 255, 61, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 217, 255, 255, 255, 52, 255, 255, 255, 22, 255, 255, 255, 176, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 205, 255, 255, 255, 229, 255, 255, 255, 223, 255, 255, 255, 155, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 15, 255, 255, 255, 62, 255, 255, 255, 220, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 132, 255, 255, 255, 229, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 221, 255, 255, 255, 131, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 219, 255, 255, 255, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 176, 255, 255, 255, 175, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 228, 255, 255, 255, 228, 255, 255, 255, 236, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 161, 255, 255, 255, 193, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 182, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 161, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 154, 255, 255, 255, 197, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 168, 255, 255, 255, 230, 255, 255, 255, 249, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 146, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 244, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 160, 255, 255, 255, 237, 255, 255, 255, 232, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 218, 255, 255, 255, 50, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 223, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 227, 255, 255, 255, 167, 255, 255, 255, 45, 255, 255, 255, 24, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 166, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 116, 255, 255, 255, 217, 255, 255, 255, 246, 255, 255, 255, 165, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 206, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 152, 255, 255, 255, 195, 255, 255, 255, 37, 255, 255, 255, 60, 255, 255, 255, 226, 255, 255, 255, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 227, 255, 255, 255, 197, 255, 255, 255, 53, 255, 255, 255, 14, 255, 255, 255, 33, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 125, 255, 255, 255, 210, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 243, 255, 255, 255, 250, 255, 255, 255, 230, 255, 255, 255, 150, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 208, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 219, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 104, 255, 255, 255, 219, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 230, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 101, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 157, 255, 255, 255, 230, 255, 255, 255, 253, 255, 255, 255, 242, 255, 255, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 200, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 36, 255, 255, 255, 22, 255, 255, 255, 65, 255, 255, 255, 216, 255, 255, 255, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 237, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 129, 255, 255, 255, 211, 255, 255, 255, 243, 255, 255, 255, 183, 255, 255, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 152, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 168, 255, 255, 255, 14, 255, 255, 255, 31, 255, 255, 255, 189, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 194, 255, 255, 255, 36, 255, 255, 255, 16, 255, 255, 255, 174, 255, 255, 255, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 238, 255, 255, 255, 228, 255, 255, 255, 228, 255, 255, 255, 228, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 184, 255, 255, 255, 244, 255, 255, 255, 211, 255, 255, 255, 129, 255, 255, 255, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 44, 255, 255, 255, 21, 255, 255, 255, 63, 255, 255, 255, 219, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 235, 255, 255, 255, 198, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 121, 255, 255, 255, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 231, 255, 255, 255, 146, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 173, 255, 255, 255, 238, 255, 255, 255, 249, 255, 255, 255, 216, 255, 255, 255, 123, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 211, 255, 255, 255, 40, 255, 255, 255, 41, 255, 255, 255, 222, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 89, 255, 255, 255, 255, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 56, 255, 255, 255, 213, 255, 255, 255, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 177, 255, 255, 255, 240, 255, 255, 255, 240, 255, 255, 255, 176, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 229, 255, 255, 255, 62, 255, 255, 255, 37, 255, 255, 255, 196, 255, 255, 255, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 118, 255, 255, 255, 220, 255, 255, 255, 247, 255, 255, 255, 156, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 188, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 5, 255, 255, 255, 19, 255, 255, 255, 142, 255, 255, 255, 228, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 92, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 200, 255, 255, 255, 166, 255, 255, 255, 33, 255, 255, 255, 35, 255, 255, 255, 168, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 140, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 125, 255, 255, 255, 234, 255, 255, 255, 237, 255, 255, 255, 159, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 255, 255, 255, 66, 255, 255, 255, 204, 255, 255, 255, 76, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 54, 255, 255, 255, 250, 255, 255, 255, 233, 255, 255, 255, 174, 255, 255, 255, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 224, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 206, 255, 255, 255, 247, 255, 255, 255, 228, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 73, 255, 255, 255, 198, 255, 255, 255, 72, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 16, 255, 255, 255, 63, 255, 255, 255, 219, 255, 255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 173, 255, 255, 255, 12, 255, 255, 255, 12, 255, 255, 255, 179, 255, 255, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 227, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 232, 255, 255, 255, 101, 255, 255, 255, 15, 255, 255, 255, 47, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 203, 255, 255, 255, 181, 255, 255, 255, 195, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 223, 255, 255, 255, 132, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 187, 255, 255, 255, 238, 255, 255, 255, 237, 255, 255, 255, 153, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 156, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 111, 255, 255, 255, 255, 255, 255, 255, 91, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 232, 255, 255, 255, 68, 255, 255, 255, 111, 255, 255, 255, 238, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 246, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 251, 255, 255, 255, 241, 255, 255, 255, 135, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 96, 255, 255, 255, 203, 255, 255, 255, 238, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 137, 255, 255, 255, 239, 255, 255, 255, 236, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 175, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 206, 255, 255, 255, 246, 255, 255, 255, 211, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 96, 255, 255, 255, 42, 255, 255, 255, 201, 255, 255, 255, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 231, 255, 255, 255, 49, 255, 255, 255, 52, 255, 255, 255, 234, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 35, 255, 255, 255, 252, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 147, 255, 255, 255, 17, 255, 255, 255, 134, 255, 255, 255, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 73, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 219, 255, 255, 255, 255, 255, 255, 255, 251, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 180, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 176, 255, 255, 255, 33, 255, 255, 255, 37, 255, 255, 255, 185, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 64, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 234, 255, 255, 255, 97, 255, 255, 255, 127, 255, 255, 255, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 244, 255, 255, 255, 96, 255, 255, 255, 28, 255, 255, 255, 39, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 193, 255, 255, 255, 244, 255, 255, 255, 239, 255, 255, 255, 181, 255, 255, 255, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 247, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 176, 255, 255, 255, 239, 255, 255, 255, 236, 255, 255, 255, 164, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 244, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 76, 255, 255, 255, 196, 255, 255, 255, 255, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 109, 255, 255, 255, 40, 255, 255, 255, 35, 255, 255, 255, 175, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 208, 255, 255, 255, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 29, 255, 255, 255, 156, 255, 255, 255, 224, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 107, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 231, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 242, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 156, 255, 255, 255, 45, 255, 255, 255, 241, 255, 255, 255, 48, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 90, 255, 255, 255, 25, 255, 255, 255, 17, 255, 255, 255, 122, 255, 255, 255, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 59, 255, 255, 255, 211, 255, 255, 255, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 232, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 225, 255, 255, 255, 84, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 242, 255, 255, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 232, 255, 255, 255, 107, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 194, 255, 255, 255, 243, 255, 255, 255, 244, 255, 255, 255, 194, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 149, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 208, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 176, 255, 255, 255, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 226, 255, 255, 255, 227, 255, 255, 255, 246, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 242, 255, 255, 255, 92, 255, 255, 255, 27, 255, 255, 255, 37, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 29, 255, 255, 255, 80, 255, 255, 255, 225, 255, 255, 255, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 247, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 236, 255, 255, 255, 50, 255, 255, 255, 59, 255, 255, 255, 238, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 62, 255, 255, 255, 252, 255, 255, 255, 241, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 219, 255, 255, 255, 255, 255, 255, 255, 251, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 180, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 238, 255, 255, 255, 239, 255, 255, 255, 138, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 111, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 76, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 242, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 125, 255, 255, 255, 59, 255, 255, 255, 23, 255, 255, 255, 242, 255, 255, 255, 143, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 221, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 48, 255, 255, 255, 24, 255, 255, 255, 66, 255, 255, 255, 220, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 227, 255, 255, 255, 250, 255, 255, 255, 254, 255, 255, 255, 196, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 205, 255, 255, 255, 247, 255, 255, 255, 228, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 190, 255, 255, 255, 243, 255, 255, 255, 218, 255, 255, 255, 101, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 234, 255, 255, 255, 249, 255, 255, 255, 221, 255, 255, 255, 133, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 123, 255, 255, 255, 16, 255, 255, 255, 51, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 234, 255, 255, 255, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 246, 255, 255, 255, 189, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 81, 255, 255, 255, 217, 255, 255, 255, 246, 255, 255, 255, 165, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 24, 255, 255, 255, 137, 255, 255, 255, 248, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 207, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 219, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 161, 255, 255, 255, 246, 255, 255, 255, 215, 255, 255, 255, 78, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 93, 255, 255, 255, 25, 255, 255, 255, 18, 255, 255, 255, 142, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 223, 255, 255, 255, 42, 255, 255, 255, 44, 255, 255, 255, 214, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 161, 255, 255, 255, 246, 255, 255, 255, 217, 255, 255, 255, 113, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 193, 255, 255, 255, 243, 255, 255, 255, 244, 255, 255, 255, 193, 255, 255, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 116, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 106, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 223, 255, 255, 255, 42, 255, 255, 255, 44, 255, 255, 255, 215, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 170, 255, 255, 255, 214, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 116, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 106, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 152, 255, 255, 255, 212, 255, 255, 255, 91, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 242, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 211, 255, 255, 255, 40, 255, 255, 255, 41, 255, 255, 255, 222, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 180, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 101, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 118, 255, 255, 255, 220, 255, 255, 255, 247, 255, 255, 255, 156, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 242, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 171, 255, 255, 255, 216, 255, 255, 255, 92, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 218, 255, 255, 255, 40, 255, 255, 255, 37, 255, 255, 255, 205, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 242, 255, 255, 255, 207, 255, 255, 255, 88, 255, 255, 255, 18, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 101, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 181, 255, 255, 255, 216, 255, 255, 255, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 165, 255, 255, 255, 247, 255, 255, 255, 220, 255, 255, 255, 116, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 19, 255, 255, 255, 88, 255, 255, 255, 211, 255, 255, 255, 244, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 218, 255, 255, 255, 40, 255, 255, 255, 37, 255, 255, 255, 206, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 214, 255, 255, 255, 169, 255, 255, 255, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 165, 255, 255, 255, 247, 255, 255, 255, 220, 255, 255, 255, 82, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 91, 255, 255, 255, 211, 255, 255, 255, 152, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 110, 255, 255, 255, 209, 255, 255, 255, 246, 255, 255, 255, 201, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 177, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 218, 255, 255, 255, 52, 255, 255, 255, 22, 255, 255, 255, 176, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 92, 255, 255, 255, 215, 255, 255, 255, 171, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 92, 255, 255, 255, 216, 255, 255, 255, 180, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 104, 255, 255, 255, 85, 255, 255, 255, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 253, 255, 255, 255, 240, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 36, 255, 255, 255, 194, 255, 255, 255, 245, 255, 255, 255, 219, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 231, 255, 255, 255, 146, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 73, 255, 255, 255, 181, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 189, 255, 255, 255, 176, 255, 255, 255, 28, 255, 255, 255, 61, 255, 255, 255, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 56, 255, 255, 255, 213, 255, 255, 255, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 227, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 114, 255, 255, 255, 217, 255, 255, 255, 246, 255, 255, 255, 165, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 161, 255, 255, 255, 238, 255, 255, 255, 220, 255, 255, 255, 191, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 207, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 219, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 210, 255, 255, 255, 39, 255, 255, 255, 42, 255, 255, 255, 214, 255, 255, 255, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 16, 255, 255, 255, 63, 255, 255, 255, 219, 255, 255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 224, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 96, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 252, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 223, 255, 255, 255, 132, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 76, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 218, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 109, 255, 255, 255, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 255, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 217, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 210, 255, 255, 255, 40, 255, 255, 255, 41, 255, 255, 255, 222, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 210, 255, 255, 255, 39, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 142, 255, 255, 255, 231, 255, 255, 255, 239, 255, 255, 255, 137, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 251, 255, 255, 255, 75, 255, 255, 255, 220, 255, 255, 255, 247, 255, 255, 255, 156, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 133, 255, 255, 255, 224, 255, 255, 255, 244, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 233, 255, 255, 255, 71, 255, 255, 255, 35, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 201, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 234, 255, 255, 255, 131, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 157, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 156, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 52, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 180, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 51, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 52, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 183, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 95, 255, 255, 255, 251, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 157, 255, 255, 255, 62, 0, 0, 0, 0, 255, 255, 255, 156, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 230, 255, 255, 255, 67, 255, 255, 255, 36, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 43, 255, 255, 255, 248, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 237, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 133, 255, 255, 255, 224, 255, 255, 255, 244, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 139, 255, 255, 255, 228, 255, 255, 255, 246, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 117, 255, 255, 255, 238, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 233, 255, 255, 255, 71, 255, 255, 255, 35, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 216, 255, 255, 255, 225, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 255, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 61, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 9, 255, 255, 255, 16, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 111, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 43, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 225, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 255, 255, 255, 172, 255, 255, 255, 36, 255, 255, 255, 65, 255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 25, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 191, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 228, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 190, 255, 255, 255, 245, 255, 255, 255, 221, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 143, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 169, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 51, 255, 255, 255, 192, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 230, 255, 255, 255, 67, 255, 255, 255, 36, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 219, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 139, 255, 255, 255, 228, 255, 255, 255, 246, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 254, 255, 255, 255, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 202, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 194, 255, 255, 255, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 142, 255, 255, 255, 14, 255, 255, 255, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 200, 255, 255, 255, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 0, 0, 0, 0, 255, 255, 255, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 216, 255, 255, 255, 251, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 133, 255, 255, 255, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 193, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 251, 255, 255, 255, 95, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 218, 255, 255, 255, 249, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 226, 255, 255, 255, 127, 255, 255, 255, 15, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 217, 255, 255, 255, 245, 255, 255, 255, 195, 255, 255, 255, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 18, 255, 255, 255, 238, 255, 255, 255, 117, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 254, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 109, 255, 255, 255, 68, 255, 255, 255, 36, 255, 255, 255, 158, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 255, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 198, 255, 255, 255, 207, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 198, 255, 255, 255, 197, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 255, 255, 255, 255, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 17, 255, 255, 255, 19, 255, 255, 255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 45, 255, 255, 255, 242, 255, 255, 255, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 16, 255, 255, 255, 127, 255, 255, 255, 229, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 18, 255, 255, 255, 146, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 201, 255, 255, 255, 193, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 200, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 244, 255, 255, 255, 194, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 191, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 233, 255, 255, 255, 8, 255, 255, 255, 16, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 18, 255, 255, 255, 20, 255, 255, 255, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 202, 255, 255, 255, 179, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 198, 255, 255, 255, 198, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 218, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 219, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 252, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 220, 255, 255, 255, 249, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 239, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 166, 255, 255, 255, 35, 255, 255, 255, 251, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 223, 255, 255, 255, 219, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 202, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 3, 255, 255, 255, 44, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 235, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 226, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 46, 255, 255, 255, 208, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 29, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 207, 255, 255, 255, 83, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 219, 255, 255, 255, 211, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 225, 255, 255, 255, 223, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 226, 255, 255, 255, 61, 255, 255, 255, 40, 255, 255, 255, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 57, 255, 255, 255, 36, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 109, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 225, 255, 255, 255, 223, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 242, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 219, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 205, 255, 255, 255, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 64, 255, 255, 255, 253, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 236, 255, 255, 255, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 239, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 70, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 161, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 150, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 251, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 91, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 205, 255, 255, 255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 205, 255, 255, 255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 242, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 251, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 70, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 218, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 219, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "RGBA8", +"height": 256, +"mipmaps": false, +"width": 128 +} + +[sub_resource type="ImageTexture" id=5] +image = SubResource( 8 ) +size = Vector2( 128, 256 ) + +[sub_resource type="BitmapFont" id=6] +textures = [ SubResource( 5 ) ] +chars = PoolIntArray( 32, 0, 0, 0, 0, 0, 0, 11, 4, 160, 0, 1734439808, 0, 0, 0, 0, 11, 4, 96, 0, 2, 216, 3, 2, 3, 0, 8, 192, 0, 32, 16, 11, 13, -1, -2, 9, 224, 0, 85, 180, 5, 11, 1, 0, 7, 64, 0, 72, 34, 10, 11, 1, 1, 12, 97, 0, 76, 188, 5, 8, 1, 3, 7, 65, 0, 2, 16, 11, 10, -1, 1, 9, 161, 0, 2, 222, 2, 11, 1, 3, 4, 193, 0, 17, 16, 11, 13, -1, -2, 9, 225, 0, 112, 169, 5, 11, 1, 0, 7, 33, 0, 65, 234, 2, 10, 1, 1, 4, 34, 0, 49, 187, 5, 4, 1, 1, 6, 162, 0, 12, 136, 6, 10, 1, 1, 8, 66, 0, 46, 109, 7, 10, 1, 1, 9, 194, 0, 113, 2, 11, 13, -1, -2, 9, 226, 0, 72, 143, 6, 11, 1, 0, 7, 98, 0, 102, 165, 6, 11, 1, 0, 8, 99, 0, 40, 179, 5, 8, 1, 3, 7, 67, 0, 68, 115, 7, 10, 1, 1, 8, 227, 0, 2, 155, 6, 12, 1, -1, 7, 195, 0, 53, 2, 11, 14, -1, -3, 9, 163, 0, 22, 167, 6, 10, 1, 1, 8, 35, 0, 78, 66, 8, 10, 0, 1, 9, 164, 0, 14, 79, 8, 7, 0, 3, 8, 68, 0, 90, 66, 8, 10, 1, 1, 10, 100, 0, 82, 150, 6, 11, 1, 0, 8, 36, 0, 102, 137, 6, 12, 1, 0, 8, 196, 0, 98, 2, 11, 13, -1, -2, 9, 228, 0, 121, 169, 5, 11, 1, 0, 7, 101, 0, 32, 124, 6, 8, 1, 3, 8, 197, 0, 83, 2, 11, 12, -1, -1, 9, 229, 0, 20, 196, 5, 12, 1, -1, 7, 165, 0, 79, 98, 7, 10, 0, 1, 8, 69, 0, 29, 191, 5, 10, 1, 1, 7, 37, 0, 2, 30, 10, 10, 1, 1, 12, 230, 0, 58, 34, 10, 8, 1, 3, 12, 102, 0, 2, 201, 5, 11, 0, 0, 4, 166, 0, 95, 228, 2, 14, 3, 0, 7, 198, 0, 21, 2, 12, 10, -1, 1, 12, 70, 0, 101, 105, 6, 10, 1, 1, 7, 38, 0, 67, 49, 9, 10, 1, 1, 10, 39, 0, 119, 219, 2, 4, 1, 1, 3, 167, 0, 112, 131, 6, 11, 0, 0, 7, 103, 0, 13, 107, 7, 11, 1, 3, 7, 199, 0, 57, 97, 7, 13, 1, 1, 8, 231, 0, 2, 186, 5, 11, 1, 3, 7, 71, 0, 66, 65, 8, 10, 1, 1, 10, 168, 0, 77, 217, 4, 2, 2, 0, 8, 104, 0, 72, 158, 6, 11, 1, 0, 8, 40, 0, 93, 212, 4, 12, 1, 1, 4, 200, 0, 47, 195, 5, 13, 1, -2, 7, 232, 0, 62, 143, 6, 11, 1, 0, 8, 72, 0, 54, 65, 8, 10, 1, 1, 10, 105, 0, 109, 213, 3, 11, 0, 0, 4, 41, 0, 51, 226, 3, 12, 0, 1, 4, 201, 0, 56, 197, 5, 13, 1, -2, 7, 233, 0, 52, 142, 6, 11, 1, 0, 8, 169, 0, 44, 34, 10, 10, 1, 1, 12, 73, 0, 38, 191, 5, 10, 0, 1, 5, 170, 0, 29, 205, 4, 5, 0, 1, 5, 42, 0, 108, 80, 7, 6, 0, 0, 8, 202, 0, 65, 202, 5, 13, 1, -2, 7, 74, 0, 92, 195, 5, 13, -2, 1, 3, 106, 0, 101, 213, 4, 14, -1, 0, 4, 234, 0, 12, 181, 6, 11, 1, 0, 8, 171, 0, 22, 181, 5, 6, 1, 4, 7, 43, 0, 101, 94, 7, 7, 0, 3, 8, 107, 0, 112, 92, 7, 11, 1, 0, 7, 203, 0, 83, 200, 5, 13, 1, -2, 7, 235, 0, 2, 171, 6, 11, 1, 0, 8, 75, 0, 102, 66, 8, 10, 1, 1, 8, 44, 0, 107, 231, 2, 3, 1, 9, 4, 172, 0, 2, 104, 7, 4, 0, 6, 8, 108, 0, 113, 228, 2, 11, 1, 0, 4, 204, 0, 101, 196, 5, 13, 0, -2, 5, 236, 0, 30, 214, 3, 11, 0, 0, 4, 76, 0, 22, 124, 6, 10, 1, 1, 7, 173, 0, 16, 229, 3, 2, 1, 7, 5, 45, 0, 123, 201, 3, 2, 1, 7, 5, 109, 0, 68, 2, 11, 8, 1, 3, 13, 205, 0, 11, 211, 5, 13, 0, -2, 5, 237, 0, 37, 214, 3, 11, 1, 0, 4, 77, 0, 62, 20, 10, 10, 1, 1, 12, 46, 0, 101, 231, 2, 2, 1, 9, 4, 110, 0, 111, 107, 6, 8, 1, 3, 8, 206, 0, 20, 212, 5, 13, 0, -2, 5, 238, 0, 11, 196, 5, 11, -1, 0, 4, 174, 0, 30, 33, 10, 10, 1, 1, 12, 78, 0, 2, 79, 8, 10, 1, 1, 10, 175, 0, 35, 111, 7, 1, 0, -1, 7, 111, 0, 102, 153, 6, 8, 1, 3, 8, 207, 0, 119, 184, 5, 13, 0, -2, 5, 239, 0, 69, 219, 4, 11, 0, 0, 4, 79, 0, 41, 66, 9, 10, 1, 1, 11, 47, 0, 90, 105, 7, 10, -1, 1, 5, 176, 0, 61, 219, 4, 4, 1, 1, 6, 112, 0, 32, 150, 6, 11, 1, 3, 8, 240, 0, 82, 165, 6, 11, 1, 0, 8, 208, 0, 86, 33, 9, 10, 0, 1, 10, 80, 0, 52, 128, 6, 10, 1, 1, 8, 48, 0, 42, 135, 6, 10, 1, 1, 8, 177, 0, 46, 97, 7, 8, 0, 3, 8, 113, 0, 22, 152, 6, 11, 1, 3, 8, 241, 0, 2, 112, 6, 12, 1, -1, 8, 81, 0, 15, 59, 9, 13, 1, 1, 11, 209, 0, 74, 80, 8, 14, 1, -3, 10, 49, 0, 45, 212, 4, 10, 2, 1, 8, 178, 0, 58, 187, 5, 6, 0, 1, 5, 114, 0, 85, 217, 4, 8, 1, 3, 5, 210, 0, 2, 62, 9, 13, 1, -2, 11, 242, 0, 62, 165, 6, 11, 1, 0, 8, 82, 0, 35, 97, 7, 10, 1, 1, 8, 50, 0, 57, 114, 7, 10, 1, 1, 8, 179, 0, 53, 214, 4, 6, 0, 1, 5, 115, 0, 112, 146, 6, 8, 0, 3, 7, 211, 0, 106, 49, 9, 13, 1, -2, 11, 243, 0, 52, 172, 6, 11, 1, 0, 8, 83, 0, 24, 96, 7, 10, 0, 1, 7, 51, 0, 22, 138, 6, 10, 1, 1, 8, 180, 0, 9, 228, 3, 2, 3, 0, 8, 116, 0, 67, 188, 5, 10, 0, 1, 5, 212, 0, 93, 49, 9, 13, 1, -2, 11, 244, 0, 42, 164, 6, 11, 1, 0, 8, 84, 0, 13, 93, 7, 10, 0, 1, 7, 52, 0, 24, 110, 7, 10, 1, 1, 8, 245, 0, 12, 165, 6, 12, 1, -1, 8, 181, 0, 2, 140, 6, 11, 1, 3, 8, 117, 0, 42, 123, 6, 8, 1, 3, 8, 53, 0, 92, 119, 6, 10, 1, 1, 8, 85, 0, 114, 66, 8, 10, 1, 1, 10, 213, 0, 2, 44, 9, 14, 1, -3, 11, 118, 0, 15, 47, 9, 8, -1, 3, 7, 182, 0, 68, 98, 7, 13, 1, 0, 9, 214, 0, 80, 49, 9, 13, 1, -2, 11, 246, 0, 72, 173, 6, 11, 1, 0, 8, 86, 0, 76, 18, 10, 10, -1, 1, 8, 54, 0, 82, 121, 6, 10, 1, 1, 8, 183, 0, 77, 223, 2, 2, 1, 5, 4, 215, 0, 2, 93, 7, 7, 0, 3, 8, 247, 0, 90, 94, 7, 7, 0, 3, 8, 119, 0, 37, 2, 12, 8, -1, 3, 10, 87, 0, 2, 2, 15, 10, -1, 1, 13, 55, 0, 72, 129, 6, 10, 1, 1, 8, 184, 0, 116, 212, 3, 3, 0, 11, 3, 120, 0, 119, 80, 7, 8, 0, 3, 7, 248, 0, 2, 128, 6, 8, 1, 3, 8, 216, 0, 99, 33, 9, 12, 1, 0, 11, 88, 0, 90, 19, 10, 10, -1, 1, 8, 56, 0, 62, 129, 6, 10, 1, 1, 8, 185, 0, 23, 229, 3, 6, 0, 1, 5, 57, 0, 12, 122, 6, 10, 1, 1, 8, 121, 0, 112, 33, 9, 11, -1, 3, 7, 249, 0, 52, 157, 6, 11, 1, 0, 8, 217, 0, 38, 80, 8, 13, 1, -2, 10, 89, 0, 28, 65, 9, 10, -1, 1, 7, 186, 0, 37, 205, 4, 5, 0, 1, 5, 58, 0, 89, 229, 2, 8, 1, 3, 4, 122, 0, 112, 119, 6, 8, 1, 3, 7, 90, 0, 32, 136, 6, 10, 1, 1, 8, 250, 0, 42, 149, 6, 11, 1, 0, 8, 218, 0, 26, 79, 8, 13, 1, -2, 10, 187, 0, 31, 181, 5, 6, 1, 4, 7, 59, 0, 71, 234, 2, 9, 1, 3, 4, 251, 0, 12, 150, 6, 11, 1, 0, 8, 123, 0, 103, 180, 5, 12, 0, 1, 5, 91, 0, 58, 227, 3, 12, 1, 1, 4, 219, 0, 50, 80, 8, 13, 1, -2, 10, 60, 0, 92, 153, 6, 7, 1, 3, 8, 92, 0, 97, 80, 7, 10, -1, 1, 5, 252, 0, 92, 133, 6, 11, 1, 0, 8, 220, 0, 62, 79, 8, 13, 1, -2, 10, 124, 0, 83, 229, 2, 14, 3, 0, 7, 188, 0, 16, 33, 10, 10, 0, 1, 10, 61, 0, 79, 112, 7, 5, 0, 4, 8, 125, 0, 110, 196, 5, 12, 0, 1, 5, 93, 0, 44, 226, 3, 12, 0, 1, 4, 221, 0, 54, 48, 9, 13, -1, -2, 7, 253, 0, 28, 47, 9, 14, -1, 0, 7, 189, 0, 47, 20, 11, 10, 0, 1, 10, 126, 0, 62, 158, 6, 3, 1, 5, 8, 94, 0, 86, 80, 7, 6, 0, 1, 7, 62, 0, 112, 158, 6, 7, 1, 3, 8, 254, 0, 102, 119, 6, 14, 1, 0, 8, 222, 0, 32, 165, 6, 10, 1, 1, 8, 190, 0, 104, 19, 10, 10, 0, 1, 10, 95, 0, 92, 148, 6, 1, 0, 12, 6, 63, 0, 74, 202, 5, 10, 0, 1, 6, 191, 0, 94, 180, 5, 11, 0, 3, 6, 255, 0, 41, 48, 9, 14, -1, 0, 7, 223, 0, 82, 135, 6, 11, 1, 0, 8 ) +height = 14.0 +ascent = 11.0 + +[node name="PortraitPicker" type="VBoxContainer"] +margin_right = 100.0 +margin_bottom = 30.0 +size_flags_vertical = 4 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Preview" type="Node2D" parent="."] +z_index = 1 + +[node name="PreviewContainer" type="PanelContainer" parent="Preview"] +visible = false +margin_left = 3.0 +margin_top = 3.0 +margin_right = 254.0 +margin_bottom = 334.0 +grow_horizontal = 0 +custom_styles/panel = SubResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBox" type="VBoxContainer" parent="Preview/PreviewContainer"] +margin_left = 10.0 +margin_top = 10.0 +margin_right = 241.0 +margin_bottom = 321.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Title" type="Button" parent="Preview/PreviewContainer/VBox"] +margin_right = 231.0 +margin_bottom = 14.0 +custom_fonts/font = SubResource( 6 ) +text = "Preview" +flat = true +align = 0 + +[node name="TextureRect" type="TextureRect" parent="Preview/PreviewContainer/VBox"] +margin_top = 18.0 +margin_right = 231.0 +margin_bottom = 311.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +expand = true +stretch_mode = 6 + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 164.0 +margin_bottom = 22.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 + +[node name="Label" parent="HBox" instance=ExtResource( 4 )] +custom_colors/font_color = Color( 0, 0, 0, 1 ) + +[node name="MenuButton" parent="HBox" instance=ExtResource( 3 )] +margin_left = 82.0 +margin_right = 164.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Portrait" diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn new file mode 100644 index 0000000..7c0d917 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_DefinitionPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=2] + +[node name="DefinitionPicker" type="VBoxContainer"] +margin_right = 83.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +default_text = "Value" + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 98.0 +margin_bottom = 22.0 + +[node name="MenuButton" parent="HBox" instance=ExtResource( 2 )] +margin_right = 98.0 +text = "Definition" diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_DefinitionPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_DefinitionPicker.gd new file mode 100644 index 0000000..b195d7c --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_DefinitionPicker.gd @@ -0,0 +1,79 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +export (String) var default_text = "Select Definition" + +## node references +onready var picker_menu = $HBox/MenuButton + +# used to connect the signals +func _ready(): + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + + # themeing + picker_menu.custom_icon_modulation = get_color("font_color", "Editor") + picker_menu.custom_icon = load("res://addons/dialogic/Images/Resources/definition.svg") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + select_definition_by_id(data['definition']) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func select_definition_by_id(id): + if id != '': + for d in DialogicResources.get_default_definitions()['variables']: + if d['id'] == id: + picker_menu.text = d['name'] + else: + picker_menu.text = default_text + +# when an index is selected on one of the menus. +func _on_PickerMenu_selected(index, menu): + var text = menu.get_item_text(index) + var metadata = menu.get_item_metadata(index) + picker_menu.text = text + + event_data['definition'] = metadata['file'] + # informs the parent about the changes! + data_changed() + +func _on_PickerMenu_about_to_show(): + # Building the picker menu() + picker_menu.get_popup().clear() + ## building the root level + build_PickerMenuFolder(picker_menu.get_popup(), DialogicUtil.get_definitions_folder_structure(), "MenuButton") + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + picker_menu.update_submenu_style(submenu) + index += 1 + + + var files_info = DialogicUtil.get_default_definitions_dict() + for file in folder_structure['files']: + if files_info[file]["type"] == 0: + menu.add_item(files_info[file]['name']) + menu.set_item_icon(index, load("res://addons/dialogic/Images/Resources/definition.svg")) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_PickerMenu_selected"): + menu.connect("index_pressed", self, '_on_PickerMenu_selected', [menu]) + + return current_folder_name diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_GlossaryPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_GlossaryPicker.gd new file mode 100644 index 0000000..32cb6df --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_GlossaryPicker.gd @@ -0,0 +1,79 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +export (String) var default_text = "Select Glossary Item" + +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + picker_menu.custom_icon = get_icon("ListSelect", "EditorIcons") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + select_glossary_by_id(data['glossary_id']) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func select_glossary_by_id(id): + if id != '': + for d in DialogicResources.get_default_definitions()['glossary']: + if d['id'] == id: + picker_menu.text = d['name'] + else: + picker_menu.text = default_text + +# when an index is selected on one of the menus. +func _on_PickerMenu_selected(index, menu): + event_data['glossary_id'] = menu.get_item_metadata(index).get('file', '') + + select_glossary_by_id(event_data['glossary_id']) + + # informs the parent about the changes! + data_changed() + +func _on_PickerMenu_about_to_show(): + build_PickerMenu() + +func build_PickerMenu(): + picker_menu.get_popup().clear() + var folder_structure = DialogicUtil.get_definitions_folder_structure() + + ## building the root level + build_PickerMenuFolder(picker_menu.get_popup(), folder_structure, "MenuButton") + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + #menu.name = current_folder_name + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + picker_menu.update_submenu_style(submenu) + index += 1 + + var files_info = DialogicUtil.get_default_definitions_dict() + for file in folder_structure['files']: + if files_info[file]["type"] == 1: + menu.add_item(files_info[file]['name']) + menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").glossary_icon) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_PickerMenu_selected"): + menu.connect("index_pressed", self, '_on_PickerMenu_selected', [menu]) + + return current_folder_name diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_SetGlossary.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_SetGlossary.gd new file mode 100644 index 0000000..c3edb46 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_SetGlossary.gd @@ -0,0 +1,133 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var title_input = $Title/Input +onready var title_check = $Title/Check +onready var text_input = $Text/Input +onready var text_check = $Text/Check +onready var extra_input = $Extra/Input +onready var extra_check = $Extra/Check + +# used to connect the signals +func _ready(): + title_input.connect("text_changed", self, "_on_TitleField_text_changed") + text_input.connect("text_changed", self, "_on_TextField_text_changed") + extra_input.connect("text_changed", self, "_on_ExtraField_text_changed") + + title_check.connect("toggled", self, "_on_TitleCheck_toggled") + text_check.connect("toggled", self, "_on_TextCheck_toggled") + extra_check.connect("toggled", self, "_on_ExtraCheck_toggled") + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + emit_signal("request_set_body_enabled", event_data['glossary_id'] != '') + + $Title.visible = event_data['glossary_id'] != '' + $Text.visible = event_data['glossary_id'] != '' + $Extra.visible = event_data['glossary_id'] != '' + + if event_data['glossary_id']: + var glossary_default + for d in DialogicResources.get_default_definitions()['glossary']: + if d['id'] == event_data['glossary_id']: + glossary_default = d + if glossary_default == null: + print('[D] The glossary item with id ', event_data['glossary_id'], ' cannot be found anymore. The event will be reset.') + event_data['glossary_id'] = '' + load_data(event_data) + return + title_input.placeholder_text = glossary_default['title'] + text_input.placeholder_text = glossary_default['text'] + extra_input.placeholder_text = glossary_default['extra'] + + # Now update the ui nodes to display the data. + if event_data['title'] == "[No Change]": + title_check.pressed = true + title_input.text = "" + else: + title_check.pressed = false + title_input.text = event_data['title'] + if event_data['text'] == "[No Change]": + text_check.pressed = true + text_input.text = "" + else: + text_check.pressed = false + text_input.text = event_data['text'] + if event_data['extra'] == "[No Change]": + extra_check.pressed = true + extra_input.text = "" + else: + extra_check.pressed = false + extra_input.text = event_data['extra'] + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + if event_data['glossary_id']: + var text := "" + if event_data['title'] != "[No Change]": + text += "Changes title to '"+event_data['title']+"'. " + if event_data['extra'] != "[No Change]": + text += "Changes extra to '"+event_data['extra']+"'. " + if event_data['text'] != "[No Change]": + text += "Changes text to '"+event_data['text']+"'. " + return text + return '' + +func _on_TitleField_text_changed(text): + event_data['title'] = text + + # informs the parent about the changes! + data_changed() + +func _on_TextField_text_changed(text): + event_data['text'] = text + + # informs the parent about the changes! + data_changed() + +func _on_ExtraField_text_changed(text): + event_data['extra'] = text + + # informs the parent about the changes! + data_changed() + +func _on_TitleCheck_toggled(toggle): + if toggle: + event_data['title'] = "[No Change]" + title_input.editable = false + else: + event_data['title'] = title_input.text + title_input.editable = true + + # informs the parent about the changes! + data_changed() + +func _on_TextCheck_toggled(toggle): + if toggle: + event_data['text'] = "[No Change]" + text_input.editable = false + else: + event_data['text'] = text_input.text + text_input.editable = true + + # informs the parent about the changes! + data_changed() + +func _on_ExtraCheck_toggled(toggle): + if toggle: + event_data['extra'] = "[No Change]" + extra_input.editable = false + else: + event_data['extra'] = extra_input.text + extra_input.editable = true + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/GlossaryPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/GlossaryPicker.tscn new file mode 100644 index 0000000..1bff407 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/GlossaryPicker.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_GlossaryPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=3] + +[node name="GlossaryPicker" type="HBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_vertical = 4 +script = ExtResource( 1 ) +default_text = "Glossary item" + +[node name="Label" parent="." instance=ExtResource( 3 )] +margin_top = 13.0 +margin_right = 93.0 +margin_bottom = 27.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Set content of " + +[node name="MenuButton" parent="." instance=ExtResource( 2 )] +margin_left = 97.0 +margin_top = 8.0 +margin_right = 285.0 +margin_bottom = 32.0 +custom_colors/font_color = Color( 0.8, 0.807843, 0.827451, 1 ) +text = "Select Glossary Item" diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/SetGlossary.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/SetGlossary.tscn new file mode 100644 index 0000000..487fdd0 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/SetGlossary.tscn @@ -0,0 +1,87 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_SetGlossary.gd" type="Script" id=3] + +[node name="SetGlossary" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_horizontal = 0 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Title" type="HBoxContainer" parent="."] +margin_right = 331.0 +margin_bottom = 27.0 +custom_constants/separation = 20 + +[node name="Label" type="Label" parent="Title"] +margin_top = 6.0 +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +text = "Title:" + +[node name="Input" parent="Title" instance=ExtResource( 1 )] +margin_left = 70.0 +margin_right = 200.0 +margin_bottom = 27.0 +size_flags_horizontal = 3 + +[node name="Check" type="CheckBox" parent="Title"] +margin_left = 220.0 +margin_right = 331.0 +margin_bottom = 27.0 +text = "Don't change" + +[node name="Text" type="HBoxContainer" parent="."] +margin_top = 31.0 +margin_right = 331.0 +margin_bottom = 58.0 +custom_constants/separation = 20 + +[node name="Label" type="Label" parent="Text"] +margin_top = 6.0 +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +text = "Text:" + +[node name="Input" parent="Text" instance=ExtResource( 1 )] +margin_left = 70.0 +margin_right = 200.0 +margin_bottom = 27.0 +size_flags_horizontal = 3 + +[node name="Check" type="CheckBox" parent="Text"] +margin_left = 220.0 +margin_right = 331.0 +margin_bottom = 27.0 +text = "Don't change" + +[node name="Extra" type="HBoxContainer" parent="."] +margin_top = 62.0 +margin_right = 331.0 +margin_bottom = 89.0 +custom_constants/separation = 20 + +[node name="Label" type="Label" parent="Extra"] +margin_top = 6.0 +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +text = "Extra:" + +[node name="Input" parent="Extra" instance=ExtResource( 1 )] +margin_left = 70.0 +margin_right = 200.0 +margin_bottom = 27.0 +size_flags_horizontal = 3 + +[node name="Check" type="CheckBox" parent="Extra"] +margin_left = 220.0 +margin_right = 331.0 +margin_bottom = 27.0 +text = "Don't change" diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/EventPart_FilePicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/EventPart_FilePicker.gd new file mode 100644 index 0000000..09b29ed --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/EventPart_FilePicker.gd @@ -0,0 +1,117 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +export(String, "Audio", "Background", "Scene", "Resource") var Mode = "Background" + +## node references +onready var file_button = $FileButton +onready var clear_button = $ClearButton + +# until we change the background color of the pickers, the color should ignore the theme +var default_color = Color('ccced3') + +# used to connect the signals +func _ready(): + editor_reference = find_parent("EditorView") + file_button.connect("pressed", self, "_on_FileButton_pressed") + clear_button.connect('pressed', self, "_on_ClearButton_pressed") + file_button.add_color_override("font_color", default_color) #get_color("mono_color", "Editor")) + clear_button.icon = get_icon("Reload", "EditorIcons") + $FileButton/icon2.texture = get_icon("GuiSliderGrabber", "EditorIcons") + match Mode: + "Audio": + $Label.text = "Play" + $FileButton/icon.texture = get_icon("AudioStreamPlayer", "EditorIcons") + "Background": + $Label.text = "to" + $FileButton/icon.texture = get_icon("Image", "EditorIcons") + "Scene": + $Label.text = "to" + $FileButton/icon.texture = get_icon("PackedScene", "EditorIcons") + "Resource": + $Label.text = "to" + $FileButton/icon.texture = get_icon("PackedScene", "EditorIcons") + + +# called by the parent event part +func load_data(event_data:Dictionary): + + # first update the event_data + .load_data(event_data) + + # then the ui + var path + file_button.text = "" + match Mode: + "Audio": + path = event_data['file'] + if path.empty(): + file_button.text = 'nothing (will stop previous)' + "Background": + path = event_data['background'] + if path.empty(): + file_button.text = 'nothing (will hide previous)' + "Scene": + path = event_data['change_scene'] + if path.empty(): + file_button.text = 'a yet to be selected scene' + "Resource": + path = event_data['resource_file'] + if path.empty(): + file_button.text = 'a yet to be selected resource' + if file_button.text.empty(): + file_button.text = path.get_file() + file_button.hint_tooltip = path + + clear_button.visible = !path.empty() + +func _on_FileButton_pressed(): + match Mode: + "Audio": + editor_reference.godot_dialog("*.wav, *.ogg, *.mp3") + "Background": + editor_reference.godot_dialog("*.png, *.jpg, *.jpeg, *.tga, *.svg, *.svgz, *.bmp, *.webp, *.tscn") + "Scene": + editor_reference.godot_dialog("*.tscn") + "Resource": + editor_reference.godot_dialog("*.tres, *.res") + + editor_reference.godot_dialog_connect(self, "_on_file_selected") + +func _on_file_selected(path, target): + match Mode: + "Audio": + event_data['file'] = path + "Background": + event_data['background'] = path + "Scene": + event_data['change_scene'] = path + "Resource": + event_data['resource_file'] = path + + clear_button.visible = true + file_button.text = path.get_file() + file_button.hint_tooltip = path + + # informs the parent about the changes! + data_changed() + +func _on_ClearButton_pressed(): + match Mode: + "Audio": + event_data['file'] = "" + file_button.text = 'nothing (will stop previous)' + "Background": + event_data['background'] = "" + file_button.text = 'nothing (will hide previous)' + "Scene": + event_data['change_scene'] = "" + file_button.text = 'a yet to be selected scene' + "Resource": + event_data['resource_file'] = "" + file_button.text = 'a yet to be selected resource' + clear_button.visible = false + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/FilePicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/FilePicker.tscn new file mode 100644 index 0000000..aedda91 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/FilePicker.tscn @@ -0,0 +1,87 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/styles/SimpleButtonHover.tres" type="StyleBox" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/SettingsFieldBackground.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/EventPart_FilePicker.gd" type="Script" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/SimpleButtonNormal.tres" type="StyleBox" id=7] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="FilePicker" type="HBoxContainer"] +margin_top = 1.0 +margin_right = 331.0 +margin_bottom = 23.0 +size_flags_vertical = 4 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" parent="." instance=ExtResource( 4 )] +margin_top = 5.0 +margin_right = 13.0 +margin_bottom = 19.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "to" + +[node name="FileButton" type="Button" parent="."] +margin_left = 17.0 +margin_right = 143.0 +margin_bottom = 24.0 +custom_styles/hover = ExtResource( 2 ) +custom_styles/pressed = ExtResource( 2 ) +custom_styles/focus = ExtResource( 2 ) +custom_styles/normal = ExtResource( 2 ) +text = "none so far" + +[node name="icon" type="TextureRect" parent="FileButton"] +margin_left = 4.0 +margin_top = 5.0 +margin_right = 23.0 +margin_bottom = 24.0 +texture = SubResource( 2 ) +expand = true +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="icon2" type="TextureRect" parent="FileButton"] +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +margin_left = -20.9581 +margin_top = -6.63555 +margin_right = -5.95807 +margin_bottom = 8.36445 +texture = SubResource( 2 ) +expand = true +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ClearButton" type="Button" parent="."] +margin_left = 147.0 +margin_right = 169.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 22, 22 ) +custom_styles/hover = ExtResource( 1 ) +custom_styles/pressed = ExtResource( 1 ) +custom_styles/normal = ExtResource( 7 ) +icon = SubResource( 2 ) diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.gd new file mode 100644 index 0000000..facf557 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.gd @@ -0,0 +1,32 @@ +tool +extends MenuButton + +export (Texture) var custom_icon setget set_custom_icon +var custom_icon_modulation setget set_custom_icon_modulation +var menu_background + +# until we change the background color of the pickers, the color should ignore the theme +var default_color = Color('ccced3') + +func _ready(): + menu_background = load("res://addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres") + menu_background.bg_color = get_color("base_color", "Editor") + add_color_override("font_color", default_color) #get_color("mono_color", "Editor")) + update_submenu_style(get_popup()) + reset_modulation() + $Icon2.texture = get_icon("Collapse", "EditorIcons") + +func update_submenu_style(submenu): + submenu.add_stylebox_override('panel', menu_background) + submenu.add_stylebox_override('hover', StyleBoxEmpty.new()) + submenu.add_color_override('font_color_hover', get_color("accent_color", "Editor")) + +func set_custom_icon(texture:Texture): + $Icon.texture = texture + +func set_custom_icon_modulation(color:Color): + $Icon.modulate = color + +func reset_modulation(): + $Icon.modulate = default_color#get_color("font_color", "Editor") + $Icon2.modulate = default_color#get_color("font_color", "Editor") diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn new file mode 100644 index 0000000..7949046 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn @@ -0,0 +1,66 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/styles/SettingsFieldBackground.tres" type="StyleBox" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.gd" type="Script" id=3] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="MenuButton" type="MenuButton"] +margin_right = 98.0 +margin_bottom = 24.0 +focus_mode = 2 +size_flags_vertical = 4 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +custom_styles/hover = ExtResource( 1 ) +custom_styles/pressed = ExtResource( 1 ) +custom_styles/normal = ExtResource( 1 ) +text = "Resource" +flat = false +align = 0 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Icon" type="TextureRect" parent="."] +modulate = Color( 0, 0, 0, 1 ) +anchor_bottom = 1.0 +margin_left = 8.0 +margin_top = 4.0 +margin_right = 23.0 +margin_bottom = -4.0 +expand = true +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Icon2" type="TextureRect" parent="."] +modulate = Color( 0, 0, 0, 1 ) +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +margin_left = -20.7581 +margin_top = -8.78745 +margin_right = -5.75813 +margin_bottom = 7.21255 +texture = SubResource( 2 ) +expand = true +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/EventPart_ScenePicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/EventPart_ScenePicker.gd new file mode 100644 index 0000000..ceff0f7 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/EventPart_ScenePicker.gd @@ -0,0 +1,28 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var file_picker = $FilePicker + +# used to connect the signals +func _ready(): + file_picker.connect("data_changed", self, "_on_ScenePicker_data_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + file_picker.load_data(data) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_ScenePicker_data_changed(data): + event_data = data + data_changed() + diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn new file mode 100644 index 0000000..d688716 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/EventPart_ScenePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/FilePicker.tscn" type="PackedScene" id=2] + +[node name="ScenePicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_vertical = 4 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FilePicker" parent="." instance=ExtResource( 2 )] +margin_top = 0.0 +margin_right = 199.0 +margin_bottom = 22.0 +Mode = "Scene" diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/EventPart_ThemePicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/EventPart_ThemePicker.gd new file mode 100644 index 0000000..6ca1f63 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/EventPart_ThemePicker.gd @@ -0,0 +1,78 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +export (String) var default_text = "Select Theme" + +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + picker_menu.custom_icon = load("res://addons/dialogic/Images/Resources/theme.svg") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + select_theme() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func select_theme(): + if event_data['set_theme'] != '': + for theme in DialogicUtil.get_theme_list(): + if theme['file'] == event_data['set_theme']: + picker_menu.text = theme['name'] + else: + picker_menu.text = default_text + +# when an index is selected on one of the menus. +func _on_PickerMenu_selected(index, menu): + event_data['set_theme'] = menu.get_item_metadata(index).get('file', '') + + select_theme() + + # informs the parent about the changes! + data_changed() + + +func _on_PickerMenu_about_to_show(): + build_PickerMenu() + +func build_PickerMenu(): + picker_menu.get_popup().clear() + var folder_structure = DialogicUtil.get_theme_folder_structure() + + ## building the root level + build_PickerMenuFolder(picker_menu.get_popup(), folder_structure, "MenuButton") + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + picker_menu.update_submenu_style(submenu) + index += 1 + + var files_info = DialogicUtil.get_theme_dict() + for file in folder_structure['files']: + menu.add_item(files_info[file]['name']) + menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").theme_icon) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_PickerMenu_selected"): + menu.connect("index_pressed", self, '_on_PickerMenu_selected', [menu]) + + return current_folder_name diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/ThemePicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/ThemePicker.tscn new file mode 100644 index 0000000..6586f15 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/ThemePicker.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/EventPart_ThemePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=3] + +[node name="ThemePicker" type="HBoxContainer"] +margin_right = 157.0 +margin_bottom = 27.0 +size_flags_vertical = 4 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +show_text = true + +[node name="Label" parent="." instance=ExtResource( 3 )] +margin_top = 6.0 +margin_right = 59.0 +margin_bottom = 20.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "to theme" + +[node name="MenuButton" parent="." instance=ExtResource( 2 )] +margin_left = 63.0 +margin_top = 1.0 +margin_right = 177.0 +margin_bottom = 25.0 +custom_colors/font_color = Color( 0.8, 0.807843, 0.827451, 1 ) diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/EventPart_TimelinePicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/EventPart_TimelinePicker.gd new file mode 100644 index 0000000..0b1af11 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/EventPart_TimelinePicker.gd @@ -0,0 +1,79 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + picker_menu.custom_icon = load("res://addons/dialogic/Images/Resources/timeline.svg") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + if event_data['change_timeline'] != '': + for c in DialogicUtil.get_timeline_list(): + if c['file'] == event_data['change_timeline']: + picker_menu.text = c['name'] + else: + picker_menu.text = 'Select Timeline' + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +# when an index is selected on one of the menus. +func _on_PickerMenu_selected(index, menu): + var text = menu.get_item_text(index) + var metadata = menu.get_item_metadata(index) + picker_menu.text = text + event_data['change_timeline'] = metadata['file'] + + # informs the parent about the changes! + data_changed() + + +func _on_PickerMenu_about_to_show(): + build_PickerMenu() + + +func build_PickerMenu(): + picker_menu.get_popup().clear() + var folder_structure = DialogicUtil.get_timelines_folder_structure() + + ## building the root level + build_PickerMenuFolder(picker_menu.get_popup(), folder_structure, "MenuButton") + + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + picker_menu.update_submenu_style(submenu) + index += 1 + + var files_info = DialogicUtil.get_timeline_dict() + for file in folder_structure['files']: + menu.add_item(files_info[file]['name']) + menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").timeline_icon) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_PickerMenu_selected"): + menu.connect("index_pressed", self, '_on_PickerMenu_selected', [menu]) + + return current_folder_name diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn new file mode 100644 index 0000000..b915849 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/EventPart_TimelinePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=3] + +[node name="TimelinePicker" type="HBoxContainer"] +margin_right = 119.0 +margin_bottom = 20.0 +size_flags_vertical = 6 +script = ExtResource( 1 ) + +[node name="Label" parent="." instance=ExtResource( 3 )] +margin_right = 87.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Start timeline" + +[node name="MenuButton" parent="." instance=ExtResource( 2 )] +margin_left = 91.0 +margin_right = 185.0 diff --git a/addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd b/addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd new file mode 100644 index 0000000..48c9704 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd @@ -0,0 +1,8 @@ +tool +extends SpinBox + +func can_drop_data(position, data): + # this prevents locking the mouse + # on some operating systems + # due to a godot editor bug with SpinBox drag/drop + return false diff --git a/addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.gd b/addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.gd new file mode 100644 index 0000000..0d26f66 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.gd @@ -0,0 +1,16 @@ +extends LineEdit + + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass diff --git a/addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn b/addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn new file mode 100644 index 0000000..34785dc --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn @@ -0,0 +1,39 @@ +[gd_scene load_steps=2 format=2] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 11.0 +content_margin_right = 9.0 +content_margin_top = 5.0 +content_margin_bottom = 5.0 +bg_color = Color( 0.12549, 0.141176, 0.192157, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.0980392, 0.113725, 0.152941, 1 ) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[node name="CustomLineEdit" type="LineEdit"] +margin_right = 48.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 130, 27 ) +size_flags_vertical = 6 +custom_colors/selection_color = Color( 0.345098, 0.345098, 0.345098, 1 ) +custom_colors/cursor_color = Color( 1, 1, 1, 1 ) +custom_colors/clear_button_color_pressed = Color( 0.960784, 0.960784, 0.960784, 1 ) +custom_colors/font_color_selected = Color( 1, 1, 1, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 1 ) +custom_colors/clear_button_color = Color( 0, 0, 0, 1 ) +custom_colors/font_color_uneditable = Color( 0, 0, 0, 1 ) +custom_styles/read_only = SubResource( 1 ) +custom_styles/focus = SubResource( 1 ) +custom_styles/normal = SubResource( 1 ) +expand_to_text_length = true +caret_blink = true +caret_blink_speed = 0.5 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/Text/EventPart_SignalArgumentPicker.gd b/addons/dialogic/Editor/Events/Parts/Text/EventPart_SignalArgumentPicker.gd new file mode 100644 index 0000000..ec1f2e6 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/EventPart_SignalArgumentPicker.gd @@ -0,0 +1,29 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var input_field = $HBox/InputField + +# used to connect the signals +func _ready(): + input_field.connect("text_changed", self, "_on_InputField_text_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + input_field.text = event_data['emit_signal'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_InputField_text_changed(text): + event_data['emit_signal'] = text + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextAndVoicePicker.gd b/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextAndVoicePicker.gd new file mode 100644 index 0000000..6392d86 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextAndVoicePicker.gd @@ -0,0 +1,55 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +onready var text_editor = $VBoxContainer/TextEditor +onready var voice_editor = $VBoxContainer/VoiceEditor + + +func _ready() -> void: + text_editor.connect("data_changed", self, "_on_text_editor_data_changed") + voice_editor.connect("data_changed", self, "_on_voice_editor_data_changed") + voice_editor.visible = use_voices() + voice_editor.editor_reference = editor_reference + voice_editor.repopulate() + + +func load_data(data): + .load_data(data) + + text_editor.load_data(data) + voice_editor.visible = use_voices() + voice_editor.load_data(data) + update_voices_lines() + + +func get_preview(): + return text_editor.get_preview() + + +func use_voices(): + var config = DialogicResources.get_settings_config() + return config.get_value('dialog', 'text_event_audio_enable', false) + + +func _on_text_editor_data_changed(data) -> void: + event_data = data + + #udpate the voice picker to check if we repopulate it + update_voices_lines() + # informs the parent + data_changed() + + +func update_voices_lines(): + var text = text_editor.get_child(0).text + voice_editor._on_text_changed(text) + + +func _on_voice_editor_data_changed(data) -> void: + event_data['voice_data'] = data['voice_data'] + voice_editor.visible = use_voices() + # informs the parent + data_changed() + +func focus(): + text_editor.focus() diff --git a/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextEditor.gd b/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextEditor.gd new file mode 100644 index 0000000..e0ea5c2 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextEditor.gd @@ -0,0 +1,130 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var text_editor = $TextEdit + +var timeline_area = null +var text_gap = 50 + +# used to connect the signals +func _ready(): + text_gap = (text_gap * DialogicUtil.get_editor_scale(self)) + + # signals + text_editor.connect("text_changed", self, "_on_TextEditor_text_changed") + text_editor.connect("focus_entered", self, "_on_TextEditor_focus_entered") + + # stylistig setup + text_editor.syntax_highlighting = true + text_editor.add_color_region('[', ']', get_color("axis_z_color", "Editor")) + text_editor.set('custom_colors/number_color', get_color("font_color", "Editor")) + text_editor.set('custom_colors/function_color', get_color("font_color", "Editor")) + text_editor.set('custom_colors/member_variable_color', get_color("font_color", "Editor")) + text_editor.set('custom_colors/symbol_color', get_color("font_color", "Editor")) + + timeline_area = find_parent('TimelineArea') + timeline_area.connect('resized', self, '_set_new_min_size') + _set_new_min_size() + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + # in case this is a text event + if data['event_id'] == 'dialogic_001': + text_editor.text = event_data['text'] + # in case this is a question event + elif data['event_id'] == 'dialogic_010': + text_editor.text = event_data['question'] + # otherwise + else: + text_editor.text = event_data['text'] + + # resize the text_editor to the correct size + _set_new_min_size() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + var max_preview_characters = 35 + var text = '' + if event_data['event_id'] == 'dialogic_001': + text = event_data['text'] + # in case this is a question event + elif event_data['event_id'] == 'dialogic_010': + text = event_data['question'] + # otherwise + else: + text = event_data['text'] + text = text.replace('\n', '[br]') + var preview = text.substr(0, min(max_preview_characters, len(text))) + if (len(text) > max_preview_characters): + preview += "..." + + return preview + +func _on_TextEditor_text_changed(): + # in case this is a text event + if event_data['event_id'] == 'dialogic_001': + event_data['text'] = text_editor.text + # in case this is a question event + elif event_data['event_id'] == 'dialogic_010': + event_data['question'] = text_editor.text + # otherwise + else: + event_data['text'] = text_editor.text + _set_new_min_size() + + # informs the parent about the changes! + data_changed() + + +func _set_new_min_size(): + # Reset + text_editor.rect_min_size = Vector2(0,0) + # Getting new sizes + var extra_vertical = 1.1 + + + + + # Getting the longest string and making that the width of the dialog bubble + # also check how many lines wrap (and how often) + var count_wrapped_lines = 0 + var longest_string = '' + for l in text_editor.text.split('\n'): + if l.length() > longest_string.length(): + longest_string = l + if get_font("normal_font").get_string_size(l).x > get_max_x_size(): + count_wrapped_lines += get_font("normal_font").get_string_size(l).x/(get_max_x_size()) + + # set the height + if text_editor.get_line_count() > 1: + extra_vertical = 1.22 + text_editor.rect_min_size.y = get_font("normal_font").get_height() * ((text_editor.get_line_count() + 1 + count_wrapped_lines) * extra_vertical) + + # set the width + text_editor.rect_min_size.x = get_font("normal_font").get_string_size(longest_string).x + text_gap + if text_editor.rect_min_size.x > get_max_x_size(): + text_editor.rect_min_size.x = get_max_x_size() + +func get_max_x_size(): + return timeline_area.rect_size.x - (text_editor.rect_global_position.x - timeline_area.rect_global_position.x) - text_gap + +func _on_TextEditor_focus_entered() -> void: + if (Input.is_mouse_button_pressed(BUTTON_LEFT)): + emit_signal("request_selection") + + +func _on_TextEdit_focus_exited(): + # Remove text selection to visually notify the user that the text will not + # be copied if they use a hotkey like CTRL + C + $TextEdit.deselect() + +func focus(): + $TextEdit.grab_focus() diff --git a/addons/dialogic/Editor/Events/Parts/Text/GreyLabel.gd b/addons/dialogic/Editor/Events/Parts/Text/GreyLabel.gd new file mode 100644 index 0000000..431035d --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/GreyLabel.gd @@ -0,0 +1,5 @@ +tool +extends Label + +func _ready(): + add_color_override("font_color", get_color("contrast_color_2", "Editor")) diff --git a/addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn b/addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn new file mode 100644 index 0000000..8590f5a --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.gd" type="Script" id=1] + +[node name="Label" type="Label"] +margin_top = 4.0 +margin_right = 78.0 +margin_bottom = 18.0 +text = "with portrait" +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn b/addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn new file mode 100644 index 0000000..5c0f8ad --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/EventPart_SignalArgumentPicker.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=3] + +[node name="SignalArgumentPicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_vertical = 6 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_top = 6.0 +margin_right = 361.0 +margin_bottom = 33.0 +size_flags_vertical = 6 + +[node name="Label" parent="HBox" instance=ExtResource( 3 )] +margin_top = 6.0 +margin_right = 227.0 +margin_bottom = 20.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "'dialogic_signal' with the argument " + +[node name="InputField" parent="HBox" instance=ExtResource( 1 )] +margin_left = 231.0 +margin_right = 361.0 +margin_bottom = 27.0 diff --git a/addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn b/addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn new file mode 100644 index 0000000..7710b38 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/EventPart_TextAndVoicePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/VoiceEditor.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/TextEditor.tscn" type="PackedScene" id=3] + +[node name="TextAndVoiceEditor" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 40.0 +margin_bottom = 15.0 + +[node name="TextEditor" parent="VBoxContainer" instance=ExtResource( 3 )] +margin_bottom = 15.0 + +[node name="VoiceEditor" parent="VBoxContainer" instance=ExtResource( 2 )] +visible = false +margin_top = 4.0 +margin_right = 358.0 +margin_bottom = 44.0 diff --git a/addons/dialogic/Editor/Events/Parts/Text/TextEditor.tscn b/addons/dialogic/Editor/Events/Parts/Text/TextEditor.tscn new file mode 100644 index 0000000..472fbe4 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/TextEditor.tscn @@ -0,0 +1,44 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/EventPart_TextEditor.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/TextBackground.tres" type="StyleBox" id=2] + +[sub_resource type="StyleBoxFlat" id=3] +content_margin_left = 16.0 +content_margin_top = 14.0 +bg_color = Color( 0.27451, 0.27451, 0.27451, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.192157, 0.666667, 1, 1 ) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 + +[node name="TextEditor" type="HBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextEdit" type="TextEdit" parent="."] +margin_right = 17.0 +margin_bottom = 40.0 +size_flags_vertical = 3 +custom_colors/member_variable_color = Color( 0, 0, 0, 1 ) +custom_colors/function_color = Color( 0, 0, 0, 1 ) +custom_colors/symbol_color = Color( 0, 0, 0, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 1 ) +custom_colors/number_color = Color( 0, 0, 0, 1 ) +custom_styles/focus = SubResource( 3 ) +custom_styles/normal = ExtResource( 2 ) +syntax_highlighting = true +show_line_numbers = true +smooth_scrolling = true +wrap_enabled = true + +[connection signal="focus_exited" from="TextEdit" to="." method="_on_TextEdit_focus_exited"] diff --git a/addons/dialogic/Editor/Events/Parts/WaitSeconds/EventPart_WaitSeconds.gd b/addons/dialogic/Editor/Events/Parts/WaitSeconds/EventPart_WaitSeconds.gd new file mode 100644 index 0000000..cb367b1 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/WaitSeconds/EventPart_WaitSeconds.gd @@ -0,0 +1,49 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var seconds_selector = $HBoxContainer/SecondsBox +onready var skippable_selector = $HBoxContainer/SkippableCheckbox +onready var hideBox_selector = $HBoxContainer/HideDialogBoxCheckbox + +# used to connect the signals +func _ready(): + seconds_selector.connect("value_changed", self, "_on_SecondsSelector_value_changed") + skippable_selector.connect("toggled", self, "_on_SkippableSelector_toggled") + hideBox_selector.connect("toggled", self, "_on_HideDialogBox_toggled") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + seconds_selector.value = event_data['wait_seconds'] + skippable_selector.pressed = event_data.get('waiting_skippable', false) + hideBox_selector.pressed = event_data.get('hide_dialogbox', true) + if event_data['wait_seconds'] == 1: + $HBoxContainer/Label2.text = "second" + else: + $HBoxContainer/Label2.text = "seconds" + +func _on_SecondsSelector_value_changed(value): + event_data['wait_seconds'] = value + if value == 1: + $HBoxContainer/Label2.text = "second" + else: + $HBoxContainer/Label2.text = "seconds" + data_changed() + +func _on_SkippableSelector_toggled(checkbox_value): + event_data['waiting_skippable'] = checkbox_value + data_changed() + +func _on_HideDialogBox_toggled(checkbox_value): + event_data['hide_dialogbox'] = checkbox_value + data_changed() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' diff --git a/addons/dialogic/Editor/Events/Parts/WaitSeconds/WaitSeconds.tscn b/addons/dialogic/Editor/Events/Parts/WaitSeconds/WaitSeconds.tscn new file mode 100644 index 0000000..8584cf0 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/WaitSeconds/WaitSeconds.tscn @@ -0,0 +1,56 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/WaitSeconds/EventPart_WaitSeconds.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd" type="Script" id=4] + +[node name="VBoxContainer" type="VBoxContainer"] +size_flags_vertical = 4 +theme = ExtResource( 3 ) +script = ExtResource( 1 ) + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +margin_right = 377.0 +margin_bottom = 24.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" parent="HBoxContainer" instance=ExtResource( 2 )] +margin_top = 5.0 +margin_right = 17.0 +margin_bottom = 19.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "for" + +[node name="SecondsBox" type="SpinBox" parent="HBoxContainer"] +margin_left = 21.0 +margin_right = 97.0 +margin_bottom = 24.0 +min_value = 0.1 +step = 0.1 +value = 1.0 +allow_greater = true +align = 1 +script = ExtResource( 4 ) + +[node name="Label2" parent="HBoxContainer" instance=ExtResource( 2 )] +margin_left = 101.0 +margin_top = 5.0 +margin_right = 154.0 +margin_bottom = 19.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "seconds" + +[node name="SkippableCheckbox" type="CheckBox" parent="HBoxContainer"] +margin_left = 158.0 +margin_right = 247.0 +margin_bottom = 24.0 +text = "Skippable" + +[node name="HideDialogBoxCheckbox" type="CheckBox" parent="HBoxContainer"] +margin_left = 251.0 +margin_right = 377.0 +margin_bottom = 24.0 +text = "Hide DialogBox" diff --git a/addons/dialogic/Editor/Events/Question.tscn b/addons/dialogic/Editor/Events/Question.tscn new file mode 100644 index 0000000..4f9fa3e --- /dev/null +++ b/addons/dialogic/Editor/Events/Question.tscn @@ -0,0 +1,112 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/question.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=4] + +[node name="Question" instance=ExtResource( 3 )] +event_name = "Question" +event_data = { +"character": "", +"event_id": "dialogic_010", +"options": [ ], +"portrait": "", +"question": "" +} +event_color = Color( 0.619608, 0.466667, 0.92549, 1 ) +event_icon = ExtResource( 1 ) +header_scene = ExtResource( 2 ) +body_scene = ExtResource( 4 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/010.md" +event_category = 1 +sorting_index = 0 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 250.0 +margin_bottom = 82.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 250.0 +margin_bottom = 82.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 244.0 +margin_bottom = 76.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 234.0 +margin_bottom = 32.0 + +[node name="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_bottom = 32.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.619608, 0.466667, 0.92549, 1 ) +margin_top = 16.0 +margin_bottom = 16.0 + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 1 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_top = 9.0 +margin_right = 59.0 +margin_bottom = 23.0 +text = "Question" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 59.0 +margin_right = 190.0 +margin_bottom = 32.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +visible = true +margin_left = 190.0 +margin_top = 1.0 +margin_right = 234.0 +margin_bottom = 31.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 234.0 +margin_right = 234.0 +margin_bottom = 32.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +icon = SubResource( 2 ) + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +visible = true +margin_left = 0.0 +margin_top = 36.0 +margin_right = 234.0 +margin_bottom = 70.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +margin_top = 0.0 +margin_right = 234.0 +margin_bottom = 34.0 +custom_constants/margin_left = 0 + +[node name="AllowNoCharacter" type="Node" parent="." index="2"] + +[node name="PopupMenu" parent="." index="3"] +custom_styles/hover = SubResource( 4 ) diff --git a/addons/dialogic/Editor/Events/SaveEvent.tscn b/addons/dialogic/Editor/Events/SaveEvent.tscn new file mode 100644 index 0000000..7782997 --- /dev/null +++ b/addons/dialogic/Editor/Events/SaveEvent.tscn @@ -0,0 +1,89 @@ +[gd_scene load_steps=9 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.tscn" type="PackedScene" id=3] + +[sub_resource type="Image" id=6] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 6 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=5] + +[sub_resource type="Image" id=7] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 7 ) +size = Vector2( 16, 16 ) + +[node name="SaveEvent" instance=ExtResource( 1 )] +event_name = "Save" +event_data = { +"custom_slot": "", +"event_id": "dialogic_026", +"use_default_slot": true +} +event_color = Color( 0.0470588, 0.647059, 0.921569, 1 ) +event_icon = ExtResource( 2 ) +header_scene = ExtResource( 3 ) +expand_on_default = false +help_page_path = "res://addons/dialogic/Documentation/Content/Tutorials/Saving.md" +sorting_index = 2 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 190.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 190.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 184.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 174.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.0470588, 0.647059, 0.921569, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 2 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 29.0 +text = "Save" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 29.0 +margin_right = 174.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 174.0 +margin_right = 174.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +icon = SubResource( 2 ) + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/SetGlossary.tscn b/addons/dialogic/Editor/Events/SetGlossary.tscn new file mode 100644 index 0000000..2564419 --- /dev/null +++ b/addons/dialogic/Editor/Events/SetGlossary.tscn @@ -0,0 +1,86 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/SetGlossary.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/GlossaryPicker.tscn" type="PackedScene" id=5] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg" type="Texture" id=6] + +[sub_resource type="StyleBoxEmpty" id=4] + +[sub_resource type="Image" id=5] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 5 ) +size = Vector2( 16, 16 ) + +[node name="SetGlossary" instance=ExtResource( 3 )] +event_name = "Set Glossary" +event_data = { +"event_id": "dialogic_025", +"extra": "", +"glossary_id": "", +"text": "", +"title": "" +} +event_color = Color( 0.396078, 0.439216, 0.517647, 1 ) +event_icon = ExtResource( 6 ) +header_scene = ExtResource( 5 ) +body_scene = ExtResource( 4 ) +expand_on_default = false +event_category = 2 +sorting_index = 6 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 330.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 330.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 324.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 314.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.396078, 0.439216, 0.517647, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 6 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 79.0 +text = "Set Glossary" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 79.0 +margin_right = 314.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 164.0 +margin_right = 216.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 314.0 +margin_right = 314.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 924.0 +margin_right = 954.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +custom_constants/margin_left = 0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 4 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/SetTheme.tscn b/addons/dialogic/Editor/Events/SetTheme.tscn new file mode 100644 index 0000000..4f94993 --- /dev/null +++ b/addons/dialogic/Editor/Events/SetTheme.tscn @@ -0,0 +1,72 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/ThemePicker.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=5] + +[node name="SetTheme" instance=ExtResource( 2 )] +event_name = "Change Theme" +event_data = { +"event_id": "dialogic_024", +"set_theme": "" +} +event_color = Color( 0.964706, 0.239216, 0.403922, 1 ) +event_icon = ExtResource( 1 ) +header_scene = ExtResource( 4 ) +event_category = 3 +sorting_index = 2 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 309.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 309.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 303.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 293.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.964706, 0.239216, 0.403922, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 1 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +texture = SubResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 94.0 +text = "Change Theme" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 94.0 +margin_right = 293.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 293.0 +margin_right = 293.0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/SetValue.tscn b/addons/dialogic/Editor/Events/SetValue.tscn new file mode 100644 index 0000000..e7df5ac --- /dev/null +++ b/addons/dialogic/Editor/Events/SetValue.tscn @@ -0,0 +1,92 @@ +[gd_scene load_steps=9 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/set-value.svg" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/SetValuePicker.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=5] + +[sub_resource type="Image" id=6] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 6 ) +size = Vector2( 16, 16 ) + +[node name="SetValue" instance=ExtResource( 1 )] +event_name = "Set Value" +event_data = { +"definition": "", +"event_id": "dialogic_014", +"operation": "=", +"random_upper_limit": 100.0, +"set_random": false, +"set_value": "" +} +event_color = Color( 0.396078, 0.439216, 0.517647, 1 ) +event_icon = ExtResource( 2 ) +header_scene = ExtResource( 4 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/014.md" +event_category = 2 +sorting_index = 5 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 429.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 429.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 423.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 413.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.396078, 0.439216, 0.517647, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 2 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 59.0 +text = "Set Value" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 59.0 +margin_right = 413.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 413.0 +margin_right = 413.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +icon = SubResource( 2 ) + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/Templates/EventBlock.gd b/addons/dialogic/Editor/Events/Templates/EventBlock.gd new file mode 100644 index 0000000..35a447f --- /dev/null +++ b/addons/dialogic/Editor/Events/Templates/EventBlock.gd @@ -0,0 +1,310 @@ +tool +extends HBoxContainer + +# customization options for the event + +# This is the default data that is going to be saved to json +export(String) var event_name : String = 'Event name' +export (Dictionary) var event_data: Dictionary = {'event_id':'dialogic_000'} +export(Color) var event_color: Color = Color(0.6,0.6,0.6,1) +export(Texture) var event_icon : Texture + +export(PackedScene) var header_scene : PackedScene +export(PackedScene) var body_scene : PackedScene + +export (bool) var expand_on_default := false +export (bool) var needs_indentation := false +export (String) var help_page_path := "" +export (bool) var show_name_in_timeline := true +export(int, "Main", "Logic", "Timeline", "Audio/Visual", "Godot") var event_category = 0 +export (int) var sorting_index = -1 +signal option_action(action_name) + + +### internal node eferences +onready var panel = $PanelContainer +onready var selected_style = $PanelContainer/SelectedStyle +onready var warning = $PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel/Warning +onready var title_label = $PanelContainer/MarginContainer/VBoxContainer/Header/TitleLabel +onready var icon_texture = $PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel/IconTexture +onready var expand_control = $PanelContainer/MarginContainer/VBoxContainer/Header/ExpandControl +onready var header_content_container = $PanelContainer/MarginContainer/VBoxContainer/Header/Content +onready var body_container = $PanelContainer/MarginContainer/VBoxContainer/Body +onready var body_content_container = $PanelContainer/MarginContainer/VBoxContainer/Body/Content +onready var indent_node = $Indent +onready var help_button = $PanelContainer/MarginContainer/VBoxContainer/Header/HelpButton +var header_node +var body_node + +### extarnal node references +var editor_reference + +### the indent size +var indent_size = 45 +var current_indent_level = 1 + +# Setting this to true will ignore the event while saving +# Useful for making placeholder events in drag and drop +var ignore_save = false + +## ***************************************************************************** +## PUBLIC METHODS +## ***************************************************************************** + +func visual_select(): + selected_style.show() + + +func visual_deselect(): + if selected_style: + selected_style.hide() + + +# called by the timeline before adding it to the tree +func load_data(data): + event_data = data + +# called to inform event parts, that a focus is wanted +func focus(): + if get_header(): + get_header().focus() + if get_body(): + get_body().focus() + +func get_body(): + return body_node + + +func get_header(): + return header_node + + +func set_warning(text): + warning.show() + warning.hint_tooltip = text + + +func remove_warning(text = ''): + if warning.hint_tooltip == text or text == '': + warning.hide() + + +func set_preview(text: String): + expand_control.set_preview(text) + + +func set_indent(indent: int): + indent_node.rect_min_size = Vector2(indent_size * indent, 0) + indent_node.visible = indent != 0 + current_indent_level = indent + update() + + +func set_expanded(expanded: bool): + expand_control.set_expanded(expanded) + + +## ***************************************************************************** +## PRIVATE METHODS +## ***************************************************************************** + +func _set_event_icon(icon: Texture): + icon_texture.texture = icon + var _scale = DialogicUtil.get_editor_scale(self) + var cpanel = $PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer + var ip = $PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel + var ipc = $PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel/IconTexture + # Change color if light theme + ipc.self_modulate = Color(1,1,1,1) + if not get_constant("dark_theme", "Editor"): + icon_texture.self_modulate = get_color("font_color", "Editor") + # Resizing the icon acording to the scale + var icon_size = 38 + cpanel.rect_min_size = Vector2(icon_size, icon_size) * _scale + ip.rect_min_size = cpanel.rect_min_size + ipc.rect_min_size = ip.rect_min_size + #rect_min_size.y = 50 * _scale + #icon_texture.rect_size = icon_texture.rect_size * _scale + + +func _set_event_name(text: String): + if show_name_in_timeline: + title_label.text = text + else: + var t_label = get_node_or_null("PanelContainer/MarginContainer/VBoxContainer/Header/TitleLabel") + if t_label: + t_label.queue_free() + + + +func _set_header(scene: PackedScene): + header_node = _set_content(header_content_container, scene) + + +func _set_body(scene: PackedScene): + body_node = _set_content(body_content_container, scene) + # show the expand toggle + expand_control.set_enabled(body_node != null) + + +func _setup_event(): + if event_icon != null: + _set_event_icon(event_icon) + if event_name != null: + _set_event_name(event_name) + if header_scene != null: + _set_header(header_scene) + if body_scene != null: + _set_body(body_scene) + body_content_container.add_constant_override('margin_left', 40*DialogicUtil.get_editor_scale(self)) + if event_color != null: + $PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel.set("self_modulate", event_color) + + +func _set_content(container: Control, scene: PackedScene): + for c in container.get_children(): + container.remove_child(c) + if scene != null: + var node = scene.instance() + node.editor_reference = editor_reference + container.add_child(node) +# node.set_owner(get_tree().get_edited_scene_root()) + return node + return null + + +func _on_ExpandControl_state_changed(expanded: bool): + if expanded: + if body_node: + body_container.show() + else: + if body_node: + body_container.hide() + expand_control.set_preview(body_node.get_preview()) + + +func _on_OptionsControl_action(index): + if index == 0: + if help_page_path: + var master_tree = editor_reference.get_node_or_null('MainPanel/MasterTreeContainer/MasterTree') + master_tree.select_documentation_item(help_page_path) + elif index == 2: + emit_signal("option_action", "up") + elif index == 3: + emit_signal("option_action", "down") + elif index == 5: + emit_signal("option_action", "remove") + + +func _on_Indent_visibility_changed(): + if not indent_node: + return + if needs_indentation: + if indent_node.visible: + remove_warning(editor_reference.dialogicTranslator.translate("This event needs a question event around it!")) + else: + set_warning(editor_reference.dialogicTranslator.translate("This event needs a question event around it!")) + + +func _on_gui_input(event): + if event is InputEventMouseButton and event.is_pressed() and event.button_index == 1: + grab_focus() # Grab focus to avoid copy pasting text or events + if event.doubleclick and expand_control.enabled: + expand_control.set_expanded(not expand_control.expanded) + # For opening the context menu + if event is InputEventMouseButton: + if event.button_index == BUTTON_RIGHT and event.pressed: + $PopupMenu.rect_global_position = get_global_mouse_position() + var popup = $PopupMenu.popup() + + +# called when the data of the header is changed +func _on_Header_data_changed(new_event_data): + event_data = new_event_data + + # update the body in case it has to + if get_body(): + get_body().load_data(event_data) + + +# called when the data of the body is changed +func _on_Body_data_changed(new_event_data): + event_data = new_event_data + + # update the header in case it has to + if get_header(): + get_header().load_data(event_data) + +func _request_set_body_enabled(enabled:bool): + expand_control.set_enabled(enabled) + + if get_body(): + get_body().visible = enabled + +func _request_selection(): + var timeline_editor = editor_reference.get_node_or_null('MainPanel/TimelineEditor') + if (timeline_editor != null): + # @todo select item and clear selection is marked as "private" in TimelineEditor.gd + # consider to make it "public" or add a public helper function + timeline_editor.select_item(self) + +## ***************************************************************************** +## OVERRIDES +## ***************************************************************************** + +func _ready(): + + # We only want to call this on actual Dialogic nodes, not custom events + if(event_data['event_id'].split("_")[0] == "dialogic"): + event_name = editor_reference.dialogicTranslator.translate(event_name) + + ## DO SOME STYLING + $PanelContainer/SelectedStyle.modulate = get_color("accent_color", "Editor") + warning.texture = get_icon("NodeWarning", "EditorIcons") + title_label.add_color_override("font_color", Color.white) + if not get_constant("dark_theme", "Editor"): + title_label.add_color_override("font_color", get_color("font_color", "Editor")) + + indent_size = indent_size * DialogicUtil.get_editor_scale(self) + + _setup_event() + + set_focus_mode(1) # Allowing this node to grab focus + + # signals + panel.connect("gui_input", self, '_on_gui_input') + expand_control.connect("state_changed", self, "_on_ExpandControl_state_changed") + $PopupMenu.connect("index_pressed", self, "_on_OptionsControl_action") + + # load icons + #if help_page_path != "": + # help_button.icon = get_icon("HelpSearch", "EditorIcons") + # help_button.show() + + # when it enters the tree, load the data into the header/body + # If there is any external data, it will be set already BEFORE the event is added to tree + # if you have a header + if get_header(): + get_header().connect("data_changed", self, "_on_Header_data_changed") + get_header().connect("request_open_body", expand_control, "set_expanded", [true]) + get_header().connect("request_close_body", expand_control, "set_expanded", [false]) + get_header().connect("request_selection", self, "_request_selection") + get_header().connect("request_set_body_enabled", self, "_request_set_body_enabled") + get_header().connect("set_warning", self, "set_warning") + get_header().connect("remove_warning", self, "remove_warning") + get_header().load_data(event_data) + # if you have a body + if get_body(): + get_body().connect("data_changed", self, "_on_Body_data_changed") + get_body().connect("request_open_body", expand_control, "set_expanded", [true]) + get_body().connect("request_close_body", expand_control, "set_expanded", [false]) + get_body().connect("request_set_body_enabled", self, "_request_set_body_enabled") + get_body().connect("request_selection", self, "_request_selection") + get_body().connect("set_warning", self, "set_warning") + get_body().connect("remove_warning", self, "remove_warning") + get_body().load_data(event_data) + + if get_body(): + set_expanded(expand_on_default) + + _on_Indent_visibility_changed() diff --git a/addons/dialogic/Editor/Events/Templates/EventTemplate.tscn b/addons/dialogic/Editor/Events/Templates/EventTemplate.tscn new file mode 100644 index 0000000..c922f36 --- /dev/null +++ b/addons/dialogic/Editor/Events/Templates/EventTemplate.tscn @@ -0,0 +1,210 @@ +[gd_scene load_steps=12 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventBlock.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres" type="StyleBox" id=5] +[ext_resource path="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg" type="Texture" id=6] +[ext_resource path="res://addons/dialogic/Images/Event Icons/event-outline.svg" type="Texture" id=7] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/PopupMenu.gd" type="Script" id=8] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0.6, 0.6, 0.6, 0 ) + +[sub_resource type="Image" id=5] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 5 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=4] + +[node name="EventTemplate" type="HBoxContainer"] +anchor_right = 1.0 +margin_right = -922.0 +margin_bottom = 76.0 +focus_mode = 1 +size_flags_horizontal = 3 +size_flags_vertical = 9 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +event_name = "" +event_data = { +"event_id": "dialogic_000" +} +expand_on_default = true + +[node name="Indent" type="Control" parent="."] +visible = false +margin_bottom = 64.0 + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_right = 102.0 +margin_bottom = 76.0 +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_styles/panel = SubResource( 1 ) + +[node name="SelectedStyle" type="Panel" parent="PanelContainer"] +visible = false +modulate = Color( 0, 0, 0, 1 ) +margin_right = 76.0 +margin_bottom = 50.0 +custom_styles/panel = ExtResource( 3 ) + +[node name="MarginContainer" type="MarginContainer" parent="PanelContainer"] +margin_right = 102.0 +margin_bottom = 76.0 +mouse_filter = 1 +size_flags_vertical = 3 +custom_constants/margin_right = 6 +custom_constants/margin_top = 6 +custom_constants/margin_left = 10 +custom_constants/margin_bottom = 6 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer"] +margin_left = 10.0 +margin_top = 6.0 +margin_right = 96.0 +margin_bottom = 70.0 +rect_min_size = Vector2( 0, 30 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Header" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer"] +margin_right = 86.0 +margin_bottom = 64.0 +rect_min_size = Vector2( 0, 32 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 0 + +[node name="CenterContainer" type="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header"] +margin_bottom = 64.0 +mouse_filter = 1 + +[node name="IconPanel" type="TextureRect" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer"] +self_modulate = Color( 0.6, 0.6, 0.6, 1 ) +margin_top = 32.0 +margin_bottom = 32.0 +mouse_default_cursor_shape = 6 +texture = ExtResource( 7 ) +expand = true +stretch_mode = 1 + +[node name="IconTexture" type="TextureRect" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel"] +anchor_left = 1.0 +anchor_right = 1.0 +grow_horizontal = 0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +texture = ExtResource( 6 ) +expand = true +stretch_mode = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Warning" type="TextureRect" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel"] +visible = false +margin_left = -9.19241 +margin_top = -4.24266 +margin_right = 12.8076 +margin_bottom = 17.7573 +hint_tooltip = "Choice events should go +between a [Question] +and [End branch] events. + +[Question] + [Choice] + [...] +[End branch]" +texture = SubResource( 3 ) +stretch_mode = 5 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TitleLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/Header"] +margin_top = 25.0 +margin_bottom = 39.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) + +[node name="Content" type="MarginContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header"] +margin_right = 10.0 +margin_bottom = 64.0 +mouse_filter = 1 +custom_constants/margin_right = 5 +custom_constants/margin_left = 5 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" instance=ExtResource( 2 )] +margin_left = 178.0 +margin_right = 242.0 + +[node name="Spacer" type="Control" parent="PanelContainer/MarginContainer/VBoxContainer/Header"] +margin_left = 10.0 +margin_right = 86.0 +margin_bottom = 64.0 +mouse_filter = 1 +size_flags_horizontal = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HelpButton" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/Header"] +visible = false +margin_left = 90.0 +margin_right = 120.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 30, 30 ) +hint_tooltip = "Open the documentation of this event" +flat = true +clip_text = true +expand_icon = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Body" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer"] +visible = false +margin_left = 202.0 +margin_top = 34.0 +margin_right = 1012.0 +margin_bottom = 42.0 +custom_constants/separation = 0 + +[node name="Content" type="MarginContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Body"] +margin_top = 4.0 +margin_right = 1012.0 +margin_bottom = 8.0 +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/margin_top = 2 +custom_constants/margin_bottom = 2 + +[node name="PopupMenu" type="PopupMenu" parent="."] +margin_left = 38.0 +margin_right = 133.0 +margin_bottom = 88.0 +custom_colors/font_color_hover = Color( 0, 0, 0, 1 ) +custom_constants/vseparation = 0 +custom_styles/hover = SubResource( 4 ) +custom_styles/panel = ExtResource( 5 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] +script = ExtResource( 8 ) + +[connection signal="visibility_changed" from="Indent" to="." method="_on_Indent_visibility_changed"] +[connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/Header/HelpButton" to="." method="_on_HelpButton_pressed"] diff --git a/addons/dialogic/Editor/Events/TextEvent.tscn b/addons/dialogic/Editor/Events/TextEvent.tscn new file mode 100644 index 0000000..552732e --- /dev/null +++ b/addons/dialogic/Editor/Events/TextEvent.tscn @@ -0,0 +1,120 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/text-event.svg" type="Texture" id=5] + +[sub_resource type="Image" id=7] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=4] +flags = 4 +flags = 4 +image = SubResource( 7 ) +size = Vector2( 16, 16 ) + +[sub_resource type="Image" id=8] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 8 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxEmpty" id=6] + +[node name="TextEvent" instance=ExtResource( 3 )] +event_name = "Text" +event_data = { +"character": "", +"event_id": "dialogic_001", +"portrait": "", +"text": "" +} +event_color = Color( 1, 1, 1, 1 ) +event_icon = ExtResource( 5 ) +header_scene = ExtResource( 1 ) +body_scene = ExtResource( 4 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/001.md" +show_name_in_timeline = false +sorting_index = 0 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 207.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 207.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 201.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 191.0 +margin_bottom = 41.0 + +[node name="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_bottom = 41.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 1, 1, 1, 1 ) +margin_top = 20.0 +margin_bottom = 20.0 + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 5 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"] +texture = SubResource( 4 ) + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 147.0 +margin_bottom = 41.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +visible = true +margin_left = 147.0 +margin_top = 5.0 +margin_right = 191.0 +margin_bottom = 35.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 191.0 +margin_right = 191.0 +margin_bottom = 41.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +icon = SubResource( 2 ) + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +visible = true +margin_left = 0.0 +margin_top = 45.0 +margin_right = 191.0 +margin_bottom = 64.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +margin_top = 0.0 +margin_right = 191.0 +margin_bottom = 19.0 +custom_constants/margin_left = 0 + +[node name="AllowNoCharacter" type="Node" parent="." index="2"] + +[node name="PopupMenu" parent="." index="3"] +custom_styles/hover = SubResource( 6 ) +items = [ "Documentation", SubResource( 4 ), 0, false, false, -1, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 4 ), 0, false, false, 1, 0, null, "", false, "Move down", SubResource( 4 ), 0, false, false, 2, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 4 ), 0, false, false, 4, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/WaitSeconds.tscn b/addons/dialogic/Editor/Events/WaitSeconds.tscn new file mode 100644 index 0000000..2c95ce0 --- /dev/null +++ b/addons/dialogic/Editor/Events/WaitSeconds.tscn @@ -0,0 +1,74 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/WaitSeconds/WaitSeconds.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=4] + +[sub_resource type="StyleBoxEmpty" id=4] + +[sub_resource type="Image" id=5] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 5 ) +size = Vector2( 16, 16 ) + +[node name="WaitSeconds" instance=ExtResource( 4 )] +event_name = "Wait" +event_data = { +"event_id": "dialogic_023", +"hide_dialogbox": true, +"wait_seconds": 1.0 +} +event_color = Color( 0.396078, 0.439216, 0.517647, 1 ) +event_icon = ExtResource( 1 ) +header_scene = ExtResource( 2 ) +event_category = 2 +sorting_index = 7 + +[node name="PanelContainer" parent="." index="1"] +margin_right = 425.0 + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_right = 425.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_right = 419.0 + +[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"] +margin_right = 409.0 + +[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"] +self_modulate = Color( 0.396078, 0.439216, 0.517647, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"] +self_modulate = Color( 0, 0, 0, 1 ) +texture = ExtResource( 1 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 29.0 +text = "Wait" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 29.0 +margin_right = 409.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 409.0 +margin_right = 409.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 400.0 +margin_right = 430.0 + +[node name="PopupMenu" parent="." index="2"] +custom_styles/hover = SubResource( 4 ) +items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres b/addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres new file mode 100644 index 0000000..979ce56 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres @@ -0,0 +1,32 @@ +[gd_resource type="Theme" load_steps=2 format=2] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 11.0 +content_margin_right = 9.0 +content_margin_top = 5.0 +content_margin_bottom = 5.0 +bg_color = Color( 0.12549, 0.141176, 0.192157, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.0980392, 0.113725, 0.152941, 1 ) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[resource] +LineEdit/colors/clear_button_color = Color( 0, 0, 0, 1 ) +LineEdit/colors/clear_button_color_pressed = Color( 0, 0, 0, 1 ) +LineEdit/colors/cursor_color = Color( 1, 1, 1, 1 ) +LineEdit/colors/font_color = Color( 1, 1, 1, 1 ) +LineEdit/colors/font_color_selected = Color( 1, 1, 1, 1 ) +LineEdit/colors/font_color_uneditable = Color( 1, 1, 1, 1 ) +LineEdit/colors/selection_color = Color( 1, 1, 1, 0.235294 ) +LineEdit/constants/minimum_spaces = 10 +LineEdit/fonts/font = null +LineEdit/icons/clear = null +LineEdit/styles/focus = SubResource( 1 ) +LineEdit/styles/normal = SubResource( 1 ) +LineEdit/styles/read_only = SubResource( 1 ) diff --git a/addons/dialogic/Editor/Events/styles/ResourceMenuHover.tres b/addons/dialogic/Editor/Events/styles/ResourceMenuHover.tres new file mode 100644 index 0000000..ecf8376 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/ResourceMenuHover.tres @@ -0,0 +1,11 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 25.0 +content_margin_right = 10.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.466667, 0.466667, 0.466667, 0.141176 ) +border_width_bottom = 2 +corner_radius_top_left = 4 +corner_radius_top_right = 4 diff --git a/addons/dialogic/Editor/Events/styles/ResourceMenuNormal.tres b/addons/dialogic/Editor/Events/styles/ResourceMenuNormal.tres new file mode 100644 index 0000000..d14860a --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/ResourceMenuNormal.tres @@ -0,0 +1,13 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 25.0 +content_margin_right = 10.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.180392, 0.180392, 0.180392, 0.219608 ) +draw_center = false +border_width_bottom = 2 +border_color = Color( 0.8, 0.8, 0.8, 0.286275 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 diff --git a/addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres b/addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres new file mode 100644 index 0000000..41c5bcc --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 10.0 +content_margin_right = 10.0 +content_margin_top = 10.0 +content_margin_bottom = 10.0 +bg_color = Color( 0.2, 0.23, 0.31, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.8, 0.8, 0.8, 0.109804 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 diff --git a/addons/dialogic/Editor/Events/styles/SectionPanel.tres b/addons/dialogic/Editor/Events/styles/SectionPanel.tres new file mode 100644 index 0000000..b886c6e --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/SectionPanel.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 6.0 +content_margin_right = 6.0 +content_margin_top = 5.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.6, 0.6, 0.6, 0 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.2, 0.227451, 0.309804, 1 ) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 diff --git a/addons/dialogic/Editor/Events/styles/SettingsFieldBackground.tres b/addons/dialogic/Editor/Events/styles/SettingsFieldBackground.tres new file mode 100644 index 0000000..91b4b38 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/SettingsFieldBackground.tres @@ -0,0 +1,18 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 30.0 +content_margin_right = 25.0 +content_margin_top = 5.0 +content_margin_bottom = 5.0 +bg_color = Color( 0.12549, 0.141176, 0.192157, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.0980392, 0.113725, 0.152941, 1 ) +border_blend = true +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 diff --git a/addons/dialogic/Editor/Events/styles/SimpleButtonHover.tres b/addons/dialogic/Editor/Events/styles/SimpleButtonHover.tres new file mode 100644 index 0000000..5be19d4 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/SimpleButtonHover.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 3.0 +content_margin_right = 3.0 +content_margin_top = 3.0 +content_margin_bottom = 3.0 +bg_color = Color( 0.2, 0.231373, 0.309804, 0.317647 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.8, 0.8, 0.8, 0.109804 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 diff --git a/addons/dialogic/Editor/Events/styles/SimpleButtonNormal.tres b/addons/dialogic/Editor/Events/styles/SimpleButtonNormal.tres new file mode 100644 index 0000000..e5c06b4 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/SimpleButtonNormal.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 3.0 +content_margin_right = 3.0 +content_margin_top = 3.0 +content_margin_bottom = 3.0 +bg_color = Color( 0.2, 0.231373, 0.309804, 0.235294 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.8, 0.8, 0.8, 0.109804 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 diff --git a/addons/dialogic/Editor/Events/styles/TextBackground.tres b/addons/dialogic/Editor/Events/styles/TextBackground.tres new file mode 100644 index 0000000..0000e9a --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/TextBackground.tres @@ -0,0 +1,15 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 16.0 +content_margin_top = 14.0 +bg_color = Color( 0.27451, 0.27451, 0.27451, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.454902, 0.454902, 0.454902, 1 ) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 diff --git a/addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres b/addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres new file mode 100644 index 0000000..c211211 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres @@ -0,0 +1,12 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 16.0 +content_margin_right = 6.0 +content_margin_top = 6.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.509804, 0.509804, 0.509804, 0.207843 ) +border_width_left = 5 +border_color = Color( 1, 1, 1, 1 ) +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 diff --git a/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.gd b/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.gd new file mode 100644 index 0000000..9b9f55e --- /dev/null +++ b/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.gd @@ -0,0 +1,71 @@ +tool +extends ScrollContainer + +var editor_reference +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +var current_definition = null + +onready var nodes = { + 'name' : $VBoxContainer/HBoxContainer/VBoxContainer/Name, + 'extra_editor': $VBoxContainer/HBoxContainer/ExtraInfo, + 'extra_title': $VBoxContainer/HBoxContainer/ExtraInfo/Title, + 'extra_text': $VBoxContainer/HBoxContainer/ExtraInfo/Text, + 'extra_extra': $VBoxContainer/HBoxContainer/ExtraInfo/Extra, +} + +func _ready(): + editor_reference = find_parent('EditorView') + reset_editor() + nodes['name'].connect('text_changed', self, '_on_name_changed') + nodes['name'].connect('focus_exited', self, '_update_name_on_tree') + + +func is_selected(id: String): + return current_definition != null and current_definition['id'] == id + + +func load_definition(id): + current_definition = DialogicResources.get_default_definition_item(id) + reset_editor() + nodes['name'].editable = true + nodes['name'].text = current_definition['name'] + nodes['extra_title'].text = current_definition['title'] + nodes['extra_text'].text = current_definition['text'] + nodes['extra_extra'].text = current_definition['extra'] + + +func reset_editor(): + nodes['name'].text = '' + nodes['extra_title'].text = '' + nodes['extra_text'].text = '' + nodes['extra_extra'].text = '' + + +func _on_name_changed(text): + if current_definition != null: + save_definition() + + +func _input(event): + if event is InputEventKey and event.pressed: + if nodes['name'].has_focus(): + if event.scancode == KEY_ENTER: + nodes['name'].release_focus() + + +func _update_name_on_tree(): + var item = master_tree.get_selected() + item.set_text(0, nodes['name'].text) + if current_definition != null: + save_definition() + master_tree.build_definitions(current_definition['id']) + + +func create_glossary_entry() -> String: + var id = DialogicUtil.generate_random_id() + DialogicResources.set_default_definition_glossary(id, 'New glossary entry', '', '', '') + return id + +func save_definition(): + if current_definition != null and current_definition['id'] != '': + DialogicResources.set_default_definition_glossary(current_definition['id'], nodes['name'].text, nodes['extra_title'].text, nodes['extra_text'].text, nodes['extra_extra'].text) diff --git a/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn b/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn new file mode 100644 index 0000000..f08c653 --- /dev/null +++ b/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn @@ -0,0 +1,87 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=2] + +[node name="GlossaryEntryEditor" type="ScrollContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 1024.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +margin_right = 1024.0 +margin_bottom = 192.0 +custom_constants/separation = 16 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"] +margin_right = 300.0 +margin_bottom = 192.0 +rect_min_size = Vector2( 300, 0 ) +custom_constants/separation = 10 + +[node name="TLabel" parent="VBoxContainer/HBoxContainer/VBoxContainer" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 300.0 +margin_bottom = 14.0 +text = "Name:" +text_key = "GlossaryName" + +[node name="Name" type="LineEdit" parent="VBoxContainer/HBoxContainer/VBoxContainer"] +margin_top = 24.0 +margin_right = 300.0 +margin_bottom = 48.0 + +[node name="TLabel2" parent="VBoxContainer/HBoxContainer/VBoxContainer" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 58.0 +margin_right = 300.0 +margin_bottom = 89.0 +text = "A popup will display this information when a player hovers the word in a dialog." +autowrap = true +text_key = "GlossaryExplanation" + +[node name="ExtraInfo" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"] +margin_left = 316.0 +margin_right = 616.0 +margin_bottom = 192.0 +rect_min_size = Vector2( 300, 0 ) +custom_constants/separation = 10 + +[node name="TLabel3" parent="VBoxContainer/HBoxContainer/ExtraInfo" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 300.0 +margin_bottom = 14.0 +text = "Content:" +text_key = "GlossaryContent" + +[node name="Title" type="LineEdit" parent="VBoxContainer/HBoxContainer/ExtraInfo"] +margin_top = 24.0 +margin_right = 300.0 +margin_bottom = 48.0 +placeholder_text = "Title" + +[node name="Text" type="TextEdit" parent="VBoxContainer/HBoxContainer/ExtraInfo"] +margin_top = 58.0 +margin_right = 300.0 +margin_bottom = 158.0 +rect_min_size = Vector2( 0, 100 ) +size_flags_vertical = 3 +wrap_enabled = true + +[node name="Extra" type="LineEdit" parent="VBoxContainer/HBoxContainer/ExtraInfo"] +margin_top = 168.0 +margin_right = 300.0 +margin_bottom = 192.0 +placeholder_text = "Extra" diff --git a/addons/dialogic/Editor/MasterTree/DragPreview.tscn b/addons/dialogic/Editor/MasterTree/DragPreview.tscn new file mode 100644 index 0000000..714cd61 --- /dev/null +++ b/addons/dialogic/Editor/MasterTree/DragPreview.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=2 format=2] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 1, 1, 1, 1 ) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color( 0.568627, 0.568627, 0.568627, 1 ) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[node name="DragPreview" type="CenterContainer"] +margin_right = 38.0 +margin_bottom = 34.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Panel" type="PanelContainer" parent="."] +margin_left = 3.0 +margin_top = 3.0 +margin_right = 35.0 +margin_bottom = 31.0 +custom_styles/panel = SubResource( 1 ) + +[node name="HBox" type="HBoxContainer" parent="Panel"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 28.0 +margin_bottom = 24.0 + +[node name="Icon" type="TextureRect" parent="Panel/HBox"] +margin_right = 20.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 20, 20 ) +expand = true +stretch_mode = 4 + +[node name="Label" type="Label" parent="Panel/HBox"] +margin_left = 24.0 +margin_top = 3.0 +margin_right = 24.0 +margin_bottom = 17.0 +size_flags_horizontal = 3 diff --git a/addons/dialogic/Editor/MasterTree/MasterTree.gd b/addons/dialogic/Editor/MasterTree/MasterTree.gd new file mode 100644 index 0000000..7dbaf12 --- /dev/null +++ b/addons/dialogic/Editor/MasterTree/MasterTree.gd @@ -0,0 +1,949 @@ +tool +extends Tree + +var editor_reference +onready var timeline_editor = get_node('../../TimelineEditor') +onready var character_editor = get_node('../../CharacterEditor') +onready var value_editor = get_node('../../ValueEditor') +onready var glossary_entry_editor = get_node('../../GlossaryEntryEditor') +onready var settings_editor = get_node('../../SettingsEditor') +onready var theme_editor = get_node('../../ThemeEditor') +onready var documentation_viewer = get_node('../../DocumentationViewer') +onready var empty_editor = get_node('../../Empty') +onready var filter_tree_edit = get_node('../FilterMasterTreeEdit') + +onready var tree = self + +var timeline_icon +var character_icon +var theme_icon +var definition_icon +var glossary_icon +var documentation_icon + +var timelines_tree +var characters_tree +var definitions_tree +var themes_tree +var settings_tree +var documentation_tree + + +var item_path_before_edit = "" + +# dragging items +var dragging_item = null +var drag_preview = load("res://addons/dialogic/Editor/MasterTree/DragPreview.tscn") + +var rmb_popup_menus = {} + +var filter_tree_term = '' + +signal editor_selected(selected) + +func _ready(): + editor_reference = find_parent('EditorView') + # Tree Settings + allow_rmb_select = true + var root = tree.create_item() + tree.set_hide_root(true) + + # Scaling + var modifier = '' + var _scale = DialogicUtil.get_editor_scale(self) + + rect_min_size.x = 150 + if _scale == 1.25: + modifier = '-1.25' + rect_min_size.x = 180 + if _scale == 1.5: + modifier = '-1.25' + rect_min_size.x = 250 + if _scale == 1.75: + modifier = '-1.25' + rect_min_size.x = 250 + if _scale == 2: + modifier = '-2' + rect_min_size.x = 360 + rect_size.x = 0 + + # Icons + timeline_icon = load("res://addons/dialogic/Images/Resources/timeline" + modifier + ".svg") + character_icon = load("res://addons/dialogic/Images/Resources/character" + modifier + ".svg") + theme_icon = load("res://addons/dialogic/Images/Resources/theme" + modifier + ".svg") + definition_icon = load("res://addons/dialogic/Images/Resources/definition" + modifier + ".svg") + glossary_icon = get_icon("ListSelect", "EditorIcons") + + # Creating the root items + for tree_info in [ + # variable name editor + ["Timelines", "Timeline Root"], + ["Characters", "Character Root"], + ["Definitions", "Definition Root"], + ["Themes", "Theme Root"], + ]: + # create tree item + var sub_tree = tree.create_item(root) + # set the item + sub_tree.set_icon(0, get_icon("Folder", "EditorIcons")) + sub_tree.set_icon_modulate(0, get_color("folder_icon_modulate", "FileDialog")) + # set info + sub_tree.set_text(0, tree_info[0]) + sub_tree.collapsed = DialogicUtil.get_folder_meta(tree_info[0], 'folded') + sub_tree.set_metadata(0, {'editor': tree_info[1]}) + # set the correct tree variable + match tree_info[0]: + "Timelines": + timelines_tree = sub_tree + "Characters": + characters_tree = sub_tree + "Definitions": + definitions_tree = sub_tree + "Themes": + themes_tree = sub_tree + + settings_tree = tree.create_item(root) + settings_tree.set_text(0, editor_reference.dialogicTranslator.translate("Settings")) + settings_tree.set_icon(0, get_icon("GDScript", "EditorIcons")) + settings_tree.set_metadata(0, {'editor': 'Settings'}) + + documentation_tree = tree.create_item(root) + documentation_tree.set_text(0, editor_reference.dialogicTranslator.translate("Help")) + documentation_tree.set_icon(0, get_icon("HelpSearch", "EditorIcons")) + documentation_tree.set_metadata(0, {'editor': 'Documentation Root', 'name':'Start', 'path':'Welcome.md'}) + + + # creates the context menus + create_rmb_context_menus() + + # connecting signals + connect('item_selected', self, '_on_item_selected') + connect('item_rmb_selected', self, '_on_item_rmb_selected') + connect('item_collapsed', self, '_on_item_collapsed') + connect('gui_input', self, '_on_gui_input') + connect('item_edited', self, '_on_item_edited') + $RenamerReset.connect("timeout", self, '_on_renamer_reset_timeout') + filter_tree_edit.connect("text_changed", self, '_on_filter_tree_edit_changed') + + # build all tree parts + build_full_tree() + + # Adding docs + build_documentation() + + # Default empty screen. + hide_all_editors() + + # AutoSave timer + $AutoSave.connect("timeout", self, '_on_autosave_timeout') + $AutoSave.start(0.5) + +## ***************************************************************************** +## BUILDING THE TREE +## ***************************************************************************** + +func build_full_tree(selected_item: String = ''): + # Adding timelines + build_timelines(selected_item) + # Adding characters + build_characters(selected_item) + # Adding Definitions + build_definitions(selected_item) + # Adding Themes + build_themes(selected_item) + + +func _clear_tree_children(parent: TreeItem): + while parent.get_children() != null: + parent.get_children().free() + + +func build_resource_folder(parent_folder_item:TreeItem, folder_data:Dictionary, selected_item:String, folder_editor:String, resource_type: String): + ## BUILD ALL THE FOLDER ITEMS (by calling this method for them) + for folder in folder_data["folders"].keys(): + var folder_item = _add_folder_item(parent_folder_item, folder, folder_editor, folder_data["folders"][folder]['metadata']) + var contains_something = build_resource_folder(folder_item, folder_data["folders"][folder], selected_item, folder_editor, resource_type) + if (not filter_tree_term.empty()) and (not contains_something): + folder_item.free() + + ## BUILD ALL THE FILE ITEMS + for file in folder_data["files"]: + # get the file_metadata + var file_metadata + match resource_type: + "Timeline": + file_metadata = DialogicUtil.get_timeline_dict()[file] + "Character": + file_metadata = DialogicUtil.get_characters_dict()[file] + "Theme": + file_metadata = DialogicUtil.get_theme_dict()[file] + "Definition": + file_metadata = DialogicUtil.get_default_definitions_dict()[file] + + # add the file item (considering the filter_term) + if (filter_tree_term == '') or (filter_tree_term.to_lower() in file_metadata['name'].to_lower()): + _add_resource_item(resource_type, parent_folder_item, file_metadata, not selected_item.empty() and file == selected_item) + + # force redraw control + update() + + return true if (parent_folder_item.get_children() != null) else false + + +func _add_folder_item(parent_item: TreeItem, folder_name: String, editor:String, meta_folder_info:Dictionary): + # create item + var folder_item:TreeItem= tree.create_item(parent_item) + # set text and icon + folder_item.set_text(0, folder_name) + folder_item.set_icon(0, get_icon("Folder", "EditorIcons")) + folder_item.set_icon_modulate(0, get_color("folder_icon_modulate", "FileDialog")) + # set metadata + folder_item.set_metadata(0, {'editor': editor, 'editable': true}) + # set collapsed + if filter_tree_term.empty(): + folder_item.collapsed = meta_folder_info['folded'] + return folder_item + + +func _add_resource_item(resource_type, parent_item, resource_data, select): + # create item + var item = tree.create_item(parent_item) + # set the text + if resource_data.has('name'): + item.set_text(0, resource_data['name']) + else: + item.set_text(0, resource_data['file']) + if not get_constant("dark_theme", "Editor"): + item.set_icon_modulate(0, get_color("property_color", "Editor")) + # set it as editable + resource_data['editable'] = true + # resource specific changes + match resource_type: + "Timeline": + item.set_icon(0, timeline_icon) + resource_data['editor'] = 'Timeline' + "Character": + item.set_icon(0, character_icon) + resource_data['editor'] = 'Character' + if resource_data.has('color'): + item.set_icon_modulate(0, resource_data['color']) + "Definition": + if resource_data['type'] == 0: + item.set_icon(0, definition_icon) + resource_data['editor'] = 'Value' + else: + item.set_icon(0, glossary_icon) + resource_data['editor'] = 'GlossaryEntry' + "Theme": + item.set_icon(0, theme_icon) + resource_data['editor'] = 'Theme' + + item.set_metadata(0, resource_data) + + if select: + item.select(0) + + +## TIMELINES +func build_timelines(selected_item: String=''): + _clear_tree_children(timelines_tree) + + DialogicUtil.update_resource_folder_structure() + var structure = DialogicUtil.get_timelines_folder_structure() + build_resource_folder(timelines_tree, structure, selected_item, "Timeline Root", "Timeline") + + +## CHARACTERS +func build_characters(selected_item: String=''): + _clear_tree_children(characters_tree) + + DialogicUtil.update_resource_folder_structure() + var structure = DialogicUtil.get_characters_folder_structure() + build_resource_folder(characters_tree, structure, selected_item, "Character Root", "Character") + + +## DEFINTIONS +func build_definitions(selected_item: String=''): + _clear_tree_children(definitions_tree) + + DialogicUtil.update_resource_folder_structure() + var structure = DialogicUtil.get_definitions_folder_structure() + build_resource_folder(definitions_tree, structure, selected_item, "Definition Root", "Definition") + + +## THEMES +func build_themes(selected_item: String=''): + _clear_tree_children(themes_tree) + + DialogicUtil.update_resource_folder_structure() + var structure = DialogicUtil.get_theme_folder_structure() + build_resource_folder(themes_tree, structure, selected_item, "Theme Root", "Theme") + + +func _on_item_collapsed(item: TreeItem): + if filter_tree_term.empty() and item != null and 'Root' in item.get_metadata(0)['editor'] and not 'Documentation' in item.get_metadata(0)['editor']: + DialogicUtil.set_folder_meta(get_item_folder(item, ''), 'folded', item.collapsed) + +func build_documentation(selected_item: String=''): + var child = documentation_tree.get_children() + while child: + child.call_recursive("call_deferred", "free") + child = child.get_next() + $DocsTreeHelper.build_documentation_tree(self, documentation_tree, {'editor':'Documentation Root', 'editable':false}, {'editor':'Documentation', 'editable':false}, filter_tree_term) + call_deferred("update") + +## ***************************************************************************** +## OPENING EDITORS +## ***************************************************************************** + +func _on_item_selected(): + # TODO: Ideally I would perform a "save" here before opening the next + # resource. Unfortunately there has been so many bugs doing that + # that I'll revisit it in the future. + # save_current_resource() + var metadata = get_selected().get_metadata(0) + match metadata['editor']: + 'Timeline': + # Remember to also update this on the `inspector_timeline_picker.gd` + timeline_editor.batches.clear() + timeline_editor.load_timeline(metadata['file']) + show_timeline_editor() + 'Character': + character_editor.load_character(metadata['file']) + show_character_editor() + 'Value': + value_editor.load_definition(metadata['id']) + show_value_editor() + 'GlossaryEntry': + glossary_entry_editor.load_definition(metadata['id']) + show_glossary_entry_editor() + 'Theme': + show_theme_editor() + theme_editor.load_theme(metadata['file']) + 'Settings': + settings_editor.update_data() + show_settings_editor() + 'Documentation', 'Documentation Root': + if metadata['path']: + documentation_viewer.load_page(metadata['path']) + show_documentatio_editor() + get_selected().collapsed = false + _: + hide_all_editors() + +func show_timeline_editor(): + emit_signal("editor_selected", 'timeline') + hide_editors() + timeline_editor.visible = true + +func show_character_editor(): + emit_signal("editor_selected", 'character') + hide_editors() + character_editor.visible = true + +func show_value_editor(): + emit_signal("editor_selected", 'definition') + hide_editors() + value_editor.visible = true + +func show_glossary_entry_editor(): + emit_signal("editor_selected", 'glossary_entry') + hide_editors() + glossary_entry_editor.visible = true + +func show_theme_editor(): + emit_signal("editor_selected", 'theme') + hide_editors() + theme_editor.visible = true + + +func show_settings_editor(): + emit_signal("editor_selected", 'theme') + hide_editors() + settings_editor.visible = true + + +func show_documentatio_editor(): + emit_signal("editor_selected", "documentation") + hide_editors() + documentation_viewer.visible = true + + +func hide_all_editors(): + emit_signal("editor_selected", 'none') + hide_editors() + empty_editor.visible = true + + +func hide_editors(): + character_editor.visible = false + timeline_editor.visible = false + value_editor.visible = false + glossary_entry_editor.visible = false + theme_editor.visible = false + settings_editor.visible = false + documentation_viewer.visible = false + empty_editor.visible = false + +## ***************************************************************************** +## CONTEXT POPUPS on RMB SELECT +## ***************************************************************************** + +func create_rmb_context_menus(): + + var timeline_popup = PopupMenu.new() + timeline_popup.add_icon_item(get_icon("Filesystem", "EditorIcons"), editor_reference.dialogicTranslator.translate('Show in File Manager')) + timeline_popup.add_icon_item(get_icon("ActionCopy", "EditorIcons"), editor_reference.dialogicTranslator.translate('Copy Timeline Name')) + timeline_popup.add_icon_item(get_icon("Rename", "EditorIcons"), editor_reference.dialogicTranslator.translate('Copy File Name')) + timeline_popup.add_icon_item(get_icon("Remove", "EditorIcons"), editor_reference.dialogicTranslator.translate('Remove Timeline')) + add_child(timeline_popup) + add_rmb_popup_style(timeline_popup) + rmb_popup_menus["Timeline"] = timeline_popup + + var character_popup = PopupMenu.new() + character_popup.add_icon_item(get_icon("Filesystem", "EditorIcons"), editor_reference.dialogicTranslator.translate('Show in File Manager')) + character_popup.add_icon_item(get_icon("Rename", "EditorIcons"), editor_reference.dialogicTranslator.translate('Copy File Name')) + character_popup.add_icon_item(get_icon("Remove", "EditorIcons"), editor_reference.dialogicTranslator.translate('Remove Character')) + add_child(character_popup) + add_rmb_popup_style(character_popup) + rmb_popup_menus["Character"] = character_popup + + var theme_popup = PopupMenu.new() + theme_popup.add_icon_item(get_icon("Filesystem", "EditorIcons"), editor_reference.dialogicTranslator.translate('Show in File Manager')) + theme_popup.add_icon_item(get_icon("Rename", "EditorIcons"), editor_reference.dialogicTranslator.translate('Copy File Name')) + theme_popup.add_icon_item(get_icon("Duplicate", "EditorIcons"), editor_reference.dialogicTranslator.translate('Duplicate Theme')) + theme_popup.add_icon_item(get_icon("Remove", "EditorIcons"), editor_reference.dialogicTranslator.translate('Remove Theme')) + add_child(theme_popup) + add_rmb_popup_style(theme_popup) + rmb_popup_menus["Theme"] = theme_popup + + var definition_popup = PopupMenu.new() + definition_popup.add_icon_item(get_icon("Edit", "EditorIcons"), editor_reference.dialogicTranslator.translate('Edit Definitions File')) + definition_popup.add_icon_item(get_icon("Rename", "EditorIcons"), editor_reference.dialogicTranslator.translate('Copy Definition ID')) + definition_popup.add_icon_item(get_icon("Remove", "EditorIcons"), editor_reference.dialogicTranslator.translate('Remove Definition entry')) + add_child(definition_popup) + add_rmb_popup_style(definition_popup) + rmb_popup_menus["Value"] = definition_popup + rmb_popup_menus["GlossaryEntry"] = definition_popup + + ## FOLDER / ROOT ITEMS + var timeline_folder_popup = PopupMenu.new() + timeline_folder_popup.add_icon_item(get_icon("Add", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Add Timeline')) + timeline_folder_popup.add_icon_item(get_icon("Folder", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Create Subfolder')) + timeline_folder_popup.add_icon_item(get_icon("Remove", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Delete Folder')) + add_child(timeline_folder_popup) + add_rmb_popup_style(timeline_folder_popup) + rmb_popup_menus['Timeline Root'] = timeline_folder_popup + + var character_folder_popup = PopupMenu.new() + character_folder_popup.add_icon_item(get_icon("Add", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Add Character')) + character_folder_popup.add_icon_item(get_icon("Folder", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Create Subfolder')) + character_folder_popup.add_icon_item(get_icon("Remove", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Delete Folder')) + add_child(character_folder_popup) + add_rmb_popup_style(character_folder_popup) + rmb_popup_menus['Character Root'] = character_folder_popup + + var theme_folder_popup = PopupMenu.new() + theme_folder_popup.add_icon_item(get_icon("Add", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Add Theme')) + theme_folder_popup.add_icon_item(get_icon("Folder", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Create Subfolder')) + theme_folder_popup.add_icon_item(get_icon("Remove", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Delete Folder')) + add_child(theme_folder_popup) + add_rmb_popup_style(theme_folder_popup) + rmb_popup_menus["Theme Root"] = theme_folder_popup + + var definition_folder_popup = PopupMenu.new() + definition_folder_popup.add_icon_item(get_icon("Add", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Add Value')) + definition_folder_popup.add_icon_item(get_icon("Add", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Add Glossary Entry')) + definition_folder_popup.add_icon_item(get_icon("Folder", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Create Subfolder')) + definition_folder_popup.add_icon_item(get_icon("Remove", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Delete Folder')) + add_child(definition_folder_popup) + add_rmb_popup_style(definition_folder_popup) + rmb_popup_menus["Definition Root"] = definition_folder_popup + + var documentation_folder_popup = PopupMenu.new() + documentation_folder_popup.add_icon_item(get_icon("Edit", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Toggle Editing Tools')) + add_child(documentation_folder_popup) + add_rmb_popup_style(documentation_folder_popup) + rmb_popup_menus["Documentation Root"] = documentation_folder_popup + + var documentation_popup = PopupMenu.new() + documentation_popup.add_icon_item(get_icon("Edit", "EditorIcons") ,editor_reference.dialogicTranslator.translate('Toggle Editing Tools')) + add_child(documentation_popup) + add_rmb_popup_style(documentation_popup) + rmb_popup_menus["Documentation"] = documentation_popup + + # Connecting context menus + timeline_popup.connect('id_pressed', self, '_on_TimelinePopupMenu_id_pressed') + character_popup.connect('id_pressed', self, '_on_CharacterPopupMenu_id_pressed') + theme_popup.connect('id_pressed', self, '_on_ThemePopupMenu_id_pressed') + definition_popup.connect('id_pressed', self, '_on_DefinitionPopupMenu_id_pressed') + documentation_popup.connect('id_pressed', self, '_on_DocumentationPopupMenu_id_pressed') + + timeline_folder_popup.connect('id_pressed', self, '_on_TimelineRootPopupMenu_id_pressed') + character_folder_popup.connect('id_pressed', self, '_on_CharacterRootPopupMenu_id_pressed') + theme_folder_popup.connect('id_pressed', self, '_on_ThemeRootPopupMenu_id_pressed') + definition_folder_popup.connect('id_pressed', self, '_on_DefinitionRootPopupMenu_id_pressed') + documentation_folder_popup.connect('id_pressed', self, '_on_DocumentationPopupMenu_id_pressed') + +func add_rmb_popup_style(popup): + var menu_background = load("res://addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres") + menu_background.bg_color = get_color("base_color", "Editor") + + popup.add_stylebox_override('panel', menu_background) + popup.add_stylebox_override('hover', StyleBoxEmpty.new()) + popup.add_color_override('font_color_hover', get_color("accent_color", "Editor")) + +func _on_item_rmb_selected(position): + var item = get_selected().get_metadata(0) + if item.has('editor'): + rmb_popup_menus[item["editor"]].rect_position = get_viewport().get_mouse_position() + rmb_popup_menus[item["editor"]].popup() + +## item paths (for the folder structure management) +# this returns the folder path, or the folder the item is in (if it's not a folder) +# it makes sure the folder_path begins with @root! +func get_item_folder(item: TreeItem, root : String): + if not item: + return root + var current_path:String = get_item_path(item) + if not "Root" in item.get_metadata(0)['editor']: + current_path = DialogicUtil.get_parent_path(current_path) + if not current_path.begins_with(root): + return root + return current_path + + +func get_item_path(item: TreeItem) -> String: + if item == null: + return '' + return create_item_path_recursive(item, "").trim_suffix("/") + + +func create_item_path_recursive(item:TreeItem, path:String) -> String: + # don't use this function directly + # use get_item_path() or get_item_folder() + path = item.get_text(0)+'/'+path + if item.get_parent() == get_root(): + return path + else: + path = create_item_path_recursive(item.get_parent(), path) + return path + +## RESOURCE POPUPS + +# Timeline context menu +func _on_TimelinePopupMenu_id_pressed(id): + if id == 0: # View files + OS.shell_open(ProjectSettings.globalize_path(DialogicResources.get_path('TIMELINE_DIR'))) + elif id == 1: # Copy to clipboard + OS.set_clipboard(get_item_path(get_selected()).replace('Timelines', '')) + elif id == 2: # Copy File name + OS.set_clipboard(get_selected().get_metadata(0).get('file')) + elif id == 3: # Remove + editor_reference.popup_remove_confirmation('Timeline') + + +# Character context menu +func _on_CharacterPopupMenu_id_pressed(id): + if id == 0: + OS.shell_open(ProjectSettings.globalize_path(DialogicResources.get_path('CHAR_DIR'))) + elif id == 1: # Copy File name + OS.set_clipboard(get_selected().get_metadata(0).get('file')) + elif id == 2: # Remove + editor_reference.popup_remove_confirmation('Character') + + +# Theme context menu +func _on_ThemePopupMenu_id_pressed(id): + if id == 0: + OS.shell_open(ProjectSettings.globalize_path(DialogicResources.get_path('THEME_DIR'))) + elif id == 1: # Copy File name + OS.set_clipboard(get_selected().get_metadata(0).get('file')) + elif id == 2: + var filename = editor_reference.get_node('MainPanel/MasterTreeContainer/MasterTree').get_selected().get_metadata(0)['file'] + theme_editor.duplicate_theme(filename) + elif id == 3: + editor_reference.popup_remove_confirmation('Theme') + + +# Definition context menu +func _on_DefinitionPopupMenu_id_pressed(id): + if id == 0: + var paths = DialogicResources.get_config_files_paths() + OS.shell_open(ProjectSettings.globalize_path(paths['DEFAULT_DEFINITIONS_FILE'])) + elif id == 1: # Copy File name + OS.set_clipboard(get_selected().get_metadata(0).get('id')) + if id == 2: + if value_editor.visible: + editor_reference.popup_remove_confirmation('Value') + elif glossary_entry_editor.visible: + editor_reference.popup_remove_confirmation('GlossaryEntry') + +## FOLDER POPUPS + +# Timeline Folder context menu +func _on_TimelineRootPopupMenu_id_pressed(id): + if id == 0: # Add Timeline + new_timeline() + if id == 1: # add subfolder + DialogicUtil.add_folder(get_item_path(get_selected()), "New Folder "+str(OS.get_unix_time())) + build_timelines() + if id == 2: # remove folder and substuff + if get_selected().get_parent() == get_root(): + return + editor_reference.get_node('RemoveFolderConfirmation').popup_centered() + + +# Character Folder context menu +func _on_CharacterRootPopupMenu_id_pressed(id): + if id == 0: # Add Character + new_character() + if id == 1: # add subfolder + DialogicUtil.add_folder(get_item_path(get_selected()), "New Folder "+str(OS.get_unix_time())) + + build_characters() + if id == 2: # remove folder and substuff + if get_selected().get_parent() == get_root(): + return + editor_reference.get_node('RemoveFolderConfirmation').popup_centered() + + +# Definition Folder context menu +func _on_DefinitionRootPopupMenu_id_pressed(id): + if id == 0: # Add Value Definition + new_value_definition() + if id == 1: # Add Glossary Definition + new_glossary_entry() + if id == 2: # add subfolder + DialogicUtil.add_folder(get_item_path(get_selected()), "New Folder "+str(OS.get_unix_time())) + build_definitions() + if id == 3: # remove folder and substuff + if get_selected().get_parent() == get_root(): + return + editor_reference.get_node('RemoveFolderConfirmation').popup_centered() + + +# Theme Folder context menu +func _on_ThemeRootPopupMenu_id_pressed(id): + if id == 0: # Add Theme + new_theme() + if id == 1: # add subfolder + DialogicUtil.add_folder(get_item_path(get_selected()), "New Folder "+str(OS.get_unix_time())) + build_themes() + if id == 2: # remove folder and substuff + if get_selected().get_parent() == get_root(): + return + editor_reference.get_node('RemoveFolderConfirmation').popup_centered() + + +func _on_DocumentationPopupMenu_id_pressed(id): + if id == 0: # edit text toggled + documentation_viewer.toggle_editing() +## ***************************************************************************** +## CREATING AND REMOVING +## ***************************************************************************** + +# creates a new timeline and opens it +# it will be added to the selected folder (if it's a timeline folder) or the Timeline root folder +func new_timeline(): + var timeline = editor_reference.get_node('MainPanel/TimelineEditor').create_timeline() + var folder = get_item_folder(get_selected(), "Timelines") + DialogicUtil.add_file_to_folder(folder, timeline['metadata']['file']) + build_timelines(timeline['metadata']['file']) + rename_selected() + + +# creates a new character and opens it +# it will be added to the selected folder (if it's a character folder) or the Character root folder +func new_character(): + var character = editor_reference.get_node("MainPanel/CharacterEditor").create_character() + var folder = get_item_folder(get_selected(), "Characters") + DialogicUtil.add_file_to_folder(folder, character['metadata']['file']) + build_characters(character['metadata']['file']) + rename_selected() + +# creates a new theme and opens it +# it will be added to the selected folder (if it's a theme folder) or the Theme root folder +func new_theme(): + var theme_file = editor_reference.get_node("MainPanel/ThemeEditor").create_theme() + var folder = get_item_folder(get_selected(), "Themes") + DialogicUtil.add_file_to_folder(folder, theme_file) + build_themes(theme_file) + rename_selected() + +# creates a new value and opens it +# it will be added to the selected folder (if it's a definition folder) or the Definition root folder +func new_value_definition(): + var definition_id = editor_reference.get_node("MainPanel/ValueEditor").create_value() + var folder = get_item_folder(get_selected(), "Definitions") + DialogicUtil.add_file_to_folder(folder, definition_id) + build_definitions(definition_id) + rename_selected() + +# creates a new glossary entry and opens it +# it will be added to the selected folder (if it's a definition folder) or the Definition root folder +func new_glossary_entry(): + var definition_id = editor_reference.get_node("MainPanel/GlossaryEntryEditor").create_glossary_entry() + var folder = get_item_folder(get_selected(), "Definitions") + DialogicUtil.add_file_to_folder(folder, definition_id) + build_definitions(definition_id) + rename_selected() + + +func remove_selected(): + var item = get_selected() + item.free() + timelines_tree.select(0) + settings_editor.update_data() + + +func rename_selected(): + yield(get_tree(), "idle_frame") + _start_rename() + edit_selected() + +## ***************************************************************************** +## DRAGGING ITEMS +## ***************************************************************************** + +func can_drop_data(position, data) -> bool: + var item = get_item_at_position(position) + if item == null: + return false + # if the data isn't empty and it's a valid DICT + if data != null and data is Dictionary and data.has('item_type'): + # if it's not trying to add a folder to a file + if not (data['item_type'] == "folder" and not 'Root' in item.get_metadata(0)["editor"]): + # if it's the same type of folder as before + if get_item_folder(item, '').split("/")[0] == data['orig_path'].split("/")[0]: + # make sure the folder/item is not a subfolder of the original folder + if data['item_type'] == "file" or (not get_item_folder(item, '').begins_with(data['orig_path'])): + return true + return false + +func drop_data(position, data): + var item = get_item_at_position(position) + var drop_section = get_drop_section_at_position(position) + if not data.has('item_type'): + return + if data['orig_path'] == get_item_folder(item, ''): + return + # dragging a folder + if data['item_type'] == 'folder': + # on a folder + if 'Root' in item.get_metadata(0)['editor']: + DialogicUtil.move_folder_to_folder(data['orig_path'], get_item_folder(item, data['orig_path'].split('/')[0])) + # dragging a file + elif data['item_type'] == 'file': + # on a folder + if 'Root' in item.get_metadata(0)['editor']: + if data.has('file_name'): + DialogicUtil.move_file_to_folder(data['file_name'], data['orig_path'], get_item_folder(item, data['orig_path'].split('/')[0])) + elif data.has('resource_id'): + DialogicUtil.move_file_to_folder(data['resource_id'], data['orig_path'], get_item_folder(item, data['orig_path'].split('/')[0])) + pass # WORK TODO + # on a file + else: + DialogicUtil.move_file_to_folder(data['file_name'], data['orig_path'], get_item_folder(item, data['orig_path'].split('/')[0])) + dragging_item.queue_free() + dragging_item = null + build_full_tree() + +func get_drag_data(position): + var item = get_item_at_position(position) + # if it is a folder and it's not one of the root folders + if 'Root' in item.get_metadata(0)['editor'] and item.get_parent().get_parent(): + instance_drag_preview(item.get_icon(0), item.get_text(0)) + return {'item_type': 'folder', 'orig_path': get_item_folder(item, "")} + else: + if item.get_metadata(0).has('file'): + instance_drag_preview(item.get_icon(0), item.get_text(0)) + return {'item_type': 'file', 'orig_path': get_item_folder(item, ""), 'file_name':item.get_metadata(0)['file']} + elif item.get_metadata(0).has('id'): + instance_drag_preview(item.get_icon(0), item.get_text(0)) + return {'item_type': 'file', 'orig_path': get_item_folder(item, ""), 'resource_id':item.get_metadata(0)['id']} + return null + +func instance_drag_preview(icon, text): + dragging_item = drag_preview.instance() + dragging_item.get_node("Panel").self_modulate = get_color("base_color", "Editor") + dragging_item.get_node("Panel/HBox/Icon").texture = icon + dragging_item.get_node("Panel/HBox/Label").text = text + editor_reference.add_child(dragging_item) + +func _process(delta): + if dragging_item != null: + if Input.is_mouse_button_pressed(1): + dragging_item.rect_global_position = get_global_mouse_position()+Vector2(10,10) + else: + dragging_item.queue_free() + dragging_item = null + + +## ***************************************************************************** +## ITEM EDITING (RENAMING) +## ***************************************************************************** + +func _on_renamer_reset_timeout(): + get_selected().set_editable(0, false) + + +func _on_gui_input(event): + if event is InputEventMouseButton and event.button_index == 1: + if event.is_pressed() and event.doubleclick: + _start_rename() + + +func _start_rename(): + var item = get_selected() + var metadata = item.get_metadata(0) + if metadata.has("editable") and metadata["editable"]: + item_path_before_edit = get_item_path(item) + item.set_editable(0, true) + $RenamerReset.start(0.5) + + +func _on_item_edited(): + var item = get_selected() + var metadata = item.get_metadata(0) + if metadata['editor'] == 'Timeline': + timeline_editor.timeline_name = item.get_text(0) + save_current_resource() + build_timelines(metadata['file']) + if metadata['editor'] == 'Theme': + DialogicResources.set_theme_value(metadata['file'], 'settings', 'name', item.get_text(0)) + build_themes(metadata['file']) + if metadata['editor'] == 'Character': + character_editor.nodes['name'].text = item.get_text(0) + save_current_resource() + build_characters(metadata['file']) + if metadata['editor'] == 'Value': + value_editor.nodes['name'].text = item.get_text(0) + # Not sure why this signal doesn't triggers + value_editor._on_name_changed(item.get_text(0)) + save_current_resource() + build_definitions(metadata['id']) + if metadata['editor'] == 'GlossaryEntry': + glossary_entry_editor.nodes['name'].text = item.get_text(0) + # Not sure why this signal doesn't triggers + glossary_entry_editor._on_name_changed(item.get_text(0)) + save_current_resource() + build_definitions(metadata['id']) + + if "Root" in metadata['editor']: + if item.get_text(0) == item_path_before_edit.split("/")[-1]: + return + var result = DialogicUtil.rename_folder(item_path_before_edit, item.get_text(0)) + if result != OK: + item.set_text(0, item_path_before_edit.split("/")[-1]) + +## ***************************************************************************** +## AUTO SAVING +## ***************************************************************************** + +func _on_autosave_timeout(): + save_current_resource() + +func save_current_resource(): + if editor_reference and editor_reference.visible: #Only save if the editor is open + var item: TreeItem = get_selected() + var metadata: Dictionary + if item != null: + metadata = item.get_metadata(0) + if metadata['editor'] == 'Timeline': + timeline_editor.save_timeline() + if metadata['editor'] == 'Character': + character_editor.save_character() + if metadata['editor'] == 'Value': + value_editor.save_definition() + if metadata['editor'] == 'GlossaryEntry': + glossary_entry_editor.save_definition() + # Note: Theme files auto saves on change + + +## ***************************************************************************** +## SEARCHING/FILTERING +## ***************************************************************************** + + +func _on_filter_tree_edit_changed(value): + filter_tree_term = value + if not filter_tree_term.empty(): + timelines_tree.collapsed = false + characters_tree.collapsed = false + definitions_tree.collapsed = false + themes_tree.collapsed = false + else: + timelines_tree.collapsed = DialogicUtil.get_folder_meta('Timelines', 'folded') + characters_tree.collapsed = DialogicUtil.get_folder_meta('Timelines', 'folded') + definitions_tree.collapsed = DialogicUtil.get_folder_meta('Timelines', 'folded') + themes_tree.collapsed = DialogicUtil.get_folder_meta('Timelines', 'folded') + + if get_selected(): + build_full_tree(get_selected().get_metadata(0).get('file', '')) + else: + build_full_tree() + + # This was merged, not sure if it is properly placed + build_documentation() + + +## ***************************************************************************** +## SELECTING AN ITEM +## ***************************************************************************** + +func select_timeline_item(timeline_name): + if (timeline_name == ''): + return + + var main_item = tree.get_root().get_children() + + # wow, godots tree traversal is extremly odd, or I just don't get it + while (main_item): + + if (main_item == null): + break + + if (main_item.has_method("get_text") && main_item.get_text(0) == "Timelines"): + var item = main_item.get_children() + while (item): + + if (not item.has_method("get_metadata")): + item = item.get_next() + continue + + var meta = item.get_metadata(0) + + if (meta == null): + item = item.get_next() + continue + + if (not meta.has("editor") or meta["editor"] != "Timeline"): + item = item.get_next() + continue + + # search for filename + if (meta.has("file") and meta["file"] == timeline_name): + # select this one + item.select(0) + return; + + # search for name + if (meta.has("name") and meta["name"] == timeline_name): + # select this one + item.select(0) + return; + + item = item.get_next() + break + else: + main_item = main_item.get_next() + + # fallback + hide_all_editors() + pass + + +func select_documentation_item(docs_page_path): + if not $DocsTreeHelper.search_and_select_docs(documentation_tree, docs_page_path): + hide_all_editors() diff --git a/addons/dialogic/Editor/MasterTree/MasterTree.tscn b/addons/dialogic/Editor/MasterTree/MasterTree.tscn new file mode 100644 index 0000000..fc69c56 --- /dev/null +++ b/addons/dialogic/Editor/MasterTree/MasterTree.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/MasterTree/MasterTree.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn" type="PackedScene" id=2] + +[node name="MasterTree" type="Tree"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -874.0 +rect_min_size = Vector2( 150, 0 ) +custom_colors/drop_position_color = Color( 0.321569, 0.529412, 0.815686, 0 ) +allow_rmb_select = true +hide_root = true +drop_mode_flags = 1 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RenamerReset" type="Timer" parent="."] +one_shot = true + +[node name="AutoSave" type="Timer" parent="."] + +[node name="DocsTreeHelper" parent="." instance=ExtResource( 2 )] +margin_right = 47.0 +margin_bottom = 45.0 +mouse_filter = 2 diff --git a/addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.gd b/addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.gd new file mode 100644 index 0000000..b4a4f89 --- /dev/null +++ b/addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.gd @@ -0,0 +1,14 @@ +tool +extends VBoxContainer + + +func _ready(): + var HistoryCheckbox = $"GridContainer/HistoryBox/SettingsCheckbox/CheckBox" + HistoryCheckbox.connect('toggled', self, '_on_HistoryLogging_toggled') + _on_HistoryLogging_toggled(HistoryCheckbox.pressed) + + +func _on_HistoryLogging_toggled(button_pressed): + for n in $GridContainer.get_children(): + n.visible = button_pressed + $GridContainer/HistoryBox.visible = true diff --git a/addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.tscn b/addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.tscn new file mode 100644 index 0000000..5d37333 --- /dev/null +++ b/addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.tscn @@ -0,0 +1,341 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Common/SectionTitle.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.gd" type="Script" id=3] +[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.tscn" type="PackedScene" id=4] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 4.0 +content_margin_right = 4.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.252, 0.2718, 0.3246, 1 ) + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 4 ) +size = Vector2( 16, 16 ) + +[node name="HistorySettings" type="VBoxContainer"] +margin_top = 258.0 +margin_right = 304.0 +margin_bottom = 390.0 +script = ExtResource( 3 ) + +[node name="SectionTitle" parent="." instance=ExtResource( 1 )] +margin_right = 336.0 +custom_styles/normal = SubResource( 1 ) +text = "History settings" +text_key = "History settings" + +[node name="GridContainer" type="GridContainer" parent="."] +margin_top = 26.0 +margin_right = 336.0 +margin_bottom = 344.0 +columns = 2 + +[node name="HistoryBox" type="HBoxContainer" parent="GridContainer"] +margin_right = 158.0 +margin_bottom = 24.0 + +[node name="SettingsCheckbox" parent="GridContainer/HistoryBox" instance=ExtResource( 4 )] +margin_right = 158.0 +margin_bottom = 24.0 +text = "Enable History" +settings_section = "history" +settings_key = "enable_history_logging" + +[node name="UseDialogTheme" parent="GridContainer" instance=ExtResource( 4 )] +margin_left = 162.0 +margin_right = 336.0 +margin_bottom = 24.0 +text = "Use default theme" +default = true +settings_section = "history" +settings_key = "enable_dynamic_theme" + +[node name="HSeparator" type="HSeparator" parent="GridContainer"] +margin_top = 28.0 +margin_right = 158.0 +margin_bottom = 32.0 + +[node name="HSeparator2" type="HSeparator" parent="GridContainer"] +margin_left = 162.0 +margin_top = 28.0 +margin_right = 336.0 +margin_bottom = 32.0 + +[node name="ShowOpenButton" parent="GridContainer" instance=ExtResource( 4 )] +margin_top = 36.0 +margin_right = 158.0 +margin_bottom = 60.0 +text = "Show open button" +default = true +settings_section = "history" +settings_key = "enable_open_button" + +[node name="ShowCloseButton" parent="GridContainer" instance=ExtResource( 4 )] +margin_left = 162.0 +margin_top = 36.0 +margin_right = 336.0 +margin_bottom = 60.0 +text = "Show close button" +default = true +settings_section = "history" +settings_key = "enable_close_button" + +[node name="LogAllChoices" parent="GridContainer" instance=ExtResource( 4 )] +margin_top = 64.0 +margin_right = 158.0 +margin_bottom = 88.0 +text = "Log all choices" +default = true +settings_section = "history" +settings_key = "log_choices" + +[node name="LogChoiceAnswer" parent="GridContainer" instance=ExtResource( 4 )] +margin_left = 162.0 +margin_top = 64.0 +margin_right = 336.0 +margin_bottom = 88.0 +text = "Log choice answer" +default = true +settings_section = "history" +settings_key = "log_answers" + +[node name="LogCharacterJoins" parent="GridContainer" instance=ExtResource( 4 )] +margin_top = 92.0 +margin_right = 158.0 +margin_bottom = 116.0 +text = "Log character joins" +default = true +settings_section = "history" +settings_key = "log_arrivals" + +[node name="LogBox" type="HBoxContainer" parent="GridContainer"] +margin_left = 162.0 +margin_top = 92.0 +margin_right = 336.0 +margin_bottom = 116.0 + +[node name="HSeparator" type="VSeparator" parent="GridContainer/LogBox"] +margin_right = 4.0 +margin_bottom = 24.0 + +[node name="JoinTextLabel" parent="GridContainer/LogBox" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 8.0 +margin_top = 5.0 +margin_right = 35.0 +margin_bottom = 19.0 +text = "Text" +text_key = "Text" + +[node name="LineEdit" type="LineEdit" parent="GridContainer/LogBox"] +margin_left = 39.0 +margin_right = 174.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "has arrived" + +[node name="LogCharacterLeaves" parent="GridContainer" instance=ExtResource( 4 )] +margin_top = 120.0 +margin_right = 158.0 +margin_bottom = 144.0 +text = "Log character leaves" +default = true +settings_section = "history" +settings_key = "history_scroll_to_bottom" + +[node name="LogBox2" type="HBoxContainer" parent="GridContainer"] +margin_left = 162.0 +margin_top = 120.0 +margin_right = 336.0 +margin_bottom = 144.0 + +[node name="HSeparator" type="VSeparator" parent="GridContainer/LogBox2"] +margin_right = 4.0 +margin_bottom = 24.0 + +[node name="TLabel1" parent="GridContainer/LogBox2" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 8.0 +margin_top = 5.0 +margin_right = 35.0 +margin_bottom = 19.0 +text = "Text" +text_key = "Text" + +[node name="LineEdit" type="LineEdit" parent="GridContainer/LogBox2"] +margin_left = 39.0 +margin_right = 174.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "has left" + +[node name="ScrollToBottom" parent="GridContainer" instance=ExtResource( 4 )] +margin_top = 148.0 +margin_right = 158.0 +margin_bottom = 172.0 +text = "Scroll to bottom" +default = true +settings_section = "history" +settings_key = "history_scroll_to_bottom" + +[node name="ReverseTimeline" parent="GridContainer" instance=ExtResource( 4 )] +margin_left = 162.0 +margin_top = 148.0 +margin_right = 336.0 +margin_bottom = 172.0 +text = "Reverse timeline" +settings_section = "history" +settings_key = "history_reverse_timeline" + +[node name="ShowNameColors" parent="GridContainer" instance=ExtResource( 4 )] +margin_top = 176.0 +margin_right = 158.0 +margin_bottom = 200.0 +text = "Show name colors" +default = true +settings_section = "history" +settings_key = "history_name_color_on" + +[node name="LineBreakAfterNames" parent="GridContainer" instance=ExtResource( 4 )] +margin_left = 162.0 +margin_top = 176.0 +margin_right = 336.0 +margin_bottom = 200.0 +text = "Line break after names" +settings_section = "history" +settings_key = "history_break_after_name" + +[node name="HSeparator3" type="HSeparator" parent="GridContainer"] +margin_top = 204.0 +margin_right = 158.0 +margin_bottom = 208.0 + +[node name="HSeparator4" type="HSeparator" parent="GridContainer"] +margin_left = 162.0 +margin_top = 204.0 +margin_right = 336.0 +margin_bottom = 208.0 + +[node name="TLabel8" parent="GridContainer" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 216.0 +margin_right = 158.0 +margin_bottom = 230.0 +size_flags_horizontal = 3 +text = "History button position" +text_key = "History button position" + +[node name="PositionSelector" type="OptionButton" parent="GridContainer"] +margin_left = 162.0 +margin_top = 212.0 +margin_right = 336.0 +margin_bottom = 234.0 +text = "Top Right" +icon = SubResource( 3 ) +items = [ "Top Left", SubResource( 3 ), false, 0, null, "Top Center", SubResource( 3 ), false, 1, null, "Top Right", SubResource( 3 ), false, 2, null, "", null, false, 3, null, "Center Left", SubResource( 3 ), false, 3, null, "Center", SubResource( 3 ), false, 4, null, "Center Right", SubResource( 3 ), false, 5, null, "", null, false, 7, null, "Bottom Left", SubResource( 3 ), false, 6, null, "Bottom Center", SubResource( 3 ), false, 7, null, "Bottom Right", SubResource( 3 ), false, 8, null ] +selected = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel9" parent="GridContainer" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 243.0 +margin_right = 158.0 +margin_bottom = 257.0 +hint_tooltip = "Choose delimiter that appears after character name" +mouse_filter = 0 +size_flags_horizontal = 3 +text = "Name delimiter" +text_key = "Name delimiter" + +[node name="CharacterDelimiter" type="LineEdit" parent="GridContainer"] +margin_left = 162.0 +margin_top = 238.0 +margin_right = 336.0 +margin_bottom = 262.0 +text = ":" + +[node name="TLabel7" parent="GridContainer" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 271.0 +margin_right = 158.0 +margin_bottom = 285.0 +mouse_filter = 0 +text = "Screen margin" +text_key = "Screen margin" + +[node name="BoxMargin" type="HBoxContainer" parent="GridContainer"] +margin_left = 162.0 +margin_top = 266.0 +margin_right = 336.0 +margin_bottom = 290.0 + +[node name="MarginX" type="SpinBox" parent="GridContainer/BoxMargin"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 999.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="MarginY" type="SpinBox" parent="GridContainer/BoxMargin"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +max_value = 999.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel5" parent="GridContainer" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 299.0 +margin_right = 158.0 +margin_bottom = 313.0 +text = "Log margin" +text_key = "Log margin" + +[node name="ContainerMargin" type="HBoxContainer" parent="GridContainer"] +margin_left = 162.0 +margin_top = 294.0 +margin_right = 336.0 +margin_bottom = 318.0 + +[node name="MarginX" type="SpinBox" parent="GridContainer/ContainerMargin"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 1e+07 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="MarginY" type="SpinBox" parent="GridContainer/ContainerMargin"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +max_value = 1e+07 +rounded = true +allow_greater = true +allow_lesser = true diff --git a/addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.gd b/addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.gd new file mode 100644 index 0000000..b573b2a --- /dev/null +++ b/addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.gd @@ -0,0 +1,19 @@ +tool +extends HBoxContainer + +export var text : String = '' +export var default : bool = false +export var settings_section : String = '' +export var settings_key : String = '' +var editor_reference + +func _ready(): + editor_reference = find_parent('EditorView') + # This node needs a Settings Editor parent to get the current loaded settings + $CheckBox.text = editor_reference.dialogicTranslator.translate(text) + var settings = DialogicResources.get_settings_config() + $CheckBox.pressed = settings.get_value(settings_section, settings_key, default) + $CheckBox.connect("toggled", self, "_on_toggled") + +func _on_toggled(button_pressed): + DialogicResources.set_settings_value(settings_section, settings_key, button_pressed) diff --git a/addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.tscn b/addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.tscn new file mode 100644 index 0000000..7f3739c --- /dev/null +++ b/addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.gd" type="Script" id=1] + +[node name="SettingsCheckbox" type="HBoxContainer"] +size_flags_horizontal = 3 +script = ExtResource( 1 ) + +[node name="CheckBox" type="CheckBox" parent="."] +margin_right = 24.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 diff --git a/addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd b/addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd new file mode 100644 index 0000000..85984da --- /dev/null +++ b/addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd @@ -0,0 +1,449 @@ +tool +extends ScrollContainer + +var editor_reference + +onready var nodes = { + # Theme + 'themes': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer/ThemePicker, + 'canvas_layer' : $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer3/CanvasLayer, + + # Dialog + 'text_event_audio_default_bus' : $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/TextAudioDefaultBus/AudioBus, + + # Input Settings + 'delay_after_options': $VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer/LineEdit, + 'default_action_key': $VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer2/DefaultActionKey, + 'choice_hotkey_1': $'VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer4/Choice1Hotkey', + 'choice_hotkey_2': $'VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer5/Choice2Hotkey', + 'choice_hotkey_3': $'VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer6/Choice3Hotkey', + 'choice_hotkey_4': $'VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer7/Choice4Hotkey', + + # Custom Events + 'new_custom_event_open':$VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/NewCustomEvent, + 'new_custom_event_section': $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection, + 'new_custom_event_name': $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/CeName, + 'new_custom_event_directory': $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/CeDirectory, + 'new_custom_event_id': $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/CeEventId, + 'new_custom_event_create':$VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/HBoxContainer/CreateCustomEvent, + 'new_custom_event_cancel':$VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/HBoxContainer/CancelCustomEvent, + + # History Settings + 'text_arrivals': $VBoxContainer/HBoxContainer3/VBoxContainer2/HistorySettings/GridContainer/LogBox/LineEdit, + 'text_exits': $VBoxContainer/HBoxContainer3/VBoxContainer2/HistorySettings/GridContainer/LogBox2/LineEdit, + 'history_button_position': $VBoxContainer/HBoxContainer3/VBoxContainer2/HistorySettings/GridContainer/PositionSelector, + 'history_character_delimiter': $VBoxContainer/HBoxContainer3/VBoxContainer2/HistorySettings/GridContainer/CharacterDelimiter, + 'history_screen_margin_x': $VBoxContainer/HBoxContainer3/VBoxContainer2/HistorySettings/GridContainer/BoxMargin/MarginX, + 'history_screen_margin_y': $VBoxContainer/HBoxContainer3/VBoxContainer2/HistorySettings/GridContainer/BoxMargin/MarginY, + 'history_container_margin_x': $VBoxContainer/HBoxContainer3/VBoxContainer2/HistorySettings/GridContainer/ContainerMargin/MarginX, + 'history_container_margin_y': $VBoxContainer/HBoxContainer3/VBoxContainer2/HistorySettings/GridContainer/ContainerMargin/MarginY, + # Animations + 'default_join_animation':$VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultJoinAnimation/JoinAnimationPicker, + 'default_join_animation_length':$VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultJoinAnimation/AnimationLengthPicker, + 'default_leave_animation':$VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultLeaveAnimation/LeaveAnimationPicker, + 'default_leave_animation_length':$VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultLeaveAnimation/AnimationLengthPicker, + } + +var THEME_KEYS := [ + 'canvas_layer', + ] + +var INPUT_KEYS := [ + 'delay_after_options', + 'default_action_key', + 'choice_hotkey_1', + 'choice_hotkey_2', + 'choice_hotkey_3', + 'choice_hotkey_4', + ] + +var HISTORY_KEYS := [ + 'text_arrivals', + 'text_exits', + 'history_button_position', + 'history_character_delimiter', + 'history_screen_margin_x', + 'history_screen_margin_y', + 'history_container_margin_x', + 'history_container_margin_y' +] + +var ANIMATION_KEYS := [ + 'default_join_animation', + 'default_join_animation_length', + 'default_leave_animation', + 'default_leave_animation_length' +] + +func _ready(): + editor_reference = find_parent('EditorView') + update_bus_selector() + + update_data() + + # Themes + nodes['themes'].connect('about_to_show', self, 'build_PickerMenu') + nodes['themes'].custom_icon = load("res://addons/dialogic/Images/Resources/theme.svg") + # TODO move to theme section later + nodes['canvas_layer'].connect('value_changed', self, '_on_canvas_layer_text_changed') + + # Input + nodes['delay_after_options'].connect('text_changed', self, '_on_delay_options_text_changed') + nodes['default_action_key'].connect('pressed', self, '_on_default_action_key_presssed') + nodes['default_action_key'].connect('item_selected', self, '_on_default_action_key_item_selected') + + # Connect hotkey settings 1-4 + for i in range(1, 5): + var key = str('choice_hotkey_', i) + nodes[key].connect('pressed', self, '_on_hotkey_action_key_presssed', [key]) + nodes[key].connect('item_selected', self, '_on_default_action_key_item_selected', [key]) + + AudioServer.connect("bus_layout_changed", self, "update_bus_selector") + nodes['text_event_audio_default_bus'].connect('item_selected', self, '_on_text_audio_default_bus_item_selected') + + ## History timeline connections + nodes['history_button_position'].connect('item_selected', self, '_on_button_history_button_position_selected') + nodes['history_character_delimiter'].connect('text_changed', self, '_on_text_changed', ['history', 'history_character_delimiter']) + nodes['text_arrivals'].connect('text_changed', self, '_on_text_changed', ['history', 'text_arrivals']) + nodes['text_exits'].connect('text_changed', self, '_on_text_changed', ['history', 'text_exits']) + + for button in ['history_button_position']: + var button_positions_popup = nodes[button].get_popup() + button_positions_popup.clear() + button_positions_popup.add_icon_item( + get_icon("ControlAlignTopLeft", "EditorIcons"), "Top Left", 0) + button_positions_popup.add_icon_item( + get_icon("ControlAlignTopCenter", "EditorIcons"), "Top Center", 1) + button_positions_popup.add_icon_item( + get_icon("ControlAlignTopRight", "EditorIcons"), "Top Right", 2) + button_positions_popup.add_separator() + button_positions_popup.add_icon_item( + get_icon("ControlAlignLeftCenter", "EditorIcons"), "Center Left", 3) + button_positions_popup.add_icon_item( + get_icon("ControlAlignCenter", "EditorIcons"), "Center", 4) + button_positions_popup.add_icon_item( + get_icon("ControlAlignRightCenter", "EditorIcons"), "Center Right", 5) + button_positions_popup.add_separator() + button_positions_popup.add_icon_item( + get_icon("ControlAlignBottomLeft", "EditorIcons"), "Bottom Left", 6) + button_positions_popup.add_icon_item( + get_icon("ControlAlignBottomCenter", "EditorIcons"), "Bottom Center", 7) + button_positions_popup.add_icon_item( + get_icon("ControlAlignBottomRight", "EditorIcons"), "Bottom Right", 8) + + nodes['history_screen_margin_x'].connect("value_changed", self, '_spinbox_val_changed', ['history_screen_margin_x']) + nodes['history_screen_margin_y'].connect("value_changed", self, '_spinbox_val_changed', ['history_screen_margin_y']) + nodes['history_container_margin_x'].connect("value_changed", self, '_spinbox_val_changed', ['history_container_margin_x']) + nodes['history_container_margin_y'].connect("value_changed", self, '_spinbox_val_changed', ['history_container_margin_y']) + + ## The custom event section + nodes['new_custom_event_open'].connect("pressed", self, "new_custom_event_pressed") + nodes['new_custom_event_section'].hide() + nodes['new_custom_event_name'].connect("text_changed", self, "custom_event_name_entered") + nodes['new_custom_event_id'].connect("text_changed", self, "custom_event_id_entered") + nodes['new_custom_event_cancel'].connect("pressed", self, "cancel_custom_event") + nodes['new_custom_event_create'].connect("pressed", self, "create_custom_event") + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.set('custom_colors/font_color', get_color("error_color", "Editor")) + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/CustomEventsDocs.icon = get_icon("HelpSearch", "EditorIcons") + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/CustomEventsDocs.connect("pressed", self, 'open_custom_event_docs') + + ## The Animation Section + nodes['default_join_animation'].connect('about_to_show', self, '_on_AnimationDefault_about_to_show', [nodes['default_join_animation'], '_in']) + nodes['default_leave_animation'].connect('about_to_show', self, '_on_AnimationDefault_about_to_show', [nodes['default_leave_animation'], 'out']) + nodes['default_join_animation'].get_popup().connect('index_pressed', self, '_on_AnimationDefault_index_pressed', [nodes['default_join_animation'], 'default_join_animation']) + nodes['default_leave_animation'].get_popup().connect('index_pressed', self, '_on_AnimationDefault_index_pressed', [nodes['default_leave_animation'], 'default_leave_animation']) + nodes['default_join_animation'].custom_icon = get_icon("Animation", "EditorIcons") + nodes['default_leave_animation'].custom_icon = get_icon("Animation", "EditorIcons") + nodes['default_join_animation_length'].connect('value_changed', self, '_on_AnimationDefaultLength_value_changed', ['default_join_animation_length']) + nodes['default_leave_animation_length'].connect('value_changed', self, '_on_AnimationDefaultLength_value_changed', ['default_leave_animation_length']) + +func update_data(): + # Reloading the settings + var settings = DialogicResources.get_settings_config() + nodes['themes'].text = DialogicUtil.get_theme_dict()[settings.get_value("theme", "default", "default-theme.cfg")].get('name') + nodes['canvas_layer'].value = int(settings.get_value("theme", "canvas_layer", '1')) + load_values(settings, "input", INPUT_KEYS) + load_values(settings, "history", HISTORY_KEYS) + load_values(settings, "animations", ANIMATION_KEYS) + select_bus(settings.get_value("dialog", 'text_event_audio_default_bus', "Master")) + + +func load_values(settings: ConfigFile, section: String, key: Array): + for k in key: + if settings.has_section_key(section, k): + if nodes[k] is LineEdit: + nodes[k].text = settings.get_value(section, k) + elif nodes[k] is OptionButton or nodes[k] is MenuButton: + nodes[k].text = settings.get_value(section, k) + if section == 'animations': + nodes[k].text = DialogicUtil.beautify_filename(nodes[k].text) + elif nodes[k] is SpinBox: + nodes[k].value = settings.get_value(section, k) + else: + nodes[k].pressed = settings.get_value(section, k, false) + + +func refresh_themes(settings: ConfigFile): + # TODO move to theme section later + nodes['themes'].clear() + var theme_list = DialogicUtil.get_sorted_theme_list() + var theme_indexes = {} + var index = 0 + for theme in theme_list: + nodes['themes'].add_item(theme['name']) + nodes['themes'].set_item_metadata(index, {'file': theme['file']}) + theme_indexes[theme['file']] = index + index += 1 + + # Only one item added, then save as default + if index == 1: + set_value('theme', 'default', theme_list[0]['file']) + + # More than one theme? Select which the default one is + if index > 1: + if settings.has_section_key('theme', 'default'): + nodes['themes'].select(theme_indexes[settings.get_value('theme', 'default', null)]) + else: + # Fallback + set_value('theme', 'default', theme_list[0]['file']) + + + + + + + +func _on_delay_options_text_changed(text): + set_value('input', 'delay_after_options', text) + + +func _on_item_toggled(value: bool, section: String, key: String): + set_value(section, key, value) + + +func _on_button_history_button_position_selected(index): + set_value('history', 'history_button_position', str(index)) + + +func _spinbox_val_changed(newValue :float, spinbox_name): + set_value('history', spinbox_name, newValue) + + +func _on_default_action_key_presssed(settingName = 'default_action_key') -> void: + var settings = DialogicResources.get_settings_config() + nodes[settingName].clear() + nodes[settingName].add_item(settings.get_value('input', settingName, 'dialogic_default_action')) + for prop in ProjectSettings.get_property_list(): + if prop.name.begins_with('input/'): + nodes[settingName].add_item(prop.name.trim_prefix('input/')) + + +func _on_hotkey_action_key_presssed(settingName = 'choice_hotkey_1') -> void: + var settings = DialogicResources.get_settings_config() + nodes[settingName].clear() + nodes[settingName].add_item(settings.get_value('input', settingName, '[None]')) + nodes[settingName].add_item('[None]') + for prop in ProjectSettings.get_property_list(): + if prop.name.begins_with('input/'): + nodes[settingName].add_item(prop.name.trim_prefix('input/')) + + + +func _on_default_action_key_item_selected(index, settingName = 'default_action_key') -> void: + print(nodes[settingName].text) + set_value('input', settingName, nodes[settingName].text) + + +func _on_canvas_layer_text_changed(text) -> void: + set_value('theme', 'canvas_layer', text) + + +func _on_text_changed(text, section: String, key: String) -> void: + set_value(section, key, text) + #set_value('history', 'history_character_delimiter', text) + + +# Reading and saving data to the settings file +func set_value(section, key, value): + DialogicResources.set_settings_value(section, key, value) + + +func update_bus_selector(): + if nodes["text_event_audio_default_bus"] != null: + var previous_selected_bus_name = "" + if nodes["text_event_audio_default_bus"].get_item_count(): + previous_selected_bus_name = nodes["text_event_audio_default_bus"].get_item_text(max(0, nodes["text_event_audio_default_bus"].selected)) + + nodes["text_event_audio_default_bus"].clear() + for i in range(AudioServer.bus_count): + var bus_name = AudioServer.get_bus_name(i) + nodes["text_event_audio_default_bus"].add_item(bus_name) + + if previous_selected_bus_name == bus_name: + nodes["text_event_audio_default_bus"].select(i) + + +func select_bus(text): + for item_idx in range(nodes["text_event_audio_default_bus"].get_item_count()): + if nodes["text_event_audio_default_bus"].get_item_text(item_idx) == text: + nodes["text_event_audio_default_bus"].select(item_idx) + return + nodes["text_event_audio_default_bus"].select(0) + + +func _on_text_audio_default_bus_item_selected(index): + var text = nodes['text_event_audio_default_bus'].get_item_text(index) + set_value('dialog', 'text_event_audio_default_bus', text) + + +################################################################################ +## CUSTOM EVENT SECTION +################################################################################ + +func open_custom_event_docs(): + editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").select_documentation_item("res://addons/dialogic/Documentation/Content/Events/CustomEvents/CreateCustomEvents.md") + + +func new_custom_event_pressed(): + nodes['new_custom_event_section'].show() + nodes['new_custom_event_name'].text = '' + nodes['new_custom_event_directory'].text = '' + nodes['new_custom_event_id'].text = '' + + nodes['new_custom_event_create'].disabled = true + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "" + + +func custom_event_name_entered(text:String): + nodes['new_custom_event_directory'].text = text + + nodes['new_custom_event_create'].disabled = nodes['new_custom_event_id'].text != '' + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "" + + +func custom_event_id_entered(text): + if nodes['new_custom_event_name'].text != '': + nodes['new_custom_event_create'].disabled = false + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "" + + +func cancel_custom_event(): + nodes['new_custom_event_section'].hide() + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "" + + +func create_custom_event(): + # do checks for incomplete input + if nodes['new_custom_event_directory'].text.empty(): + print('[D] No directory specified!') + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "Enter a directory name!" + return + if nodes['new_custom_event_name'].text.empty(): + print('[D] No name specified!') + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "Enter a event name!" + return + if nodes['new_custom_event_id'].text.empty(): + print('[D] No id specified!') + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "Enter an id!" + return + + # create new directory + var dir_name = 'res://dialogic/custom-events/'+nodes['new_custom_event_directory'].text + var dir = Directory.new() + if dir.dir_exists(dir_name): + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "The folder already exists!" + print("[D] Custom Events folder '"+nodes['new_custom_event_directory'].text+"' already exists!") + return + dir.make_dir(dir_name) + + # copy all necessary files + for file in ['EventBlock.tscn', 'Stylebox.tres', 'EventPart_Example.gd', 'EventPart_Example.tscn', 'event_yourname_000.gd']: + dir.copy("res://addons/dialogic/Example Assets/CustomEvents/"+file, dir_name+"/"+file) + + # Updating the script location of the example + var scene = load(dir_name+"/EventPart_Example.tscn") + var scene_instance = scene.instance() + scene_instance.set_script(load(dir_name+"/EventPart_Example.gd")) + var packed_scene = PackedScene.new() + packed_scene.pack(scene_instance) + ResourceSaver.save(dir_name+"/EventPart_Example.tscn", packed_scene) + + # rename the event handler script + dir.rename(dir_name+'/event_yourname_000.gd', dir_name+'/event_'+nodes['new_custom_event_id'].text+'.gd') + + # edit the EventBlock scene + var event_block_scene = load(dir_name+'/EventBlock.tscn').instance(PackedScene.GEN_EDIT_STATE_INSTANCE) + event_block_scene.event_name = nodes['new_custom_event_name'].text + event_block_scene.event_data = {'event_id':nodes['new_custom_event_id'].text} + event_block_scene.event_icon = load("res://addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg") + var packed = PackedScene.new() + packed.pack(event_block_scene) + ResourceSaver.save(dir_name+'/EventBlock.tscn', packed) + + # close the section + nodes['new_custom_event_section'].hide() + + # force godot to show the folder + editor_reference.editor_interface.get_resource_filesystem().scan() + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "" + + +################ +## ANIMATION +################ +func _on_AnimationDefault_about_to_show(picker, filter): + picker.get_popup().clear() + var animations = DialogicAnimaResources.get_available_animations() + var idx = 0 + for animation_name in animations: + if filter in animation_name: + picker.get_popup().add_icon_item(get_icon("Animation", "EditorIcons"), DialogicUtil.beautify_filename(animation_name.get_file())) + picker.get_popup().set_item_metadata(idx, {'file': animation_name.get_file()}) + idx +=1 + +func _on_AnimationDefault_index_pressed(index, picker, key): + set_value('animations', key, picker.get_popup().get_item_metadata(index)['file']) + picker.text = picker.get_popup().get_item_text(index) + +func _on_AnimationDefaultLength_value_changed(value, key): + set_value('animations', key, value) + + +########## +## THEME +########## +func build_PickerMenu(): + nodes['themes'].get_popup().clear() + var folder_structure = DialogicUtil.get_theme_folder_structure() + + ## building the root level + build_PickerMenuFolder(nodes['themes'].get_popup(), folder_structure, "MenuButton") + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + nodes['themes'].update_submenu_style(submenu) + index += 1 + + var files_info = DialogicUtil.get_theme_dict() + for file in folder_structure['files']: + menu.add_item(files_info[file]['name']) + menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").theme_icon) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_ThemePicker_index_pressed"): + menu.connect("index_pressed", self, '_on_ThemePicker_index_pressed', [menu]) + + return current_folder_name + +func _on_ThemePicker_index_pressed(index, menu): + nodes['themes'].text = menu.get_item_text(index) + set_value('theme', 'default', menu.get_item_metadata(index)['file']) diff --git a/addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn b/addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn new file mode 100644 index 0000000..a2a2a44 --- /dev/null +++ b/addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn @@ -0,0 +1,631 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Common/SectionTitle.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.tscn" type="PackedScene" id=5] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=6] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=7] + +[sub_resource type="Image" id=1] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 1 ) +size = Vector2( 16, 16 ) + +[node name="SettingsEditor" type="ScrollContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +theme = ExtResource( 7 ) +script = ExtResource( 1 ) + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 1012.0 +margin_bottom = 716.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer"] +margin_right = 1012.0 +margin_bottom = 716.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3"] +margin_right = 398.0 +margin_bottom = 716.0 +custom_constants/separation = 16 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"] +margin_right = 398.0 +margin_bottom = 78.0 + +[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer" instance=ExtResource( 2 )] +margin_right = 398.0 +text = "Theme" +text_key = "Theme" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer"] +margin_top = 26.0 +margin_right = 398.0 +margin_bottom = 50.0 + +[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 98.0 +margin_bottom = 19.0 +text = "Default Theme:" +text_key = "Default" + +[node name="ThemePicker" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 6 )] +margin_left = 102.0 +margin_right = 251.0 +custom_colors/font_color = Color( 0.8, 0.807843, 0.827451, 1 ) +text = "Default Theme" + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer"] +margin_top = 54.0 +margin_right = 398.0 +margin_bottom = 78.0 + +[node name="TLabel3" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 83.0 +margin_bottom = 19.0 +text = "Canvas layer:" +text_key = "Canvas layer:" + +[node name="CanvasLayer" type="SpinBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer3"] +margin_left = 87.0 +margin_right = 163.0 +margin_bottom = 24.0 +min_value = -999.0 +max_value = 999.0 +value = 1.0 +rounded = true + +[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"] +margin_top = 94.0 +margin_right = 398.0 +margin_bottom = 388.0 + +[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 2 )] +margin_right = 398.0 +text = "Dialog" +text_key = "Dialog" + +[node name="SettingsCheckbox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )] +margin_top = 26.0 +margin_right = 398.0 +margin_bottom = 50.0 +text = "New lines will create extra messages" +default = true +settings_section = "dialog" +settings_key = "new_lines" + +[node name="SettingsCheckbox2" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )] +margin_top = 54.0 +margin_right = 398.0 +margin_bottom = 78.0 +text = "Remove empty messages" +default = true +settings_section = "dialog" +settings_key = "remove_empty_messages" + +[node name="SettingsCheckbox3" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )] +margin_top = 82.0 +margin_right = 398.0 +margin_bottom = 106.0 +text = "Auto color character names in messages" +default = true +settings_section = "dialog" +settings_key = "auto_color_names" + +[node name="SettingsCheckbox5" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )] +margin_top = 110.0 +margin_right = 398.0 +margin_bottom = 134.0 +hint_tooltip = "If disabled, background images use \"Aspect covered\" mode." +text = "Stretch background images " +default = true +settings_section = "dialog" +settings_key = "stretch_backgrounds" + +[node name="SettingsCheckbox8" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )] +margin_top = 138.0 +margin_right = 398.0 +margin_bottom = 162.0 +hint_tooltip = "Re-center portrait on each change (1.4+ behavior)" +text = "Re-center portrait on each change (1.4+ behavior)" +default = true +settings_section = "dialog" +settings_key = "recenter_portrait" + +[node name="HSeparator2" type="HSeparator" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 166.0 +margin_right = 398.0 +margin_bottom = 170.0 + +[node name="TLabel6" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 174.0 +margin_right = 398.0 +margin_bottom = 188.0 +text = "Audio for Text events:" +text_key = "Audio for Text events:" + +[node name="SettingsCheckbox6" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )] +margin_top = 192.0 +margin_right = 398.0 +margin_bottom = 216.0 +text = "Enable audio for Text events" +settings_section = "dialog" +settings_key = "text_event_audio_enable" + +[node name="TextAudioDefaultBus" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 220.0 +margin_right = 398.0 +margin_bottom = 240.0 + +[node name="TLabel8" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/TextAudioDefaultBus" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 204.0 +margin_bottom = 17.0 +text = "Default bus for Text event audio" +text_key = "Default bus for Text event audio" + +[node name="AudioBus" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/TextAudioDefaultBus"] +margin_left = 208.0 +margin_right = 281.0 +margin_bottom = 20.0 +text = "Master" +items = [ "Master", null, false, 0, null ] +selected = 0 + +[node name="HSeparator" type="HSeparator" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 244.0 +margin_right = 398.0 +margin_bottom = 248.0 + +[node name="TLabel9" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 252.0 +margin_right = 398.0 +margin_bottom = 266.0 +text = "Experimental Translations:" +text_key = "Experimental Translations:" + +[node name="SettingsCheckbox7" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )] +margin_top = 270.0 +margin_right = 398.0 +margin_bottom = 294.0 +text = "Inputs for text events will be treated as keys for tr()" +settings_section = "dialog" +settings_key = "translations" + +[node name="VBoxContainer3" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"] +margin_top = 404.0 +margin_right = 398.0 +margin_bottom = 454.0 + +[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer3" instance=ExtResource( 2 )] +margin_right = 398.0 +text = "Game saving" +text_key = "Saving" + +[node name="SettingsCheckbox8" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer3" instance=ExtResource( 4 )] +margin_top = 26.0 +margin_right = 398.0 +margin_bottom = 50.0 +text = "Autosave" +default = true +settings_section = "saving" +settings_key = "autosave" + +[node name="VBoxContainer4" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"] +margin_top = 470.0 +margin_right = 398.0 +margin_bottom = 548.0 + +[node name="SectionTitle2" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4" instance=ExtResource( 2 )] +margin_right = 398.0 +text = "Animations" +text_key = "Animations" + +[node name="DefaultJoinAnimation" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4"] +margin_top = 26.0 +margin_right = 398.0 +margin_bottom = 50.0 + +[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultJoinAnimation" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 212.0 +margin_bottom = 19.0 +size_flags_horizontal = 3 +text = "Default Join Animation:" +text_key = "Default Join Animation:" + +[node name="JoinAnimationPicker" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultJoinAnimation" instance=ExtResource( 6 )] +margin_left = 216.0 +margin_right = 318.0 +custom_colors/font_color = Color( 0.8, 0.807843, 0.827451, 1 ) +text = "Fade In" + +[node name="AnimationLengthPicker" type="SpinBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultJoinAnimation"] +margin_left = 322.0 +margin_right = 398.0 +margin_bottom = 24.0 +step = 0.01 +value = 0.5 + +[node name="DefaultLeaveAnimation" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4"] +margin_top = 54.0 +margin_right = 398.0 +margin_bottom = 78.0 + +[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultLeaveAnimation" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 161.0 +margin_bottom = 19.0 +size_flags_horizontal = 3 +text = "Default Leave Animation:" +text_key = "Default Leave Animation:" + +[node name="LeaveAnimationPicker" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultLeaveAnimation" instance=ExtResource( 6 )] +margin_left = 165.0 +margin_right = 318.0 +custom_colors/font_color = Color( 0.8, 0.807843, 0.827451, 1 ) +text = "Fade Out Down" + +[node name="AnimationLengthPicker" type="SpinBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultLeaveAnimation"] +margin_left = 322.0 +margin_right = 398.0 +margin_bottom = 24.0 +step = 0.01 +value = 0.5 + +[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3"] +margin_left = 402.0 +margin_right = 738.0 +margin_bottom = 716.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2"] +margin_right = 336.0 +margin_bottom = 310.0 + +[node name="SectionTitle2" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 2 )] +margin_right = 336.0 +text = "Input" +text_key = "Input" + +[node name="SettingsCheckbox2" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 4 )] +margin_top = 26.0 +margin_right = 336.0 +margin_bottom = 50.0 +text = "Autofocus choice buttons" +settings_section = "input" +settings_key = "autofocus_choices" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"] +margin_top = 54.0 +margin_right = 336.0 +margin_bottom = 78.0 + +[node name="TLabel14" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 181.0 +margin_bottom = 19.0 +text = "Enable choice options after " +text_key = "Enable choice options after " + +[node name="LineEdit" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer"] +margin_left = 185.0 +margin_right = 245.0 +margin_bottom = 24.0 +text = "0.2" + +[node name="TLabel15" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 249.0 +margin_top = 5.0 +margin_right = 306.0 +margin_bottom = 19.0 +text = " seconds" +text_key = " seconds" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"] +margin_top = 82.0 +margin_right = 336.0 +margin_bottom = 102.0 + +[node name="TLabel16" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer2" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 115.0 +margin_bottom = 17.0 +text = "Default action key" +text_key = "Default action key" + +[node name="DefaultActionKey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer2"] +margin_left = 119.0 +margin_right = 292.0 +margin_bottom = 20.0 +hint_tooltip = "The default value is \"ui_accept\"" +text = "dialogic_default_action" + +[node name="SettingsCheckbox" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 4 )] +margin_top = 106.0 +margin_right = 336.0 +margin_bottom = 130.0 +text = "Tap area covers full screen" +default = true +settings_section = "input" +settings_key = "clicking_dialog_action" + +[node name="SettingsCheckbox3" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 4 )] +margin_top = 134.0 +margin_right = 336.0 +margin_bottom = 158.0 +text = "Enable default choice hotkeys" +settings_section = "input" +settings_key = "enable_default_shortcut" + +[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"] +margin_top = 162.0 +margin_right = 336.0 +margin_bottom = 182.0 +alignment = 2 + +[node name="TLabel18" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer4" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 102.0 +margin_bottom = 17.0 +text = "Choice 1 hotkey" +text_key = "Choice 1 hotkey" + +[node name="Choice1Hotkey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer4"] +margin_left = 106.0 +margin_right = 336.0 +margin_bottom = 20.0 +hint_tooltip = "The default value is No Hotkey" +size_flags_horizontal = 3 +text = "[None]" + +[node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"] +margin_top = 186.0 +margin_right = 336.0 +margin_bottom = 206.0 +alignment = 2 + +[node name="TLabel19" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer5" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 102.0 +margin_bottom = 17.0 +text = "Choice 2 hotkey" +text_key = "Choice 2 hotkey" + +[node name="Choice2Hotkey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer5"] +margin_left = 106.0 +margin_right = 336.0 +margin_bottom = 20.0 +hint_tooltip = "The default value is No Hotkey" +size_flags_horizontal = 3 +text = "dialogic_setction" + +[node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"] +margin_top = 210.0 +margin_right = 336.0 +margin_bottom = 230.0 +alignment = 2 + +[node name="TLabel20" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer6" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 102.0 +margin_bottom = 17.0 +text = "Choice 3 hotkey" +text_key = "Choice 3 hotkey" + +[node name="Choice3Hotkey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer6"] +margin_left = 106.0 +margin_right = 336.0 +margin_bottom = 20.0 +hint_tooltip = "The default value is No Hotkey" +size_flags_horizontal = 3 +text = "[None]" + +[node name="HBoxContainer7" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"] +margin_top = 234.0 +margin_right = 336.0 +margin_bottom = 254.0 +alignment = 2 + +[node name="TLabel21" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer7" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 102.0 +margin_bottom = 17.0 +text = "Choice 4 hotkey" +text_key = "Choice 4 hotkey" + +[node name="Choice4Hotkey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer7"] +margin_left = 106.0 +margin_right = 336.0 +margin_bottom = 20.0 +hint_tooltip = "The default value is No Hotkey" +size_flags_horizontal = 3 +text = "[None]" + +[node name="SettingsCheckbox4" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 4 )] +margin_top = 258.0 +margin_right = 336.0 +margin_bottom = 282.0 +text = "Propagate input to rest of the Tree" +default = true +settings_section = "dialog" +settings_key = "propagate_input" + +[node name="SettingsCheckbox5" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 4 )] +margin_top = 286.0 +margin_right = 336.0 +margin_bottom = 310.0 +text = "Stop Mouse Clicks" +default = true +settings_section = "dialog" +settings_key = "stop_mouse" + +[node name="HistorySettings" parent="VBoxContainer/HBoxContainer3/VBoxContainer2" instance=ExtResource( 5 )] +margin_top = 314.0 +margin_right = 336.0 +margin_bottom = 658.0 + +[node name="CustomEvents" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2"] +margin_top = 662.0 +margin_right = 336.0 +margin_bottom = 712.0 + +[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents" instance=ExtResource( 2 )] +margin_right = 336.0 +text = "Custom events" +text_key = "Custom events" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents"] +margin_top = 26.0 +margin_right = 336.0 +margin_bottom = 50.0 + +[node name="Message" type="Label" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer"] +margin_top = 5.0 +margin_right = 260.0 +margin_bottom = 19.0 +size_flags_horizontal = 3 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NewCustomEvent" type="Button" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer"] +margin_left = 264.0 +margin_right = 304.0 +margin_bottom = 24.0 +text = "New" + +[node name="CustomEventsDocs" type="ToolButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer"] +margin_left = 308.0 +margin_right = 336.0 +margin_bottom = 24.0 +icon = SubResource( 2 ) + +[node name="CreateCustomEventSection" type="GridContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents"] +visible = false +margin_top = 54.0 +margin_right = 304.0 +margin_bottom = 158.0 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 105.0 +margin_bottom = 19.0 +text = "Event Name:" +text_key = "Event Name:" + +[node name="CeName" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"] +margin_left = 109.0 +margin_right = 304.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="TLabel2" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 105.0 +margin_bottom = 47.0 +text = "Directory Name:" +text_key = "Directory Name:" + +[node name="CeDirectory" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"] +margin_left = 109.0 +margin_top = 28.0 +margin_right = 304.0 +margin_bottom = 52.0 +size_flags_horizontal = 3 + +[node name="TLabel3" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 105.0 +margin_bottom = 75.0 +text = "Event id:" +text_key = "Event id:" + +[node name="CeEventId" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"] +margin_left = 109.0 +margin_top = 56.0 +margin_right = 304.0 +margin_bottom = 80.0 +size_flags_horizontal = 3 +placeholder_text = "myname_001" + +[node name="Control" type="Control" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"] +margin_top = 84.0 +margin_right = 105.0 +margin_bottom = 104.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"] +margin_left = 109.0 +margin_top = 84.0 +margin_right = 304.0 +margin_bottom = 104.0 +alignment = 2 + +[node name="CreateCustomEvent" type="Button" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/HBoxContainer"] +margin_left = 84.0 +margin_right = 137.0 +margin_bottom = 20.0 +text = "Create" + +[node name="CancelCustomEvent" type="Button" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/HBoxContainer"] +margin_left = 141.0 +margin_right = 195.0 +margin_bottom = 20.0 +text = "Cancel" + +[node name="CustomEvents" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2"] +margin_top = 716.0 +margin_right = 336.0 +margin_bottom = 716.0 diff --git a/addons/dialogic/Editor/Theme/MainTheme.tres b/addons/dialogic/Editor/Theme/MainTheme.tres new file mode 100644 index 0000000..8a44629 --- /dev/null +++ b/addons/dialogic/Editor/Theme/MainTheme.tres @@ -0,0 +1,3 @@ +[gd_resource type="Theme" format=2] + +[resource] diff --git a/addons/dialogic/Editor/Theme/PickerTheme.tres b/addons/dialogic/Editor/Theme/PickerTheme.tres new file mode 100644 index 0000000..36b1955 --- /dev/null +++ b/addons/dialogic/Editor/Theme/PickerTheme.tres @@ -0,0 +1,7 @@ +[gd_resource type="Theme" format=2] + +[resource] +Button/colors/font_color = Color( 1, 1, 1, 1 ) +Button/colors/font_color_disabled = Color( 0.901961, 0.901961, 0.901961, 0.2 ) +Button/colors/font_color_hover = Color( 0.870588, 0.870588, 0.870588, 1 ) +Button/colors/font_color_pressed = Color( 1, 1, 1, 1 ) diff --git a/addons/dialogic/Editor/ThemeEditor/AudioPicker.gd b/addons/dialogic/Editor/ThemeEditor/AudioPicker.gd new file mode 100644 index 0000000..db87e89 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/AudioPicker.gd @@ -0,0 +1,113 @@ +tool +extends GridContainer + +signal data_updated(section) + +var loading = false +var editor_reference +var path = "" + +onready var n : Dictionary = { + 'enable': $"FileHBoxContainer/EnableCheckBox", + 'path': $"FileHBoxContainer/PathButton", + 'volume': $"VolumeHBoxContainer/VolumeSpinBox", + 'volume_rand_range': $"VolumeHBoxContainer/VolumeRandRangeSpinBox", + 'pitch': $"PitchHBoxContainer/PitchSpinBox", + 'pitch_rand_range': $"PitchHBoxContainer/PitchRandRangeSpinBox", + 'allow_interrupt': $"AllowInterruptCheckBox", + 'audio_bus': $"AudioBusOptionButton" +} + +func _ready(): + editor_reference = find_parent('EditorView') + + AudioServer.connect("bus_layout_changed", self, "_on_bus_layout_changed") + update_audio_bus_option_buttons() + +func set_data(data): + loading = true + n['enable'].set_pressed(data['enable']) + + path = data['path'] + _on_Path_selected(path) + n['path'].text = editor_reference.dialogicTranslator.translate('File or folder path') + n['volume'].set_value(data['volume']) + n['volume_rand_range'].set_value(data['volume_rand_range']) + n['pitch'].set_value(data['pitch']) + n['pitch_rand_range'].set_value(data['pitch_rand_range']) + n['allow_interrupt'].set_pressed(data['allow_interrupt']) + + update_audio_bus_option_buttons(data['audio_bus']) + + _set_disabled(!data['enable']) + loading = false + +func get_data(): + return { + 'enable': n['enable'].is_pressed(), + 'path': path, + 'volume': n['volume'].get_value(), + 'volume_rand_range': n['volume_rand_range'].get_value(), + 'pitch': n['pitch'].get_value(), + 'pitch_rand_range': n['pitch_rand_range'].get_value(), + 'allow_interrupt': n['allow_interrupt'].is_pressed(), + 'audio_bus': AudioServer.get_bus_name(n['audio_bus'].get_selected_id()) + } + +func _on_EnableCheckBox_toggled(button_pressed): + if not loading: emit_signal("data_updated", name.to_lower()) + _set_disabled(!button_pressed) + +func _set_disabled(disabled): + n['path'].set_disabled(disabled) + n['volume'].set_editable(!disabled) + n['volume_rand_range'].set_editable(!disabled) + n['pitch'].set_editable(!disabled) + n['pitch_rand_range'].set_editable(!disabled) + n['allow_interrupt'].set_disabled(disabled) + n['audio_bus'].set_disabled(disabled) + +func _on_PathButton_pressed(): + editor_reference.godot_dialog("*.ogg, *.wav", EditorFileDialog.MODE_OPEN_ANY) + editor_reference.godot_dialog_connect(self, "_on_Path_selected", ["dir_selected", "file_selected"]) + +func _on_Path_selected(selected_path, target = ""): + if typeof(selected_path) == TYPE_STRING and path != "": + path = selected_path + n['path'].text = DialogicResources.get_filename_from_path(path) + if not loading: emit_signal("data_updated", name.to_lower()) + +func _on_VolumeSpinBox_value_changed(value): + if not loading: emit_signal("data_updated", name.to_lower()) + +func _on_VolumeRandRangeSpinBox_value_changed(value): + n['volume_rand_range'].set_value(abs(value)) + if not loading: emit_signal("data_updated", name.to_lower()) + +func _on_PitchSpinBox_value_changed(value): + n['pitch'].set_value(max(0.01, value)) + if not loading: emit_signal("data_updated", name.to_lower()) + +func _on_PitchRandRangeSpinBox_value_changed(value): + n['pitch_rand_range'].set_value(abs(value)) + if not loading: emit_signal("data_updated", name.to_lower()) + +func _on_AllowInterruptCheckBox_toggled(button_pressed): + if not loading: emit_signal("data_updated", name.to_lower()) + +func _on_AudioBusOptionButton_item_selected(index): + if not loading: emit_signal("data_updated", name.to_lower()) + +func _on_bus_layout_changed(): + var selected_id = n['audio_bus'].get_selected_id() + var selected_text = n['audio_bus'].get_item_text(selected_id) + update_audio_bus_option_buttons(selected_text) + +func update_audio_bus_option_buttons(selected_text = ''): + n['audio_bus'].clear() + for i in range(AudioServer.bus_count): + var bus_name = AudioServer.get_bus_name(i) + n['audio_bus'].add_item(bus_name) + if bus_name == selected_text: + n['audio_bus'].select(i) + diff --git a/addons/dialogic/Editor/ThemeEditor/AudioPicker.tscn b/addons/dialogic/Editor/ThemeEditor/AudioPicker.tscn new file mode 100644 index 0000000..c7fb571 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/AudioPicker.tscn @@ -0,0 +1,146 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/AudioPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=2] + +[node name="AudioPicker" type="GridContainer"] +margin_right = 265.0 +margin_bottom = 132.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FileLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 95.0 +margin_bottom = 19.0 +text = "Lautstärke" +text_key = "UseAudio" + +[node name="FileHBoxContainer" type="HBoxContainer" parent="."] +margin_left = 105.0 +margin_right = 265.0 +margin_bottom = 24.0 + +[node name="EnableCheckBox" type="CheckBox" parent="FileHBoxContainer"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="PathButton" type="Button" parent="FileHBoxContainer"] +margin_left = 28.0 +margin_right = 160.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "File or Folder" + +[node name="VolumeLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 95.0 +margin_bottom = 47.0 +text = "Volume" +text_key = "Volume" + +[node name="VolumeHBoxContainer" type="HBoxContainer" parent="."] +margin_left = 105.0 +margin_top = 28.0 +margin_right = 265.0 +margin_bottom = 52.0 +size_flags_horizontal = 3 + +[node name="VolumeSpinBox" type="SpinBox" parent="VolumeHBoxContainer"] +margin_right = 82.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +min_value = -80.0 +step = 0.01 + +[node name="VolumeRandRangeSpinBox" type="SpinBox" parent="VolumeHBoxContainer"] +margin_left = 86.0 +margin_right = 160.0 +margin_bottom = 24.0 +hint_tooltip = "Random Range" +step = 0.01 +prefix = "±" + +[node name="PitchLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 95.0 +margin_bottom = 75.0 +text = "Pitch" +text_key = "Pitch" + +[node name="PitchHBoxContainer" type="HBoxContainer" parent="."] +margin_left = 105.0 +margin_top = 56.0 +margin_right = 265.0 +margin_bottom = 80.0 +size_flags_horizontal = 3 + +[node name="PitchSpinBox" type="SpinBox" parent="PitchHBoxContainer"] +margin_right = 82.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +step = 0.01 + +[node name="PitchRandRangeSpinBox" type="SpinBox" parent="PitchHBoxContainer"] +margin_left = 86.0 +margin_right = 160.0 +margin_bottom = 24.0 +hint_tooltip = "Random Range" +max_value = 10.0 +step = 0.01 +prefix = "±" + +[node name="InterruptLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 89.0 +margin_right = 95.0 +margin_bottom = 103.0 +text = "Allow interrupt" +text_key = "Allow interrupt" + +[node name="AllowInterruptCheckBox" type="CheckBox" parent="."] +margin_left = 105.0 +margin_top = 84.0 +margin_right = 265.0 +margin_bottom = 108.0 + +[node name="AudioBusLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 115.0 +margin_right = 95.0 +margin_bottom = 129.0 +text = "AudioBus" +text_key = "Audio Bus" + +[node name="AudioBusOptionButton" type="OptionButton" parent="."] +margin_left = 105.0 +margin_top = 112.0 +margin_right = 265.0 +margin_bottom = 132.0 +text = "Master" +items = [ "Master", null, false, 0, null ] +selected = 0 + +[connection signal="toggled" from="FileHBoxContainer/EnableCheckBox" to="." method="_on_EnableCheckBox_toggled"] +[connection signal="pressed" from="FileHBoxContainer/PathButton" to="." method="_on_PathButton_pressed"] +[connection signal="value_changed" from="VolumeHBoxContainer/VolumeSpinBox" to="." method="_on_VolumeSpinBox_value_changed"] +[connection signal="value_changed" from="VolumeHBoxContainer/VolumeRandRangeSpinBox" to="." method="_on_VolumeRandRangeSpinBox_value_changed"] +[connection signal="value_changed" from="PitchHBoxContainer/PitchSpinBox" to="." method="_on_PitchSpinBox_value_changed"] +[connection signal="value_changed" from="PitchHBoxContainer/PitchRandRangeSpinBox" to="." method="_on_PitchRandRangeSpinBox_value_changed"] +[connection signal="toggled" from="AllowInterruptCheckBox" to="." method="_on_AllowInterruptCheckBox_toggled"] +[connection signal="item_selected" from="AudioBusOptionButton" to="." method="_on_AudioBusOptionButton_item_selected"] diff --git a/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.gd b/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.gd new file mode 100644 index 0000000..4de6201 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.gd @@ -0,0 +1,81 @@ +tool +extends GridContainer + +signal style_modified(section) +signal picking_background(section) + +var real_file_path = 'res://addons/dialogic/Example Assets/backgrounds/background-2.png' + + +func load_style(data): + $TextColor/CheckBox.pressed = data[0] + $TextColor/ColorPickerButton.color = data[1] + + $FlatBackground/CheckBox.pressed = data[2] + $FlatBackground/ColorPickerButton.color = data[3] + + $BackgroundTexture/CheckBox.pressed = data[4] + set_path(data[5]) + + $TextureModulation/CheckBox.pressed = data[6] + $TextureModulation/ColorPickerButton.color = data[7] + + check_visible_buttons() + + +func get_style_array(): + var results = [] + results.append($TextColor/CheckBox.pressed) + results.append($TextColor/ColorPickerButton.color) + + results.append($FlatBackground/CheckBox.pressed) + results.append($FlatBackground/ColorPickerButton.color) + + results.append($BackgroundTexture/CheckBox.pressed) + results.append(real_file_path) + + results.append($TextureModulation/CheckBox.pressed) + results.append($TextureModulation/ColorPickerButton.color) + + return results + + +func set_path(path): + $BackgroundTexture/Button.text = DialogicResources.get_filename_from_path(path) + + +func check_visible_buttons(): + $FlatBackground/ColorPickerButton.visible = $FlatBackground/CheckBox.pressed + + if $FlatBackground/CheckBox.pressed: + $BackgroundTexture.visible = false + $BackgroundTextureLabel.visible = false + $TextureModulation.visible = false + $TextureModulationLabel.visible = false + else: + $BackgroundTexture.visible = true + $BackgroundTextureLabel.visible = true + $TextureModulation.visible = true + $TextureModulationLabel.visible = true + + +func _on_CheckBox_toggled(button_pressed): + emit_signal("style_modified", name.to_lower()) + check_visible_buttons() + + +func _on_ColorPickerButton_color_changed(color): + emit_signal("style_modified", name.to_lower()) + + +func _on_Button_pressed(): + emit_signal("picking_background", name.to_lower()) + + +func _on_button_texture_selected(path, target) -> void: + emit_signal("style_modified", name.to_lower()) + + +func _on_TextColor_ColorPickerButton_color_changed(color): + $TextColor/CheckBox.pressed = true + emit_signal("style_modified", name.to_lower()) diff --git a/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.tscn b/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.tscn new file mode 100644 index 0000000..12992a4 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.tscn @@ -0,0 +1,133 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=2] + +[node name="ButtonStylePicker" type="GridContainer"] +margin_right = 380.0 +margin_bottom = 112.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 126.0 +margin_bottom = 19.0 +text = "Text Color" +text_key = "Text Color" + +[node name="TextColor" type="HBoxContainer" parent="."] +margin_left = 136.0 +margin_right = 296.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 160, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="CheckBox" type="CheckBox" parent="TextColor"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="TextColor"] +margin_left = 28.0 +margin_right = 160.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +color = Color( 1, 1, 1, 1 ) + +[node name="TLabel2" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 126.0 +margin_bottom = 47.0 +text = "Flat background" +text_key = "Flat background" + +[node name="FlatBackground" type="HBoxContainer" parent="."] +margin_left = 136.0 +margin_top = 28.0 +margin_right = 296.0 +margin_bottom = 52.0 + +[node name="CheckBox" type="CheckBox" parent="FlatBackground"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="FlatBackground"] +visible = false +margin_left = 28.0 +margin_right = 160.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="BackgroundTextureLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 126.0 +margin_bottom = 75.0 +text = "Background Texture" +text_key = "Background Texture" + +[node name="BackgroundTexture" type="HBoxContainer" parent="."] +margin_left = 136.0 +margin_top = 56.0 +margin_right = 296.0 +margin_bottom = 80.0 +rect_min_size = Vector2( 123, 0 ) + +[node name="CheckBox" type="CheckBox" parent="BackgroundTexture"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="Button" type="Button" parent="BackgroundTexture"] +margin_left = 28.0 +margin_right = 160.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "Don't change" + +[node name="TextureModulationLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 89.0 +margin_right = 126.0 +margin_bottom = 103.0 +text = "Texture Modulation" +text_key = "Texture Modulation" + +[node name="TextureModulation" type="HBoxContainer" parent="."] +margin_left = 136.0 +margin_top = 84.0 +margin_right = 296.0 +margin_bottom = 108.0 +rect_min_size = Vector2( 123, 0 ) + +[node name="CheckBox" type="CheckBox" parent="TextureModulation"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="TextureModulation"] +margin_left = 28.0 +margin_right = 160.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +color = Color( 1, 1, 1, 1 ) + +[connection signal="toggled" from="TextColor/CheckBox" to="." method="_on_CheckBox_toggled"] +[connection signal="color_changed" from="TextColor/ColorPickerButton" to="." method="_on_TextColor_ColorPickerButton_color_changed"] +[connection signal="toggled" from="FlatBackground/CheckBox" to="." method="_on_CheckBox_toggled"] +[connection signal="color_changed" from="FlatBackground/ColorPickerButton" to="." method="_on_ColorPickerButton_color_changed"] +[connection signal="toggled" from="BackgroundTexture/CheckBox" to="." method="_on_CheckBox_toggled"] +[connection signal="pressed" from="BackgroundTexture/Button" to="." method="_on_Button_pressed"] +[connection signal="toggled" from="TextureModulation/CheckBox" to="." method="_on_CheckBox_toggled"] +[connection signal="color_changed" from="TextureModulation/ColorPickerButton" to="." method="_on_ColorPickerButton_color_changed"] diff --git a/addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd b/addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd new file mode 100644 index 0000000..acb8263 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd @@ -0,0 +1,1128 @@ +tool +extends Control + +var editor_reference +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +onready var settings_editor = get_node('../SettingsEditor') +var current_theme : String = '' +var preview_character_selected : String = 'random' +var current_choice_modifier_selected = 'hover' + +# When loading the variables to the input fields in the +# load_theme function, every element thinks the value was updated +# so it has to perform a "saving" of that property. +# The loading variable is a way to check if the values should be saved +# or not. +var loading : bool = true + + +# If the first time you open a theme it is a "full_width" one, the editor +# doesn't trigger the Panel resized() signal before the dialog resize_main() +# So what I do here, is doing a check for the first time and force a double +# refresh that will make sure that the full_width background will display +# as expected. + +# The stuff used for this hack are: +# Variable: first_time_loading_theme_full_size_bug +# Node: $FirstTimeLoadingFullSizeBug +# This function: _on_FirstTimeLoadingFullSizeBug_timeout() + +# If you know how to fix this, please let me know or send a pull request :) +var first_time_loading_theme_full_size_bug := 0 + + +# The amazing and revolutionary path system that magically works and you can't +# complain because "that is not how you are supposed to work". If there was only +# a way to set an id and then access that node via id... +# Here you have paths in all its glory. Praise the paths (っ´ω`c)♡ +onready var n : Dictionary = { + # Dialog Text + 'theme_text_shadow': $"VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer2/CheckBoxShadow", + 'theme_text_shadow_color': $"VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer2/ColorPickerButtonShadow", + 'theme_text_color': $"VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/ColorPickerButton", + 'theme_font': $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont/RegularFontButton", + 'theme_font_bold':$"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont/BoldFontButton", + 'theme_font_italic':$"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont/ItalicFontButton", + 'theme_shadow_offset_x': $"VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer/ShadowOffsetX", + 'theme_shadow_offset_y': $"VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer/ShadowOffsetY", + 'theme_text_speed': $"VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer/TextSpeed", + 'alignment': $"VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer/HBoxContainer3/Alignment", + 'single_portrait_mode': $"VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer/SinglePortraitModeCheckBox", + 'dont_close_after_last_event': $"VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer/DontCloseAfterLastEventCheckBox", + + # Dialog box + 'background_texture_button_visible': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer3/CheckBox", + 'theme_background_image': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer3/BackgroundTextureButton", + 'theme_background_color': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer2/ColorPickerButton", + 'background_modulation': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer6/CheckBox", + 'background_modulation_color': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer6/ColorPickerButton", + 'background_full_width': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer7/CheckBox", + + 'dialog_box_anchor':$"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/PositionSelector", + 'size_w': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4/BoxSizeW", + 'size_h': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4/BoxSizeH", + + 'ninepatch_margin_left': $'VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/NinePatchBoxLeftRight/PatchMarginLeft', + 'ninepatch_margin_right': $'VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/NinePatchBoxLeftRight/PatchMarginRight', + 'ninepatch_margin_top': $'VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/NinePatchBoxTopBottom/PatchMarginTop', + 'ninepatch_margin_bottom': $'VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/NinePatchBoxTopBottom/PatchMarginBottom', + + 'box_margin_left': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/MarginLeft", + 'box_margin_top': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/MarginTop", + 'box_margin_right': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/MarginRight", + 'box_margin_bottom': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/MarginBottom", + 'text_margin_left': $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2/MarginLeft", + 'text_margin_top': $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2/MarginTop", + 'text_margin_right': $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2/MarginRight", + 'text_margin_bottom': $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2/MarginBottom", + + 'theme_next_image': $"VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/NextIndicatorButton", + 'next_indicator_offset_x': $"VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2/NextOffsetX", + 'next_indicator_offset_y': $"VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2/NextOffsetY", + 'theme_background_color_visible': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer2/CheckBox", + 'next_animation': $"VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/NextAnimation", + 'next_indicator_scale': $"VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer7/IndicatorScale", + + 'animation_show_time': $"VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/ShowTime/SpinBox", + 'animation_dim_color': $"VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/DimColor/ColorPickerButton", + 'animation_dim_time': $"VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/PortraitDimTime/SpinBox", + 'portraits_behind_dialog_box' :$"VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/PortraitsBehindDialogCheckBox", + + # Character Names + 'name_hidden': $"VBoxContainer/TabContainer/Name Label/Column/VBoxContainer/GridContainer/NameHide", + 'name_font': $"VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/RegularFont/NameFontButton", + 'name_auto_color': $"VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/CharacterColor", + 'name_background_visible': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer2/CheckBox", + 'name_background': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer2/ColorPickerButton", + 'name_image': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer3/BackgroundTextureButton", + 'name_image_visible': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer3/CheckBox", + 'name_shadow': $"VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer4/ColorPickerButtonShadow", + 'name_shadow_visible': $"VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer4/CheckBoxShadow", + 'name_shadow_offset_x': $"VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer/ShadowOffsetX", + 'name_shadow_offset_y': $"VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer/ShadowOffsetY", + 'name_bottom_gap': $"VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5/BottomGap", + 'name_horizontal_offset': $"VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5/HorizontalOffset", + 'name_background_modulation': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer6/CheckBox", + 'name_background_modulation_color': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer6/ColorPickerButton", + 'name_padding_x': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer/NamePaddingX", + 'name_padding_y': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer/NamePaddingY", + 'name_position': $"VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer/Positions", + + + # Choice Buttons + + 'button_fixed': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2/FixedSize", + 'button_fixed_x': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2/ButtonSizeX", + 'button_fixed_y': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2/ButtonSizeY", + + 'button_padding_x': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer/TextOffsetH", + 'button_padding_y': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer/TextOffsetV", + 'button_separation': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/VerticalSeparation", + + 'button_layout': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/Layout", + + 'button_position_on_screen': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/PositionOnScreenOptionButton", + + 'button_offset_x': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer3/ButtonOffsetX", + 'button_offset_y': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer3/ButtonOffsetY", + + # Button modifiers (Inherited scenes) + 'button_normal': $"VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer/Normal", + 'button_hover': $"VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer/Hover", + 'button_pressed': $"VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer/Pressed", + 'button_disabled': $"VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer/Disabled", + + # Glossary + 'glossary_title_font': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont/TitleFontButton, + 'glossary_text_font': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont/TextFontButton, + 'glossary_extra_font': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont/ExtraFontButton, + 'glossary_highlight_color': $VBoxContainer/TabContainer/Glossary/Column/GridContainer/HighlightColorPicker, + 'glossary_title_color': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleColorPicker, + 'glossary_text_color': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextColorPicker, + 'glossary_extra_color': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraColorPicker, + + 'glossary_background_panel': $VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel/BgPanelButton, + + 'glossary_enabled': $VBoxContainer/TabContainer/Glossary/Column2/GridContainer/ShowGlossaryCheckBox, + + # Audio + 'audio_pickers': { + 'typing': $"VBoxContainer/TabContainer/Audio/Column/Typing", + 'waiting': $"VBoxContainer/TabContainer/Audio/Column2/Waiting", + 'passing': $"VBoxContainer/TabContainer/Audio/Column2/Passing", + 'hovering': $"VBoxContainer/TabContainer/Audio/Column3/Hovering", + 'selecting': $"VBoxContainer/TabContainer/Audio/Column3/Selecting" + }, + + # Text preview + 'text_preview': $"VBoxContainer/VBoxContainer/HBoxContainer3/TextEdit", + 'character_picker': $"VBoxContainer/VBoxContainer/HBoxContainer/CharacterPicker", +} + +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## GENERAL EDITOR STUFF +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +func _ready() -> void: + editor_reference = find_parent('EditorView') + AudioServer.connect("bus_layout_changed", self, "_on_bus_layout_changed") + # Signal connection to free up some memory + connect("visibility_changed", self, "_on_visibility_changed") + if get_constant("dark_theme", "Editor"): + $"VBoxContainer/VBoxContainer/HBoxContainer3/PreviewButton".icon = load("res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg") + else: + $"VBoxContainer/VBoxContainer/HBoxContainer3/PreviewButton".icon = load("res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg") + + $DelayPreviewTimer.one_shot = true + $DelayPreviewTimer.connect("timeout", self, '_on_DelayPreview_timer_timeout') + + var title_style = $"VBoxContainer/TabContainer/Dialog Text/Column/SectionTitle".get('custom_styles/normal') + title_style.set('bg_color', get_color("prop_category", "Editor")) + + $"VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/RegularFont/NameFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont/BoldFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont/ItalicFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont/RegularFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont/TitleFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont/TextFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont/ExtraFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel/BGPanelOpen".icon = get_icon("Edit", "EditorIcons") + + n['text_preview'].syntax_highlighting = true + n['text_preview'].add_color_region('[', ']', get_color("axis_z_color", "Editor")) + + # Dialog Text tab + n['theme_text_shadow'].connect('toggled', self, '_on_generic_checkbox', ['text', 'shadow']) + n['single_portrait_mode'].connect('toggled', self, '_on_generic_checkbox', ['settings', 'single_portrait_mode']) + n['theme_text_speed'].connect('value_changed', self, '_on_generic_value_change', ['text','speed']) + n['dont_close_after_last_event'].connect('toggled', self, '_on_generic_checkbox', ['settings', 'dont_close_after_last_event']) + n['text_margin_left'].connect('value_changed', self, '_on_generic_value_change', ['text', 'text_margin_left']) + n['text_margin_top'].connect('value_changed', self, '_on_generic_value_change', ['text', 'text_margin_top']) + n['text_margin_right'].connect('value_changed', self, '_on_generic_value_change', ['text', 'text_margin_right']) + n['text_margin_bottom'].connect('value_changed', self, '_on_generic_value_change', ['text', 'text_margin_bottom']) + + # Dialog Box tab + n['theme_background_color_visible'].connect('toggled', self, '_on_generic_checkbox', ['background', 'use_color']) + n['background_texture_button_visible'].connect('toggled', self, '_on_generic_checkbox', ['background', 'use_image']) + n['background_modulation'].connect('toggled', self, '_on_generic_checkbox', ['background', 'modulation']) + n['background_full_width'].connect('toggled', self, '_on_generic_checkbox', ['background', 'full_width']) + n['animation_show_time'].connect('value_changed', self, '_on_generic_value_change', ['animation', 'show_time']) + + n['ninepatch_margin_left'].connect('value_changed', self, '_on_generic_value_change', ['ninepatch', 'ninepatch_margin_left']) + n['ninepatch_margin_right'].connect('value_changed', self, '_on_generic_value_change', ['ninepatch', 'ninepatch_margin_right']) + n['ninepatch_margin_top'].connect('value_changed', self, '_on_generic_value_change', ['ninepatch', 'ninepatch_margin_top']) + n['ninepatch_margin_bottom'].connect('value_changed', self, '_on_generic_value_change', ['ninepatch', 'ninepatch_margin_bottom']) + + n['box_margin_left'].connect('value_changed', self, '_on_generic_value_change', ['box', 'box_margin_left']) + n['box_margin_top'].connect('value_changed', self, '_on_generic_value_change', ['box', 'box_margin_top']) + n['box_margin_right'].connect('value_changed', self, '_on_generic_value_change', ['box', 'box_margin_right']) + n['box_margin_bottom'].connect('value_changed', self, '_on_generic_value_change', ['box', 'box_margin_bottom']) + + n['next_indicator_scale'].connect('value_changed', self, '_on_generic_value_change', ['next_indicator', 'scale']) + + n['portraits_behind_dialog_box'].connect('toggled', self, '_on_generic_value_change', ['box', 'portraits_behind_dialog_box']) + + # Name tab + n['name_shadow_visible'].connect('toggled', self, '_on_generic_checkbox', ['name', 'shadow_visible']) + n['name_background_visible'].connect('toggled', self, '_on_generic_checkbox', ['name', 'background_visible']) + n['name_image_visible'].connect('toggled', self, '_on_generic_checkbox', ['name', 'image_visible']) + n['name_background_modulation'].connect('toggled', self, '_on_generic_checkbox', ['name', 'modulation']) + + # Buttons tab + n['button_fixed'].connect('toggled', self, '_on_generic_checkbox', ['buttons', 'fixed']) + + # Choice button style modifiers + n['button_normal'].connect('picking_background', self, '_on_ButtonTextureButton_pressed') + n['button_hover'].connect('picking_background', self, '_on_ButtonTextureButton_pressed') + n['button_pressed'].connect('picking_background', self, '_on_ButtonTextureButton_pressed') + n['button_disabled'].connect('picking_background', self, '_on_ButtonTextureButton_pressed') + + n['button_normal'].connect('style_modified', self, '_on_choice_style_modified') + n['button_hover'].connect('style_modified', self, '_on_choice_style_modified') + n['button_pressed'].connect('style_modified', self, '_on_choice_style_modified') + n['button_disabled'].connect('style_modified', self, '_on_choice_style_modified') + + n['button_layout'].connect('item_selected', self, '_on_button_layout_selected') + + for button in ['dialog_box_anchor', 'button_position_on_screen', 'alignment']: + var button_positions_popup = n[button].get_popup() + button_positions_popup.clear() + button_positions_popup.add_icon_item( + get_icon("ControlAlignTopLeft", "EditorIcons"), "Top Left", 0) + button_positions_popup.add_icon_item( + get_icon("ControlAlignTopCenter", "EditorIcons"), "Top Center", 1) + button_positions_popup.add_icon_item( + get_icon("ControlAlignTopRight", "EditorIcons"), "Top Right", 2) + button_positions_popup.add_separator() + button_positions_popup.add_icon_item( + get_icon("ControlAlignLeftCenter", "EditorIcons"), "Center Left", 3) + button_positions_popup.add_icon_item( + get_icon("ControlAlignCenter", "EditorIcons"), "Center", 4) + button_positions_popup.add_icon_item( + get_icon("ControlAlignRightCenter", "EditorIcons"), "Center Right", 5) + button_positions_popup.add_separator() + button_positions_popup.add_icon_item( + get_icon("ControlAlignBottomLeft", "EditorIcons"), "Bottom Left", 6) + button_positions_popup.add_icon_item( + get_icon("ControlAlignBottomCenter", "EditorIcons"), "Bottom Center", 7) + button_positions_popup.add_icon_item( + get_icon("ControlAlignBottomRight", "EditorIcons"), "Bottom Right", 8) + + + n['button_position_on_screen'].connect('item_selected', self, '_on_button_anchor_selected') + n['dialog_box_anchor'].connect('item_selected', self, '_on_button_dialogbox_anchor_selected') + n['alignment'].connect('item_selected', self, '_on_Alignment_item_selected') + + n['button_offset_x'].connect('value_changed', self, '_on_button_offset_changed') + n['button_offset_y'].connect('value_changed', self, '_on_button_offset_changed') + + + n['name_position'].text = 'Left' + n['name_position'].connect('item_selected', self, '_on_name_position_selected') + var name_positions_popup = n['name_position'].get_popup() + name_positions_popup.clear() + name_positions_popup.add_radio_check_item('Left') + name_positions_popup.add_radio_check_item('Center') + name_positions_popup.add_radio_check_item('Right') + n['name_position'].select(0) + + # Glossary tab + n['glossary_enabled'].connect('toggled', self, '_on_generic_checkbox', ['definitions','show_glossary']) + + # Audio tab + for name in n['audio_pickers']: + n['audio_pickers'][name].connect('data_updated', self, '_on_audio_data_updated') + + # Character Picker + n['character_picker'].connect('item_selected', self, 'character_picker_selected') + + ## Translation + $"VBoxContainer/VBoxContainer/HBoxContainer3/PreviewButton".text = " "+editor_reference.dialogicTranslator.translate('Preview changes') + $VBoxContainer/TabContainer.set_tab_title(0, editor_reference.dialogicTranslator.translate('DialogTextTabTitle')) + $VBoxContainer/TabContainer.set_tab_title(1, editor_reference.dialogicTranslator.translate('DialogBoxTabTitle')) + $VBoxContainer/TabContainer.set_tab_title(2, editor_reference.dialogicTranslator.translate('NameLabelTabTitle')) + $VBoxContainer/TabContainer.set_tab_title(3, editor_reference.dialogicTranslator.translate('ChoiceButtonTabTitle')) + $VBoxContainer/TabContainer.set_tab_title(4, editor_reference.dialogicTranslator.translate('GlossaryTabTitle')) + $VBoxContainer/TabContainer.set_tab_title(5, editor_reference.dialogicTranslator.translate('AudioTabTitle')) + + + # Force preview update + _on_visibility_changed() + + +func character_picker_update(): + n['character_picker'].clear() + n['character_picker'].add_item('Random Character') + n['character_picker'].set_item_metadata(0, 'random') + + var characters : Array = DialogicUtil.get_character_list() + var character_array = [] + for c in characters: + if c['data']['theme'] == '': + character_array.append(c) + elif c['data']['theme'] == current_theme: + character_array.append(c) + else: + pass + + var index = 1 + for c in character_array: + n['character_picker'].add_item(c['name']) + n['character_picker'].set_item_metadata(index, c['file']) + index += 1 + + + + +func character_picker_selected(index): + preview_character_selected = n['character_picker'].get_item_metadata(index) + n['character_picker'].text = n['character_picker'].get_item_text(index) + _on_PreviewButton_pressed() + + +func load_theme(filename): + loading = true + current_theme = filename + character_picker_update() + var theme = DialogicResources.get_theme_config(filename) + var default_background = 'res://addons/dialogic/Example Assets/backgrounds/background-2.png' + # Settings + n['single_portrait_mode'].pressed = theme.get_value('settings', 'single_portrait_mode', false) # Currently in Dialog Text tab + n['dont_close_after_last_event'].pressed = theme.get_value('settings', 'dont_close_after_last_event', false) + + n['animation_dim_color'].color = Color(theme.get_value('animation', 'dim_color', '#ff808080')) + n['animation_dim_time'].value = theme.get_value('animation', 'dim_time', 0.5) + + # Background + n['theme_background_image'].text = DialogicResources.get_filename_from_path(theme.get_value('background', 'image', default_background)) + n['background_texture_button_visible'].pressed = theme.get_value('background', 'use_image', true) + n['theme_background_color'].color = Color(theme.get_value('background', 'color', '#ff000000')) + n['theme_background_color_visible'].pressed = theme.get_value('background', 'use_color', false) + n['theme_next_image'].text = DialogicResources.get_filename_from_path(theme.get_value('next_indicator', 'image', 'res://addons/dialogic/Example Assets/next-indicator/next-indicator.png')) + n['next_indicator_scale'].value = theme.get_value('next_indicator', 'scale', 0.4) + var next_indicator_offset = theme.get_value('next_indicator', 'offset', Vector2(13,10)) + n['next_indicator_offset_x'].value = next_indicator_offset.x + n['next_indicator_offset_y'].value = next_indicator_offset.y + + n['background_modulation'].pressed = theme.get_value('background', 'modulation', false) + n['background_modulation_color'].color = Color(theme.get_value('background', 'modulation_color', '#ffffffff')) + n['background_full_width'].pressed = theme.get_value('background', 'full_width', false) + n['portraits_behind_dialog_box'].pressed = theme.get_value('box', 'portraits_behind_dialog_box', true) + + var size_value = theme.get_value('box', 'size', Vector2(910, 167)) + n['size_w'].value = size_value.x + n['size_h'].value = size_value.y + n['dialog_box_anchor'].select(theme.get_value('box', 'anchor', 9)) + # TODO: remove backups in 2.0 + + n['ninepatch_margin_left'].value = theme.get_value('ninepatch', 'ninepatch_margin_left', theme.get_value('ninepatch', 'ninepatch_margin_left', 0)) + n['ninepatch_margin_right'].value = theme.get_value('ninepatch', 'ninepatch_margin_right', theme.get_value('ninepatch', 'ninepatch_margin_right', 0)) + n['ninepatch_margin_top'].value = theme.get_value('ninepatch', 'ninepatch_margin_top', theme.get_value('ninepatch', 'ninepatch_margin_top', 0)) + n['ninepatch_margin_bottom'].value = theme.get_value('ninepatch', 'ninepatch_margin_bottom', theme.get_value('ninepatch', 'ninepatch_margin_bottom', 0)) + + n['box_margin_left'].value = theme.get_value('box', 'box_margin_left', theme.get_value('box', 'box_margin_left', 40)) + n['box_margin_top'].value = theme.get_value('box', 'box_margin_top', theme.get_value('box', 'box_margin_top', 40)) + n['box_margin_right'].value = theme.get_value('box', 'box_margin_right', theme.get_value('box', 'box_margin_right', -40)) + n['box_margin_bottom'].value = theme.get_value('box', 'box_margin_bottom', theme.get_value('box', 'box_margin_bottom', -40)) + + # Buttons + n['button_padding_x'].value = theme.get_value('buttons', 'padding', Vector2(5,5)).x + n['button_padding_y'].value = theme.get_value('buttons', 'padding', Vector2(5,5)).y + n['button_separation'].value = theme.get_value('buttons', 'gap', 5) + n['button_fixed'].pressed = theme.get_value('buttons', 'fixed', false) + n['button_fixed_x'].value = theme.get_value('buttons', 'fixed_size', Vector2(130,40)).x + n['button_fixed_y'].value = theme.get_value('buttons', 'fixed_size', Vector2(130,40)).y + + n['button_layout'].selected = theme.get_value('buttons', 'layout', 0) + n['button_position_on_screen'].selected = theme.get_value('buttons', 'anchor', 5) + + n['button_offset_x'].value = theme.get_value('buttons', 'offset', Vector2(0,0)).x + n['button_offset_y'].value = theme.get_value('buttons', 'offset', Vector2(0,0)).y + + + var default_style = [false, Color.white, false, Color.black, true, default_background, false, Color.white] + var hover_style = [true, Color( 0.698039, 0.698039, 0.698039, 1 ), false, Color.black, true, default_background, false, Color.white] + n['button_normal'].load_style(theme.get_value('buttons', 'normal', default_style)) + n['button_hover'].load_style(theme.get_value('buttons', 'hover', hover_style)) + n['button_pressed'].load_style(theme.get_value('buttons', 'pressed', default_style)) + n['button_disabled'].load_style(theme.get_value('buttons', 'disabled', default_style)) + + toggle_button_customization_fields(theme.get_value('buttons', 'use_native', false), theme.get_value('buttons', 'use_custom', false)) + + # Definitions + n['glossary_highlight_color'].color = Color(theme.get_value('definitions', 'color', "#ffffffff")) + + n['glossary_title_font'].text = DialogicResources.get_filename_from_path(theme.get_value('definitions', 'font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres")) + n['glossary_title_color'].color = Color(theme.get_value('definitions', 'title_color', "#ffffffff")) + + n['glossary_text_font'].text = DialogicResources.get_filename_from_path(theme.get_value('definitions', 'text_font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres")) + n['glossary_text_color'].color = Color(theme.get_value('definitions', 'text_color', "#ffffffff")) + + n['glossary_extra_font'].text = DialogicResources.get_filename_from_path(theme.get_value('definitions', 'extra_font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres")) + n['glossary_extra_color'].color = Color(theme.get_value('definitions', 'extra_color', "#ffffffff")) + + n['glossary_background_panel'].text = DialogicResources.get_filename_from_path(theme.get_value('definitions', 'background_panel', "res://addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres")) + + n['glossary_enabled'].pressed = theme.get_value('definitions', 'show_glossary', true) + + # Text + n['theme_text_speed'].value = theme.get_value('text','speed', 2) + n['theme_font'].text = DialogicResources.get_filename_from_path(theme.get_value('text', 'font', 'res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres')) + n['theme_font_bold'].text = DialogicResources.get_filename_from_path(theme.get_value('text', 'bold_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres')) + n['theme_font_italic'].text = DialogicResources.get_filename_from_path(theme.get_value('text', 'italic_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres')) + n['theme_text_color'].color = Color(theme.get_value('text', 'color', '#ffffffff')) + n['theme_text_shadow'].pressed = theme.get_value('text', 'shadow', false) + n['theme_text_shadow_color'].color = Color(theme.get_value('text', 'shadow_color', '#9e000000')) + n['theme_shadow_offset_x'].value = theme.get_value('text', 'shadow_offset', Vector2(2,2)).x + n['theme_shadow_offset_y'].value = theme.get_value('text', 'shadow_offset', Vector2(2,2)).y + n['text_margin_left'].value = theme.get_value('text', 'text_margin_left', 20) + n['text_margin_top'].value = theme.get_value('text', 'text_margin_top', 10) + n['text_margin_right'].value = theme.get_value('text', 'text_margin_right', -20) + n['text_margin_bottom'].value = theme.get_value('text', 'text_margin_bottom', -10) + n['alignment'].select(n['alignment'].get_item_index(theme.get_value('text', 'alignment', 0))) + + + # Name + n['name_hidden'].pressed = theme.get_value('name', 'is_hidden', false) + n['name_font'].text = DialogicResources.get_filename_from_path(theme.get_value('name', 'font', 'res://addons/dialogic/Example Assets/Fonts/NameFont.tres')) + n['name_auto_color'].pressed = theme.get_value('name', 'auto_color', true) + n['name_background_visible'].pressed = theme.get_value('name', 'background_visible', false) + n['name_background'].color = Color(theme.get_value('name', 'background', "#ff000000")) + n['name_image_visible'].pressed = theme.get_value('name', 'image_visible', false) + + n['name_image'].text = DialogicResources.get_filename_from_path(theme.get_value('name', 'image', 'res://addons/dialogic/Example Assets/backgrounds/background-2.png')) + n['name_background_modulation'].pressed = theme.get_value('name', 'modulation', false) + n['name_background_modulation_color'].color = Color(theme.get_value('name', 'modulation_color', '#ffffffff')) + + n['name_padding_x'].value = theme.get_value('name', 'name_padding', Vector2(10,0)).x + n['name_padding_y'].value = theme.get_value('name', 'name_padding', Vector2(10,0)).y + + n['name_shadow'].color = Color(theme.get_value('name', 'shadow', "#9e000000")) + n['name_shadow_visible'].pressed = theme.get_value('name', 'shadow_visible', true) + n['name_shadow_offset_x'].value = theme.get_value('name', 'shadow_offset', Vector2(2,2)).x + n['name_shadow_offset_y'].value = theme.get_value('name', 'shadow_offset', Vector2(2,2)).y + n['name_bottom_gap'].value = theme.get_value('name', 'bottom_gap', 48) + n['name_horizontal_offset'].value = theme.get_value('name', 'horizontal_offset', 0) + + n['name_position'].select(theme.get_value('name', 'position', 0)) + + # Audio + var default_audio_file = "res://addons/dialogic/Example Assets/Sound Effects/Beep.wav" + var default_audio_data = { + 'enable': false, + 'path': default_audio_file, + 'volume': 0.0, + 'volume_rand_range': 0.0, + 'pitch': 1.0, + 'pitch_rand_range': 0.0, + 'allow_interrupt': true, + 'audio_bus': AudioServer.get_bus_name(0) + } + + for name in n['audio_pickers']: + n['audio_pickers'][name].set_data(theme.get_value('audio', name, default_audio_data)) + + # Next indicator animations + var animations = ['Up and down', 'Pulse', 'Static'] # TODO: dynamically get all the animations from the Dialog.tscn NextIndicator + n['next_animation'].clear() + var next_animation_selected = theme.get_value('next_indicator', 'animation', 'Up and down') + var nix = 0 + for a in animations: + n['next_animation'].add_item(a) + if a == next_animation_selected: + n['next_animation'].select(nix) + nix += 1 + + # Preview text + n['text_preview'].text = theme.get_value('text', 'preview', 'This is preview text. You can use [color=#A5EFAC]BBCode[/color] to style it.\n[wave amp=50 freq=2]You can even use effects![/wave]') + + # Finished loading + loading = false + # Updating the preview + _on_PreviewButton_pressed() + # Update name fields + _update_name_fields_editable() + + +func create_theme() -> String: + var theme_file : String = 'theme-' + str(OS.get_unix_time()) + '.cfg' + DialogicResources.add_theme(theme_file) + load_theme(theme_file) + # Check if it is the only theme to set as default + if DialogicUtil.get_theme_list().size() == 1: + #print('only theme, setting as default') + settings_editor.set_value('theme', 'default', theme_file) + return theme_file + + +func duplicate_theme(from_filename) -> void: + var duplicate_theme : String = 'theme-' + str(OS.get_unix_time()) + '.cfg' + DialogicResources.duplicate_theme(from_filename, duplicate_theme) + DialogicResources.set_theme_value(duplicate_theme, 'settings', 'name', duplicate_theme) + master_tree.build_themes(duplicate_theme) + load_theme(duplicate_theme) + + +func _on_visibility_changed() -> void: + if visible: + # Refreshing the dialog + if not loading: _on_PreviewButton_pressed() + if first_time_loading_theme_full_size_bug == 0: + yield(get_tree().create_timer(0.01), "timeout") + for i in $VBoxContainer/Panel.get_children(): + i.resize_main() + first_time_loading_theme_full_size_bug += 1 + else: + # Erasing all previews since them keeps working on background + for i in $VBoxContainer/Panel.get_children(): + i.queue_free() + +func _update_name_fields_editable() -> void: + var hide_name_labels = n['name_hidden'].pressed + + # Disable all other fieds if the 'name_hidden' field is enabled + n['name_font'].disabled = hide_name_labels + n['name_auto_color'].disabled = hide_name_labels + n['name_shadow'].disabled = hide_name_labels + n['name_shadow_visible'].disabled = hide_name_labels + n['name_shadow_offset_x'].editable = not hide_name_labels + n['name_shadow_offset_y'].editable = not hide_name_labels + n['name_background_visible'].disabled = hide_name_labels + n['name_background'].disabled = hide_name_labels + n['name_image_visible'].disabled = hide_name_labels + n['name_image'].disabled = hide_name_labels + n['name_background_modulation'].disabled = hide_name_labels + n['name_background_modulation_color'].disabled = hide_name_labels + n['name_padding_x'].editable = not hide_name_labels + n['name_padding_y'].editable = not hide_name_labels + n['name_position'].disabled = hide_name_labels + n['name_horizontal_offset'].editable = not hide_name_labels + n['name_bottom_gap'].editable = not hide_name_labels + + $"VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/RegularFont/NameFontOpen".disabled = hide_name_labels + +## ------------ Preview ------------------------------------ + +func _on_DelayPreview_timer_timeout() -> void: + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_PreviewButton_pressed() -> void: + for i in $VBoxContainer/Panel.get_children(): + i.free() + var preview_dialog = Dialogic.start('', '', "res://addons/dialogic/Nodes/DialogNode.tscn", false) + preview_dialog.preview = true + + if n['character_picker']: # Sometimes it can't find the node + if n['character_picker'].text == 'Random Character': + var characters : Array = DialogicUtil.get_character_list() + var character_array = [] + for c in characters: + if c['data']['theme'] == '': + character_array.append(c) + elif c['data']['theme'] == current_theme: + character_array.append(c) + + if character_array.size(): + character_array.shuffle() + preview_character_selected = character_array[0]['file'] + + preview_dialog.dialog_script = { + "events":[ + { 'event_id':'dialogic_024', "set_theme": current_theme }, + { 'event_id':'dialogic_001', "character": preview_character_selected, "portrait":"", "text":n['text_preview'].text } + ] + } + preview_dialog.dialog_script = DialogicParser.parse_characters(preview_dialog.dialog_script) + $VBoxContainer/Panel.add_child(preview_dialog) + + # maintaining the preview panel big enough for the dialog box + var box_size = preview_dialog.current_theme.get_value('box', 'size', Vector2(910, 167)).y + var bottom_gap = preview_dialog.current_theme.get_value('box', 'bottom_gap', 40) + var top_gap = preview_dialog.current_theme.get_value('box', 'bottom_gap', 40) + var extra = 90 + $VBoxContainer/Panel.rect_min_size.y = box_size + extra + bottom_gap + $VBoxContainer/Panel.rect_size.y = 0 + preview_dialog.call_deferred('resize_main') + + +func _on_Preview_text_changed() -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text', 'preview', n['text_preview'].text) + +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## THEME OPTIONS +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +## ------------ GENERICS + +func _on_generic_checkbox(button_pressed, section, key, update_preview = true) -> void: + # Many methods here are the same, so I want to replace all those instances + # with this generic checkbox logic. TODO + if loading: + return + DialogicResources.set_theme_value(current_theme, section, key, button_pressed) + if update_preview: + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_generic_value_change(value, section, key, update_preview = true) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, section, key, value) + if update_preview: + _on_PreviewButton_pressed() # Refreshing the preview + + +## ------------ DIALOG TEXT TAB ------------------------------------ + +# Fonts +func _on_FontButton_pressed() -> void: + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_Font_selected") + + +func _on_Font_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text','font', path) + n['theme_font'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_FontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('text', 'font', 'res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres'))) + + +func _on_BoldFontButton_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_BoldFont_selected") + + +func _on_BoldFont_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text','bold_font', path) + n['theme_font_bold'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_BoldFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('text', 'bold_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres'))) + + +func _on_ItalicFontButton_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_ItalicFont_selected") + + +func _on_ItalicFont_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text', 'italic_font', path) + n['theme_font_italic'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ItalicFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('text', 'italic_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres'))) + + +func _on_NameFont_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_NameFont_selected") + + +func _on_NameFont_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'font', path) + n['name_font'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_NameFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('name', 'font', 'res://addons/dialogic/Example Assets/Fonts/NameFont.tres'))) + + +func _on_Alignment_item_selected(index) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text', 'alignment', n['alignment'].get_item_id(index)) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ColorPickerButton_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text','color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +func _on_ColorPickerButtonShadow_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text','shadow_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +func _on_ShadowOffset_value_changed(_value) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text','shadow_offset', Vector2(n['theme_shadow_offset_x'].value,n['theme_shadow_offset_y'].value)) + _on_PreviewButton_pressed() # Refreshing the preview + + +## ------------ DIALOG BOX TAB ------------------------------------ + +func _on_BoxSize_value_changed(value) -> void: + if loading: + return + var size_value = Vector2(n['size_w'].value, n['size_h'].value) + DialogicResources.set_theme_value(current_theme, 'box', 'size', size_value) + _on_PreviewButton_pressed() # Refreshing the preview + +func _on_button_dialogbox_anchor_selected(index): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'box', 'anchor', index) + _on_PreviewButton_pressed() # Refreshing the preview + + +# Background Texture +func _on_BackgroundTextureButton_pressed() -> void: + editor_reference.godot_dialog("*.png") + editor_reference.godot_dialog_connect(self, "_on_background_selected") + + +func _on_background_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'background','image', path) + n['theme_background_image'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ColorPicker_Background_texture_modulation_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'background', 'modulation_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + +# Background Color +func _on_BackgroundColor_ColorPickerButton_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'background', 'color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + +# Dim Color +func _on_DimColor_ColorPickerButton_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'animation', 'dim_color', '#' + color.to_html()) + +#Fade Time +func _on_PortraitDimTime_value_changed(value): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'animation', 'dim_time', value) + + +# Next indicator +func _on_NextIndicatorButton_pressed() -> void: + editor_reference.godot_dialog("*.png") + editor_reference.godot_dialog_connect(self, "_on_indicator_selected") + + +func _on_indicator_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'next_indicator','image', path) + n['theme_next_image'].text = DialogicResources.get_filename_from_path(path) + # Since people will probably want the sprite on fresh values and the default + # ones are for the custom dialogic theme, I reset the next indicator properties + # here so they can set the scale and offset they want. + DialogicResources.set_theme_value(current_theme, 'next_indicator', 'scale', 1) + DialogicResources.set_theme_value(current_theme, 'offset', 'scale', Vector2(10,10)) + n['next_indicator_scale'].value = 1 + n['next_indicator_offset_x'].value = 10 + n['next_indicator_offset_y'].value = 10 + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_NextAnimation_item_selected(index) -> void: + DialogicResources.set_theme_value(current_theme, 'next_indicator', 'animation', n['next_animation'].get_item_text(index)) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_NextOffset_value_changed(value): + if loading: + return + var offset_value = Vector2(n['next_indicator_offset_x'].value, n['next_indicator_offset_y'].value) + DialogicResources.set_theme_value(current_theme, 'next_indicator', 'offset', offset_value) + _on_PreviewButton_pressed() # Refreshing the preview + + +## ------------ NAME LABEL TAB ------------------------------------ + +# Text Visibility +func _on_name_hide_toggled(button_pressed) -> void: + if loading: + return + + DialogicResources.set_theme_value(current_theme, 'name', 'is_hidden', button_pressed) + _on_PreviewButton_pressed() # Refreshing the preview + _update_name_fields_editable() + +# Text Color +func _on_name_auto_color_toggled(button_pressed) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'auto_color', button_pressed) + _on_PreviewButton_pressed() # Refreshing the preview + + +# Background Color +func _on_name_background_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'background', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +# Background Texture +func _on_name_image_pressed() -> void: + editor_reference.godot_dialog("*.png") + editor_reference.godot_dialog_connect(self, "_on_name_texture_selected") + + +func _on_name_texture_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'image', path) + n['name_image'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ColorPicker_NameLabel_modulation_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'modulation_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +func _on_name_shadow_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'shadow', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +func _on_name_ShadowOffset_value_changed(_value) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name','shadow_offset', + Vector2(n['name_shadow_offset_x'].value, n['name_shadow_offset_y'].value)) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_name_padding_value_changed(_value) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name','name_padding', + Vector2(n['name_padding_x'].value, n['name_padding_y'].value)) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_name_BottomGap_value_changed(value) -> void: + if loading: + return + # Todo in 2.0: Replace for a single Vector2 instead of two variables + DialogicResources.set_theme_value(current_theme, 'name', 'bottom_gap', n['name_bottom_gap'].value) + DialogicResources.set_theme_value(current_theme, 'name', 'horizontal_offset', n['name_horizontal_offset'].value) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_name_position_selected(index): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'position', index) + _on_PreviewButton_pressed() # Refreshing the preview + +## ------------ CHOICE BUTTON TAB -------------------------------- +func _on_ButtonSize_value_changed(value): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons','fixed_size', Vector2(n['button_fixed_x'].value,n['button_fixed_y'].value)) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ButtonOffset_value_changed(value) -> void: + if loading: + return + var final_vector = Vector2( + n['button_padding_x'].value, + n['button_padding_y'].value + ) + DialogicResources.set_theme_value(current_theme, 'buttons', 'padding', final_vector) + + +func _on_button_layout_selected(index): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'layout', index) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_button_anchor_selected(index): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'anchor', index) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_button_offset_changed(_value): + if loading: + return + var offset_vector = Vector2(n['button_offset_x'].value, n['button_offset_y'].value) + DialogicResources.set_theme_value(current_theme, 'buttons', 'offset', offset_vector) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_VerticalSeparation_value_changed(value) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'gap', n['button_separation'].value) + + +# Background Texture +func _on_button_texture_toggled(button_pressed) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'use_image', button_pressed) + + +func _on_ButtonTextureButton_pressed(section = '') -> void: + editor_reference.godot_dialog("*.png") + if section != '': + # Special modifier + current_choice_modifier_selected = section + editor_reference.godot_dialog_connect(self, "_on_modifier_button_image_selected") + + +func _on_modifier_button_image_selected(path, _target): + if loading: + return + n['button_' + current_choice_modifier_selected].set_path(path) + n['button_' + current_choice_modifier_selected].real_file_path = path + n['button_' + current_choice_modifier_selected].get_node('BackgroundTexture/Button').text = DialogicResources.get_filename_from_path(path) + _on_choice_style_modified(current_choice_modifier_selected) + + +func _on_choice_style_modified(section): + DialogicResources.set_theme_value(current_theme, 'buttons', section, n['button_' + section].get_style_array()) + +func _on_native_button_toggled(button_pressed) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'use_native', button_pressed) + toggle_button_customization_fields(button_pressed, false) + + +func toggle_button_customization_fields(native_enabled: bool, custom_enabled: bool) -> void: + var customization_disabled = native_enabled or custom_enabled + n['button_padding_x'].editable = not customization_disabled + n['button_padding_y'].editable = not customization_disabled + + +func _on_CustomButtonsCheckBox_toggled(button_pressed): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'use_custom', button_pressed) + toggle_button_customization_fields(false, button_pressed) + + +func _on_CustomButtonsButton_pressed(): + editor_reference.godot_dialog("*.tscn") + editor_reference.godot_dialog_connect(self, "_on_custom_button_selected") + + +## ------------ GLOSSARY TAB ------------------------------------ + +## TITLE FONT +func _on_Glossary_TitleFontButton_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_Glossary_TitleFont_selected") + + +func _on_Glossary_TitleFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('definitions', 'font', 'res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres'))) + + +func _on_Glossary_TitleFont_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'font', path) + n['glossary_title_font'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_Glossary_TitleColorPicker_color_changed(color): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'title_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +## TEXT +func _on_Glossary_TextFontButton_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_Glossary_TextFont_selected") + + +func _on_Glossary_TextFont_selected(path, target): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'text_font', path) + n['glossary_text_font'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_Glossary_TextFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('definitions', 'text_font', 'res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres'))) + + +func _on_Glossary_TextColorPicker_color_changed(color): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'text_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +## EXTRA FONT +func _on_Glossary_ExtraFontButton_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_Glossary_ExtraFont_selected") + + +func _on_Glossary_ExtraFont_selected(path, target): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'extra_font', path) + n['glossary_extra_font'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_Glossary_ExtraFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('definitions', 'extra_font', 'res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres'))) + + +func _on_Glossary_ExtraColorPicker_color_changed(color): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'extra_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +## HIGHLIGHT COLOR +func _on_Glossary_HighlightColorPicker_color_changed(color): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + +## BACKGROUNDPANEL + + +func _on_BgPanelSelection_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_Glossary_BackgroundPanel_selected") + + +func _on_BGPanelOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('definitions', 'background_panel', 'res://addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres'))) + + +func _on_Glossary_BackgroundPanel_selected(path, target): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'background_panel', path) + n['glossary_background_panel'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + +## ------------ AUDIO TAB ------------------------------------ +func _on_audio_data_updated(section): + DialogicResources.set_theme_value(current_theme, 'audio', section, n['audio_pickers'][section].get_data()) + _on_PreviewButton_pressed() + + diff --git a/addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn b/addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn new file mode 100644 index 0000000..7438530 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn @@ -0,0 +1,2195 @@ +[gd_scene load_steps=11 format=2] + +[ext_resource path="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Common/SectionTitle.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.tscn" type="PackedScene" id=6] +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/AudioPicker.tscn" type="PackedScene" id=7] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=8] + +[sub_resource type="Image" id=9] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=8] +flags = 4 +flags = 4 +image = SubResource( 9 ) +size = Vector2( 16, 16 ) + +[sub_resource type="Image" id=10] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=6] +flags = 4 +flags = 4 +image = SubResource( 10 ) +size = Vector2( 16, 16 ) + +[node name="ThemeEditor" type="ScrollContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -6.0 +margin_bottom = 311.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 1018.0 +margin_bottom = 911.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 15 + +[node name="Panel" type="Panel" parent="VBoxContainer"] +margin_right = 1018.0 +margin_bottom = 290.0 +rect_min_size = Vector2( 0, 290 ) + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer"] +margin_top = 305.0 +margin_right = 1018.0 +margin_bottom = 389.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/VBoxContainer"] +margin_right = 1018.0 +margin_bottom = 20.0 + +[node name="CharacterPicker" type="OptionButton" parent="VBoxContainer/VBoxContainer/HBoxContainer"] +margin_right = 145.0 +margin_bottom = 20.0 +text = "Random Character" + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/VBoxContainer"] +margin_top = 24.0 +margin_right = 1018.0 +margin_bottom = 84.0 +custom_constants/separation = 10 + +[node name="TextEdit" type="TextEdit" parent="VBoxContainer/VBoxContainer/HBoxContainer3"] +margin_right = 864.0 +margin_bottom = 60.0 +rect_min_size = Vector2( 400, 60 ) +size_flags_horizontal = 3 +text = "This is [i]preview[/i] text. You can use [color=#A5EFAC]BBCode[/color] to [b]style[/b] it. +[wave amp=50 freq=2]You can even use effects![/wave]" +syntax_highlighting = true +wrap_enabled = true + +[node name="PreviewButton" type="Button" parent="VBoxContainer/VBoxContainer/HBoxContainer3"] +margin_left = 874.0 +margin_right = 1018.0 +margin_bottom = 60.0 +text = " Preview changes" +icon = ExtResource( 1 ) + +[node name="TabContainer" type="TabContainer" parent="VBoxContainer"] +margin_top = 404.0 +margin_right = 1018.0 +margin_bottom = 911.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tab_align = 0 +all_tabs_in_front = true +drag_to_rearrange_enabled = true + +[node name="Dialog Text" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 +__meta__ = { +"_tab_name": "Dialog Text" +} + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text"] +margin_right = 270.0 +margin_bottom = 471.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Text/Column" instance=ExtResource( 3 )] +text = "Fonts" +text_key = "Fonts" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 100.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 4.0 +margin_right = 79.0 +margin_bottom = 18.0 +text = "Regular Font" +text_key = "Regular Font" + +[node name="RegularFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer"] +margin_left = 89.0 +margin_right = 239.0 +margin_bottom = 22.0 + +[node name="RegularFontButton" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont"] +margin_top = 1.0 +margin_right = 118.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="RegularFontOpen" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont"] +margin_left = 122.0 +margin_right = 150.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 8 ) + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 30.0 +margin_right = 79.0 +margin_bottom = 44.0 +text = "Bold Font" +text_key = "Bold Font" + +[node name="BoldFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer"] +margin_left = 89.0 +margin_top = 26.0 +margin_right = 239.0 +margin_bottom = 48.0 + +[node name="BoldFontButton" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont"] +margin_top = 1.0 +margin_right = 118.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultBoldFont" + +[node name="BoldFontOpen" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont"] +margin_left = 122.0 +margin_right = 150.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 8 ) + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 56.0 +margin_right = 79.0 +margin_bottom = 70.0 +text = "Italic Font" +text_key = "Italic Font" + +[node name="ItalicFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer"] +margin_left = 89.0 +margin_top = 52.0 +margin_right = 239.0 +margin_bottom = 74.0 + +[node name="ItalicFontButton" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont"] +margin_top = 1.0 +margin_right = 118.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultItalicFont" + +[node name="ItalicFontOpen" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont"] +margin_left = 122.0 +margin_right = 150.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 8 ) + +[node name="SectionTitle2" parent="VBoxContainer/TabContainer/Dialog Text/Column" instance=ExtResource( 3 )] +margin_top = 104.0 +margin_bottom = 126.0 +text = "Margin" +text_key = "Margin" + +[node name="GridContainer2" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column"] +margin_top = 130.0 +margin_right = 270.0 +margin_bottom = 238.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel7" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 95.0 +margin_bottom = 19.0 +text = "Margin Left" +text_key = "Margin Left" + +[node name="MarginLeft" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2"] +margin_left = 105.0 +margin_right = 179.0 +margin_bottom = 24.0 +min_value = -999.0 +max_value = 999.0 +value = 20.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel9" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 95.0 +margin_bottom = 47.0 +text = "Margin Top" +text_key = "Margin Top" + +[node name="MarginTop" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2"] +margin_left = 105.0 +margin_top = 28.0 +margin_right = 179.0 +margin_bottom = 52.0 +min_value = -999.0 +max_value = 999.0 +value = 10.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel10" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 95.0 +margin_bottom = 75.0 +text = "Margin Right" +text_key = "Margin Right" + +[node name="MarginRight" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2"] +margin_left = 105.0 +margin_top = 56.0 +margin_right = 179.0 +margin_bottom = 80.0 +min_value = -999.0 +max_value = 999.0 +value = -20.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel11" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 89.0 +margin_right = 95.0 +margin_bottom = 103.0 +text = "Margin Bottom" +text_key = "Margin Bottom" + +[node name="MarginBottom" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer2"] +margin_left = 105.0 +margin_top = 84.0 +margin_right = 179.0 +margin_bottom = 108.0 +min_value = -999.0 +max_value = 999.0 +value = -10.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Dialog Text"] +margin_left = 280.0 +margin_right = 284.0 +margin_bottom = 471.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text"] +margin_left = 294.0 +margin_right = 564.0 +margin_bottom = 471.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Text/Column2" instance=ExtResource( 3 )] +text = "Colors" +text_key = "Colors" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column2"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 118.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 8.0 +margin_right = 91.0 +margin_bottom = 22.0 +text = "Text Color" +text_key = "Text Color" + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer"] +margin_left = 101.0 +margin_right = 259.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 50, 30 ) +color = Color( 1, 1, 1, 1 ) + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 42.0 +margin_right = 91.0 +margin_bottom = 56.0 +text = "Shadow" +text_key = "Shadow" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer"] +margin_left = 101.0 +margin_top = 34.0 +margin_right = 259.0 +margin_bottom = 64.0 + +[node name="CheckBoxShadow" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer2"] +margin_right = 24.0 +margin_bottom = 30.0 + +[node name="ColorPickerButtonShadow" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer2"] +margin_left = 28.0 +margin_right = 158.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 50, 30 ) +size_flags_horizontal = 3 +color = Color( 0, 0, 0, 0.619608 ) + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 73.0 +margin_right = 91.0 +margin_bottom = 87.0 +text = "Shadow Offset" +text_key = "Shadow Offset" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer"] +margin_left = 101.0 +margin_top = 68.0 +margin_right = 259.0 +margin_bottom = 92.0 +custom_constants/separation = 10 + +[node name="ShadowOffsetX" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +value = 2.0 +rounded = true +allow_lesser = true +prefix = "X" + +[node name="ShadowOffsetY" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer"] +margin_left = 84.0 +margin_right = 158.0 +margin_bottom = 24.0 +value = 2.0 +rounded = true +allow_lesser = true +prefix = "Y" + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Dialog Text"] +margin_left = 574.0 +margin_right = 578.0 +margin_bottom = 471.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text"] +margin_left = 588.0 +margin_right = 873.0 +margin_bottom = 471.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Text/Column3" instance=ExtResource( 3 )] +margin_right = 285.0 +text = "Behaviour" +text_key = "Behaviour" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column3"] +margin_top = 26.0 +margin_right = 285.0 +margin_bottom = 132.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 177.0 +margin_bottom = 19.0 +text = "Speed (bigger = slower)" +text_key = "Speed (bigger = slower)" + +[node name="TextSpeed" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer"] +margin_left = 187.0 +margin_right = 285.0 +margin_bottom = 24.0 +max_value = 10.0 +step = 0.01 +value = 2.0 + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 32.0 +margin_right = 177.0 +margin_bottom = 46.0 +text = "Alignment" +text_key = "Alignment" + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer"] +margin_left = 187.0 +margin_top = 28.0 +margin_right = 285.0 +margin_bottom = 50.0 + +[node name="Alignment" type="OptionButton" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer/HBoxContainer3"] +margin_right = 98.0 +margin_bottom = 22.0 +size_flags_horizontal = 3 +text = "Top Left" +icon = SubResource( 6 ) +items = [ "Top Left", SubResource( 8 ), false, 0, null, "Top Center", SubResource( 8 ), false, 1, null, "Top Right", SubResource( 8 ), false, 2, null, "", null, false, -1, null, "Center Left", SubResource( 8 ), false, 3, null, "Center", SubResource( 8 ), false, 4, null, "Center Right", SubResource( 8 ), false, 5, null, "", null, false, -1, null, "Bottom Left", SubResource( 8 ), false, 6, null, "Bottom Center", SubResource( 8 ), false, 7, null, "Bottom Right", SubResource( 8 ), false, 8, null ] +selected = 0 + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 59.0 +margin_right = 177.0 +margin_bottom = 73.0 +text = "Single Portrait Mode" +text_key = "Single Portrait Mode" + +[node name="SinglePortraitModeCheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer"] +margin_left = 187.0 +margin_top = 54.0 +margin_right = 285.0 +margin_bottom = 78.0 + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 87.0 +margin_right = 177.0 +margin_bottom = 101.0 +text = "Don't Close After Last Event" +text_key = "Don't Close After Last Event" + +[node name="DontCloseAfterLastEventCheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer"] +margin_left = 187.0 +margin_top = 82.0 +margin_right = 285.0 +margin_bottom = 106.0 + +[node name="Dialog Box" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 +__meta__ = { +"_tab_name": "Dialog Box" +} + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box"] +margin_right = 319.0 +margin_bottom = 615.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Box/Column" instance=ExtResource( 3 )] +margin_right = 319.0 +text_key = "Visuals" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column"] +margin_top = 26.0 +margin_right = 319.0 +margin_bottom = 162.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 157.0 +margin_bottom = 19.0 +text = "Background Color" +text_key = "Background Color" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer"] +margin_left = 167.0 +margin_right = 319.0 +margin_bottom = 24.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer2"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer2"] +margin_left = 28.0 +margin_right = 152.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 157.0 +margin_bottom = 47.0 +text = "Background Texture" +text_key = "Background Texture" + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer"] +margin_left = 167.0 +margin_top = 28.0 +margin_right = 319.0 +margin_bottom = 52.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer3"] +margin_right = 24.0 +margin_bottom = 24.0 +pressed = true + +[node name="BackgroundTextureButton" type="Button" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer3"] +margin_left = 28.0 +margin_right = 152.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "background-2" + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 157.0 +margin_bottom = 75.0 +text = "Texture Modulation" +text_key = "Texture Modulation" + +[node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer"] +margin_left = 167.0 +margin_top = 56.0 +margin_right = 319.0 +margin_bottom = 80.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer6"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer6"] +margin_left = 28.0 +margin_right = 152.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="TLabel6" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 89.0 +margin_right = 157.0 +margin_bottom = 103.0 +text = "9-Patch Margin Left/Right" +text_key = "9-Patch Margin Left/Right" + +[node name="NinePatchBoxLeftRight" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer"] +margin_left = 167.0 +margin_top = 84.0 +margin_right = 319.0 +margin_bottom = 108.0 + +[node name="PatchMarginLeft" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/NinePatchBoxLeftRight"] +margin_right = 74.0 +margin_bottom = 24.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="PatchMarginRight" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/NinePatchBoxLeftRight"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +max_value = 999.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel7" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 117.0 +margin_right = 157.0 +margin_bottom = 131.0 +text = "9-Patch Margin Top/Bottom" +text_key = "9-Patch Margin Top/Bottom" + +[node name="NinePatchBoxTopBottom" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer"] +margin_left = 167.0 +margin_top = 112.0 +margin_right = 319.0 +margin_bottom = 136.0 + +[node name="PatchMarginTop" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/NinePatchBoxTopBottom"] +margin_right = 74.0 +margin_bottom = 24.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="PatchMarginBottom" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/NinePatchBoxTopBottom"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +max_value = 999.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="SectionTitle2" parent="VBoxContainer/TabContainer/Dialog Box/Column" instance=ExtResource( 3 )] +margin_top = 166.0 +margin_right = 319.0 +margin_bottom = 188.0 +text = "Size and Position" +text_key = "Size and Position" + +[node name="GridContainer2" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column"] +margin_top = 136.0 +margin_right = 270.0 +margin_bottom = 326.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 104.0 +margin_bottom = 19.0 +text = "Full width" +text_key = "Full width" + +[node name="HBoxContainer7" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_right = 266.0 +margin_bottom = 24.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer7"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="TLabel6" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 104.0 +margin_bottom = 47.0 +text = "Box size (pixels)" +text_key = "Box size (pixels)" + +[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_top = 28.0 +margin_right = 266.0 +margin_bottom = 52.0 + +[node name="BoxSizeW" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4"] +margin_right = 74.0 +margin_bottom = 24.0 +value = 100.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="BoxSizeH" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +max_value = 999.0 +value = 167.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel8" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 60.0 +margin_right = 104.0 +margin_bottom = 74.0 +text = "Position" +text_key = "Position" + +[node name="PositionSelector" type="OptionButton" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_top = 56.0 +margin_right = 266.0 +margin_bottom = 78.0 +text = "Top Left" +icon = SubResource( 6 ) +items = [ "Top Left", SubResource( 8 ), false, 0, null, "Top Center", SubResource( 8 ), false, 1, null, "Top Right", SubResource( 8 ), false, 2, null, "", null, false, -1, null, "Center Left", SubResource( 8 ), false, 3, null, "Center", SubResource( 8 ), false, 4, null, "Center Right", SubResource( 8 ), false, 5, null, "", null, false, -1, null, "Bottom Left", SubResource( 8 ), false, 6, null, "Bottom Center", SubResource( 8 ), false, 7, null, "Bottom Right", SubResource( 8 ), false, 8, null ] +selected = 0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel7" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 87.0 +margin_right = 104.0 +margin_bottom = 101.0 +text = "Margin Left" +text_key = "Margin Left" + +[node name="MarginLeft" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_top = 82.0 +margin_right = 266.0 +margin_bottom = 106.0 +min_value = -999.0 +max_value = 999.0 +value = 40.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel9" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 115.0 +margin_right = 104.0 +margin_bottom = 129.0 +text = "Margin Top" +text_key = "Margin Top" + +[node name="MarginTop" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_top = 110.0 +margin_right = 266.0 +margin_bottom = 134.0 +min_value = -999.0 +max_value = 999.0 +value = 40.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel10" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 143.0 +margin_right = 104.0 +margin_bottom = 157.0 +text = "Margin Right" +text_key = "Margin Right" + +[node name="MarginRight" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_top = 138.0 +margin_right = 266.0 +margin_bottom = 162.0 +min_value = -999.0 +max_value = 999.0 +value = -40.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel11" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 171.0 +margin_right = 104.0 +margin_bottom = 185.0 +text = "Margin Bottom" +text_key = "Margin Bottom" + +[node name="MarginBottom" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_top = 166.0 +margin_right = 266.0 +margin_bottom = 190.0 +min_value = -999.0 +max_value = 999.0 +value = -40.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Dialog Box"] +margin_left = 329.0 +margin_right = 333.0 +margin_bottom = 615.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box"] +margin_left = 343.0 +margin_right = 613.0 +margin_bottom = 615.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Box/Column2" instance=ExtResource( 3 )] +text = "Next Indicator" +text_key = "Next Indicator" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column2"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 126.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 66.0 +margin_bottom = 17.0 +text = "Image" +text_key = "Image" + +[node name="NextIndicatorButton" type="Button" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer"] +margin_left = 76.0 +margin_right = 228.0 +margin_bottom = 20.0 +text = "next-indicator" + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 27.0 +margin_right = 66.0 +margin_bottom = 41.0 +text = "Animation" +text_key = "Animation" + +[node name="NextAnimation" type="OptionButton" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer"] +margin_left = 76.0 +margin_top = 24.0 +margin_right = 228.0 +margin_bottom = 44.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 53.0 +margin_right = 66.0 +margin_bottom = 67.0 +text = "Scale" +text_key = "Scale" + +[node name="HBoxContainer7" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer"] +margin_left = 76.0 +margin_top = 48.0 +margin_right = 228.0 +margin_bottom = 72.0 + +[node name="IndicatorScale" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer7"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 999.0 +step = 0.1 +value = 1.0 +allow_greater = true +allow_lesser = true + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 81.0 +margin_right = 66.0 +margin_bottom = 95.0 +text = "Offset" +text_key = "Offset" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer"] +margin_left = 76.0 +margin_top = 76.0 +margin_right = 228.0 +margin_bottom = 100.0 + +[node name="NextOffsetX" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 1e+07 +value = 10.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="NextOffsetY" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +max_value = 1e+07 +value = 20.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Dialog Box"] +margin_left = 623.0 +margin_right = 627.0 +margin_bottom = 615.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box"] +margin_left = 637.0 +margin_right = 907.0 +margin_bottom = 615.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Box/Column3" instance=ExtResource( 3 )] +text = "Behaviour" +text_key = "Behaviour" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column3"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 130.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 175.0 +margin_bottom = 19.0 +text = "Fade in time:" +text_key = "Fade in time:" + +[node name="ShowTime" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer"] +margin_left = 185.0 +margin_right = 259.0 +margin_bottom = 24.0 + +[node name="SpinBox" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/ShowTime"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 999.0 +step = 0.1 +value = 0.5 +allow_greater = true + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 31.0 +margin_right = 175.0 +margin_bottom = 45.0 +text = "Portraits Dim Color" +text_key = "Portraits Dim Color" + +[node name="DimColor" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer"] +margin_left = 185.0 +margin_top = 28.0 +margin_right = 259.0 +margin_bottom = 48.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/DimColor"] +margin_right = 74.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +color = Color( 0.501961, 0.501961, 0.501961, 1 ) + +[node name="TLabel5" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 57.0 +margin_right = 175.0 +margin_bottom = 71.0 +text = "Portrait Dim time:" +text_key = "Portrait Dim time:" + +[node name="PortraitDimTime" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer"] +margin_left = 185.0 +margin_top = 52.0 +margin_right = 259.0 +margin_bottom = 76.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SpinBox" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/PortraitDimTime"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 999.0 +step = 0.1 +value = 0.5 +allow_greater = true + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 85.0 +margin_right = 175.0 +margin_bottom = 99.0 +text = "Portraits Behind Dialog Box" +text_key = "Portraits Behind Dialog Box" + +[node name="PortraitsBehindDialogCheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer"] +margin_left = 185.0 +margin_top = 80.0 +margin_right = 259.0 +margin_bottom = 104.0 + +[node name="Name Label" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 +__meta__ = { +"_tab_name": "Name Label" +} + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Name Label"] +margin_right = 287.0 +margin_bottom = 495.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column"] +margin_right = 287.0 +margin_bottom = 50.0 + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer" instance=ExtResource( 3 )] +margin_right = 287.0 +text = "Behaviour" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer"] +margin_top = 26.0 +margin_right = 287.0 +margin_bottom = 50.0 +columns = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 112.0 +margin_bottom = 19.0 +text = "Hide name labels" +text_key = "Hide name labels" + +[node name="NameHide" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer/GridContainer"] +margin_left = 116.0 +margin_right = 140.0 +margin_bottom = 24.0 + +[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column"] +margin_top = 54.0 +margin_right = 287.0 +margin_bottom = 192.0 + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2" instance=ExtResource( 3 )] +margin_right = 287.0 +text = "Text" +text_key = "Text" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2"] +margin_top = 26.0 +margin_right = 287.0 +margin_bottom = 138.0 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 4.0 +margin_right = 125.0 +margin_bottom = 18.0 +text = "Name label Font" +text_key = "Name label Font" + +[node name="RegularFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer"] +margin_left = 129.0 +margin_right = 287.0 +margin_bottom = 22.0 + +[node name="NameFontButton" type="Button" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/RegularFont"] +margin_top = 1.0 +margin_right = 126.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="NameFontOpen" type="Button" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/RegularFont"] +margin_left = 130.0 +margin_right = 158.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 8 ) + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 31.0 +margin_right = 125.0 +margin_bottom = 45.0 +text = "Use character Color" +text_key = "Use character Color" + +[node name="CharacterColor" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer"] +margin_left = 129.0 +margin_top = 26.0 +margin_right = 287.0 +margin_bottom = 50.0 + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 62.0 +margin_right = 125.0 +margin_bottom = 76.0 +text = "Shadow" +text_key = "Shadow" + +[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer"] +margin_left = 129.0 +margin_top = 54.0 +margin_right = 287.0 +margin_bottom = 84.0 + +[node name="CheckBoxShadow" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer4"] +margin_right = 24.0 +margin_bottom = 30.0 + +[node name="ColorPickerButtonShadow" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer4"] +margin_left = 28.0 +margin_right = 158.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 50, 30 ) +size_flags_horizontal = 3 +color = Color( 0, 0, 0, 0.619608 ) + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 93.0 +margin_right = 125.0 +margin_bottom = 107.0 +text = "Shadow Offset" +text_key = "Shadow Offset" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer"] +margin_left = 129.0 +margin_top = 88.0 +margin_right = 287.0 +margin_bottom = 112.0 +custom_constants/separation = 10 + +[node name="ShadowOffsetX" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +value = 2.0 +rounded = true +allow_lesser = true +prefix = "X" + +[node name="ShadowOffsetY" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer"] +margin_left = 84.0 +margin_right = 158.0 +margin_bottom = 24.0 +value = 2.0 +rounded = true +allow_lesser = true +prefix = "Y" + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Name Label"] +margin_left = 297.0 +margin_right = 301.0 +margin_bottom = 495.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Name Label"] +margin_left = 311.0 +margin_right = 599.0 +margin_bottom = 495.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Name Label/Column2" instance=ExtResource( 3 )] +margin_right = 288.0 +text = "Box" +text_key = "Box" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Name Label/Column2"] +margin_top = 26.0 +margin_right = 288.0 +margin_bottom = 134.0 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 126.0 +margin_bottom = 19.0 +text = "Background Color" +text_key = "Background Color" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer"] +margin_left = 130.0 +margin_right = 288.0 +margin_bottom = 24.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer2"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer2"] +margin_left = 28.0 +margin_right = 158.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 126.0 +margin_bottom = 47.0 +text = "Background Texture" +text_key = "Background Texture" + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer"] +margin_left = 130.0 +margin_top = 28.0 +margin_right = 288.0 +margin_bottom = 52.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer3"] +margin_right = 24.0 +margin_bottom = 24.0 +pressed = true + +[node name="BackgroundTextureButton" type="Button" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer3"] +margin_left = 28.0 +margin_right = 158.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "background-2" + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 126.0 +margin_bottom = 75.0 +text = "Texture Modulation" +text_key = "Texture Modulation" + +[node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer"] +margin_left = 130.0 +margin_top = 56.0 +margin_right = 288.0 +margin_bottom = 80.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer6"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer6"] +margin_left = 28.0 +margin_right = 158.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 89.0 +margin_right = 126.0 +margin_bottom = 103.0 +text = "Box Padding" +text_key = "Box Padding" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer"] +margin_left = 130.0 +margin_top = 84.0 +margin_right = 288.0 +margin_bottom = 108.0 +custom_constants/separation = 10 + +[node name="NamePaddingX" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +step = 0.1 +value = 10.0 +allow_greater = true +allow_lesser = true + +[node name="NamePaddingY" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer"] +margin_left = 84.0 +margin_right = 158.0 +margin_bottom = 24.0 +step = 0.1 +allow_greater = true +allow_lesser = true + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Name Label"] +margin_left = 609.0 +margin_right = 613.0 +margin_bottom = 495.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Name Label"] +margin_left = 623.0 +margin_right = 893.0 +margin_bottom = 495.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Name Label/Column3" instance=ExtResource( 3 )] +text = "Placement" +text_key = "Placement" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Name Label/Column3"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 74.0 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 52.0 +margin_bottom = 17.0 +text = "Position" +text_key = "Position" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer"] +margin_left = 56.0 +margin_right = 208.0 +margin_bottom = 20.0 + +[node name="Positions" type="OptionButton" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer"] +margin_right = 152.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +text = "Left" +items = [ "Left", null, false, -1, null, "Center", null, false, 0, null, "Right", null, false, 1, null ] +selected = 0 + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 29.0 +margin_right = 52.0 +margin_bottom = 43.0 +text = "Offset" +text_key = "Offset" + +[node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer"] +margin_left = 56.0 +margin_top = 24.0 +margin_right = 208.0 +margin_bottom = 48.0 + +[node name="HorizontalOffset" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5"] +margin_right = 74.0 +margin_bottom = 24.0 +step = 0.1 +allow_greater = true +allow_lesser = true + +[node name="BottomGap" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +step = 0.1 +value = 48.0 +allow_greater = true +allow_lesser = true + +[node name="Choice Buttons" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 +__meta__ = { +"_tab_name": "Choice Buttons" +} + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons"] +margin_right = 380.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 380, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Choice Buttons/Column" instance=ExtResource( 3 )] +margin_right = 380.0 +text = "Button Style" +text_key = "Button Style" + +[node name="TabContainer" type="TabContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column"] +margin_top = 26.0 +margin_right = 380.0 +margin_bottom = 170.0 +tab_align = 0 + +[node name="Normal" parent="VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer" instance=ExtResource( 6 )] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 + +[node name="Hover" parent="VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer" instance=ExtResource( 6 )] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 + +[node name="Pressed" parent="VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer" instance=ExtResource( 6 )] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 + +[node name="Disabled" parent="VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer" instance=ExtResource( 6 )] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Choice Buttons"] +margin_left = 390.0 +margin_right = 394.0 +margin_bottom = 488.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons"] +margin_left = 404.0 +margin_right = 713.0 +margin_bottom = 488.0 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Choice Buttons/Column2" instance=ExtResource( 3 )] +margin_right = 309.0 +text = "Placement" +text_key = "Placement" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column2"] +margin_top = 26.0 +margin_right = 309.0 +margin_bottom = 184.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 119.0 +margin_bottom = 19.0 +text = "Box padding" +text_key = "Box padding" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_right = 309.0 +margin_bottom = 24.0 + +[node name="TextOffsetV" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +value = 5.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TextOffsetH" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +value = 5.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 119.0 +margin_bottom = 47.0 +text = "Fixed button size" +text_key = "Fixed button size" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_top = 28.0 +margin_right = 309.0 +margin_bottom = 52.0 + +[node name="FixedSize" type="CheckBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ButtonSizeX" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2"] +margin_left = 28.0 +margin_right = 102.0 +margin_bottom = 24.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="ButtonSizeY" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2"] +margin_left = 106.0 +margin_right = 180.0 +margin_bottom = 24.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 119.0 +margin_bottom = 75.0 +text = "Separation" +text_key = "Separation" + +[node name="VerticalSeparation" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_top = 56.0 +margin_right = 309.0 +margin_bottom = 80.0 +value = 5.0 +rounded = true +allow_lesser = true + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 87.0 +margin_right = 119.0 +margin_bottom = 101.0 +text = "Button layout" +text_key = "Button layout" + +[node name="Layout" type="OptionButton" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_top = 84.0 +margin_right = 309.0 +margin_bottom = 104.0 +size_flags_horizontal = 3 +text = "Vertical" +items = [ "Vertical", null, false, 0, null, "Horizontal", null, false, 1, null ] +selected = 0 + +[node name="TLabel5" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 112.0 +margin_right = 119.0 +margin_bottom = 126.0 +text = "Position on screen" +text_key = "Position on screen" + +[node name="PositionOnScreenOptionButton" type="OptionButton" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_top = 108.0 +margin_right = 309.0 +margin_bottom = 130.0 +size_flags_horizontal = 3 +text = "Top Left" +icon = SubResource( 6 ) +items = [ "Top Left", SubResource( 8 ), false, 0, null, "Top Center", SubResource( 8 ), false, 1, null, "Top Right", SubResource( 8 ), false, 2, null, "", null, false, -1, null, "Center Left", SubResource( 8 ), false, 3, null, "Center", SubResource( 8 ), false, 4, null, "Center Right", SubResource( 8 ), false, 5, null, "", null, false, -1, null, "Bottom Left", SubResource( 8 ), false, 6, null, "Bottom Center", SubResource( 8 ), false, 7, null, "Bottom Right", SubResource( 8 ), false, 8, null ] +selected = 0 + +[node name="TLabel6" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 139.0 +margin_right = 119.0 +margin_bottom = 153.0 +text = "Offset x-y" +text_key = "Offset x-y" + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_top = 134.0 +margin_right = 309.0 +margin_bottom = 158.0 + +[node name="ButtonOffsetX" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer3"] +margin_right = 74.0 +margin_bottom = 24.0 +rounded = true +allow_lesser = true + +[node name="ButtonOffsetY" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer3"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +rounded = true +allow_lesser = true + +[node name="Glossary" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 +__meta__ = { +"_tab_name": "Glossary" +} + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Glossary"] +margin_right = 270.0 +margin_bottom = 495.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Glossary/Column" instance=ExtResource( 3 )] +text_key = "Visuals" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Glossary/Column"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 82.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 8.0 +margin_right = 116.0 +margin_bottom = 22.0 +text = "Word color" +text_key = "Word color" + +[node name="HighlightColorPicker" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer"] +margin_left = 126.0 +margin_right = 244.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 50, 30 ) +color = Color( 0.215686, 0.654902, 0.67451, 1 ) + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 38.0 +margin_right = 116.0 +margin_bottom = 52.0 +text = "Background Panel" +text_key = "Background Panel" + +[node name="BackgroundPanel" type="HBoxContainer" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer"] +margin_left = 126.0 +margin_top = 34.0 +margin_right = 244.0 +margin_bottom = 56.0 + +[node name="BgPanelButton" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel"] +margin_top = 1.0 +margin_right = 86.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="BGPanelOpen" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel"] +margin_left = 90.0 +margin_right = 118.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 8 ) + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Glossary"] +margin_left = 280.0 +margin_right = 284.0 +margin_bottom = 495.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Glossary"] +margin_left = 294.0 +margin_right = 564.0 +margin_bottom = 495.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Glossary/Column3" instance=ExtResource( 3 )] +text = "Text" +text_key = "Text" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Glossary/Column3"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 202.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 4.0 +margin_right = 89.0 +margin_bottom = 18.0 +text = "Title Font" +text_key = "Title Font" + +[node name="TitleFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 99.0 +margin_right = 217.0 +margin_bottom = 22.0 + +[node name="TitleFontButton" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont"] +margin_top = 1.0 +margin_right = 86.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="TitleFontOpen" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont"] +margin_left = 90.0 +margin_right = 118.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 8 ) + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 34.0 +margin_right = 89.0 +margin_bottom = 48.0 +text = "Title color" +text_key = "Title color" + +[node name="TitleColorPicker" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 99.0 +margin_top = 26.0 +margin_right = 217.0 +margin_bottom = 56.0 +rect_min_size = Vector2( 50, 30 ) +color = Color( 0.215686, 0.654902, 0.67451, 1 ) + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 64.0 +margin_right = 89.0 +margin_bottom = 78.0 +text = "Text Font" +text_key = "Text Font" + +[node name="TextFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 99.0 +margin_top = 60.0 +margin_right = 217.0 +margin_bottom = 82.0 + +[node name="TextFontButton" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont"] +margin_top = 1.0 +margin_right = 86.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="TextFontOpen" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont"] +margin_left = 90.0 +margin_right = 118.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 8 ) + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 94.0 +margin_right = 89.0 +margin_bottom = 108.0 +text = "Text color" +text_key = "Text color" + +[node name="TextColorPicker" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 99.0 +margin_top = 86.0 +margin_right = 217.0 +margin_bottom = 116.0 +rect_min_size = Vector2( 50, 30 ) +color = Color( 0.215686, 0.654902, 0.67451, 1 ) + +[node name="TLabel5" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 124.0 +margin_right = 89.0 +margin_bottom = 138.0 +text = "Extra Font" +text_key = "Extra Font" + +[node name="ExtraFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 99.0 +margin_top = 120.0 +margin_right = 217.0 +margin_bottom = 142.0 + +[node name="ExtraFontButton" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont"] +margin_top = 1.0 +margin_right = 86.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="ExtraFontOpen" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont"] +margin_left = 90.0 +margin_right = 118.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 8 ) + +[node name="TLabel6" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 154.0 +margin_right = 89.0 +margin_bottom = 168.0 +text = "Extra color" +text_key = "Extra color" + +[node name="ExtraColorPicker" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 99.0 +margin_top = 146.0 +margin_right = 217.0 +margin_bottom = 176.0 +rect_min_size = Vector2( 50, 30 ) +color = Color( 0.215686, 0.654902, 0.67451, 1 ) + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Glossary"] +margin_left = 574.0 +margin_right = 578.0 +margin_bottom = 495.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Glossary"] +margin_left = 588.0 +margin_right = 858.0 +margin_bottom = 495.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Glossary/Column2" instance=ExtResource( 3 )] +text = "Behaviour" +text_key = "Behaviour" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Glossary/Column2"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 50.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Glossary/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 59.0 +margin_bottom = 19.0 +text = "Show" +text_key = "Show" + +[node name="ShowGlossaryCheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Glossary/Column2/GridContainer"] +margin_left = 69.0 +margin_right = 93.0 +margin_bottom = 24.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Audio" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 +__meta__ = { +"_tab_name": "Audio" +} + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Audio"] +margin_right = 270.0 +margin_bottom = 495.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Audio/Column" instance=ExtResource( 3 )] +text = "Typing Sound Effects" +text_key = "Typing Sound Effects" + +[node name="Typing" parent="VBoxContainer/TabContainer/Audio/Column" instance=ExtResource( 7 )] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 158.0 + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Audio"] +margin_left = 280.0 +margin_right = 284.0 +margin_bottom = 495.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Audio"] +margin_left = 294.0 +margin_right = 564.0 +margin_bottom = 495.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Audio/Column2" instance=ExtResource( 3 )] +text = "Next Sound Effects" +text_key = "Next Sound Effects" + +[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Audio/Column2"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 40.0 +text = "Waiting" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Waiting" parent="VBoxContainer/TabContainer/Audio/Column2" instance=ExtResource( 7 )] +margin_top = 44.0 +margin_right = 270.0 +margin_bottom = 176.0 + +[node name="HSeparator" type="HSeparator" parent="VBoxContainer/TabContainer/Audio/Column2"] +margin_top = 180.0 +margin_right = 270.0 +margin_bottom = 184.0 + +[node name="Label2" type="Label" parent="VBoxContainer/TabContainer/Audio/Column2"] +margin_top = 188.0 +margin_right = 270.0 +margin_bottom = 202.0 +text = "Passing" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Passing" parent="VBoxContainer/TabContainer/Audio/Column2" instance=ExtResource( 7 )] +margin_top = 206.0 +margin_right = 270.0 +margin_bottom = 338.0 + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Audio"] +margin_left = 574.0 +margin_right = 578.0 +margin_bottom = 495.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Audio"] +margin_left = 588.0 +margin_right = 858.0 +margin_bottom = 495.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Audio/Column3" instance=ExtResource( 3 )] +text = "Choice Sound Effects" +text_key = "Choice Sound Effects" + +[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Audio/Column3"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 40.0 +text = "Hovering" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Hovering" parent="VBoxContainer/TabContainer/Audio/Column3" instance=ExtResource( 7 )] +margin_top = 44.0 +margin_right = 270.0 +margin_bottom = 176.0 + +[node name="HSeparator" type="HSeparator" parent="VBoxContainer/TabContainer/Audio/Column3"] +margin_top = 180.0 +margin_right = 270.0 +margin_bottom = 184.0 + +[node name="Label2" type="Label" parent="VBoxContainer/TabContainer/Audio/Column3"] +margin_top = 188.0 +margin_right = 270.0 +margin_bottom = 202.0 +text = "Selecting" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Selecting" parent="VBoxContainer/TabContainer/Audio/Column3" instance=ExtResource( 7 )] +margin_top = 206.0 +margin_right = 270.0 +margin_bottom = 338.0 + +[node name="DelayPreviewTimer" type="Timer" parent="."] +one_shot = true + +[connection signal="text_changed" from="VBoxContainer/VBoxContainer/HBoxContainer3/TextEdit" to="." method="_on_Preview_text_changed"] +[connection signal="pressed" from="VBoxContainer/VBoxContainer/HBoxContainer3/PreviewButton" to="." method="_on_PreviewButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont/RegularFontButton" to="." method="_on_FontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont/RegularFontOpen" to="." method="_on_FontOpen_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont/BoldFontButton" to="." method="_on_BoldFontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont/BoldFontOpen" to="." method="_on_BoldFontOpen_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont/ItalicFontButton" to="." method="_on_ItalicFontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont/ItalicFontOpen" to="." method="_on_ItalicFontOpen_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/ColorPickerButton" to="." method="_on_ColorPickerButton_color_changed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer2/ColorPickerButtonShadow" to="." method="_on_ColorPickerButtonShadow_color_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer/ShadowOffsetX" to="." method="_on_ShadowOffset_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer/ShadowOffsetY" to="." method="_on_ShadowOffset_value_changed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer2/ColorPickerButton" to="." method="_on_BackgroundColor_ColorPickerButton_color_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer3/BackgroundTextureButton" to="." method="_on_BackgroundTextureButton_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer6/ColorPickerButton" to="." method="_on_ColorPicker_Background_texture_modulation_color_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4/BoxSizeW" to="." method="_on_BoxSize_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4/BoxSizeH" to="." method="_on_BoxSize_value_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/NextIndicatorButton" to="." method="_on_NextIndicatorButton_pressed"] +[connection signal="item_selected" from="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/NextAnimation" to="." method="_on_NextAnimation_item_selected"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2/NextOffsetX" to="." method="_on_NextOffset_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2/NextOffsetY" to="." method="_on_NextOffset_value_changed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/DimColor/ColorPickerButton" to="." method="_on_DimColor_ColorPickerButton_color_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/PortraitDimTime/SpinBox" to="." method="_on_PortraitDimTime_value_changed"] +[connection signal="toggled" from="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer/GridContainer/NameHide" to="." method="_on_name_hide_toggled"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/RegularFont/NameFontButton" to="." method="_on_NameFont_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/RegularFont/NameFontOpen" to="." method="_on_NameFontOpen_pressed"] +[connection signal="toggled" from="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/CharacterColor" to="." method="_on_name_auto_color_toggled"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer4/ColorPickerButtonShadow" to="." method="_on_name_shadow_color_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer/ShadowOffsetX" to="." method="_on_name_ShadowOffset_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column/VBoxContainer2/GridContainer/HBoxContainer/ShadowOffsetY" to="." method="_on_name_ShadowOffset_value_changed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer2/ColorPickerButton" to="." method="_on_name_background_color_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer3/BackgroundTextureButton" to="." method="_on_name_image_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer6/ColorPickerButton" to="." method="_on_ColorPicker_NameLabel_modulation_color_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer/NamePaddingX" to="." method="_on_name_padding_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer/NamePaddingY" to="." method="_on_name_padding_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5/HorizontalOffset" to="." method="_on_name_BottomGap_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5/BottomGap" to="." method="_on_name_BottomGap_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer/TextOffsetV" to="." method="_on_ButtonOffset_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer/TextOffsetH" to="." method="_on_ButtonOffset_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2/ButtonSizeX" to="." method="_on_ButtonSize_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2/ButtonSizeY" to="." method="_on_ButtonSize_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/VerticalSeparation" to="." method="_on_VerticalSeparation_value_changed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Glossary/Column/GridContainer/HighlightColorPicker" to="." method="_on_Glossary_HighlightColorPicker_color_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel/BgPanelButton" to="." method="_on_BgPanelSelection_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel/BGPanelOpen" to="." method="_on_BGPanelOpen_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont/TitleFontButton" to="." method="_on_Glossary_TitleFontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont/TitleFontOpen" to="." method="_on_Glossary_TitleFontOpen_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleColorPicker" to="." method="_on_Glossary_TitleColorPicker_color_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont/TextFontButton" to="." method="_on_Glossary_TextFontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont/TextFontOpen" to="." method="_on_Glossary_TextFontOpen_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextColorPicker" to="." method="_on_Glossary_TextColorPicker_color_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont/ExtraFontButton" to="." method="_on_Glossary_ExtraFontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont/ExtraFontOpen" to="." method="_on_Glossary_ExtraFontOpen_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraColorPicker" to="." method="_on_Glossary_ExtraColorPicker_color_changed"] diff --git a/addons/dialogic/Editor/ThemeEditor/default-theme.cfg b/addons/dialogic/Editor/ThemeEditor/default-theme.cfg new file mode 100644 index 0000000..ffc0195 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/default-theme.cfg @@ -0,0 +1,3 @@ +[settings] + +name="Default Theme" diff --git a/addons/dialogic/Editor/TimelineEditor/EventButton.gd b/addons/dialogic/Editor/TimelineEditor/EventButton.gd new file mode 100644 index 0000000..9b1d721 --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/EventButton.gd @@ -0,0 +1,16 @@ +tool +extends Button + +export (String) var EventName = '' + +func get_drag_data(position): + var preview_label = Label.new() + + if (self.text != ''): + preview_label.text = text + else: + preview_label.text = 'Add Event %s' % [ EventName ] + + set_drag_preview(preview_label) + + return { "source": "EventButton", "event_name": EventName } diff --git a/addons/dialogic/Editor/TimelineEditor/FlexContainer.gd b/addons/dialogic/Editor/TimelineEditor/FlexContainer.gd new file mode 100644 index 0000000..f2e4806 --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/FlexContainer.gd @@ -0,0 +1,119 @@ +tool +extends Container + +# The flow container will fit as many children in a row as it can +# using their minimum size, and will then continue on the next row. +# Does not use SIZE_EXPAND flags of children. + +# TODO: half-respect vertical SIZE_EXPAND flags by expanding the child to match +# the tallest child in that row? +# TODO: Respect scaled children? +# TODO: Can we find a way to intuitively use a child's horizontal SIZE_EXPAND +# flag? + +export var horizontal_margin: float = 5 +export var vertical_margin: float = 5 + +# Used to make our parent re-evaluate our size when we have to create more or +# less rows to fit in all the children. +var _reported_height_at_last_minimum_size_call: float = 0 + + +func _init() -> void: + size_flags_horizontal = SIZE_EXPAND_FILL + + +func _ready(): + pass + + +func _get_minimum_size() -> Vector2: + var max_child_width: float = 0 + + for child in get_children(): + if not child.has_method("get_combined_minimum_size"): + break + + var requested_size: Vector2 = child.get_combined_minimum_size() + if requested_size.x > max_child_width: + max_child_width = requested_size.x + + var height := _calculate_layout(false) + _reported_height_at_last_minimum_size_call = height + + return Vector2(max_child_width, height) + + +func _notification(what): + if (what==NOTIFICATION_SORT_CHILDREN): + var height = _calculate_layout(true) + + if height != _reported_height_at_last_minimum_size_call: + _make_parent_reevaluate_our_size() + +# If apply is true, the children will actually be moved to the calculated +# locations. +# Returns the resulting height. +func _calculate_layout(apply: bool) -> float: + var child_position: Vector2 = Vector2(0, 0) + var row_height: float = 0 + var container_width: float = rect_size.x + var num_children_in_current_row: float = 0 + + for child in get_children(): + if not child.has_method("get_combined_minimum_size"): + continue + if not child.visible: + continue + + var child_min_size: Vector2 = child.get_combined_minimum_size() + + if num_children_in_current_row > 0: + child_position.x += horizontal_margin + + if child_position.x + child_min_size.x > container_width: + # Go to the next row. + child_position = Vector2(0, child_position.y + row_height + vertical_margin) + row_height = 0 + num_children_in_current_row = 0 + + if apply: + fit_child_in_rect(child, Rect2(child_position, child_min_size)) + + if child_min_size.y > row_height: + row_height = child_min_size.y + + child_position.x += child_min_size.x + num_children_in_current_row += 1 + + return child_position.y + row_height + + +func _make_parent_reevaluate_our_size(): + # Hacky solution. Once there is a function for this, use it. + rect_min_size = Vector2(0, 20000) + rect_min_size = Vector2(0, 0) + + +# Code by https://github.com/Wcubed/horizontal_flow_container +# MIT License + +# Copyright (c) 2020 Wybe Westra + +# 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/addons/dialogic/Editor/TimelineEditor/SmallEventButton.gd b/addons/dialogic/Editor/TimelineEditor/SmallEventButton.gd new file mode 100644 index 0000000..5c71b59 --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/SmallEventButton.gd @@ -0,0 +1,63 @@ +tool +extends Button + +export(String) var visible_name = "" +export (String) var event_id = 'dialogic_099' +export (Color) var event_color = Color('#48a2a2a2') +export(Texture) var event_icon = null setget set_icon +export (int) var event_category := 0 +export (int) var sorting_index := 0 +var editor_reference + +func _ready(): + editor_reference = find_parent('EditorView') + self_modulate = Color(1,1,1) + if visible_name != '': + text = visible_name + hint_tooltip = editor_reference.dialogicTranslator.translate(hint_tooltip) + var _scale = DialogicUtil.get_editor_scale(self) + rect_min_size = Vector2(30,30) + rect_min_size = rect_min_size * _scale + icon = null + var t_rect = $TextureRect + var c_border = $ColorBorder + c_border.self_modulate = event_color + c_border.rect_min_size.x = 5 * _scale + c_border.rect_size.x = 5 * _scale + t_rect.margin_left = 18 * _scale + # Another programming crime was commited + # a switch statement is missing + # what a horrible sight + # elif I have you on my mind + if _scale == 2 or _scale == 1.75: + t_rect.rect_scale = Vector2(1, 1) + elif _scale == 1.5: + t_rect.rect_scale = Vector2(0.8, 0.8) + elif _scale == 0.75: + t_rect.rect_scale = Vector2(0.4, 0.4) + else: + t_rect.rect_scale = Vector2(0.6, 0.6) + + add_color_override("font_color", get_color("font_color", "Editor")) + add_color_override("font_color_hover", get_color("accent_color", "Editor")) + t_rect.modulate = get_color("font_color", "Editor") + + +func set_icon(texture): + #icon = texture + event_icon = texture + var _scale = DialogicUtil.get_editor_scale(self) + $TextureRect.texture = texture + + +func get_drag_data(position): + var preview_label = Label.new() + + if (self.text != ''): + preview_label.text = text + else: + preview_label.text = 'Add Event %s' % [ hint_tooltip ] + + set_drag_preview(preview_label) + + return { "source": "EventButton", "event_id": event_id } diff --git a/addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn b/addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn new file mode 100644 index 0000000..0d166cb --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn @@ -0,0 +1,70 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/SmallEventButton.gd" type="Script" id=1] + +[sub_resource type="StyleBoxEmpty" id=3] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 1, 1, 1, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 1, 1, 1, 0 ) +corner_radius_top_left = 4 +corner_radius_bottom_left = 4 + +[sub_resource type="StyleBoxFlat" id=2] +draw_center = false +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.0980392, 0.0980392, 0.0980392, 0.784314 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 + +[node name="SmallEventButton" type="Button"] +margin_right = 40.0 +margin_bottom = 40.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +custom_colors/font_color_hover = Color( 0, 0, 0, 1 ) +custom_styles/focus = SubResource( 3 ) +flat = true +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorBorder" type="Panel" parent="."] +self_modulate = Color( 0.635294, 0.635294, 0.635294, 0.282353 ) +show_behind_parent = true +anchor_bottom = 1.0 +mouse_filter = 2 +custom_styles/panel = SubResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Border" type="Panel" parent="."] +show_behind_parent = true +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +custom_styles/panel = SubResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="."] +modulate = Color( 0, 0, 0, 1 ) +anchor_top = 0.5 +anchor_bottom = 0.5 +margin_left = 18.0 +rect_scale = Vector2( 0.6, 0.6 ) +size_flags_horizontal = 0 +size_flags_vertical = 0 +expand = true +stretch_mode = 4 diff --git a/addons/dialogic/Editor/TimelineEditor/TimelineArea.gd b/addons/dialogic/Editor/TimelineEditor/TimelineArea.gd new file mode 100644 index 0000000..a5dc4dc --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/TimelineArea.gd @@ -0,0 +1,209 @@ +tool +extends ScrollContainer + +# store last attempts since godot sometimes misses drop events +var _is_drag_receiving = false +var _last_event_button_drop_attempt = '' +var _mouse_exited = false + +# todo, getting timeline like this is prone to fail someday +onready var timeline_editor = get_parent() + +func _ready(): + connect("mouse_entered", self, '_on_mouse_entered') + connect("mouse_exited", self, '_on_mouse_exited') + connect("gui_input", self, '_on_gui_input') + + +func can_drop_data(position, data): + if data != null and data is Dictionary and data.has("source"): + if data["source"] == "EventButton": + if _last_event_button_drop_attempt.empty(): + timeline_editor.create_drag_and_drop_event(data["event_id"]) + _is_drag_receiving = true + _last_event_button_drop_attempt = data["event_id"] + return true + return false + + +func cancel_drop(): + _is_drag_receiving = false + _last_event_button_drop_attempt = '' + timeline_editor.cancel_drop_event() + + +func drop_data(position, data): + # add event + if (data["source"] == "EventButton"): + timeline_editor.drop_event() + _is_drag_receiving = false + _last_event_button_drop_attempt = '' + + +func _on_mouse_exited(): + if _is_drag_receiving and not _mouse_exited: + var preview_label = Label.new() + preview_label.text = "Cancel" + set_drag_preview(preview_label) + _mouse_exited = true + + +func _on_mouse_entered(): + if _is_drag_receiving and _mouse_exited: + var preview_label = Label.new() + preview_label.text = "Insert Event" + set_drag_preview(preview_label) + _mouse_exited = false + + +func _input(event): + if (event is InputEventMouseButton and is_visible_in_tree() and event.button_index == BUTTON_LEFT): + if (_mouse_exited and _is_drag_receiving): + cancel_drop() + + +func _on_gui_input(event): + # godot sometimes misses drop events + if (event is InputEventMouseButton and event.button_index == BUTTON_LEFT): + if (_is_drag_receiving): + if (_last_event_button_drop_attempt != ''): + drop_data(Vector2.ZERO, { "source": "EventButton", "event_id": _last_event_button_drop_attempt} ) + _is_drag_receiving = false + + +func rendering_scale_correction(s, vector:Vector2) -> Vector2: + if s == 1.25: + return vector - Vector2(3, 2) + if s == 1.5: + return vector - Vector2(6, 6) + if s == 1.75: + return vector - Vector2(6, 7) + if s == 2: + return vector - Vector2(13, 8) + return vector + + + +func _draw(): + var timeline_children = $TimeLine.get_children() + var timeline_lenght = timeline_children.size() + var line_color = Color("#4D4D4D") + var test_color = Color(1,0,0,0.5) + var _scale = DialogicUtil.get_editor_scale(self) + var line_width = 3 * _scale + var pos = Vector2(32 * _scale, 51 * _scale) + + pos = rendering_scale_correction(_scale, pos) + + for event in $TimeLine.get_children(): + if not 'event_data' in event: + continue + + # If the event is the last one, don't draw anything aftwards + if timeline_children[timeline_lenght-1] == event: + return + + # Drawing long lines on questions and conditions + if event.event_name == 'Question' or event.event_name == 'Condition': + var keep_going = true + var end_reference + for e in timeline_children: + if keep_going: + if e.get_index() > event.get_index(): + if e.current_indent_level == event.current_indent_level: + if e.event_name == 'End Branch': + end_reference = e + keep_going = false + if e.event_name == 'Question' or event.event_name == 'Condition': + keep_going = false + if keep_going == false: + if end_reference: + # This line_size thing should be fixed, not sure why it is different when + # the indent level is 0 and when it is bigger. + var line_size = 0 + if event.current_indent_level > 0: + line_size = (event.indent_size * event.current_indent_level) + (4 * _scale) + # end the line_size thingy + + # Drawing the line from the Question/Condition node to the End Branch one. + draw_rect(Rect2( + Vector2(pos.x + line_size -scroll_horizontal, pos.y-scroll_vertical)+event.rect_position, + Vector2(line_width, + (end_reference.rect_global_position.y - event.rect_global_position.y) - (43 * _scale)) + ), + line_color, true) + + # Drawing other lines and archs + var next_event = timeline_children[event.get_index() + 1] + if event.current_indent_level > 0: + # Line at current indent + var line_size = (event.indent_size * event.current_indent_level) + (4 * _scale) + if next_event.event_name != 'End Branch' and event.event_name != 'Choice': + if event.event_name != 'Question' and next_event.event_name == 'Choice': + # Skip drawing lines before going to the next choice + pass + else: + draw_rect(Rect2( + Vector2(pos.x + line_size -scroll_horizontal, pos.y - scroll_vertical)+event.rect_position, + Vector2(line_width, event.rect_size.y - (40 * _scale)) + ), + line_color, + true) + else: + # Root (level 0) Vertical Line + draw_rect(Rect2( + Vector2(pos.x-scroll_horizontal, pos.y - scroll_vertical)+event.rect_position, + Vector2(line_width, event.rect_size.y - (40 * _scale)) + ), + line_color, + true) + + # Drawing arc + if event.event_name == 'Choice': + # Connecting with the question + var arc_start = Vector2( + (event.indent_size * (event.current_indent_level)) + (16.2 * _scale), + 5 + ) + var arc_point_count = 12 * _scale + var arc_radius = 24 * _scale + var start_angle = 90 + var end_angle = 185 + + if event.current_indent_level == 1: + arc_start.x = (event.indent_size * (event.current_indent_level)) + (12.5 * _scale) + + arc_start = rendering_scale_correction(_scale, arc_start) + + draw_arc( + Vector2(arc_start.x-scroll_horizontal, arc_start.y - scroll_vertical) + event.rect_position, + arc_radius, + deg2rad(start_angle), + deg2rad(end_angle), + arc_point_count, #point count + line_color, + line_width - (1 * _scale), + true + ) + + # Don't draw arc if next event is another choice event + if next_event.event_name == "Choice" or next_event.event_name == "End Branch": + continue + + # Connecting with the next event + + arc_start.x = (event.indent_size * (event.current_indent_level + 1)) + (16 * _scale) + arc_start.y = (pos.y + (8 * _scale)) + + arc_start = rendering_scale_correction(_scale, arc_start) + + draw_arc( + Vector2(arc_start.x-scroll_horizontal, arc_start.y - scroll_vertical) + event.rect_position, + arc_radius, + deg2rad(start_angle), + deg2rad(end_angle), + arc_point_count, + line_color, + line_width - (1 * _scale), + true + ) diff --git a/addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd b/addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd new file mode 100644 index 0000000..4c9cc9d --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd @@ -0,0 +1,1124 @@ +tool +extends HSplitContainer + +var editor_reference +var timeline_name: String = '' +var timeline_file: String = '' +var current_timeline: Dictionary = {} +var TimelineUndoRedo := UndoRedo.new() + +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +onready var timeline = $TimelineArea/TimeLine +onready var events_warning = $ScrollContainer/EventContainer/EventsWarning +onready var custom_events_container = $ScrollContainer/EventContainer/CustomEventsContainer + +var hovered_item = null +var selected_style : StyleBoxFlat = load("res://addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres") +var saved_style : StyleBoxFlat +var selected_items : Array = [] + +var event_scenes : Dictionary = {} + +var currently_draged_event_type = null +var move_start_position = null +var moving_piece = null +var piece_was_dragged = false + +var custom_events = {} + +var id_to_scene_name = { + #Main events + 'dialogic_001':'TextEvent', + 'dialogic_002':'Character', + #Logic + 'dialogic_010':'Question', + 'dialogic_011':'Choice', + 'dialogic_012':'Condition', + 'dialogic_013':'EndBranch', + 'dialogic_014':'SetValue', + 'dialogic_015':'LabelEvent', + 'dialogic_016':'GoTo Event', + #Timeline + 'dialogic_020':'ChangeTimeline', + 'dialogic_021':'ChangeBackground', + 'dialogic_022':'CloseDialog', + 'dialogic_023':'WaitSeconds', + 'dialogic_024':'SetTheme', + 'dialogic_025':'SetGlossary', + 'dialogic_026':'SaveEvent', + #Audio + 'dialogic_030':'AudioEvent', + 'dialogic_031':'BackgroundMusic', + #Godot + 'dialogic_040':'EmitSignal', + 'dialogic_041':'ChangeScene', + 'dialogic_042':'CallNode', + #Afterlife + 'dialogic_050':'NoSkipEvent', + } + +var event_data + +var batches = [] +var building_timeline = true +signal selection_updated +signal batch_loaded +signal timeline_loaded + +func _ready(): + editor_reference = find_parent('EditorView') + connect("batch_loaded", self, '_on_batch_loaded') + var modifier = '' + var _scale = get_constant("inspector_margin", "Editor") + _scale = _scale * 0.125 + $ScrollContainer.rect_min_size.x = 180 + if _scale == 1.25: + modifier = '-1.25' + $ScrollContainer.rect_min_size.x = 200 + if _scale == 1.5: + modifier = '-1.25' + $ScrollContainer.rect_min_size.x = 200 + if _scale == 1.75: + modifier = '-1.25' + $ScrollContainer.rect_min_size.x = 390 + if _scale == 2: + modifier = '-2' + $ScrollContainer.rect_min_size.x = 390 + + var style = $TimelineArea.get('custom_styles/bg') + style.set('bg_color', get_color("dark_color_1", "Editor")) + + update_custom_events() + $TimelineArea.connect('resized', self, 'add_extra_scroll_area_to_timeline', []) + + # We create the event buttons + event_data = _read_event_data() + var buttonScene = load("res://addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn") + for b in event_data: + if typeof(b['event_data']) == TYPE_DICTIONARY: + var button = buttonScene.instance() + # Button properties + button.visible_name = ' ' + b['event_name'] + button.event_id = b['event_data']['event_id'] + button.set_icon(b['event_icon']) + button.event_color = b['event_color'] + button.event_category = b.get('event_category', 0) + button.sorting_index = b.get('sorting_index', 9999) + # Connecting the signal + if button.event_id == 'dialogic_010': + button.connect('pressed', self, "_on_ButtonQuestion_pressed", []) + elif button.event_id == 'dialogic_012': # Condition + button.connect('pressed', self, "_on_ButtonCondition_pressed", []) + else: + button.connect('pressed', self, "_create_event_button_pressed", [button.event_id]) + # Adding it to its section + get_node("ScrollContainer/EventContainer/FlexContainer" + str(button.event_category + 1)).add_child(button) + while button.get_index() != 0 and button.sorting_index < get_node("ScrollContainer/EventContainer/FlexContainer" + str(button.event_category + 1)).get_child(button.get_index()-1).sorting_index: + get_node("ScrollContainer/EventContainer/FlexContainer" + str(button.event_category + 1)).move_child(button, button.get_index()-1) + +# handles dragging/moving of events +func _process(delta): + if moving_piece != null: + var current_position = get_global_mouse_position() + var node_position = moving_piece.rect_global_position.y + var height = get_block_height(moving_piece) + var up_offset = get_block_height(get_block_above(moving_piece)) + var down_offset = get_block_height(get_block_below(moving_piece)) + if up_offset != null: + up_offset = (up_offset / 2) + 5 + if current_position.y < node_position - up_offset: + move_block(moving_piece, 'up') + piece_was_dragged = true + if down_offset != null: + down_offset = height + (down_offset / 2) + 5 + if current_position.y > node_position + down_offset: + move_block(moving_piece, 'down') + piece_was_dragged = true + + +# SIGNAL handles input on the events mainly for selection and moving events +func _on_event_block_gui_input(event, item: Node): + if event is InputEventMouseButton and event.button_index == 1: + if (not event.is_pressed()): + if (piece_was_dragged and moving_piece != null and move_start_position): + var to_position = moving_piece.get_index() + if move_start_position != to_position: + # move it back so the DO action works. (Kinda stupid but whatever) + move_block_to_index(to_position, move_start_position) + TimelineUndoRedo.create_action("[D] Moved event (type '"+moving_piece.event_data.event_id+"').") + TimelineUndoRedo.add_do_method(self, "move_block_to_index", move_start_position, to_position) + TimelineUndoRedo.add_undo_method(self, "move_block_to_index", to_position, move_start_position) + TimelineUndoRedo.commit_action() + move_start_position = null + else: + select_item(item) + if (moving_piece != null): + + indent_events() + piece_was_dragged = false + moving_piece = null + elif event.is_pressed(): + moving_piece = item + move_start_position = moving_piece.get_index() + if not _is_item_selected(item): + pass#piece_was_dragged = true + else: + piece_was_dragged = false + + +## ***************************************************************************** +## SHORTCUTS +## ***************************************************************************** + +func _input(event): + # some shortcuts need to get handled in the common input event + # especially CTRL-based + # because certain godot controls swallow events (like textedit) + # we protect this with is_visible_in_tree to not + # invoke a shortcut by accident + if get_focus_owner() is TextEdit: + return + if (event is InputEventKey and event is InputEventWithModifiers and is_visible_in_tree()): + # CTRL Z # UNDO + if (event.pressed + and event.alt == false + and event.shift == false + and (event.control == true or event.command == true) + and event.scancode == KEY_Z + and event.echo == false + ): + TimelineUndoRedo.undo() + indent_events() + get_tree().set_input_as_handled() + if (event is InputEventKey and event is InputEventWithModifiers and is_visible_in_tree()): + # CTRL +SHIFT+ Z # REDO + if (event.pressed + and event.alt == false + and event.shift == true + and (event.control == true or event.command == true) + and event.scancode == KEY_Z + and event.echo == false + ) or (event.pressed + and event.alt == false + and event.shift == false + and (event.control == true or event.command == true) + and event.scancode == KEY_Y + and event.echo == false): + TimelineUndoRedo.redo() + indent_events() + get_tree().set_input_as_handled() + if (event is InputEventKey and event is InputEventWithModifiers and is_visible_in_tree()): + # UP + if (event.pressed + and event.alt == false + and event.shift == false + and (event.control == false or event.command == false) + and event.scancode == KEY_UP + and event.echo == false + ): + # select previous + if (len(selected_items) == 1): + var prev = max(0, selected_items[0].get_index() - 1) + var prev_node = timeline.get_child(prev) + if (prev_node != selected_items[0]): + selected_items = [] + select_item(prev_node) + get_tree().set_input_as_handled() + + + # DOWN + if (event.pressed + and event.alt == false + and event.shift == false + and (event.control == false or event.command == false) + and event.scancode == KEY_DOWN + and event.echo == false + ): + # select next + if (len(selected_items) == 1): + var next = min(timeline.get_child_count() - 1, selected_items[0].get_index() + 1) + var next_node = timeline.get_child(next) + if (next_node != selected_items[0]): + selected_items = [] + select_item(next_node) + get_tree().set_input_as_handled() + + # DELETE + if (event.pressed + and event.alt == false + and event.shift == false + and (event.control == false or event.command == false) + and event.scancode == KEY_DELETE + and event.echo == false + ): + if (len(selected_items) != 0): + var events_indexed = get_events_indexed(selected_items) + TimelineUndoRedo.create_action("[D] Deleting "+str(len(selected_items))+" event(s).") + TimelineUndoRedo.add_do_method(self, "delete_events_indexed", events_indexed) + TimelineUndoRedo.add_undo_method(self, "add_events_indexed", events_indexed) + TimelineUndoRedo.commit_action() + get_tree().set_input_as_handled() + + # CTRL T + if (event.pressed + and event.alt == false + and event.shift == false + and (event.control == true or event.command == true) + and event.scancode == KEY_T + and event.echo == false + ): + var at_index = -1 + if selected_items: + at_index = selected_items[-1].get_index()+1 + else: + at_index = timeline.get_child_count() + TimelineUndoRedo.create_action("[D] Add Text event.") + TimelineUndoRedo.add_do_method(self, "create_event", "dialogic_001", {'no-data': true}, true, at_index, true) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, 1) + TimelineUndoRedo.commit_action() + get_tree().set_input_as_handled() + + # CTRL A + if (event.pressed + and event.alt == false + and event.shift == false + and (event.control == true or event.command == true) + and event.scancode == KEY_A + and event.echo == false + ): + if (len(selected_items) != 0): + select_all_items() + get_tree().set_input_as_handled() + + # CTRL SHIFT A + if (event.pressed + and event.alt == false + and event.shift == true + and (event.control == true or event.command == true) + and event.scancode == KEY_A + and event.echo == false + ): + if (len(selected_items) != 0): + deselect_all_items() + get_tree().set_input_as_handled() + + # CTRL C + if (event.pressed + and event.alt == false + and event.shift == false + and (event.control == true or event.command == true) + and event.scancode == KEY_C + and event.echo == false + ): + copy_selected_events() + get_tree().set_input_as_handled() + + # CTRL V + if (event.pressed + and event.alt == false + and event.shift == false + and (event.control == true or event.command == true) + and event.scancode == KEY_V + and event.echo == false + ): + var events_list = paste_check() + var paste_position = -1 + if selected_items: + paste_position = selected_items[-1].get_index() + else: + paste_position = timeline.get_child_count()-1 + TimelineUndoRedo.create_action("[D] Pasting "+str(len(events_list))+" event(s).") + TimelineUndoRedo.add_do_method(self, "add_events_at_index", events_list, paste_position) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", paste_position+1, len(events_list)) + TimelineUndoRedo.commit_action() + get_tree().set_input_as_handled() + + # CTRL X + if (event.pressed + and event.alt == false + and event.shift == false + and (event.control == true or event.command == true) + and event.scancode == KEY_X + and event.echo == false + ): + var events_indexed = get_events_indexed(selected_items) + TimelineUndoRedo.create_action("[D] Cut "+str(len(selected_items))+" event(s).") + TimelineUndoRedo.add_do_method(self, "cut_events_indexed", events_indexed) + TimelineUndoRedo.add_undo_method(self, "add_events_indexed", events_indexed) + TimelineUndoRedo.commit_action() + get_tree().set_input_as_handled() + + # CTRL D + if (event.pressed + and event.alt == false + and event.shift == false + and (event.control == true or event.command == true) + and event.scancode == KEY_D + and event.echo == false + ): + + if len(selected_items) > 0: + var events = get_events_indexed(selected_items).values() + var at_index = selected_items[-1].get_index() + TimelineUndoRedo.create_action("[D] Duplicate "+str(len(events))+" event(s).") + TimelineUndoRedo.add_do_method(self, "add_events_at_index", events, at_index) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, len(events)) + TimelineUndoRedo.commit_action() + get_tree().set_input_as_handled() + +func _unhandled_key_input(event): + if (event is InputEventWithModifiers): + # ALT UP + if (event.pressed + and event.alt == true + and event.shift == false + and (event.control == false or event.command == false) + and event.scancode == KEY_UP + and event.echo == false + ): + # move selected up + if (len(selected_items) == 1): + move_block(selected_items[0], "up") + indent_events() + get_tree().set_input_as_handled() + + # ALT DOWN + if (event.pressed + and event.alt == true + and event.shift == false + and (event.control == false or event.command == false) + and event.scancode == KEY_DOWN + and event.echo == false + ): + # move selected down + if (len(selected_items) == 1): + move_block(selected_items[0], "down") + indent_events() + get_tree().set_input_as_handled() + +## ***************************************************************************** +## DELETING, COPY, PASTE +## ***************************************************************************** + +func get_events_indexed(events:Array) -> Dictionary: + var indexed_dict = {} + for event in events: + indexed_dict[event.get_index()] = event.event_data.duplicate(true) + return indexed_dict + +func select_indexed_events(indexed_events:Dictionary) -> void: + selected_items = [] + for event_index in indexed_events.keys(): + selected_items.append(timeline.get_child(event_index)) + +func add_events_indexed(indexed_events:Dictionary) -> void: + var indexes = indexed_events.keys() + indexes.sort() + var events = [] + for event_idx in indexes: + deselect_all_items() + events.append(create_event(indexed_events[event_idx].event_id, indexed_events[event_idx])) + timeline.move_child(events[-1], event_idx) + + selected_items = events + visual_update_selection() + +func delete_events_indexed(indexed_events:Dictionary) -> void: + select_indexed_events(indexed_events) + delete_selected_events() + +func delete_selected_events(): + if len(selected_items) == 0: + return + + # get next element + var next = min(timeline.get_child_count() - 1, selected_items[-1].get_index() + 1) + var next_node = timeline.get_child(next) + if _is_item_selected(next_node): + next_node = null + + for event in selected_items: + event.get_parent().remove_child(event) + event.queue_free() + + # select next + if (next_node != null): + select_item(next_node, false) + else: + if (timeline.get_child_count() > 0): + next_node = timeline.get_child(max(0, timeline.get_child_count() - 1)) + if (next_node != null): + select_item(next_node, false) + else: + deselect_all_items() + + indent_events() + + +func cut_selected_events(): + copy_selected_events() + delete_selected_events() + + +func cut_events_indexed(indexed_events:Dictionary) -> void: + select_indexed_events(indexed_events) + cut_selected_events() + + +func copy_selected_events(): + if len(selected_items) == 0: + return + var event_copy_array = [] + for item in selected_items: + event_copy_array.append(item.event_data) + + OS.clipboard = JSON.print( + { + "events":event_copy_array, + "dialogic_version": editor_reference.version_string, + "project_name": ProjectSettings.get_setting("application/config/name") + }) + +func paste_check(): + var clipboard_parse = JSON.parse(OS.clipboard).result + + if typeof(clipboard_parse) == TYPE_DICTIONARY: + if clipboard_parse.has("dialogic_version"): + if clipboard_parse['dialogic_version'] != editor_reference.version_string: + print("[D] Be careful when copying from older versions!") + if clipboard_parse.has("project_name"): + if clipboard_parse['project_name'] != ProjectSettings.get_setting("application/config/name"): + print("[D] Be careful when copying from another project!") + if clipboard_parse.has('events'): + return clipboard_parse['events'] + +func remove_events_at_index(at_index:int, amount:int = 1)-> void: + selected_items = [] + for i in range(0, amount): + selected_items.append(timeline.get_child(at_index + i)) + delete_selected_events() + +func add_events_at_index(event_list:Array, at_index:int) -> void: + if at_index != -1: + event_list.invert() + selected_items = [timeline.get_child(at_index)] + else: + selected_items = [] + + var new_items = [] + for item in event_list: + if typeof(item) == TYPE_DICTIONARY and item.has('event_id'): + new_items.append(create_event(item['event_id'], item)) + selected_items = new_items + sort_selection() + visual_update_selection() + indent_events() + +func paste_events_indexed(indexed_events): + pass + +func duplicate_events_indexed(indexed_events): + pass + +## ***************************************************************************** +## BLOCK SELECTION +## ***************************************************************************** + +func _is_item_selected(item: Node): + return item in selected_items + + +func select_item(item: Node, multi_possible:bool = true): + if item == null: + return + + if Input.is_key_pressed(KEY_CONTROL) and multi_possible: + # deselect the item if it is selected + if _is_item_selected(item): + selected_items.erase(item) + else: + selected_items.append(item) + elif Input.is_key_pressed(KEY_SHIFT) and multi_possible: + + if len(selected_items) == 0: + selected_items = [item] + else: + var index = selected_items[-1].get_index() + var goal_idx = item.get_index() + while true: + if index < goal_idx: index += 1 + else: index -= 1 + if not timeline.get_child(index) in selected_items: + selected_items.append(timeline.get_child(index)) + + if index == goal_idx: + break + else: + if len(selected_items) == 1: + if _is_item_selected(item): + selected_items.erase(item) + else: + selected_items = [item] + else: + selected_items = [item] + + sort_selection() + + visual_update_selection() + + +# checks all the events and sets their styles (selected/deselected) +func visual_update_selection(): + for item in timeline.get_children(): + item.visual_deselect() + for item in selected_items: + item.visual_select() + + +## Sorts the selection using 'custom_sort_selection' +func sort_selection(): + selected_items.sort_custom(self, 'custom_sort_selection') + + +## Compares two event blocks based on their position in the timeline +func custom_sort_selection(item1, item2): + return item1.get_index() < item2.get_index() + + +## Helpers +func select_all_items(): + selected_items = [] + for event in timeline.get_children(): + selected_items.append(event) + visual_update_selection() + + +func deselect_all_items(): + selected_items = [] + visual_update_selection() + +## ***************************************************************************** +## SPECIAL BLOCK OPERATIONS +## ***************************************************************************** + +# SIGNAL handles the actions of the small menu on the right +func _on_event_options_action(action: String, item: Node): + ### WORK TODO + if action == "remove": + delete_selected_events() + else: + move_block(item, action) + indent_events() + + +func delete_event(event): + event.get_parent().remove_child(event) + event.queue_free() + + +## ***************************************************************************** +## CREATING NEW EVENTS USING THE BUTTONS +## ***************************************************************************** + +# Event Creation signal for buttons +func _create_event_button_pressed(event_id): + var at_index = -1 + if selected_items: + at_index = selected_items[-1].get_index()+1 + else: + at_index = timeline.get_child_count() + TimelineUndoRedo.create_action("[D] Add event.") + TimelineUndoRedo.add_do_method(self, "create_event", event_id, {'no-data': true}, true, at_index, true) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, 1) + TimelineUndoRedo.commit_action() + scroll_to_piece(at_index) + indent_events() + + +# the Question button adds multiple blocks +func _on_ButtonQuestion_pressed() -> void: + var at_index = -1 + if selected_items: + at_index = selected_items[-1].get_index()+1 + else: + at_index = timeline.get_child_count() + TimelineUndoRedo.create_action("[D] Add question events.") + TimelineUndoRedo.add_do_method(self, "create_question", at_index) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, 4) + TimelineUndoRedo.commit_action() + +func create_question(at_position): + if at_position == 0: selected_items = [] + else: selected_items = [timeline.get_child(at_position-1)] + if len(selected_items) != 0: + # Events are added bellow the selected node + # So we must reverse the adding order + create_event("dialogic_013", {'no-data': true}, true) + create_event("dialogic_011", {'no-data': true}, true) + create_event("dialogic_011", {'no-data': true}, true) + create_event("dialogic_010", {'no-data': true}, true) + else: + create_event("dialogic_010", {'no-data': true}, true) + create_event("dialogic_011", {'no-data': true}, true) + create_event("dialogic_011", {'no-data': true}, true) + create_event("dialogic_013", {'no-data': true}, true) + + +# the Condition button adds multiple blocks +func _on_ButtonCondition_pressed() -> void: + var at_index = -1 + if selected_items: + at_index = selected_items[-1].get_index()+1 + else: + at_index = timeline.get_child_count() + TimelineUndoRedo.create_action("[D] Add condition events.") + TimelineUndoRedo.add_do_method(self, "create_condition", at_index) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, 2) + TimelineUndoRedo.commit_action() + +func create_condition(at_position): + if at_position == 0: selected_items = [] + else: selected_items = [timeline.get_child(at_position-1)] + if len(selected_items) != 0: + # Events are added bellow the selected node + # So we must reverse the adding order + create_event("dialogic_013", {'no-data': true}, true) + create_event("dialogic_012", {'no-data': true}, true) + else: + create_event("dialogic_012", {'no-data': true}, true) + create_event("dialogic_013", {'no-data': true}, true) + + +func update_custom_events() -> void: + ## CLEANUP + custom_events = {} + + # cleaning the 'old' buttons + for child in custom_events_container.get_children(): + child.queue_free() + + var path:String = "res://dialogic/custom-events" + + var dir = Directory.new() + if dir.open(path) == OK: + dir.list_dir_begin() + var file_name = dir.get_next() + # goes through all the folders in the custom events folder + while file_name != "": + # if it found a folder + if dir.current_is_dir() and not file_name in ['.', '..']: + # look through that folder + #print("Found custom event folder: " + file_name) + var event = load(path.plus_file(file_name).plus_file('EventBlock.tscn')).instance() + if event: + custom_events[event.event_data['event_id']] = { + 'event_block_scene' :path.plus_file(file_name).plus_file('EventBlock.tscn'), + 'event_name' : event.event_name, + 'event_icon' : event.event_icon + } + event.queue_free() + else: + print("[D] An error occurred when trying to access a custom event.") + + + else: + pass # files in the directory are ignored + file_name = dir.get_next() + + # After we finishing checking, if any events exist, show the panel + if custom_events.size() == 0: + custom_events_container.hide() + $ScrollContainer/EventContainer/CustomEventsHeadline.hide() + else: + custom_events_container.show() + $ScrollContainer/EventContainer/CustomEventsHeadline.show() + else: + print("[D] An error occurred when trying to access the custom events folder.") + + ## VISUAL UPDATE + + + # adding new ones + for custom_event_id in custom_events.keys(): + var button = load('res://addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn').instance() + #button.set_script(preload("EventButton.gd")) + button.event_id = custom_event_id + button.visible_name = ' ' + custom_events[custom_event_id]['event_name'] + if custom_events[custom_event_id]['event_icon']: + button.set_icon(custom_events[custom_event_id]['event_icon']) + #button.event_color = TODO + button.connect("pressed", self, "_create_event_button_pressed", [custom_event_id]) + custom_events_container.add_child(button) + +## ***************************************************************************** +## DRAG AND DROP +## ***************************************************************************** + +# Creates a ghost event for drag and drop +func create_drag_and_drop_event(event_id: String): + var index = get_index_under_cursor() + var piece = create_event(event_id) + currently_draged_event_type = event_id + timeline.move_child(piece, index) + moving_piece = piece + piece_was_dragged = true + set_event_ignore_save(piece, true) + select_item(piece) + return piece + + +func drop_event(): + if moving_piece != null: + var at_index = moving_piece.get_index() + moving_piece.queue_free() + TimelineUndoRedo.create_action("[D] Add event.") + TimelineUndoRedo.add_do_method(self, "create_event", currently_draged_event_type, {'no-data': true}, true, at_index, true) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, 1) + TimelineUndoRedo.commit_action() + moving_piece = null + piece_was_dragged = false + indent_events() + add_extra_scroll_area_to_timeline() + + + +func cancel_drop_event(): + if moving_piece != null: + moving_piece = null + piece_was_dragged = false + delete_selected_events() + deselect_all_items() + + +## ***************************************************************************** +## CREATING THE TIMELINE +## ***************************************************************************** + +# Adding an event to the timeline +func create_event(event_id: String, data: Dictionary = {'no-data': true} , indent: bool = false, at_index: int = -1, auto_select: bool = false): + var piece = null + + # check if it's a custom event + if event_id in custom_events.keys(): + piece = load(custom_events[event_id]['event_block_scene']).instance() + # check if it's a builtin event + elif event_id in id_to_scene_name.keys(): + piece = load("res://addons/dialogic/Editor/Events/" + id_to_scene_name[event_id] + ".tscn").instance() + # else use dummy event + else: + piece = load("res://addons/dialogic/Editor/Events/DummyEvent.tscn").instance() + + # load the piece with data + piece.editor_reference = editor_reference + + if data.has('no-data') == false: + piece.event_data = data + + if at_index == -1: + if len(selected_items) != 0: + timeline.add_child_below_node(selected_items[0], piece) + else: + timeline.add_child(piece) + else: + timeline.add_child(piece) + timeline.move_child(piece, at_index) + + piece.connect("option_action", self, '_on_event_options_action', [piece]) + piece.connect("gui_input", self, '_on_event_block_gui_input', [piece]) + + events_warning.visible = false + if auto_select: + select_item(piece, false) + # Spacing + add_extra_scroll_area_to_timeline() + # Indent on create + if indent: + indent_events() + + if not building_timeline: + piece.focus() + + return piece + + +func load_timeline(filename: String): + clear_timeline() + update_custom_events() + if timeline_file != filename: + TimelineUndoRedo.clear_history() + building_timeline = true + timeline_file = filename + + var data = DialogicResources.get_timeline_json(filename) + if data['metadata'].has('name'): + timeline_name = data['metadata']['name'] + else: + timeline_name = data['metadata']['file'] + data = data['events'] + + var page = 1 + var batch_size = 12 + while batch_events(data, batch_size, page).size() != 0: + batches.append(batch_events(data, batch_size, page)) + page += 1 + load_batch(batches) + # Reset the scroll position + $TimelineArea.scroll_vertical = 0 + + + +func batch_events(array, size, batch_number): + return array.slice((batch_number - 1) * size, batch_number * size - 1) + + +func load_batch(data): + #print('[D] Loading batch') + var current_batch = batches.pop_front() + if current_batch: + for i in current_batch: + create_event(i['event_id'], i, false, timeline.get_child_count()) + emit_signal("batch_loaded") + + +func _on_batch_loaded(): + if batches.size() > 0: + yield(get_tree().create_timer(0.01), "timeout") + load_batch(batches) + else: + events_warning.visible = false + indent_events() + building_timeline = false + emit_signal("timeline_loaded") + add_extra_scroll_area_to_timeline() + + + +func clear_timeline(): + deselect_all_items() + for event in timeline.get_children(): + event.free() + + +## ***************************************************************************** +## BLOCK GETTERS +## ***************************************************************************** + +func get_block_above(block): + var block_index = block.get_index() + var item = null + if block_index > 0: + item = timeline.get_child(block_index - 1) + return item + + +func get_block_below(block): + var block_index = block.get_index() + var item = null + if block_index < timeline.get_child_count() - 1: + item = timeline.get_child(block_index + 1) + return item + + +func get_block_height(block): + if block != null: + return block.rect_size.y + else: + return null + + +func get_index_under_cursor(): + var current_position = get_global_mouse_position() + var top_pos = 0 + for i in range(timeline.get_child_count()): + var c = timeline.get_child(i) + if c.rect_global_position.y < current_position.y: + top_pos = i + return top_pos + + +# ordering blocks in timeline +func move_block(block, direction): + var block_index = block.get_index() + if direction == 'up': + if block_index > 0: + timeline.move_child(block, block_index - 1) + $TimelineArea.update() + return true + if direction == 'down': + timeline.move_child(block, block_index + 1) + $TimelineArea.update() + return true + return false + +func move_block_to_index(block_index, index): + timeline.move_child(timeline.get_child(block_index), index) + +## ***************************************************************************** +## TIMELINE CREATION AND SAVING +## ***************************************************************************** + + +func create_timeline(): + timeline_file = 'timeline-' + str(OS.get_unix_time()) + '.json' + var timeline = { + "events": [], + "metadata":{ + "dialogic-version": editor_reference.version_string, + "file": timeline_file + } + } + DialogicResources.set_timeline(timeline) + return timeline + +# Saving +func generate_save_data(): + var info_to_save = { + 'metadata': { + 'dialogic-version': editor_reference.version_string, + 'name': timeline_name, + 'file': timeline_file + }, + 'events': [] + } + for event in timeline.get_children(): + # Checking that the event is not waiting to be removed + # or that it is not a drag and drop placeholder + if not get_event_ignore_save(event) and event.is_queued_for_deletion() == false: + info_to_save['events'].append(event.event_data) + return info_to_save + + +func set_event_ignore_save(event: Node, ignore: bool): + event.ignore_save = ignore + + +func get_event_ignore_save(event: Node) -> bool: + return event.ignore_save + + +func save_timeline() -> void: + if timeline_file != '' and building_timeline == false: + var info_to_save = generate_save_data() + DialogicResources.set_timeline(info_to_save) + #print('[+] Saving: ' , timeline_file) + + +## ***************************************************************************** +## UTILITIES/HELPERS +## ***************************************************************************** + +# Scrolling +func scroll_to_piece(piece_index) -> void: + var height = 0 + for i in range(0, piece_index): + height += $TimelineArea/TimeLine.get_child(i).rect_size.y + if height < $TimelineArea.scroll_vertical or height > $TimelineArea.scroll_vertical+$TimelineArea.rect_size.y-(200*DialogicUtil.get_editor_scale(self)): + $TimelineArea.scroll_vertical = height + +# Event Indenting +func indent_events() -> void: + # Now indenting + var indent: int = 0 + var starter: bool = false + var event_list: Array = timeline.get_children() + var question_index: int = 0 + var question_indent = {} + if event_list.size() < 2: + return + # Resetting all the indents + for event in event_list: + var indent_node + + event.set_indent(0) + + # Adding new indents + for event in event_list: + # since there are indicators now, not all elements + # in this list have an event_data property + if (not "event_data" in event): + continue + + + if event.event_data['event_id'] == 'dialogic_011': + if question_index > 0: + indent = question_indent[question_index] + 1 + starter = true + elif event.event_data['event_id'] == 'dialogic_010' or event.event_data['event_id'] == 'dialogic_012': + indent += 1 + starter = true + question_index += 1 + question_indent[question_index] = indent + elif event.event_data['event_id'] == 'dialogic_013': + if question_indent.has(question_index): + indent = question_indent[question_index] + indent -= 1 + question_index -= 1 + if indent < 0: + indent = 0 + else: + event.remove_warning('This event is not connected to any Question or Condition but it should!') + else: + event.set_warning('This event is not connected to any Question or Condition but it should!') + + if indent > 0: + # Keep old behavior for items without template + if starter: + event.set_indent(indent - 1) + else: + event.set_indent(indent) + starter = false + $TimelineArea.update() + + +# called from the toolbar +func fold_all_nodes(): + for event in timeline.get_children(): + event.set_expanded(false) + add_extra_scroll_area_to_timeline() + + +# called from the toolbar +func unfold_all_nodes(): + for event in timeline.get_children(): + event.set_expanded(true) + add_extra_scroll_area_to_timeline() + +func get_current_events_anchors(): + var anchors = {} + for event in timeline.get_children(): + if "event_data" in event: + if event.event_data['event_id'] == 'dialogic_015': + anchors[event.event_data['id']] = event.event_data['name'] + return anchors + +func add_extra_scroll_area_to_timeline(): + if timeline.get_children().size() > 4: + timeline.rect_min_size.y = 0 + timeline.rect_size.y = 0 + if timeline.rect_size.y + 200 > $TimelineArea.rect_size.y: + timeline.rect_min_size = Vector2(0, timeline.rect_size.y + 200) + + +# Functions for reading the event data and coloring the buttons +func _read_event_data(): + var dir = 'res://addons/dialogic/Editor/Events/' + var file = File.new() + var config = ConfigFile.new() + var events_data = [] + for f in DialogicUtil.list_dir(dir): + if '.tscn' in f: + if 'DummyEvent' in f: + # Need to figure out what to do with this one + pass + else: + var scene = load(dir + '/' + f).get_state() + var c = {} + for p in scene.get_node_property_count(0): + c[scene.get_node_property_name(0,p)] = scene.get_node_property_value(0, p) + events_data.append(c) + return events_data + + +func play_timeline(): + DialogicResources.set_settings_value('QuickTimelineTest', 'timeline_file', timeline_file) + editor_reference.editor_interface.play_custom_scene('res://addons/dialogic/Editor/TimelineEditor/TimelineTestingScene.tscn') diff --git a/addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn b/addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn new file mode 100644 index 0000000..17cbc33 --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn @@ -0,0 +1,282 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://addons/dialogic/Images/Tutorials/arrow-down.svg" type="Texture" id=13] +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd" type="Script" id=17] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=21] +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/TimelineArea.gd" type="Script" id=22] +[ext_resource path="res://addons/dialogic/Editor/Theme/MainTheme.tres" type="Theme" id=28] +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/FlexContainer.gd" type="Script" id=29] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 5.0 +content_margin_right = 5.0 +content_margin_top = 5.0 +content_margin_bottom = 5.0 +bg_color = Color( 0, 0, 0, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.0980392, 0.113725, 0.152941, 1 ) + +[sub_resource type="StyleBoxFlat" id=2] +draw_center = false +border_width_left = 2 +border_color = Color( 0.8, 0.8, 0.8, 0 ) + +[sub_resource type="StyleBoxFlat" id=3] +content_margin_right = 6.0 +content_margin_top = 10.0 +content_margin_bottom = 10.0 +bg_color = Color( 0.94902, 1, 0.482353, 1 ) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[node name="TimelineEditor" type="HSplitContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_bottom = 138.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme = ExtResource( 28 ) +split_offset = 7 +script = ExtResource( 17 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TimelineArea" type="ScrollContainer" parent="."] +margin_right = 832.0 +margin_bottom = 738.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_styles/bg = SubResource( 1 ) +script = ExtResource( 22 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TimeLine" type="VBoxContainer" parent="TimelineArea"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 827.0 +margin_bottom = 733.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="ScrollContainer" type="ScrollContainer" parent="."] +margin_left = 844.0 +margin_right = 1024.0 +margin_bottom = 738.0 +rect_min_size = Vector2( 180, 0 ) +custom_styles/bg = SubResource( 2 ) + +[node name="EventContainer" type="VBoxContainer" parent="ScrollContainer"] +margin_left = 2.0 +margin_right = 186.0 +margin_bottom = 939.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 9 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="EventsWarning" type="PanelContainer" parent="ScrollContainer/EventContainer"] +margin_right = 184.0 +margin_bottom = 68.0 +custom_styles/panel = SubResource( 3 ) + +[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/EventContainer/EventsWarning"] +margin_top = 10.0 +margin_right = 178.0 +margin_bottom = 58.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="ScrollContainer/EventContainer/EventsWarning/HBoxContainer"] +margin_right = 40.0 +margin_bottom = 48.0 +rect_min_size = Vector2( 40, 40 ) +texture = ExtResource( 13 ) +stretch_mode = 4 + +[node name="Label" type="Label" parent="ScrollContainer/EventContainer/EventsWarning/HBoxContainer"] +margin_left = 44.0 +margin_right = 178.0 +margin_bottom = 48.0 +rect_min_size = Vector2( 100, 0 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Add an event to start building your timeline" +autowrap = true + +[node name="HBoxContainer6" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 77.0 +margin_right = 184.0 +margin_bottom = 91.0 + +[node name="TLabel" parent="ScrollContainer/EventContainer/HBoxContainer6" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 77.0 +margin_bottom = 14.0 +text = "Main Events" +text_key = "Main Events" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/HBoxContainer6"] +margin_left = 81.0 +margin_right = 184.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="FlexContainer1" type="Container" parent="ScrollContainer/EventContainer"] +margin_top = 100.0 +margin_right = 184.0 +margin_bottom = 145.0 +size_flags_horizontal = 3 +script = ExtResource( 29 ) + +[node name="HBoxContainer5" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 154.0 +margin_right = 184.0 +margin_bottom = 168.0 + +[node name="TLabel2" parent="ScrollContainer/EventContainer/HBoxContainer5" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 33.0 +margin_bottom = 14.0 +text = "Logic" +text_key = "Logic" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/HBoxContainer5"] +margin_left = 37.0 +margin_right = 184.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="FlexContainer2" type="Container" parent="ScrollContainer/EventContainer"] +margin_top = 177.0 +margin_right = 184.0 +margin_bottom = 272.0 +size_flags_horizontal = 3 +script = ExtResource( 29 ) + +[node name="HBoxContainer3" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 281.0 +margin_right = 184.0 +margin_bottom = 295.0 + +[node name="TLabel3" parent="ScrollContainer/EventContainer/HBoxContainer3" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 56.0 +margin_bottom = 14.0 +text = "Timeline" +text_key = "Timeline" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/HBoxContainer3"] +margin_left = 60.0 +margin_right = 184.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="FlexContainer3" type="Container" parent="ScrollContainer/EventContainer"] +margin_top = 304.0 +margin_right = 184.0 +margin_bottom = 449.0 +size_flags_horizontal = 3 +script = ExtResource( 29 ) + +[node name="HBoxContainer4" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 458.0 +margin_right = 184.0 +margin_bottom = 472.0 + +[node name="TLabel4" parent="ScrollContainer/EventContainer/HBoxContainer4" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 37.0 +margin_bottom = 14.0 +text = "Audio" +text_key = "Audio" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/HBoxContainer4"] +margin_left = 41.0 +margin_right = 184.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="FlexContainer4" type="Container" parent="ScrollContainer/EventContainer"] +margin_top = 481.0 +margin_right = 184.0 +margin_bottom = 576.0 +size_flags_horizontal = 3 +script = ExtResource( 29 ) + +[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 585.0 +margin_right = 184.0 +margin_bottom = 599.0 + +[node name="TLabel5" parent="ScrollContainer/EventContainer/HBoxContainer" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 39.0 +margin_bottom = 14.0 +text = "Godot" +text_key = "Godot" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/HBoxContainer"] +margin_left = 43.0 +margin_right = 184.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="FlexContainer5" type="Container" parent="ScrollContainer/EventContainer"] +margin_top = 608.0 +margin_right = 184.0 +margin_bottom = 678.0 +size_flags_horizontal = 3 +script = ExtResource( 29 ) + +[node name="CustomEventsHeadline" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 687.0 +margin_right = 184.0 +margin_bottom = 701.0 + +[node name="TLabel6" parent="ScrollContainer/EventContainer/CustomEventsHeadline" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 95.0 +margin_bottom = 14.0 +text = "Custom Events" +text_key = "Custom Events" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/CustomEventsHeadline"] +margin_left = 99.0 +margin_right = 184.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="CustomEventsContainer" type="Container" parent="ScrollContainer/EventContainer"] +margin_top = 710.0 +margin_right = 184.0 +margin_bottom = 830.0 +size_flags_horizontal = 3 +script = ExtResource( 29 ) + +[node name="Spacer" type="Control" parent="ScrollContainer/EventContainer"] +margin_top = 839.0 +margin_right = 184.0 +margin_bottom = 939.0 +rect_min_size = Vector2( 0, 100 ) diff --git a/addons/dialogic/Editor/TimelineEditor/TimelineTestingScene.gd b/addons/dialogic/Editor/TimelineEditor/TimelineTestingScene.gd new file mode 100644 index 0000000..52f8c21 --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/TimelineTestingScene.gd @@ -0,0 +1,13 @@ +extends Node + +func _ready(): + var dialog = Dialogic.start(DialogicResources.get_settings_value('QuickTimelineTest', 'timeline_file', '')) + dialog.connect('dialogic_signal', self, '_on_DialogNode_dialogic_signal') + dialog.connect('timeline_end', self, '_on_DialogNode_timeline_end') + add_child(dialog) + +func _on_DialogNode_dialogic_signal(argument): + print('Signal recieved. Argument: ', argument) + +func _on_DialogNode_timeline_end(timeline): + get_tree().quit() diff --git a/addons/dialogic/Editor/TimelineEditor/TimelineTestingScene.tscn b/addons/dialogic/Editor/TimelineEditor/TimelineTestingScene.tscn new file mode 100644 index 0000000..0face71 --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/TimelineTestingScene.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/TimelineTestingScene.gd" type="Script" id=1] + +[node name="TimelineTestingScene" type="Node"] +script = ExtResource( 1 ) diff --git a/addons/dialogic/Editor/ValueEditor/ValueEditor.gd b/addons/dialogic/Editor/ValueEditor/ValueEditor.gd new file mode 100644 index 0000000..73ad91c --- /dev/null +++ b/addons/dialogic/Editor/ValueEditor/ValueEditor.gd @@ -0,0 +1,65 @@ +tool +extends ScrollContainer + +var editor_reference +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +var current_definition = null + +onready var nodes = { + 'name' : $VBoxContainer/HBoxContainer/VBoxContainer/Name, + 'value_editor': $VBoxContainer/HBoxContainer/Value, + 'value': $VBoxContainer/HBoxContainer/Value/ValueInput, + } + +func _ready(): + editor_reference = find_parent('EditorView') + reset_editor() + nodes['name'].connect('text_changed', self, '_on_name_changed') + nodes['name'].connect('focus_exited', self, '_update_name_on_tree') + + +func is_selected(id: String): + return current_definition != null and current_definition['id'] == id + + +func load_definition(id): + current_definition = DialogicResources.get_default_definition_item(id) + reset_editor() + nodes['name'].editable = true + nodes['name'].text = current_definition['name'] + nodes['value'].text = current_definition['value'] + +func reset_editor(): + nodes['name'].text = '' + nodes['value'].text = '' + + +func _on_name_changed(text): + if current_definition != null: + save_definition() + + +func _input(event): + if event is InputEventKey and event.pressed: + if nodes['name'].has_focus(): + if event.scancode == KEY_ENTER: + nodes['name'].release_focus() + + +func _update_name_on_tree(): + var item = master_tree.get_selected() + item.set_text(0, nodes['name'].text) + if current_definition != null: + save_definition() + master_tree.build_definitions(current_definition['id']) + + +func create_value() -> String: + var id = DialogicUtil.generate_random_id() + DialogicResources.set_default_definition_variable(id, 'New value', '') + return id + + +func save_definition(): + if current_definition != null and current_definition['id'] != '': + DialogicResources.set_default_definition_variable(current_definition['id'], nodes['name'].text, nodes['value'].text) diff --git a/addons/dialogic/Editor/ValueEditor/ValueEditor.tscn b/addons/dialogic/Editor/ValueEditor/ValueEditor.tscn new file mode 100644 index 0000000..1641896 --- /dev/null +++ b/addons/dialogic/Editor/ValueEditor/ValueEditor.tscn @@ -0,0 +1,62 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/ValueEditor/ValueEditor.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=2] + +[node name="ValueEditor" type="ScrollContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 1024.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +margin_right = 1024.0 +margin_bottom = 48.0 +custom_constants/separation = 16 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"] +margin_right = 300.0 +margin_bottom = 48.0 +rect_min_size = Vector2( 300, 0 ) +custom_constants/separation = 10 + +[node name="NameLabel" parent="VBoxContainer/HBoxContainer/VBoxContainer" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 300.0 +margin_bottom = 14.0 +text = "Name:" +text_key = "ValueName" + +[node name="Name" type="LineEdit" parent="VBoxContainer/HBoxContainer/VBoxContainer"] +margin_top = 24.0 +margin_right = 300.0 +margin_bottom = 48.0 + +[node name="Value" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"] +margin_left = 316.0 +margin_right = 616.0 +margin_bottom = 48.0 +rect_min_size = Vector2( 300, 0 ) +custom_constants/separation = 10 + +[node name="ValueLabel" parent="VBoxContainer/HBoxContainer/Value" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 300.0 +margin_bottom = 14.0 +text = "Value:" +text_key = "Value" + +[node name="ValueInput" type="LineEdit" parent="VBoxContainer/HBoxContainer/Value"] +margin_top = 24.0 +margin_right = 300.0 +margin_bottom = 48.0 diff --git a/addons/dialogic/Example Assets/CustomEvents/EventBlock.tscn b/addons/dialogic/Example Assets/CustomEvents/EventBlock.tscn new file mode 100644 index 0000000..23e2ff2 --- /dev/null +++ b/addons/dialogic/Example Assets/CustomEvents/EventBlock.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] + +[node name="ExampleCustomEvent" instance=ExtResource( 1 )] + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.gd b/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.gd new file mode 100644 index 0000000..832ad98 --- /dev/null +++ b/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.gd @@ -0,0 +1,33 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + # has an event_data variable that stores the current data!!! + + ## node references + # e.g. +onready var input_field = $InputField + + # used to connect the signals +func _ready(): + # e.g. + input_field.connect("text_changed", self, "_on_InputField_text_changed") + pass + + # called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + # e.g. + input_field.text = event_data['my_text_key'] + + # has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + ## EXAMPLE CHANGE IN ONE OF THE NODES +func _on_InputField_text_changed(text): + event_data['my_text_key'] = text + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.tscn b/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.tscn new file mode 100644 index 0000000..313338c --- /dev/null +++ b/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Example Assets/CustomEvents/EventPart_Example.gd" type="Script" id=2] + +[node name="EventPart_Example" type="HBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="InputField" parent="." instance=ExtResource( 1 )] +margin_top = 6.0 +margin_bottom = 33.0 diff --git a/addons/dialogic/Example Assets/CustomEvents/event_yourname_000.gd b/addons/dialogic/Example Assets/CustomEvents/event_yourname_000.gd new file mode 100644 index 0000000..2aa400c --- /dev/null +++ b/addons/dialogic/Example Assets/CustomEvents/event_yourname_000.gd @@ -0,0 +1,17 @@ +extends Node + + +func handle_event(event_data, dialog_node): + """ + If this event should wait for dialog advance to occur, uncomment the WAITING line + If this event should block the dialog from continuing, uncomment the WAITINT_INPUT line + While other states exist, they generally are not neccesary, but include IDLE, TYPING, and ANIMATING + """ + #dialog_node.set_state(dialog_node.state.WAITING) + #dialog_node.set_state(dialog_node.state.WAITING_INPUT) + + pass # fill with event action + + # once you want to continue with the next event + dialog_node._load_next_event() + dialog_node.set_state(dialog_node.state.READY) diff --git a/addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres b/addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres new file mode 100644 index 0000000..cd25a11 --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Fonts/DefaultFont.tres b/addons/dialogic/Example Assets/Fonts/DefaultFont.tres new file mode 100644 index 0000000..211862b --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/DefaultFont.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Regular.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres b/addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres new file mode 100644 index 0000000..d5537a3 --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Italic.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Fonts/GlossaryFont.tres b/addons/dialogic/Example Assets/Fonts/GlossaryFont.tres new file mode 100644 index 0000000..4fdd2d5 --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/GlossaryFont.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf" type="DynamicFontData" id=1] + +[resource] +size = 20 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Fonts/NameFont.tres b/addons/dialogic/Example Assets/Fonts/NameFont.tres new file mode 100644 index 0000000..cd25a11 --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/NameFont.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/OFL.txt b/addons/dialogic/Example Assets/Fonts/Overlock/OFL.txt new file mode 100644 index 0000000..3f4681a --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/Overlock/OFL.txt @@ -0,0 +1,94 @@ +Copyright (c) 2011, Dario Manuel Muhafara (http://www.tipo.net.ar), +with Reserved Font Names "Overlock" "Overlock SC" + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..79ab2f6bb1f35ab52891d85b1f7305a2f8f79d23 GIT binary patch literal 38308 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 Q(CfXYjb9x0$w-17Kcaqa_5c6? literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BlackItalic.ttf b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BlackItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..180880d08f477e567a0a6b7bb0da16ff3f7bcceb GIT binary patch literal 38100 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 UTyr`5T5l_3gO`4%CIfx_1>R>HJpcdz literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Bold.ttf b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ed50461deebdaae30491792bd3d663f09f3aee31 GIT binary patch literal 37532 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 wo!~Z?_buYex%=TS(R}%BZG)UbOQQ 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 DvibWf literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BoldItalic.ttf b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..75aaf7398bc7944cf49f4f500db7bb0e40f13e47 GIT binary patch literal 39668 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 Ibj14o8#XttaR2}S literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/Overlock.tres b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock.tres new file mode 100644 index 0000000..56d4044 --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://Fonts/Overlock/Overlock-Black.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/History/HistoryBackground.tscn b/addons/dialogic/Example Assets/History/HistoryBackground.tscn new file mode 100644 index 0000000..eabfb9f --- /dev/null +++ b/addons/dialogic/Example Assets/History/HistoryBackground.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/backgrounds/background-2.png" type="Texture" id=1] + +[node name="DefaultBackground" type="Panel"] +self_modulate = Color( 1, 1, 1, 0 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +texture = ExtResource( 1 ) +expand = true +stretch_mode = 1 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Example Assets/History/HistoryButton-theme.tres b/addons/dialogic/Example Assets/History/HistoryButton-theme.tres new file mode 100644 index 0000000..d22e8b5 --- /dev/null +++ b/addons/dialogic/Example Assets/History/HistoryButton-theme.tres @@ -0,0 +1,40 @@ +[gd_resource type="Theme" load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/backgrounds/background-2.png" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf" type="DynamicFontData" id=2] + +[sub_resource type="DynamicFont" id=5] +font_data = ExtResource( 2 ) + +[sub_resource type="StyleBoxTexture" id=4] +texture = ExtResource( 1 ) +region_rect = Rect2( 0, 0, 1175, 263 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 +modulate_color = Color( 1, 1, 1, 0.572549 ) + +[sub_resource type="StyleBoxTexture" id=1] +texture = ExtResource( 1 ) +region_rect = Rect2( 0, 0, 1175, 263 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=3] +texture = ExtResource( 1 ) +region_rect = Rect2( 0, 0, 1175, 263 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 +modulate_color = Color( 0.113725, 0.105882, 0.105882, 0.764706 ) + +[resource] +Button/colors/font_color = Color( 1, 1, 1, 1 ) +Button/fonts/font = SubResource( 5 ) +Button/styles/hover = SubResource( 4 ) +Button/styles/normal = SubResource( 1 ) +Button/styles/pressed = SubResource( 3 ) diff --git a/addons/dialogic/Example Assets/History/HistoryButton.tscn b/addons/dialogic/Example Assets/History/HistoryButton.tscn new file mode 100644 index 0000000..691cf36 --- /dev/null +++ b/addons/dialogic/Example Assets/History/HistoryButton.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/History/HistoryButton-theme.tres" type="Theme" id=1] + +[node name="HistoryButton" type="Button"] +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_top = -20.0 +margin_right = 58.0 +theme = ExtResource( 1 ) +disabled = true +text = "History" +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Example Assets/History/HistoryReturnButton.tscn b/addons/dialogic/Example Assets/History/HistoryReturnButton.tscn new file mode 100644 index 0000000..dd19d48 --- /dev/null +++ b/addons/dialogic/Example Assets/History/HistoryReturnButton.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/History/HistoryButton-theme.tres" type="Theme" id=1] + +[node name="HistoryButton" type="Button"] +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_top = -20.0 +margin_right = 58.0 +theme = ExtResource( 1 ) +disabled = true +text = "Return" +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Example Assets/History/HistoryRow.gd b/addons/dialogic/Example Assets/History/HistoryRow.gd new file mode 100644 index 0000000..5435418 --- /dev/null +++ b/addons/dialogic/Example Assets/History/HistoryRow.gd @@ -0,0 +1,96 @@ +tool +extends PanelContainer + +export(NodePath) var Audio_Button_Path = @"HBoxContainer/PlayAudioButton" +export(NodePath) var Text_Label_Path = @"HBoxContainer/RichTextLabel" + +var audioPath = '' +var AudioButton +var TextLabel +onready var TextContainer = $HBoxContainer +onready var ColorRectElement = $ColorRect +onready var TextureRectElement = $TextureRect + +""" + Example of a HistoryRow. Every time dialog is logged, a new row is created. + You can extend this class to customize the logging experience as you see fit. + + This class can be edited or replaced as long as add_history is implemented +""" + +class_name HistoryRow + +func _ready(): + TextLabel = get_node(Text_Label_Path) + AudioButton = get_node(Audio_Button_Path) + + assert(TextLabel is RichTextLabel, 'Text_Label must be a rich text label.') + assert(AudioButton is Button, 'Audio_Button must be a button.') + + +func add_history(historyString, newAudio=''): + TextLabel.append_bbcode(historyString) + audioPath = newAudio + if newAudio != '': + AudioButton.disabled = false + AudioButton.icon = load("res://addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg") + AudioButton.flat = false + else: + AudioButton.disabled = true + #AudioButton.icon = load("res://addons/dialogic/Images/Event Icons/Main Icons/text-event.svg") + AudioButton.focus_mode = FOCUS_NONE + + +# Load Theme is called by +func load_theme(theme: ConfigFile): + # Text + var theme_font = DialogicUtil.path_fixer_load(theme.get_value('text', 'font', 'res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres')) + TextLabel.set('custom_fonts/normal_font', theme_font) + TextLabel.set('custom_fonts/bold_font', DialogicUtil.path_fixer_load(theme.get_value('text', 'bold_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres'))) + TextLabel.set('custom_fonts/italics_font', DialogicUtil.path_fixer_load(theme.get_value('text', 'italic_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres'))) + #name_label.set('custom_fonts/font', DialogicUtil.path_fixer_load(theme.get_value('name', 'font', 'res://addons/dialogic/Example Assets/Fonts/NameFont.tres'))) + + # setting the vertical alignment + var alignment = theme.get_value('text', 'alignment',0) + if alignment <= 2: # top + TextContainer.alignment = BoxContainer.ALIGN_BEGIN + elif alignment <= 5: # center + TextContainer.alignment = BoxContainer.ALIGN_CENTER + elif alignment <= 8: # bottom + TextContainer.alignment = BoxContainer.ALIGN_END + + var text_color = Color(theme.get_value('text', 'color', '#ffffffff')) + TextLabel.set('custom_colors/default_color', text_color) + #name_label.set('custom_colors/font_color', text_color) + + TextLabel.set('custom_colors/font_color_shadow', Color('#00ffffff')) + #name_label.set('custom_colors/font_color_shadow', Color('#00ffffff')) + + if theme.get_value('text', 'shadow', false): + var text_shadow_color = Color(theme.get_value('text', 'shadow_color', '#9e000000')) + TextLabel.set('custom_colors/font_color_shadow', text_shadow_color) + + var shadow_offset = theme.get_value('text', 'shadow_offset', Vector2(2,2)) + TextLabel.set('custom_constants/shadow_offset_x', shadow_offset.x) + TextLabel.set('custom_constants/shadow_offset_y', shadow_offset.y) + + # Margin + var text_margin = theme.get_value('text', 'margin', Vector2(20, 10)) + TextContainer.set('margin_left', text_margin.x) + TextContainer.set('margin_right', text_margin.x * -1) + TextContainer.set('margin_top', text_margin.y) + TextContainer.set('margin_bottom', text_margin.y * -1) + + # Backgrounds + TextureRectElement.texture = DialogicUtil.path_fixer_load(theme.get_value('background','image', "res://addons/dialogic/Example Assets/backgrounds/background-2.png")) + ColorRectElement.color = Color(theme.get_value('background','color', "#ff000000")) + + if theme.get_value('background', 'modulation', false): + TextureRectElement.modulate = Color(theme.get_value('background', 'modulation_color', '#ffffffff')) + else: + TextureRectElement.modulate = Color('#ffffffff') + + ColorRectElement.visible = theme.get_value('background', 'use_color', false) + TextureRectElement.visible = theme.get_value('background', 'use_image', true) + + diff --git a/addons/dialogic/Example Assets/History/HistoryRow.tscn b/addons/dialogic/Example Assets/History/HistoryRow.tscn new file mode 100644 index 0000000..e81c835 --- /dev/null +++ b/addons/dialogic/Example Assets/History/HistoryRow.tscn @@ -0,0 +1,74 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/History/HistoryRow.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Example Assets/backgrounds/background-2.png" type="Texture" id=2] + +[node name="HistoryRow" type="PanelContainer"] +self_modulate = Color( 1, 1, 1, 0 ) +rect_min_size = Vector2( 0, 28 ) +size_flags_horizontal = 3 +size_flags_vertical = 0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="."] +visible = false +margin_left = 7.0 +margin_top = 7.0 +margin_right = 51.0 +margin_bottom = 43.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="."] +margin_left = 7.0 +margin_top = 7.0 +margin_right = 51.0 +margin_bottom = 43.0 +texture = ExtResource( 2 ) +expand = true +stretch_mode = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +margin_left = 7.0 +margin_top = 7.0 +margin_right = 51.0 +margin_bottom = 43.0 +size_flags_horizontal = 11 +size_flags_vertical = 3 +custom_constants/separation = 8 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PlayAudioButton" type="Button" parent="HBoxContainer"] +margin_right = 36.0 +margin_bottom = 36.0 +rect_min_size = Vector2( 36, 36 ) +size_flags_horizontal = 4 +size_flags_vertical = 4 +flat = true +expand_icon = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RichTextLabel" type="RichTextLabel" parent="HBoxContainer"] +margin_left = 44.0 +margin_right = 44.0 +margin_bottom = 36.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +bbcode_enabled = true +meta_underlined = false +fit_content_height = true +scroll_active = false +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Example Assets/Sound Effects/Beep.wav b/addons/dialogic/Example Assets/Sound Effects/Beep.wav new file mode 100644 index 0000000000000000000000000000000000000000..f97cfa58fd62a8c09d266ba73ef929f92679d16f GIT binary patch literal 22092 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 PLSxZ7(BzoPmeT(RF(4jz literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav.import b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav.import new file mode 100644 index 0000000..1e22e05 --- /dev/null +++ b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav.import @@ -0,0 +1,23 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/typing1.wav-9ff6b271ce4f3eefe1bc32564dd3460c.sample" + +[deps] + +source_file="res://addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav" +dest_files=[ "res://.import/typing1.wav-9ff6b271ce4f3eefe1bc32564dd3460c.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing2.wav b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing2.wav new file mode 100644 index 0000000000000000000000000000000000000000..aff48fab775e1ccd46bf3921cd802cb111ff5f2e GIT binary patch literal 21932 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 fci=Nst5d#}CLZB<&7JlhW`sprWuTFU`yIYk6Lt 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 OReLI8XmzS%VEX^4+VRZ* literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav.import b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav.import new file mode 100644 index 0000000..6d6600d --- /dev/null +++ b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav.import @@ -0,0 +1,23 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/typing3.wav-c205224330b70994289dbb4ca48b4277.sample" + +[deps] + +source_file="res://addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav" +dest_files=[ "res://.import/typing3.wav-c205224330b70994289dbb4ca48b4277.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing4.wav b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing4.wav new file mode 100644 index 0000000000000000000000000000000000000000..071ba816540e1cb9c1e64ba7f5329d4768175eb3 GIT binary patch literal 23404 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav.import b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav.import new file mode 100644 index 0000000..d595cc9 --- /dev/null +++ b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav.import @@ -0,0 +1,23 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/typing5.wav-18d3a5e3d0af1e07d53b8606cfa86aa3.sample" + +[deps] + +source_file="res://addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav" +dest_files=[ "res://.import/typing5.wav-18d3a5e3d0af1e07d53b8606cfa86aa3.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres b/addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres new file mode 100644 index 0000000..7fac3de --- /dev/null +++ b/addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres @@ -0,0 +1,12 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +bg_color = Color( 0.160784, 0.160784, 0.160784, 1 ) +corner_radius_top_left = 2 +corner_radius_top_right = 2 +corner_radius_bottom_right = 2 +corner_radius_bottom_left = 2 +expand_margin_left = 5.0 +expand_margin_right = 5.0 +expand_margin_top = 5.0 +expand_margin_bottom = 5.0 diff --git a/addons/dialogic/Example Assets/backgrounds/background-1.png b/addons/dialogic/Example Assets/backgrounds/background-1.png new file mode 100644 index 0000000000000000000000000000000000000000..34fd2322a35785b03bccfccd2001c348f09f9165 GIT binary patch literal 43364 zcmY(q2UJs8)HZAxMMXhJ0TCf83P>G5=@3yNIv|LJUPeQc0FhopMiC1w6a|qcO;Adt zBuELd3?$S@OMnO&fzU!g0!aud_Yd>F-@m?ZEm)U(V1={K-R0TOe(sB#c925{P8`^= zW5=QE*RI~$vE#Sg9XobP?At3|IqFn-P<+|{@S025jvbOmx4(DpcvEm(ytp&$7Uc4d zx`C66;+x<6EN@uu*iny?6x`dhV@DP5`c=z2(L0xMHdz<@a};MY4JAGw4%l~b_uY%X z>Ak(O`^oo|fbVaUbRV};&K9X$J#E=$`?RO#$@K-{-VeT)`gip2h|s-__#&q|go4vL zINy|~y^H$X8B+q~`}_nRw6pt1F{Gg4w@oi3w;4Gz|I;wXhj-NGJRU0&@M02RFhb;1 zuUlJt-TX`hh`N4W7`w$`Gx3)k-A&JWQDl}}u%H)O6~&7d|EyHOy^&;!ZH?bXlq74q`V-n-K;AlH;Fq}Ic@*R3UqTRyn*95!&+X>V0qBS((0FT?%$*N?V$HC18<6Y-- zbSAlKkY0mEM+c-sekzE^4IS11b4mha!(-pbnIlNTxkwX%Cv+1hSDEFEwC1P2U$h=~gPe$HtH$Ik~Ua zVAU5+_n&-zxKzO>^5jiBPcKcEE}&1sXHIU%YAa_?ckmV%;AUs76g&Vqwg<-f{zy+{ z9tjsx?Q-MeVF>TJ&aIEhb0^1ttlNL)AMSrF(0Qjh^S`FiU}8f7+d#3Y+&Y+7#&Y!< zP}TnwvgTE1-}0_8=DOQ?FWP~tIi^86Xo3N4iiJ_cXf=tGdR=+(Mf=IliWuZoyGG_}<~P5ukiJ0~3$c$S3V=_?SNDiF z+I&fbbWi2(;@OMbP5~&w=JOcy-*49ehqmCsliCO2NKx7SnZw_z{)n+srur%d)?PlU zeU=?rlz#X561_}kGCdGJUm+Mo0dSsl0s{<;;y-M0$K$B=8xml9syXLB^FQNJuQ2vowKs9bLfT)sdtp6O&=}1z_<>t zB!dcfyR$FAH2**bVb8hQ;hz0;zeOk#T3|c4kMZ&uba^K3hvwA$(_@qWfWoqY=dU3l z2D$V6zs55ZX53dg(61>j#oL<$ddqUSsF-83fU(ys@TH1wen|v51(0}W0I^-GJ6Yhb zQPV(u#7e(YP_~s^SmlVx#3a+^&gYfV12JA`f7HR8A+Vi`?X|XBWILoOur~9Ic*A0P z9-mM-_bf7$scs#D@IVUXz`?7FBAr!NxX!95@kEViWT5o1L(p)jjcP!1@)gHNlH<-H z=E6GMZ_F=m2BzZ6J@FY`2dawVYf#e=TNpQd@2n2u8VP*|<0hQwm_{}bKY zk$^#?dytdO8k;(V&oFrG%>(q<%Ix%Kf=jP-r0>Gn!( zFw)O)s%_)`#zVS46YtfWT4u7kp9Or95(hvW77{UabQTCvWC3deh)4_UBo1Juo(c@l zVuN33&5!ssJdSR;oINt!I!16lJH&C7;Ei|ektPDaNB|j~5XQsNgiJ55TskmyHeyHf z%$ej1cSWorxrFdI)0~f5tViK|>>$mbW=Jj_Iu#Y)*OM{eCwO?~EJuB1y`N+~#|Y~| zcS6^qfC{rST+#s+kY_3Kk}np3EJa{_BA_vo4JZ=)BEeRsqC(+2uiy_&M{sTgGvst1whl$fF;&b~$6 zpMS?RxO2vZ8SxNP)Z8)qI>zM9VTFz9T9d3_Cb3p{l zM9-9n$Zv#;0+Q_an?L--?x`3Xx^XjKwq#ch9fCa#hPilvT8%0YjL7iRhz~`R+MuLi zkto^&7js1_Yc&Ym88nd)^~O&c()ClhD@TA=nnm(BrvP-?dfp{bE?k-gOc)jK z7cag%eDQc0&Z!E?r5J>#E!RBGc8YE|a3hM^@J3X#Yw#)4ib@<O@}gW&WnNQehi62+giLgehgDI0qPF@2{KT{6mm?3ZT$rmwJTTR$iwfqe zAHG|Mzk!xAIq}Tzi~ba`crB4$_A9Sz7d`d@0Ac6DswH^95Aoscp*V^Uu0{N$CF^RH zW`VFo0a$w0MlLE6M|MoHVoZQbMk6;mS4SF>Z#bqSGUu2=YoEo55BbbioL|62q1&Ev zQM++Yy=(p`1@rP}2+_bA9r~{;#O)cwzD>I@Fj4!1ce3e(YCs%Adm}0Q2I#|KAFaKG z)laRI7<hB~{=+|k!eCwwa+q@29yT1yZ14Ig>|OUE zLgvQ_o+gHdG#}>u++PUy&Ih!JfFlQ1`vT^LQt#_OH+6eDtW_2AS1mt;GOC2v6+DQU z4dxf!&klt=T-F7bS0kKSoT9TRK}W`p%1*X(_uRR~xhqGnMO* zS*uYY%)~-M6|@semrPY<*9t1o0aWT@#04xH`^K>L##Ekn42hxHW7vPYkK8CVCi8=Fx z(9@vMM@!DGQ?yeP_aVaZ?lL*<1TWJ{@23mB;c~-8d~`^+S%7V!!kL-@7sfTy_fCZR zRX?x=^IgN|j#6XBd}VH&FbCRv(C{=O%(LWV+7)&+qFZ;A^+scbpto^%#d>-E!zH3| zW=xr&-2O#Ke3xJYKT8yqvM2cp@D+c>bm+ypsKR1Tl!>-$+k%&x_(X~Y@RkJu5hx8k zz1?%*7c&8|C!pzmJkaTB{77}s_;IH-eAP5@1v*=h`)n?`gX~^6IRtCxx+NR_<3Cja zzhgf!(wrMQQ?KEHC$KNdzCH15nQsNo0Y@YNa8X5s*I{8}lG`IIY1d)5y)Mj$$Yp9R zc45$PS%G#i+?2&=MoAv(O?EcgbH=qPHk946w{>T?!N$(NgTGH5>0IB?Yk@r35Jb=X zdM$3P*MO?RS8*4V^k?Y(!W#QpuacQ-EgXc3^oXh=c!rQ7*Y9AC3db3V zP4POw1LsSK!HROr0IdNXoA*P@qZ~PsE-3EZM!=cw^YC#eob5`E_7FILdw0`otw>P( zs1lu@QTMWw+2LWziEUL}oI*=(akr@r5_`t^a(?U92IOUa~q0O}Bw+I&L3IUz< zp1lV4e&Ag$Ur^n5uK~>1kt=Iv#S14rY(PZ={@KdqQDyzp&-?Rz&Oem&z?*9ym7A>D zY7ei$IyXWeZpbCN@ZT^7LvRz?^Q1Su?lsDW+>pAI#^8Vio|#{$*}x-R!b0v&4bOrr zG%nO4wB@XpBv0D>7>h=s=>1nJ{bpvDiO6{7qS9`j7hP=n>LP5saSb0jwvH%Qd=W9Y zm$yI)YE$W5`1_253$!poQw}Xs$cr8?0HhWH-V(zgG1FL$fX5oOZN0SsY_$=sbgL@*-+$ z#92GXD9Nj`z#JP9UWbST%>q&^P@;e<>?al-`M+*7kqQBJ9V_mS9<+0U+P`Krp$&w{D5lB@L>aFZA?&f0}${g7DVucOAA;T?)gE@wSYN z{!T)=C8^mv&Opw7`tYmi^amACr;J5c{*^j)(Bh~{jAGh18N+pruG#)!s{|$K5kKQ8 zYQ0Pe0z}?C-Bx2uc6qdG^tOcl%=8UHpf^%z;L z{^kzPa;x=WPFZ1oK<|L=rq@qRbQQ?HzVZqmOhG)VLIPPYZ7$%jA2YPGdcS6ID2tC2 z6643Q>H0m>XO6Lw1pdn@AGl?5%@U}<6PZO3Pz&zPasEidzRh<};G*dG+&^@9y^j+1 zx6NPaN`Dw`W)6(E;QyRISQme5!6^56xrL+ zzI`dv7GH`x{bum)M`MH7^ZlM>ywBXH0g2J|1g$9kgf>4t!#mTs-NbUV3uI0zMgzU2XN9`}O-Pxuw@~WSvj&EH4 zo-p_r3#F#0w=TvAvoBel4bL8~%AQ+16Y3j0HU!)?EX>P)xKXmgE951eQigQ+EteXz z1Q0_Hu=HtPWXZ2&OjAIb>UDxKDN<@smSJ2o@N?v>!w%Q0H zB5Y-zo@hv(@&BA6A?}V?7aoiV-ug^i05odQ-arqb_|GEr6CmM~<>X3)U9Ld!6+S7ADAz z5wq#wsX>9C6XNh#Z5H;WG{9#!5hN5ulj)+}&RT&KJURiEAfgPYy29Zuqc-S`1L4j~6* zPyr`9M(W&IkT6YnndMn&6!dAL6L zWmh+_?4>X^;B%?VpMr2NL}G$k&<_*JJIVnjA=14Hy0{pA_T5RFDmy^^H=))mjGoA0veOIXIx+%k0P%S*EFR%aSYE zgZHQYNcg0c(L|JJeRN9L`W9pB$;h`Jg&P)jZlnc9fXdyorPzCTxsW{Y3H+K$eU?*bK{mKBQ$We4Y=y zc3(svO{%E!7$A(PNO(mZqwT{ey?KZa8oBaZwuFpPAvKJi#RRuL?^A==$W9)2|hd#Rrss* zVT3{!%=FNEG{X7h%OFQhlJ!K%=3tA&1?*Y70h#FmZr%{Z+vI01a!>X|1UP_&Z*o$8B0)U3UD-lF@ zEyaR13j?=tiI;v>K=9x9mzIokNIST?De`T|f<{cYu0pZB66NocmBOyJT?4PaNH6Kf z8eYPT@|wo9(kbw9aC^ruiASCc@+acS_LkumSDvdG=hL4e?))rL7n%(q(i?RCw*(7~ z#Lf*Ihx8JG*TC;nxJz3j+n*w}WH{&IV7w_H^&wLzVGzPX1VwvA%Gg5EUnj9<&aX4a zWE9Ogzp6MY-AY(IE_}^x8?P}i-fKeWz@eH2IJ}TnJNi+$FUdzhHX1h|Ub=UlMFT~( z1nPo1SkA_Y z&>Y|QnE^L|2u@?m(@mc4WobZ38~s@&9NVdJb~*njeR(l%9l8iJexoyDaFjYzYB)z8 z6I+GfNE-0t`*!~q&2Ayv`JB-cj{#2>tNDq?9i+~yh|_>@Y{4X3S=`nGxCEu2!1D3U zp!(ofiv}_0sZ9wqa(Gi(U}O5V%0g7=2nQ+*L8WvEYnM2jwv&kb0vGqosBb}Ivk{Nw z%0B)^{ih`%H+useq~0WDVa<%IK>t1c@<|RmX0!EHdT^gU@yE4B!wq?_2~g|cTLb$! zOc`U`tkkH{`1*KXn#I@5wGSqG&r~s}{H+&$7#6`bm!R#rKH=)m0wo?^8qQ`6@(H=c;Q~ z(1hI<&Lg*@wx{}_TtQ9g?eP>F>Z#`9TU(5J=R54kn7BuVL$xM1nmu|I9foo(axF06 zAXIw41erTfVG+>iorj%BnDt%v_qMp2z8Ry_*M(>jIplM@;^vIjON4z;!(nM}8fIL*zCQ2Y%-R_v$GBMc%$bkojp zjmSc=81&F1D+Je_R?){=d`4xGeuegIVoveHE?BEPGk4S;SUzs1z6#kK*vik78xaw8 zjdwM5M5Hgoev9LZxjQjm(hlBE%uI;T^%Q^*Gg9JtO6OTI5<5go1LD@KxN*2*2A=6N z*!4nvdLx0r7+OrXDmk~IK}}XaSg8u)TQ zt#{Kb_84IpvsJ)Op>RzeUP{lsNIOy*(`@u{{*s9FA6K&N+8rw5B+bIN7jhxnu%mfv zZFCdQucK)@(TSBpBTsN$bq19I#dpL-g}V;=d8D*Fb!x1-n2_>gL4l6>TNmD`2~&je z`e`)46cD;bu>yDFbOz{kO@-v#=;m%1>f7BmySn8Nx1Fts{N)|23ey+x@~T?ZQ$vG6 zRg-S3oV4ich(Aud%&BCq-6qw>w_|PXWL?^SnDOO_?ExU)ph5O{eKA{ihWZArYz%UN zWs=HTAzeohhu>Z-eo+$P7YaTg-ghzkhKL(i zWT%mL1bP~IOs+SqHQ%mxYC_gL2B?I4XPP2-%?Q@=I+b)seQIQ z7Q0>@p=o!=ZFczbT%zl|7C)J+l$&HDa)#T8yJcW-L9!;Re_K|7L6p) zEnWgGUKMaB8bjE;z2?47YhDAr2Mr8|B0Zq#(A2hst`L8dM9lY0kIb-OdP8$=!&gO@ zNV6wPm7NPw)|UCm%_yL!)@sG#tLbak`bExdYx$wt2D0PJsa^Ei+n*MmTuZsX6v?av zUE*7x(#b5mF+oL2UcQSC8&>(A(|!0>r6=Q>b(bF@*KkdP!e_(Y-Zt=z<9m;F+_Mdd75C>R= zc^Wo$B5tH!M}*yWvw)P}vKP&mwTH=5dhZfcf%@%ER@~5{ZxNC2SLv#VSe`#pc58ZY z%NHzb6P|f~rn1Nln==*pkxCvw1z%xd8>`^Mk?(58Xvdy0-v}JtCscluiR)uD-`_tp z%sRx}Gg0w&*AaE=lE)cNH7DpP87St2?}o$Mbf;@yw>tNHxb!D4Zg;17R_|S5_tp!6 z+f4igRAZ|n{$_;WV7q&I`il_?uV~)046u*)*FFr*-Us;``=0D-S2? z#af*paw&CrS9Z>1iVYk0rvi3nQ|VlYXV>I)mcp3qO*Plwlg^!|qO3ent3gA|B6HSV zi8_irQ;&jhvqPQQ_xOLmo-=;RJU@fL|2@lKgf0FlSLbc2eysb{G%jK+NvhTJzxonKzOfhHv(AK=J5Hk{5TPA5k+&eF`YTXd}al%1K4bE?U{VT2?0>F`j+F9v)mwl1s1vo~4K?9{D~JAQLix zR-3!=ylFj@9s9hnX5nfjFe9S0#wOZ!&uTRXiL0k#F<+VlJBr|qTOl_fb z=1*;}Ug6p&{`2F!h&5o127t&Xypb2`CSP+wAs)++A8(|!bP_!qwXA3lGvVW>nf6jy z1y^`ldncZaVD{;GQiF0dhh^_6tlzs&^R8m5pIj3X=IRfW<`{_`*q62*jyzG#SL#!7c3Z_0? zb-q*aF~Qk8yrQqc^4ERm*WHavpcmO|LjOKa1i82?6^NNMPfT5@J5LtgDUOm}y$IJ2 z37j;a(f_{wv)|r2SA2}<(Mf&c!pfUj;2;s{RxBWhF8qgeaH#^k)GTns3=F_PtD#Ui znJM`v-acbO=xUAntPi8an-P~ z;@|*Vs*>#4=W%6f1>}BB-M56;$USf~^0dale)?qhuHWxuo9O8DvalcD*yWE*8B`lC z)Y&Z9^aO*BRiC--^7-o>b}R$DO;2$}h4pvJOaX^SaOt z#3}HkL#sN7$fL7hvO;(_vg(RRZp=^ver(&jR>e@1`$>#JhUOdu&1CRnchrf7h4PeZ zo+Z~UMC8y7S>HxVOKhiFo}_wYnnf_681IT0K{Pxhy_ZerTH@v($mRy@xbr!ag7{cr zN>Q&GJ1c23f!eqy_f+=y73wJuc_%)B+3E6x&e)yd;>JJx1< zu(1}}M&8d@3fE7etBZoOTeyZ#WYTxXuH2b>BHO5PZCLAF5qYqFtA044E7G{50p%ax z+z~K@LR=OuvCE4S%rAhnPzi-;qe13MGlDeO4zwjK%^8OA(qa5Xn-D1AQb(z^4^tVN zCDRR_%4FvSV}GmxIzlQ(Nu2eaz}Ha!RX>&&cDw6XX)_c%!$PhA87xAzygF^b(y4zx z@_6NS#>kbhWT*|)`&sA+w`eKMgMclKG#q!gjQ>1y#wtP(5vXGaMklWVvmn7}gsR9+ z#PqNl{b)DMtkf(E{9^Tf4QJCpyfea17%|Y3IGfuMJ3e%XTpApH4ZW2WxfO4zv0+f~ zH2!>D;hwAMeo0nEE+D@xK5^}<;fI1i@~TWLL|CHGC66bWRg$E{A;@2VilFtscvm-9dXO7(62MEfW&E@@Y0QB?LCiD^E|trF({UuC8+^rYjwX)GY6l2 zeHCV&0wJ6QNaNW6LEORW5|Il3CA(s-y$IB-D%M1a>;$XK@SX3OzDr78d)lx!mG}|n zG}v#9l9QOf30$*v__A2D5LQs z*>3Ke%{(+s%T-@Z`n}Hf@C1%=F=j+hJQWa(or?cAnQy%j=-k`}9mQ!tPKWs%qKNu{ z`y}f~Lcy~e*jm-LYu82r4CTofYLt9%F6$6gIUpx3=Yhv!9JQq!de?=?7a9Fnz!%|5FQ+9rL}?zs*QU3b zv*d8EyCD;+mafgZ%A9mqzB7~(;9JwAscx%i>2%oiC$*OuIOW9UX$k^DrsmYm?tAq8 zGxb;6i&29aWLJU*<$Rs@9Lszi42x2c;uY`a(FjwQM0{R*?qr_PEK+I~35wgzTb*C` zjP#rS&j7^oAy6lBGT|H$A#!cTGCUlH>I!YzhLCx3zp4=~yp>kCMbZuMUh+z*$c>tD z1JpLEZ#HS3s+8j4m;!N3UE*6wE`{hyUQps$Q>)%4#!Dp?bt3DVDbF}F^C4g~;5H$K zsi9hu3uWfk*Jzj19=!K&Ss7L%@gCIY4md828od0L)xNqQ@(Ic;tjNtg&5N8wh7okH z&Oq571TvyfQGd2K*y}*DF3VUB!j)Se$yY$pI40j2cL`ipbIV;GxQh@HA|<~NkvW=F%BRYZ^2Yq!}qfRKT8p+ z;WZ&8lO!V`ARBGWk9mm#lPU)Z`72Z)BS`1U%!B@xR~iE`CnYWfCwQEhahm@-J|gTF zNi?`x(=g2ci-YXzhSZR>Ec3_A}EpbSXKVeee|<&-);>2|3E%5 z_N)8$NxAa#q(SVn%=Q5bZ9j8$Kl5FNOBcOZ^%#+}3I3Lag#iW0&rcl&5BP$upKSya zn&D~LsPEkzesgEc=ylD;YN+R{hpD+bV{gA^(e34`Gp25ps(aK)%eK!E$&WEUhl5TR zOa|nQQrtv0Eiggf20KcfbMRIDJwJ&#{U=oQJ@aCQ67(;H{XNk@O#hY{F-MO*TSPa_ zBK=cm)EF7jr@^}zi-hCY>PxWW9!&IxR#65 z@`D~+j$s9d`xC*>>-!=sW%@5C6NfvW>43ITB8N`t%mSMm=&WJ{_s*u9CpZJsd}V$%Q~i% zcjXdHW%|(w=I=Qb)`RZy0zq>`qrt6hL_?1`=EQKl6n0eH>D;mtQCnRU-fs^>SZ2x9 z5n69sUc|fVomT~dCTr40&H;E?pf&~u9(pJA2NQK%b4R6nhTll`f*PzMtH$(ASN9FN z9w+twfo+}v0|b0y>C;?#h11opIrjA4+HUr|vq}UZ>9(zx|IN0Yx*hwa6lWe`sY`5` zyYXVDAY>vJPw$(C{Vh;^zAEZmStwD`#Z3k3`vX&N zYC?_C!VyDn6x&vD-fhOS_Q1=oKp9)vtPGty#KENVwG3W!sM7SyLA>ChC8BYf;jGp{ zNuSU>Lxg$Mu!zvkE1lY;=6MOaFZ=q|6;YJz{=a5@qZ06X&qE6t&yw5$hX^1$$jjDO z>TLcCC9=c8c6H4%XlBEWYIcyu z#%&+W`;HxLaF|IIGq|npePploiuMv4f#dxCP;rK7HC2IfV>e^@yI)qdI;H%Plm7JX z!xPjBdmD?Q{5{H$DVbNvLSlhfJX2r3F!F(WKn_uekA6kK{#aOYZl9IR`IG^u;t%!=x{>zx48JBfgJD%C?KV zDcFdWG<3RdwJP1S&$ezBoDLh`gw<2l25OCp;P8Iut-K#)7@0Ib-*#L9<PnkCAGf z7%E$yAFBVVzkkZv)PbYr>YU^`$oFHc}*X zR-4I|PE?m)TiG5|a*S`S)%x48`oP+PQg<$+Q!vP6pXha{=}ax*mj+pbI*BD17v_n` z^v?c6i%A!Yr#C8B+$SQ>27O}QQb%M~AzK{d#&en;FlXv2;y#{hhV7Sq_IvhQpUJ;v zsGicP>4rV`eNXcdZLX)E>+G(3@OZQ16tI7qFJ{Z0ucr9TBPTl>>CRzn1N}wCYq8I= zIBxVz#R=S5cKXU+Ly_c_ii9XJx8Kx^DTGWEH;3&XZzu0c$6TvX&%67N<)u!Q^Q8OO zk7uK_VmMnNpFX5)y;?-~$$9j?9>jW#2N(9jdc9PX0)|QWrFjd#Ia03zrm!;=JdV~7 zxI|8wMK>(RzBg#l88d)P7F8@%p5#Xx zq6%x~G-no%w@O#kTmiyqhrN|@}~8}!|1qw^x8`qsr+Cvd4Kz#Nva6xY}UCRL7DdL4Svku#K7bUS8a z0JRjubAf$N#3YBqg;%-9{t*Y4 zfN}~5+Fn!!2=3eL*La+8J*v6EMqnk-w}0Vfew};2bXZ@>HhrAuN>`{a4!J$`M-~LsPt1gX;=qx(bvAg2{oQQn1%xVABsNbZi}ul$tE) zh~Okl9(o%!+53TX>*Lha6kg3;$HM$O4&5>A!GED>LweQtNHnwHGsd>$u za9sK8a%(m3cestkisuQhsUX}4HQ|9F3%`2ncM4&}|Ee&9;M5v9`ed3ANw)(dli7phZib2eJhgiFMNnGCbEqotd1j-mLA`0w$ zE}?)Vglt_ERdkRst4Ge!HI9DUm0UvaK&*(cg$#^8r&X4+p7R zPTbwyH<2~#L~vG|kRoiDb3rAhm#vd#53>~(PkF#=@8GIXIY{2VDlEHecN!|Uxbym? zgbl$}d2sAh+yyuhf6;(^e0yAJi_etep(2QY1EjY>R~&8lp8saNs(`*2;Vz8%PZrUU zzIC{k0M-)8vrUWUL1Ik~G|yn!el2)p_qq&yGEh*@jdy`Q`+LiEs>5Q1j5U{S?#Axj z&|4KMTJ?YOq;NRHCSyubjqKUd5$r9`8P~1CA2BC`zk6&wvVznaVtIzX<)-VWAOAJ^ z@6>LPJijdwY9DwCz^fW@{@Kd{;vWD1x9h}X&YFsMW|z@?1DBD^R`wm)On#&w`p46) zg{jv2ac9w@S83lh9L&ToyBG9ZDkviTl+k22D zn#70M(9G=V&gAfo$V(5NvDl|ZIYFT_F=Rq&T9OM$WOT1k?J0NXsh~225+(ay;MI&T zZ=$-TKE2O|Z*it~PV02o%NU4-rk7`dnp|4dQ-20!kzi*o4l_pnEJ_O)u3Ly#l zx~^>_qk6LtC*cMrcR2DY*fIFUy>>~?nJ zzIV9wc-Dz4XM0m&FH_8)Ns2LewBMq0h#qlDxdG(tFTi0gFeK)!MR67wZ63;J7M}|l zcq#x(vG8!xLaH8XTR3J%A)n8EBv_^Do0Kibt&1s_cv(*=#JwRmLrJrxFnJwU9se6& zbTy607Sbu_3G2GePaW!%N}~dB0bi<`df}w+xYwAfFV-rHN3JeiZMoKRvD|Y(a3Xk%8HaNX{qTxRJFNxc5 zN_gqclYxXXO^eq-oi%11OHcF8hR;- z?2#TZ*fQ#9^{JNfUT<7GV#$zjH!r@vnbQWGnrxAa<5O@o$S+YaaokY2wb$Y@_c~?O z_OvcPymMi&9~x1kbIOW?h_WsVtFV80 z^~>p>d%g`{3DRe2uq>J5(RpVWGB8$O!P~M5!x_VGA@F`#W&CrES)`6KK%ys3bOU2( zL)0x&gI1CN9OfZLQ!VjgVFQTIo^uet!&;F6_|;XX3c$J20YI>T8=leKH|83-;L7;A zet*(5`6po&X~r2VE{wYVGa~G}ob&XVYnV*ajPUzKI5KRDKR6L!Xj`!P^iy9Bc-8ue zE&J1E2P_k|k;ZzCMV%=mJ{yShRVYvD!$K}tS0S&d2IPJZY3IEc=H8up9_=6%Dyg0P zVDY;Agu#o@`uNfW?|D}gCMPb^q(kJiL&uQmXHZuO>xcW+9f4=mcIv#W#u%_)!)X68 zTr;1Fwufi1w%8k@TuXbx%TQ9fK&MViyyg~r%UZ1E1+=Ep>bnl<=t(rqZPg!V65_iQ zZK0{7{mL3>g!;K6jV6_IQJM$Wd7R5EJ{w@`h~}xIy+cZI)u_+ikg27zFjjrb2e=32 zxAGgW9^m+8F`qj)Z7IqJY#M5dxP<#ee&onIdQRcqA=UqXHnneB_xm21$*0LT8545( z8HE-U&NcL6I`$*Z2sLmBOGF8Y`RS%hEA!03W^>h;S}L4y%Lk6?bVhNJgBx6r->9`Oj`sF@DSZ??u%q@A5tAvcx3~qCt@?4li zy18%c`>`1m(gH`pC`F#ktLSwVoln2clFZ{qv?U}muTq_v#A5E3bwjW%RC*n z2uf)RN-(!D+VN&#Ank-+Kk#v5}td_QH-O53Ix{bZuv zVNE@taR|a{6p+Kru%tcD1^r9ch2v&Z3MTKsb;jei;__RMk9pR(j<_&iP5IN;)6Xbw z(l#4KoQiJfw%1&a|@=d6gme5CKML^jTo-X;uX+#UT4saVEUn zG|^{m#%D{h+jY|S$FH&(Yu$_<*lp*xnHTD0a9dyDHeMNek5&Hv^28tG|i0IfUbAQB~_%mhe`9`@!$| zSXgPOEhfIb>?z6B)N(KyIq_`XZEG}ksIm|2dej9xq1vO`#B?xvpzHdAS@M6<+y9wbF1XK&XX+i|A})3SIDgQ>!J;?`$e~Sw5^4gQxghW|v^Ehh z5^!kWbA5^*^-&v|LmQOjHQ}h?n3iZ=gXdA&watG+Ga}6%3+IMEBr=~ig z&{XWD5&p{_qxVCQV2DgGX-*@v_K#Taf!Pe<$K(mUdOx=Qryi2>5yUC8qXToVgg0AH z^B&2n7@l~x6+)3{l$Bn@>7HJ;*`?PZGunyj>dmH22Hx^`BRY{I&`&lnpg&F^~|jG z`K!3oYR;iu-ur+LJC+|~oPF}ZeRIOXctIM-{Lg3A39zattB6fo%f*8Zjo7K6xpW_1}J&&hwD?!fxRIBksMUn%cg# z;d4~5Aa+2cDM(S8^iD*?s5DV}%aPuZUPDC1LJKH@^d^Y3NPvVM8-!jZF$99rA%qBo zmXPG#oO|z2?-<`V#{1vP$Y2u!d#t_ZTyyO;=kq+XHzzU%ff8p!b=D@~6+o!bAlhK8 zh%eb~!aG##D1L^WL#dps@a=*@;JaJXOXPu%FyEIp3}&PMJKy9`YA*&T2#eA zsdKYCPRTD*lrO6q$QQnxH(Uh*W>wd(v8r1_Yk%XFPHXC4^?Y1ieEe@iH=bX21ceM? zltL9WF5!#YoFo0Evrv*93bs({vGK`~nm~MZ6WcSIbv$#j(pM(~{NC9C-;f8Yzb6$3$IMxltkCL_be#4X{V|y)ypgbgg43)VZy=x2bKGv!lD;xy8n^QM`7_ z1BC12oH$Wu>a8;y2ySoCsL%hGXs@y z-kBUDD5O^B=3*D8vXz-FvV_>IaPA4jBim8m4QI&skB&;Xl|%kxYU~MOJ&Z&#_K?LG7pxFO0+--#V)@AOhNr8VA@T znl=*Y%UBBiIBS-T^n2kyiL>Op&$xuXW~MWlT>n6MiO)kGQSV?JSSMR#yuj0JOh4z^ z)4JZtJ8|dYapg-VZr#W|CE8SY-X&P~6d`+ika6-O3{}a&^miEN`-Mf<(0H({K1VQNw{(u49Un^gbV9 zB~6hRO3t1H>-8Oyb86C7XG?OmK-CsWLwA32HAZ?mVoRcxOPRb!vHh3hV8|L^h_RuQ zd*v|pv>x!w0ptyMHDAStw2fjsId$x7N>o?-^)=fwFTYnSc^^(Pc*Vyje>1=>V0lJ< zq`~X&&C^ckDBnP>H=N~`$!$!*@_q{uzf{D6zA-yI@Qi%-CCx~bl$FC_cxM*nRR%__ z!%=Q1$pHJ|pL+MX3)5IH@Qwji;z20PcCwQEa}(?4_f;7h~!CR{|FZpcwC z%P2Qt#hA*_G{`rIDevs*q}AT6?&N1-d$m)55Mw((ME|BBV@=77=-dVfAu(n!9h)>$ zBZmw;ZDbMRfrp zO3&J!A@)6JOnS#7_O=dU#Io5ZAvohj=2fzsz64Q()Lj;2&#`NzD= z-qPRmHTi%ehqi54wKFIun?_NPhdpg9(aD`Y+n2rdw{YVL4|tpp(LO_1LSAQ2v#q;6~O5Yio4J?NT?C8dKSQdAstDsbw%JwKWkU)Qx3V zQ)j>A_Ka{Y!wZ4;cViVryW_8RgdOm{D#)aNpGQuJ56R zhvrVCz$DtxKZXwGsI=h@mPzQFN=5Zl&k8`VEbIo`pBc&0;wEQs67ugJ+5ONtZe8y% zC-GdjGbQiaiw>1@&cT%SO?qsD7j)1SdV_gQLo{>L|EmTyL*TvlY%DG@Io7FT7t0<# zPgL5=v{h9wZ)k|7u$}YFk^v*_g{^-NjBrj?6#3($lDVqBLpbeG)!;n68!*Fx1lSo8 z^Iga5aEIH`kCU#vC*AMy4GkRX3zKvYNNtR@4)niomFkD=yy&mJ;3fcl9-(k2FEhK! z58qf|U!{8_L?P*sbZ)ucNCJ*+1Xa>>2bduH+I*iaZS5cOjqT}bN z`Ul(7@OMF4?v9hKZ_G?cXUUrY|3_hDZ+>J(15Px#r!Vu0?Q8@r8TgpWwiLDqmVFfQ zz@$pJF#BZK7G^q1Nawgz@@56oJo~<}UwxKq8XVe#&Csy^zTU%A?iYZ!Lo&27wA+t% zEj{V%dX2vuRyQE~wA_0qRiVW|c;l9;D{n)_v$pD2!L*JLo}%o7=YZX2?u!gxxSwXK z!^MPXp%&TOS{Tq!i19PSl4>4Cgy|dK-xJSWVm)=L^aEi&?Lm|Eb}l zGt~E0)jr)*wM>w{%cIVR-pkCZtkVOW)iqoDcTBYf8ahbFXF#hy;a|^rhs23fAmy${ zY|GjT!mhX`xK%r9I367j8dh~)weC)VO(-v+VldY6W+At&-~WjE^j<>dmGDOQ1L684 z9#FH?C@O>Cdy-bPjGiK>O5v78|Jap^9%pU~YUZz&c%Kc=7~H|EGLn?rlI7f7q3{@_ zX}FEAG0TY`eRvgpJK}GzM`h<{bmY(e%@Z}Kl#u6J*GYRD(R2>%^Lvx~Nd2ILf9IJu zNCB{0$jPFxy9QMKm-HCQe*g5;>3boileHHSlS?3ZsUfcq0!ch_b=*co?@o8_;GjE>N|1C~B zdhggyQgA4{ky{nK#QEXrshN@xq-p75wD>r7>Q2oq-uU1^W^%CvUiXd+#Sm5H8cmaZ zyd0`X)-kbU$f21xh~xhm=b=a8GA=_MlL|9LHJ#?Rla!llPHw*5Iuhj}-;DL3z8s6M zm0M~A9T$B0-A})X$asmC?TyhzQlD=GQik#;aP!I?=nt6fBU?S?r;s17pE#iR-!JNZ z+Lp$nT_UL*+*y<~>gd{3nljONroQSl)xMlE#Q7%iI3ng=YWVyqlaG(0&v0{>ZM>w) zD54@i);{M=lM5ad5z?}2z4&{eQ<}ZFb1g|%8stu3uQfT2XP&#|ww@R>)f<%>QODmA zxdCqr4U-c(SpD5q+WDlSMXe(yxA=B`PPn6Yp< z@mH(#VM0;}4+eF9^0m&r#~Sw#XN41LF9*Bt!zK4=2hO!4QNcFy{Q2vxA_LU1ZmZqj z!+I1BT5w7trJQQrZ6?fNIOGz1WIsoKtMV=5R~zZ=s0tWg4QHq}>T6}}Ryo)WwrN^o zgiS#e?hJH-@{U^8{Dp%MNAl*7AMMM&Q~z`C4(MqgtS-N>&=fnGx0O*l+Ah?1iF0uY zwOlPuJqbcTuuKn_zZ+sJO6vNznHJUpt%T=Xt%?Lak-3M$S4eB#{heK2`hiq)3%l@_Z5I3wArt z<)FcA{LYWbeDS9Zm_K;}RlhZTH1fU1=PgPM2;=cfxT3p)Hfmk-h}I;}c@FAp#KGH> znnQTEnoLEX3i~j9eQ}0WZUy=Ib$2kba*XQIGUTn_miWrJ#`{Fk^zNwb!&!Iz(5;ls z3g1-t^1Zvm?h>IB$}X+>UGa$Z4@dk?-49q?APx;(HSkvk&$lKspHKK?N#(_)TDhR- z2hpyR_&=QQ>&6>snlWBpG|J!obZZ?pWh!HgX|+CKR= z?pqjcdviE0H`C!dt~&n^&KnloOL*6^NuC-j7}JL~Eyr`qkFnP_O-dK1UdGJG4tMEF zxS1-Fm}lBEn#>IDSRGT+s@|N+6uS2~PW*R>*bcYm$R2wdb}q?O#{kB*qspAyn9B=~ zS4DiwN~DQ2=3aVm;pil9hC;tKTa6eR8kJRfDDt&|Ie!}Q>mA2oRTgJs!_^yq7|8h! zJ9NO$iSV%dWQLArdS!iqeFwKz-o(BQmsp=U1uaj3uHIZj+-7C#A@gAm`IK|Bc}XSn zt;=>DubLKCRm?A3S7^z-XQpubv4Ol#4%DWg_-eNr)hpv0(nMX{W! zh=ei>M0U=O`v|%BO7^!$7oshq2?sSHQbSrVirkOPOO(TGEDTCNPS4)g>CO-`Pl}N~ z$7S@};R95PBr~-epU{5lT$?9!C_HeOa)e1Gkmb?)z4+r@%j8aCK8}s3TG_yWXyguGnB2+# zjPtAW3E$0#5 zuXXEWpEhQpHK;2=emZADM%nJfTE}y(jNj2{N}<#5i6_0SKNItFwz;q#R?(aC9uy8S z=iRBz>xf^jdP8JC4U;o?Ba5?^e^q|VIx=8G-fB6Or%A!Y{%yJM=6Sw10$ex$Gspw0 ztgFpo7mFkd2czD#S}T2UR9pcFAw#H0^zil>+gtPMK@JKQ_T|4s^b*1-E@4+aVGEkh z(-vGO*CNIF^Wk6rxZdI+OqhpC2%Q|jXG#mt<-=U_4^A~elul!mwIdND*)ASCPEe`Nw3?5jQ<$i&G5Jj6%vJ$qdA0&kMf?c zEnTFKuiH$zKH<7Q2F9cw#GpOLM=gGWO42LfEwoQaczmA@tE9rk3bbh%bZu<{vYx=3 zY1K#T_!=pb%<<EQLN z1E#hV&ADDb`9DrNcbb_Csw(7dXiU7$%9Z+ ze?(tNz6*6Zph;G1yD9J;beZ@wkVD3sm_w7z_jI}c;qhHnRS~lfduY)~pd%!`quv8gC|iiz{r-5kB`XUtJV*TT742Pqd-+i@z5O`q}@7 z-NQv(*qjI$zQ<~2L3D&fq6VLHE%Q)Dd5UzhDNU7wmUA|UfMdp{RQq#5nZzGT^+8=> z=B4+ox~j28qo$UMRbVpRYqFu>BK?*yn)uuK53H(p7TvDY!buM%i`ETYyxi@Q|6#bz z5C6$Ipb9SDc_H$p7dO|P%&d+=?9@zX&C&jq>)qd76RZfi*UOfGET8MMhw%2_=lePx z8!FT{2G+_rky4Egy2Ry>{oG3=ay`+?g&4xy@RQRaiUm9jw#;+Y8sslk2nW5^kJ>lH z$f?Y5-SO9e^qtML-;{N$NlLHj{A1aK$Fc;3nUs7&%H54x0rN@+lP1~Lozg_pJAJyy zxkbE#X&!aKvnp#olv$L!72C4!-uNY^u9&nZZMbrGJ+%*$NEAt6+zpUV->@c1l!I(1 z*Mmx({#@-fX!Y=%6|p=Ll4AJ&_5RkvQs99_g+KH7<%dG=&4PDYDAAEG(n3zoEf}`d zY6g;VW-#YfFTcPlT{uU1&C6#;0x3HNyy<@gJe`ysEp3MROSxay1C(N9hz_oYgO?>s zX&t$A^;~ppSvw_Gwd;vIEjdr}dh-)E>A=;X_*E0pXh-{er9p)UujSdhg)!6Gf4CIf zV3Yc5bURRn3gcd7Q>yjR`Ocd9;R4^|2G zoA2&MKS(|DDN4cW31Q3lx1|mQ2xf*!-?EO&BZLWhG7?#4)&U*Zh4jLO8J^Ne5M_Ks zh}8HtDfID>6vN1gil$z?%{iO0D$B%1$o%s7G^uL&SDGw z&!y)0sf+HWx_FS1*nO=79eODuJA5Ctw3X3cGVx=)CzocDFGjs<`%+`!@9VG9-+y1+ zBus!8a*f9u|FnD@y5`H+A!i*=9^X?ns&&^n-gcVKSzK?zJtCbz(UU(ufW-xI3fbGH%qk510iUNLv2 zs|I4hRcgd8kceVK2d7eDCC4=$$KW?VT zL4=fqXwTY-Dz55q~5Pqg3|Rxz|s2 zM61ljq`C45D_QQ8Q2y^&{2W`*S|mv_sH1Y83%O(FYBRUQo2g2^B=w}Xr%mbV#z}pp zji!7)`M9n@P~a@!wV#9Xkr1piW_m64V~zBO4FuG zJEp;lTRJ>%?93k!#~>{oiAQ}?hhOw|hU6@?-ddYAM`23gdFUKj^;?*-v!(0#5vFJU znAKQ?TE-!!ga1w?{m}NPp0hytaTo9Nbc1Pv)!K3sRI5Cx;KE3g>E>E&Xlxx+=ytB6v;Q?`BQW;K9ZlZAjC*vw_y;pH}9rU%N)j9HV^CBs7l1 z*>||F(=$wVa^o+%7jthG6MtFOH(s8q>^IU&`oooit~RGvVwfBGOG=Qx(o-+k*GP(Q z8HXEwr)IwEN!w!BY+s`;D@C8e9k3UP~b9x zo}l^%7xN`Xbd^Ffm-NZ!iF^??<$RC}-!csQ{Ib^$R!?%z=;&rlFfS6#vXrzCZsjSK zM_26s*Hq`#3l2EI_u>XotY#?$ReEI_;n%3uG=0-wNIxO*kDKa!K8$QlA(>q8e{6UrEba9tzH(46PH^y; zXsb=#JWhD8avmh1au=B zwJ%@)y2U3Z;Y%ZU+S>Zhi~cfZeX8|*)LbfRq3f;B;lFfiET+c52W-^imzShdWI%V1 zCs7hYpYGc}d`7H6B|!bD6`}TW=rF8w_)Ww~i;j+jd0)(*_6bOVM~r$;$PMKoFBd|R zq}5)zEODC=r(;DlmPw7uwYi3E3fgu#tDILs>2o^B(gdBMO*tq9r1%W#5^C6$Q#sG~ zM^-Cbkml@|*>n}EczDrJD~Y9m4uY+dB};r-72|qMDx+6If2|Ow6fMx1Q^_>3$wp6>{ zgf^ay@$x}QsV2@7U%Acoi|=x7tlAh)(T$s>T2(p zF#O}p>egE6F3m9qxP2`>DWT9$F-a!7XpGg<552|yv9-JSFgY8QghRHN3hq{lTclq1 z@J+4juaP136t_^yx7e(RRWyk|ZtR2`ss5txj8U(jL_C# zBgK*pHzqe%E>}EMNmzEvB}8&`GsK+>TsLwJ2_|k~E7vWQ&A)cHjCA!J#@st%b-8v& z%&sE$5AP($3h(dvp7W_!A_I&&w8W@{TIxoo>g3Z75MVBrYP3V?cJGUm>Z=YkWr*04F{IPWrepbO2hQ}*7 zCjGtG-?Gl{(1TsvwXX6j_EyxClt*~1_xE)xNeK+bQweA8#WU z$K>~A#ECOoCWmqjHw7jWUU|cObKT<&m`*Ymtnd7`#&dYATxV|!ij${!bBuFS=u;&9 z_S`JU4IjKb*7<$XC~u*MD3dKGNwdyTStxdXpB;rs-RSc=>9^lZakO=+1A$*-n)18k z<V1(COhWv;5XEV1gxv$d&gRH+a#bu*6tnKFn zhGr59kOLyOqhJi)6rN@zu0Mg_ZVrH%1&Ry-n54r*5%; zCtcTiqL^*>*0IjcYqLv^`r?Yi)^qZShF>c8FyDipO`RIsEJwd>UtN5Ysby*oL%h~iCfH0)wOsZ2Q5NO-{h z4sCa0T5It8-pn4Hm6=@#xXsx4rUI?)?SGLhw1cFd+3Eb)WA;je zYznd?&mx?=$x?o9ek}s^YU!HunXI1T(PV&^)319^FhFAjzMKQ#0II{P0Q}?GdycQz z>gYc{W$wh;Hit#U~gww(MjrGXq>PF``FVxOCZnY4v-?%Pwd1rBVnvcSs2F zNM5xTr{;x*&d`(xTWJPdb+JrG@%L7x7bGPOlW!iJRk&9$JZeCGe3Ia{OGfnuy%eVP z*~!IR^!I-O`A5$3XmHx9lA7iWp7Bq&qdTl71yzp;)OPca6pq+v={}1)SY5Z}bUR8} z@>Hg8w#P1Q+*(^t5$+FW$U(^=yj5DXgkwlO5!UdtG&{jgQKbQX07-z+_S*ZN_TS~i zy~ENMs~JpO4V5{hk8y+wrSaKr-R)cIv86{1%ZO$tn&zI%dX_bxU~=}PvcL)Bbo8%c z0Wc@LZb;+`f0Ta%^6RxolJ>%J9omJLjW*WTM@7z`TX>ogt0v5QY3N|d3OWs}Rws3k z%$MrHEDC~-;HHze`Emzla(Au_YvSbp;V*!EZ(-R%hcs+4KMGl$#p2-g_l?u_#olRX zG_MY%Gv5z@`m&|`*F<{uN{jIZ|5FNu$+6sne01Y8^+^Zk?9S+;GuQ8RMBP=*KeW)6 zQeXRH#okM==l=EUzpC9i-O>IrGNRUM)p^?-bLU?DO)OkLqzS8gAgyfXUA@pzG>{6C z<`WV_uKEQw32lIhU_e{zSsYD%Jw=fpGIxJ5GC*`;yh;4Z`VdRO2ZBQ&MjdiA?qqSx5# zYoHNRuEUW>V6Fc0*h-Om?`H5g8N~=uA?3XKLz@YcbS^ea-v5z-RRrU5sV>mgFOh}@hj;X`oh}Ae7i3gKc-q7#Yxvc30>$E@S_zz-tEcm?M+g8g=U@4 zPfG365!(tD70~GicPuS!q;_eLC8q~!TleAUs9;1Q<7UoJ9-v|i)`+0kfcRl~6aXYx zL*ZN#LGO_ycmhNY?_qybt){frL2E$=EI-MNkm4Vp`YI7J{eh}0=yaJa(eLEYH6)F? zLAnLv98!Cvl;ZOBu-)sWws5iaVYMN;^M=^S!5RD)TxC%7w}a-PpF|ugQvntEh(dB@ zekRH&krYoPo=-)sYI{sZuDD@4y6^e<8$k8jE&Z480l?(XU`phf-P1g~c;A5z*o@(RA`S;uU$j;QRU}02J5? z^xE_a!43)8eFytF$(Ut@QY{HzK~oqAgjG|brXIq_;lmgiqzm6S*pU-gTG`Va{I(=-%(pRg}M98n6Vo?fEYgj0}Fbz z3u~D$OJT2{X9LP+AkvD|ziKf-&pWtO?BX;JTCjyQ!^(N znPB#NrfsnN__-q}^HOY{ua`3RjXDG~o>n)c$>yC0*FInFeRMBV-o@tPHR#6LTD<+K zX?4q;=>($#t5OdplF#SApzf<)KM6n|96pBV0^H6vE?tHux*_X5*FP|5-&N|HwIwdc z)DS6B+9(ZAoIp18%#PTawN%vXM8Duv6xi-Qu;uF+L^oT(nOvNZKvczxUzYHU+ST@i z`SA{tV!u{7d7)jG-JLuMsWFyXI_dQBbL0wo`sk|k1h98fNp(;I(|;yWkTj$ic}E9_ z;=?ZGYxnoIv!45Dq>1c6O7~m?SV9A$Bd+`MGcv7h_u@MsvMqwm0Dnub$$wD-JWOm& zv!gDYv+~|b+CoDoCsm$fp8Cq7dBzHJPA<9eLPg@Il$*tM!1r5kF6Ts6Jt~o@{<5vn zp`-U6brAB;JM5!Glx*ol)qb+mF*oURl-An7jK@K9jg~Xma<^m@Glco!B@=%D&HJb> zf!8o<%UooCJ8jBVEk6Kg9+iH);&`M_i$Jv>c*g@kAJ1SD5(1ykeQx`Eb9Jd+MKwLC z*I@qX)Q!;24go%mHcR2W$2;*a*uUZM{O*(lhUjwGNG$7|s+ z7rOhaO2RmvY1;wMqd>^=M+b{yz||#*yTD{7Qh>?q5732YF!&oR20qh1+1`*4wLbaC zYNmz=ZS9@*YbC`bISR^!SZ*8>hp7!q)jm9OA9*};Uwv{FltgO0h?%R_faJWWk{?;w zaQ)bes_Dfk1g}t#!}QSQm`C-#=70BgdxPA=Zn*Mx7XL_<9)@>@T--b<^fo_J`XYSS zjaU@0wp?soOJ2Y2;_Twz0p0*J79zQ)ZSXPU>&^f_ZbT1IiFO7$mwai0(*j%p-8)pz zo&XR#ir%28y5moDB?2(&SxjADrJ>zGKQ{Tr#!OU-HYn4tzZ&#bj3LA2pvexXj0Ban ztd?`Tyd#@j%uSK&XaT-BAh%IZr>LaGFs@spbZdLrD;5s9d}~&4+{(q^uaO)pZRI;Q z8Vf=4a3jZsT(d}-%JIRek(zqY88F!z&QTQdnEn({%`Q@vZ!-whnLA~9tgP=GjG%_d z#~E%^g-eNe`?)mZ5mFK_-Ph};z}}VWOj<*%lWmK>#-hFA*5Lu(q}M8YDBFMWYnWU~ zul1>a<10YP0WKQ<6N9P`TzhDgGTDi?hoqOQxiL>J((v_cC5Qe*z9lj*84EYt;)AUY zu$wV0vYW$xM?+TOAdc?HY^Sjo!B5pUY`cjO{F?We3)}Q)3@+55T^||xO-<0{UExO6 z@iWJtpI3VGLWQhG|4V)PRroP`4N16d!a!mzRD%6tZ|eeJR~7QV20i>&#_f&ilm<|? z@aH+}ZKpNKMj=Gauh&*rwDL^81ap-0oN;HM%t{mPI{KYdZEm}wj`D7?eyz9oE9*#s z1IPO1Ky^gG2iiYNEw$JAE1r;^%uDoS(fFIiIxX+j(r@}pV4rKd{~FpHcqGkOtpvnH zt!BJepX}y)Ympf`%lRBLY?bruAb_kK6bo#eW?=ovyD+&FHnf*6=4#n&bh0Gssk}O8 zb?dnIIai^jbD@a}>8~HB8C;#tXpJ%GS6#S0EjQ^>VG~#Rx@uK@Wlc|!E9y41&?BSr zCnMu+Yimh0UG@Wr6tOJNddD;O|`ht3;GzGDAFO6KE|tW_g(^ffudhsUE%& zI*Vwj{c2$OvTilx2vFR3V7Yfq({4`9JJS=rE}+a;UEE zlmwASijOvodJh9(Ku+&A_-37H8XcFepf2(wM+Th?4<_zyLsShRq)x z!rJ0U6Ak>R*#?DJ4;x6CtFJkEK+2#r%KU75btE)EZZ5~B;1uN8)}tp-m8t`J9r0G2 z9w)*e#rEW|m~U1aNxD&!EElpjOxng*BqZLZD@Uk8?1|RhzUUi*Hde!%%|DiQ+5-Ff zI(9oF)*E!m^W}gr(hTgt8vES8x^{aiga7#nG>>7`6_wyTo5oZ%Gw_O*GZ4NAzxmV6 zPegSb^fhdiFN@33mRcZc4y_en&S9;vK1MuQ8sOwKw_EgcAyX$c~j|wZxPU_RoU>M;_2dWDO1Cz9ryAPH!zhk)m=4R zn|<8|bmW{dyj6|wW|+e~>ZDx^k|hhP_(C52(L{S6qEl_Hpxm+tSpP3U&;L5G71{tw zZPXg1rv&3+yp)q7GnJk$nZ9Ix+3>33_md+Dkf*k?G zX`<{Hs0Ky>>Xsi!wx-5+S5y1A|>_qAl4>CKdrel2Y~XrS$;hI)O0 z+U5)Ldu-=SnZN5Oe2m45Za^0{eS$dv$>Kia4k~EzU2iJ@l&I1b9Z@1G{Ss)HLzmS(yVG} zJA(J@yz5-sKgY)^S?ZmR?xIm?*zkKIA=;g{o!dl)VfA*ewe!E2eI3P(U&~pI;C1wa ze@$)JjFdmFr>cgyoLAG+4N^+3WDcB=J`HI0O33Z7Bley@+^1i%^8pct9hfTcD~*Tb zL&!Ui!#KSN)+shxY(R$VtwVx416R+bo#DEWkb#!e*VJ^I%llDPpV4n)W2{e69v*6n z3JFdVb2x)tPYM)Smw8}zG$yetk(a1GxYmG@d2NDt=RD=TQ#^~SpB-3BV#M+_yl$Q+ zcAI?}hELh3<{_51y&yc6e~)C}8xV;Xnw5fvL+b+9m+w?7`C3*JR=X-W5ExQRf%gnv zVBO;wGN^PN%S@0(k4v2-zvnn zOOcW~!QV@-<{Io-zuA^IS*df5DjIlMe3SjWrhi)->6lXOUQ8@fsEtl@nvY-m&|kdk zwsu3+U?$Sdv1+>(5E+N>^a0(&W-#9_iCV3}N8jZq&>H2xW#!MFo{e8i4;tP=V@Q0x z65c$fHasG}k?d>-acgqeC1%n+x~+kUt2%;NvDqY&j({%Xkciiz4$vO$kZRfEb(|fm z_$CFX4ipYvh_6F@wgVwnW7(6ls}nWWyN`KfNqo=bKaIeQ4Hv-nd%YbCO<; zf8TF2P)n1YkLK|9;MuK>KI0+D_`XXM@p}FWs#{V^X29nvf)|1yKbs`jJt@-v^}O*P z*gT}E<^r3sE7M#m@Woc?E~%ojT4=2}#2WJCNrSrmamKRLA z!VgXKmo#}SMX>KZ^%iPb`i|ddk=!3I4ZSH;H7V2+2zm0{dpOLY?5^pY8vUdEez1Z} z;bRZTn z=5OA)O50o~!bU@4V}gH{${)QnajM;*J#XSv{h~VYQ@82Z0&BtPwV(7AYU#R@MGtaR z{rK>JbwrOPLk9EFz3Q)Ym4J009(+K7nT20m!eOg*OR4-gwHGzAo04!#BU4@d4l#y7PNu97x zL0MR+-H)QRJON2rY$Ji|So@&waK`9d*PUvQHrJ!%b6vDuuY9RwfGZZYX)$mvh-|x( zmaw~2oRPpMT`QN|D?ME6ghv_4RIqXC9y`nS1qz)r3k1>dHZdJ(k#Fv6n2+lJvRkSI zTLg9N4*bswg@GHgoH4)?z$(Vc(eb+9#@LvL;+O%;m7%UnPw3puy?)n<9MxzY+36-= zM=Q(i#W?L`uxW@YMqlx`zbKLI=t##-p~y?oQSa`KPTrZUQQo$x%z$mdn<;I+6U^uq zxsnclwKUwb=C=vr{7=iei=&zL>K|RV&vCrX-(O|BZTQ zShK9PEaS2Nv~-v{1-a||2wtw6zv@kB+cK#HFJR`wftQe;n~W|QlUx96RG$X-ByT67 z_#ubaCUIhWioy{fV3Q956!QUs+dR{Qe}`=iWJ9o4bFetb1Dn`h=|jAD7^K&W!U=JM3v0>t`?)-tEC6BbLA$9^i;3{YT2 zR}V>apZhRz)AWq(Ux9kKUCWcl2}SuAwni%?+&WI83uAiegTLCA?qJgtBYNlNl6n&D z8MKb6PW1?8?XK6vQ5iPL`hwkndvNk{YfTSb^OQWYFEN1+yFLw@ozD_B{BPeLIKBfZ zz*O2ZF0y^|hcu8|9dcyy&6ZA8B{@ey;6s06Dmx$O(k(N9Pz$wzfTtoTxCWn$W)CPM zRdEtLN~jh;9(*ziO>nN0YJi8e@@z!O+A71?-FMOqOqWYGtvMgARoY~NLm`hg0aCLvqnE$8e`84fMQNXk%oqVr z)mjz2@ctO`OXpLBr0N5qXwwIz7u@y-Cr{^uIeiJUJJ|H`ZgU$uNp7P>^w)|$@0$*F z=!J5>aGM^lrEe{$Eq+fSenY-$y0@Wf_pH|Ilve133kWB|+<=Rq*R9AkRc&7NZQQ!J z*P0goG)WPG3SYZxJLo!V>Hh zk%MV^6uZ8vS*1Aw@8WR1g-v}Gm$iv2wHVF6qttOVatwCKgA|ED=7)+zH6}|^=-b7~ z_>9Ijn~24L<>{`P4_Md4Msj!kTMc9nEqqG@aUWCyC-Hs}2=YysvV~@N?O!@QNNjKXmpT@8^y-hPB` zNQ-$kSadm|S&*tZ7Q7`kW@gT}C{Ye4-D=KKs=iA4w&}X9>KU2wI+4&ry5aho>8Wt% z!Y%s4#K-yWlaARL z0?9Q`b@k4K>-Hxl>5{Sr1CTbwsF2R%JHpJmnp6sNBWrtw9`p#ah>I-T@;aM*dWhT}D+37)sX9wH zw#?^SUOx*Z!R^>92{Bt1=%;g+W5eDzrN3(atQ!d(RpeSLEn`Sx+lQ${%X^avNxMGZ z=S4Tgm^O5E2xej=e@IJ_)Ar!R0T~cMJG-q9b9AP*CG@CPDK_9OBt*8kH{AJHhqodw z0V_w;ReI+^0a^kH3~!C;F!^-=s}6i$3Iz@bO~9}sguMj2R{|3RVy9x1cI91@*;Ni} zVk}0>Kv=Kc+OYxsfw=CTD8l{cgnV)vQRQ)fH?T(a6n+P^&2&(oMo4@ggL6fm$IcZ8AaTTq-vhvTAsGt z5C~Hk)$KXFvc4caA_b1pD^RWT9qrSe|;tEvun&1AjK_XJaatj%<02onjb zv_Rqmx88DQss;*&EXhy3WljE@a!wUnF>rWn9#2mobBX7i@fQtt;$W;V%kyhMrMw+(=q2KbwwO*zbyC z7th-*MdJC{r237YXS)WUWod&nO{Dr|I@$C40Wn3F;8t=XAh5*uY8NKh30sydCOf$A zzG64N0an3ZJln9iiOQ;W*nn;i%-`tTCT0RZI>JB84A`oHa7`dTvqCg0Waw!t(TO(K z1s9`w-*+r-Jb)>pIo>)GWZBCi%zoSX>DgIVsWTI-EeYaSSZl+_iwPR7EoCU6H7S-u z)aLp%Nj1jqQRs;-12f-pn9#kB6-IqxWc@avvW91=lbToyYZ)A(WQd?` zyTe=|UukQ>5T@uyTOx<_gjz15a%#!TZ-%RD10!c`VP@V4Zj!)p zi-?sk{$Orb^*tm>HGje3j-{?tIvzg6K4f3PiRUA1%l`Cjp%`qK&{B z2CoHl!mj!MdzS!S#f%lKIz0Yb_1Op?$~JA}dtKM(_|-GM{sXZ3@};LBNb{F{%%VgL z=M|Q^-?aC-%2s$vuG$_QuSnjq%I!I_8{>GS`rOv1^6Khq>7QaCSEdtMwu;Q;MVu*` z!;JC_1KV7|>P4ZI-wzR_KVwmm~0?QC?R1;lXMlgwjs}?sU#l-*37Bafq7J!Ut zF4**>9C@{7MYt2++ImOwPCO~|UhY)b5es&6n~dTj#k(rSd|i*Y6#Vx)xWZBzBjFQP z)WYh@%l5Y`0UF+BxJUP>$3MM{BGOfBpo;TksW z+K4^@v2S4&`I`RTh7#9Q4+<%1X6#t6-XUpL?`q!l_GyhaTX78FStJJy%rECGX%7lU zdh-)*^FM-_3NWk4-=EUSc{>l4HQ-9>=i z_M8WpI1!DeKSImoH#e8*p}V3~=5S1~3Egwe?5U4T?%1=Uyts6(1}#%vxp#%k2(>5f z;JK&2PIk_1Jm1X^F;dnw%!6=10$RG*TdO;VQrLhZG#lVs1555CAD|-}yH_KcE_#~| z4s|Fj1rYS+|9IhxO`zBn8!j3!rU}+4YDXM8eX1{qYu^mIu64p}he7LFBza$fk3|`itcr9eB1+ zV-yc7H0p^0>}cx`B~^XD4waX7n&2sixQbo3=y1)<)$ENO$Iir`MtSfo^43>^?)CN` z(pWpX1pEJ#b=^@(z5l;u+x%F$2e!1FX}J|zrfJJ8w^EKQapb^}BA+s?TxjOXL8g|Q z9EcNI4m8C*aHTj>L~@}ZaDUgnzwbG}bAJ2<_i#Aed!PF}&-?X$4b0YZatidS+|t=w zu|oplft(ER5NOFK1-feD&-_34QHm%-rYVD;S7i%jvNR>P1IH*!C+ z_;Gz@p~W9%$1)`+)PrjZa=h%XwQNO0?|Nu2gB{^lMi#I=ZDG z4hT$vW|~1<*nR_JW0@jCmw4{QaiS`;hr6zwkKhp%Wc!4k zrwV|u$PsV=fdEq|92`{oy93l)06Uc7#)h3*#oFy`?*ocD!F2=Ra zRLTB{9n@aYx%~Byj6hPG18$sC0MB=b3hkq+G$-#YSL>Yl zXtB0-!k33q?XHr^+el`W2)S!9JJ<^pFYlBCK*p>FBl~rF_FE*%?k2@aa zCX;{)=unmbuV4-W{O7P8;DpHs$qfT-eRv;rAj8!~^jcLTshfGWa4_(w=KyD# zn&YuPAeQC6J)cxXn!Gb(dDlE&O_97Ef%?K|T>IoXr8~m7>+!HxaW3{sV}FBK{@t&I zBO&DhwXlA^y5VE1;dorgbbyM3h*cB(i}Q;#=po%`fjY+Wd|V_0gN*PUN+HhMk3bI! zd?}w?x~)rQ@qW~Gy;TjA!Le*uOR|14&81asy8S$3#2o*bK!4m~B0+YI+Qlp6uiE3c zH4V0{$>9ce@V*2;nbI?E&|2hK+l4fY$<5~Z=1w+8ZMvkJiHZ8c^ZqU(V`gl;a3ety|!HpPtF!t zxCeW!7Uy~9`c2Z9jPXA|6u`0nUmIv}=Ie0Q6e?RauWOza-+@3{(pGIy1^yBn)T$34$LZ1GC#e z!%NTzZx0)gmIIu@<@zry3r_%$sNWf-Go(hdqkbRN%Ab6gt`h7|(&7c*B*+-+y7$zW zWsW_J(8YP<6UN-0>H0I?e}2I!S_w&LEio6W6pvB;r?4eyJ8SA_&r3s}_A1Mk)h`2D zqYwPYe7}?_0}VGMn*JG{h%k&B(6c|0)~8A%<3N&nVJC+QKRVu%Fnpjyw<}<8h4U*; z%xZ;C3Do^J|KWnhQ(Mc~gWluz`ZA-DGj`2o{bia=OH%x;Q7`rzc0Xd28RIR8un+>-)^U13 zudi7=N4(6uzHc?#-8i!z<4tKtNX0kEb<2lY#2>g%T2#Q}=Soti8B02Ie%|o+d~wnR zAmEwtq5JKmw~J-a?P&V%ZjqM;&#BRYp>PY*UMzj5{E3h&(znLwKLqNEz6hl@?;L%P zIqK5Yu3b*9G^&L&#D2ys2>TcW<1X{T$qc)m0y@{@Uem}SGRpu+-Kr-QtFqBIwtgWV zFkX__K=;ajM=Ra+8ZBw+>W|)k3FXBOD9IV-e8YIuWsVM)Ko6oI0V*ZoSFs2tfY<6h zehrmPP-c0=3%suz7Z}#sTw}b#zFs|GaBr3c_dB*4k-z43PPA(OX@3y~1%Cy*x>V%C z6DY4*FpJpFQ;I-w+a82AtJm#EF68Ly^n~?s-C=G#s3aw8yy9OjpaUYDJGVk_03SI3 z0_Mbmt!LVw1THpnef<}@$~q?MSN^D~M@e{z!?tCr)xgW7M37UdzWCHthHC=hNKXH8 zKlL&CnkG49Y1-2-{+Ep>$g=c%joNX_f%yfE0+qt|EIGJ&o6irrr6f5vaYj<6P zv{c)oxz6%ot&lj`=&*|IL>rU>T@(k>3^e}VfejNdb{;|opv_^j4Ez4hmqagT z(j}?UQsfC(i}6YX1a(=R)fPs0^OjCDqH(FaL6}_?)J^WpS8G}|O47b z5NrHQjpw!sCG)?l2RfHc(uokB(NrP7z1Z;9o)Ua9 z5fGCJrGTJ18Tji8rIZq5u!D^OSqZM4u}(o-xC$23gD^V)8=186b1M*B`Y^gtx1Z4e z^)wUtFf^ulP^etSPkiOD)lF%K7mA92I={$6dAB+UA8pj(WV?N>9iseb|A{3YlYSk(T8`*@XV+eE8unO>tT}!TaeKC8%^y~d z_$sBQrq+HhIF4FukCa*t-*S|59Q)6zw$*V0nfZs<0E(>^eIKNYG+>wX5>sTgr;f}m z1ouuDaYTC^ZHCs zw5U*X4IR00@9w4zPm`@UWi+&Eq(1tvS+&rc_CeLPc(3Z^ zE;FhVuU0%ckI=(dmUO=7+>05as$B5D{3uw97oaM}E`Kym?}VpSuoPCLXwCW1z&Ek# z$dTXjADj2K(}r!dQ}o=5g!Bc4$E)|VH(aXC0++vd|FG_C(se>#20Ilos7HszSqD%peT%0r8a06aTJSJB| zgtropJLJNR-tGK7NXK2k5xOEys-=us!L4nhN3vbmDKI1QIvoz0igjVRu4c|k)P*7! z{eCP}eyy;B=evD*Vgx~_&9j!C)@)WHE4}qglW;Fj-TAB%tvu%08KH#J5y5BISKe^g zmH)vbTO~tarbvkvAgfh<6LYR4}`9V}1)o|EkytT^?DshI2msA#>7j- z#rs)^j+1uCiox?79$Wd9mkGQCfTN(e3lC#j032v6+9?NYio+$QVA&V>>*_=eFrzHO zSS+y^QQ|E^C_a8v@y@kjMwyX=b+?uttN}Ve_;C0V6Ct>g6jUPcwi}gWiyPd30*M&X zxj^{VT`QIv;DbAXIy#sDEoI?~s-8Y!vG6?-z6<_{xEqmT7Bbj(F9-I-%uB@$|D&{r zz1?SZ=S){nzf|`B;bHeD^Uh@pt+|)Ulwl@szu~HmyptN0mdvc0>UxbJ^#Ex%sE*?oiuWUyu2q zRidxaC#8Lg2P}U`6REMlIa*Xr&g7b?RZ(0myqxWBJp`=o>0#OBNyBFQygWU+q zN}xzk&dFEOE)(3Mtw<;k(){1dn~-dr_l4Nw+U+qc#BKX|Bwj_&RDYyj?1=%q_Or{- z{I_mi?FQ3TadOlQb+Eza6Iz&yP~x}jxHfEbGWxRSMA&S+KVUgh!ziO-)S}l#-tcbb zT3XviUP@W;0KD?>iR)~Zewx2PIaJRIhX8JqTo#db>6I1#@`QISnahd&H+2WB-{go8 z_h-8d)9$v~);nB7F}BfzW|t*Ja+(~B&FicVE*~&+xY?*0i9deVXS2(9&J&(q9x9YD zCeSNp<^SeS7onX}^5w1`sn1gE`RZc6?b|cIgsX{(9P?_QSqr5Yj6fr*gn+5P`;l{q7d< zqhyQMyRFsQNKWV;j>ydSuHzAU`n=8woK&gUf2a1h1+t7gNFbA+cXob^x}1|Kvs2{F z?G9YSXE5dp?2g>UPF?>w#@-4d z0!HA0xeDMG8+%TRjh3E5BNPCbn+KSGNz?<7UuWF;a7~N`<+?0h^_h!CCO=epH<@d$ zA0;J{d;7Y7uTh>nB--M1vz?v9rW|Trt4P?HE2=vrQ~>B5+OH^&m$?zBVt&wl056{B zqMeZ8z_rdWFz!@Wx!aHzk`~ZjGUDgKH%%Glc{DOz=PRv70Yx<@E{AW_8O_f>bg6Bi zio)rC+TvBie4^w9m7NrVz~D+a8z~@id=*UbjdNzdhRVeaw$GK!;SPeejh2gcE){D>tSQ>U!W%HQAK9QI8?!_#u zLO7E!|8we18KshJz1;q%yA&4}r=bLQc=Yr4fDvXnkuE0O5}pzMvzp}>um~4w2(#gY z9O9)yE>_`^7dMVUNpa_N+oyDU!e-!BaWk)%|1PlOEU>LVNf~sbx+pJ0=!rlu8uXCg zqJNV11Fl|jPEQSvr|oe#I5fb-yoJ_|xw`&2gE&mJoHtv1ls?wKjK4|1x%Ni;4h}r% zb9lyZpC?Y<_jS89JmD;oT8PqDb9ge%3Ofe5_FX&9@>dt5+skHu{alQ0KYb(eu6I_S zW%HxpL2azWju`D%_(X&Rkz8t_Uhzd+SYNbO_}8rcCf@{`Fg|~-^=p)8?6KCNy0SSb zQ`ScjU^yPHomP@Pg!FNdaT{KhBs7^fGngt$F>}-6?fADLh}O%MO*x^JP;lSic7ZR} zv&F^*r6XHKp%9n|(gQ*Wi+;Ic6BR4tAufxG{1evBGdQ}V+VUCXd_f0f$#mY7Zw92_ zWP-%f7xgjfbpc6cDxo$|*Yw4dUI%_ZlQ)fQL(^YyhdyJ)Ryfnsd5Hrn@`#AEO}6C& zTUL(iOH6~~)#jcgj;$9tK8}^xMY)hj?oO+bc%MG`a}P5?2$v>}Ja}vNbR75a;n?(b zvqaa#$I;6T<=*)YtTW3J)33QU>barjBzxDU%dBh1C1(r$cAaxhSQDPU%-`BcYzl(cf zfBndIcH6em%0l#z?C8i8etJBbj{4)`^~!v#zx_J(ngfGEj~-Ban3u+)Yb>9FvYDI$V6F?b7vBFn} zrXAgKklm*d+)zpsLdAI$9UQs_+_^Pu0!MK2M%pbmi))=T@I5KDB5h1y49-D^CBwr! zyCSf8YC1OMj$=_Kcg8xN)mO6Il{`Dk8m(*nGE+M8-hTYVo1jlt883V2S3RB`egVR2 z*2D3h+T=+|_C?Rb<_1THyN!KZ?c^iHLi(ZlSt4mmS+OFqNqMw(KhZSxm3~a#%PHgj z2@jy2n|sqp{-!+UXSK`B?N-p%mIMju&*Cq zw@jLB*uXxsN{xy#I}IakR2Dj`4_~bTDc->_A=wCo#-_0DU2E#C5H_niD;bb}hvsos zIB=f9CZ1Y-(JH1nYTCC4uT)42iN791*w zNWC*FdC9nCDPLMT^FO6vbCj;;){c?1$vu zJW;T>yY`0bE)%CO7vwe$98a3#?pucBnjH;E85CgM5uhmwHp^N zMHmj5J9!^sZbSIK;~zJ(eGfA7U(oJ+xHAJ;?YZ931^*?;crSb8V+A~=h`mgRCe^1K z#O-dEG+z2hFWQKH@N>j77rk2%l;cz)aP z=0e0`0Q_mgpU;fm9ERVJd;ZeXH1u<(y!8ZW*B-{{2m7K;D`k#mE|#ASQ&K-uplOfd zF@_Q!`)y7yE0VVT-|p+vWXXZiZ&yJ@g-@DIyV#P4$hT?CuZM3Vnl#w}tX6*Bm7!3i>^RDjDk zvUyVL_lYN&+p=aO6r%EL^9>wS9jr}f>+20RSC;1)ckFBH>xu074f4bXz#`PN;3E0) zG1H(AyX2`>!pObm`)?MW6t(9{<{D4eRsd(nh zoBro^;Z&dbh>LyrL)GZY)9KK%P3Y!fY_><_AE~DdcPA-;?qt4h3#Fk+gH31}X=!|8 zygATL>+*&K5DVO~r-2G@xKz89&NCETaF;UYt3Asog}=6t2@(7hUq;8#O1 z(^V_83gekT_s9+BZg1ko0&~cp!~XW0R`u!n{nm-hRb|ZthZm?ck=C`@W@NrKxJO)sm;5SkI2wTs_nv{7GDa` zb-cEI_r@LB#}sEN@C>ob)63Ut@`6n$B@Zc2km5k5_&7Mmnl*n_Hvvn_q@#C2TW6pf zly<=Yzn)oC-t4VrBBZUC?1DHay=s15W2LY z!2bobHEQX6Q%L=FCU-RpR&W%CjqwB>q?$f0>)uaC$8_lH$;Mp7pDO!#?zre4ulgy- zBj`gy*Q6n_scdg+WbM^qqUMCP4!Rx#t=5vpv^BEL@g_?;QuP7d26;6;>VHztgLE9t z$Q2Vr?CdeNDZ)l?x3ihw_uvN(-F_b@AB9|hx3gnA{Y!9xUbc!Wjs zWtga~hl&Rf@3rCi&s6gGC3-V662i-W7YSyaM z_>20^I~>Z#BfSpLe->!nYS$a+&tbr-DK&;a8m$8{6T}-#0e9jXnSo>uA}awLrrv)~ zD;7X`!~)2(e7bsd)y(jhjd3+fDcCV_Gdv0C!sAvdgL}x>jyC7qrFx1$mX;#ZjQa9I z|9-^3GzJ{c{Gnj4wA!qmKNxLI0Z`g?)_ctWoo$wDL2J#8IYXho#Ir#o%2meCO}Vcb ztod?c2XyR~#_&j_SlWBRkw-;76Cs(O(NrAa0aVdz1cpz@q9t3+s)q>ZZfhm}s%a+?n#)!1DJ;hjpMTCKsQ*S`oB~vA1va zzC-%dL7CHS$XJK}7=u9mo;r(iB8 zvasQ;g<$_g-#=@T0AVK$(7DgWVIFYdkS4(A%LW|seS-vz0cg!t8xX9Ty68eDIQ;xihzC?rQ@BK1(qe?y3E%d(9l<`-dCnY6>ilBsYKb{rZxXdn9-E zCbU0m_-Ag}T99_ZjJn$ExjKANd*-yw{F1b>h~UBe%6ylpA#vBp&5lN8%UEk=x{J@W zOQDO`mhsC5FrKzBe=s6N=N!3GIUL;lyojGPotj|>H*B4ADKE_mC#_+I_L-4n;BCgcB#c80b7VHx?JTZUd4!9_kb z`o3o3qq$k1Er{A*{X5J8NE5kU`^;so6VM${-1Uh3aC0IY4B(giU8@g)sly`?rJ_Lx z)J^{TX0_<4+QaoqbbS}?RatnJL_9V}o7?*ZWwj`bI`XU6%Ofvh{|jsS3Y1#73bHto zZ4D35oAX~wJ<&5pPNB!Wm4&wLs2*UyjzkpSh=F~Ce}4;c$o0SHYsEuxt2)zFTbH4@ z(TV*9zhLXE9bB|0O44Z^u+7NMuNznN&4!C01_xAaBiV{n-~WhGlor#Gv$9W8C!}Djg9d)LX%!yat)8qiL3jZE<)rxNjlF%y$hkW{<)SG0EtO!$? zpA*^>M)%Wc=NDbEb?3~4EBw1%tCA>s+zr)frO9NpVF}DQeJ*pj;q>HrjyP6z9L{@N z+2t9yVLnSM=W9sAR?$hE^7>&uj|AAH+MSw?qVrDmc+1>}(ZHo{!(Z2^ZsCmWx@I#W z%06T&iY>n=zJa@MK`OeHIxNMVjp0a8qn{qi#*o{{mT@Z~Q2}^;?K=_Ev(Un9?FkIZ z$*l>ht>WBM`CABW>2lBtZH&78Nw4tzLG$0MW|ECYa@zq0h5YFbo-)x z?le3YqF=2;FN<6(X+AvNyn`gK7B*8>9vB>L*x~?zcoSunjln+eAPvH%Hl_A0>dYc2 zm$zLqQ}ziQqY<#~?>{2Cu^oY2Ei8vvUPe2AT|)Yd9h}E4)27pHybw1lCt?Z#wo9QO4P14ZG7&Dwq^*Jc`>(re*#P&KFR zwAJD3wB%f$9QYVdh}CV$#ECuY$B_~6=Q#GY_S3S*Dj$vfZD=!1%WsgR1MnD=NzK8b zvOGF}!~(?QVW)Q=@0-rVXX{@=Fm)jAfvJfd=U!?5#Ovy#BFtfFz#W#%^#wwq_39T8 z#I&U}08f@t&mZK6h`hY>8)n@V`N$T`I`!weDKn3H<;^Du3({-9vl!yNDIVE!b}qv= z#U_U5QwbNvE=y@@XzCnCIWio~`X3kx5txIs+Myz2%*MVhttARJ+rL`&Wj0gQjB|6D z22LfoGY!<##WSJ4A#ggN8$K%UBkulOjQ5sdD2;pe`kkA{tzCp#l|$|l2TV>yp1e;G zPZL_r|1y`txJdWz@oT|4L~fYbx?xKUwBU6$p;&seaAk^L$6g+I3+Bhh|DC)RtAU`m z*R5i&>KOYt3U1P}Fw)%yjZ9M$AG_-WZN=}E=TLaw>6fq-4-4cFxrPJ`8hRKsut+Y& zl_k}1A_nja3aG&*=1MZbtm2<*dqJ`$ta6USH|fON2oN+iKES zmc|hZD#SRMz-0>#V&xc+5#{K_H=0oQsFl_)e#fR9Y6*Q?Mq#4xg}P!2OYZK9IMuNo zOAu%DgGK(;?-HC22%j+E%_B)ZIOcCnOOgHgJu1ByGSPfM=s-lbs=crE3?daj{}AS3 z=o8W4^KrNW6#ijP7-|f(?F%Fl$Ul?EaATm2ToB~?|5lEr@mo1=3hNU30t3>sSMLC%v21d@E=L5Lm}!)~bHv5jC}oQu z8)~bxg>1*pLfVR#_xTN*q``SbIm+4xAR=+>%@76_prYEN2u@qsTUb~of&Fzdlakb zxPw1T&Hm;Xe)lyUkT$}zW1x^vig%iJNct?B5?<1C+-yMUrhT|e*;bCv_j$f_2y%}Q z;@nTQF=MTRfZzF1l)3f8)#ja7Z{51}yTr`w?CjgsOK;3oM}Fdy^YNliib&3gp1A*X z(|L^cP4Ea%g}4N5lWk$aP(mj`$7drz5d?wR*MmGhb&r1z9!FZe{Oat?^j|7j5KrOJ z)3H+^p}-6CWb)%@9vQDur=(j5y5SljEvjS4`UiQ>{Zii=cpRjDJf;@;(Iuk-C}WJA z^at+WoKp@i_VwqgL)8)9JH6Q!nWahWzz^RX1C?gXWZiBysd!K5fA7V$o)?lE;=<}TCi#%gJ=IwP1CD-+%pXQ&)*Stfw3 z1xdM=<&^IJT#LQlqEn# zrC2oCgc{{_+B=Ctt8}2D1#VbTAW&svsWF{FIrg-%;F_pssPHEy)#@3n(mzRt?QDHH z@lfgGd3t<9WZLDqMo_s#y(T$MvXFE}`g&W)vJCnzxc=#U-k#R5F~Rkw)H_~+*BGJb zn)J6HAEJ$;haa<8pG(YiyWMlJa=B08v2H9AP@cTpG^PzkgP?7Qyja;s6`h(2YzC&B zAECKX8-r>jq}|2^Gep98|3ie~>UoX^l4-tn?b_hv?D1pK<^LECo`|D)qlN8vUtl(t zWaCLzT*ol`754`s+EDaC^&#e4T&Ha=T`%`jHRS$gpxjggeYF_Rb@0~m@^Zg&r6W2= zEAMlN;NsEv`8!2Gd_Xiv+FplZ4EL!`H2rkbNrsG&h+;@)-r5}1;-23Jktq>j6XX6r zz))cxTE+}>7STBs(fJ`9nl`5i*_1Vq+UlB^LydEuLC_qd-mA@3BPA%1nJ15x8WDsb zlbtlc*S~dCc$6b!=)md+QPkJt;D(+wovF!op{%CZS=RLg(?*KZEM%Svqafo+QB8W; z)Zc^*kQ<`4E73Oe&zF&NgPGW{6ggd@{uNhrRbnh5=Z&F@1)pY(4!?;~GU00Bf{9mV z(ybSnm)9sDTeTPy)?ijoWJE>0-T+wnGjDmJ+<$`^r3HNOcPQo9PSueJcCzd=Mwsp` z#8C#f(z`rfT!86UsDqeZ2#!qS@Tf#JGTi^`GpKCIOhRYaUxJOEPZWYHE2P-NPLzVm zdZ5xTnXe-4E2pl0g9?Nc70DCa0EqGg4V%gQnW8pa1$=n*8C14IM$lPZ0t+_f)C}%` z%@a4v=DI^frPbo=2(weoeOwe>B(p;;7*-@jR}v$mwP#S-mKjC|2e%VCzM)V<>7~I; zZHk6n1hlVjQk7ab^=Xgnt?sGf+gqcx}=f3htqJ2Jx*gSU5D4?e)G17_+i z?yAA#FEG)`C}uP3raL7st|x`5FBk@Oj$~rXroYvHKcezrTU2&srqk&xR-0e;VQ@zs zr=F_nNl<47%7`$RvP&@naTB3HMK_8mg$$*LHhq|hVnUI58ukI#Kiv@(rq)i49Dv69 zKsU}f7Y?3q>msm8h#_JoA&nO`%3zQz+q5EunsiCPEbuG>Q}1s-Y_BZ=4(~B4i#zRi zM`V~dJ!oxw*2gHb;pj!Wo zx3aL?UR%3$Fm&Q#KMkE%JebVEBc*JU`wB9_;AsS=*&hK}m4=B*q#&cLjuxgKTt*!2 zjtbMR$S^TF)yDNT3~)g`h-jGz&?rl&M-a?WNnuwKJz<5~~) zfC|&D$S|ekZRU8Fur(K^j_KPZ+j_hKwQvZYK(RK26fs-!Z^>PWu3El;MS;)for;#U z8r^>~l}ZC@r?uW3J8UWMtIhxDUx8PRP-*h4Fl)8UC5ox~qgkXl*=qCx@y&#D)fw_H0teRr301xNt4o(IeF*!c=Rt;PVd}}} zUj7N8h9V&=%1oLL2iGIYZTeLqr57?LS}|&6yndrbJFu7!?e&De4=T97ac79l@gLBaiBgWC0I}U8%^?( zt~}{IH!5Q>lhCQ}_98+Sx?^d{)N&~b7QTpCwsa!odpa;kA^tp!LE|99w9wi7H#AaS zV?q)zC<_x%rp_i}vAtEV;?(f=Sg4H6ObkHZZHN2)h!Es-St~E8ut5?<+h;u}>jF}G z;`Z+5$2{FUj7j@8%_UiSP=&{H!}iM>%>;?%G32iRRD9&M;3b7R0o$W{)EVBm9Z~ru zj7j5)SxOJ4Xr*6;N8&gkmyxuRlY_~iNu7vSVyrW~&i-c}CO~5$!{o^u!Q7~I6io5; ze*s87>3Ix?fH@#-*Y}`1TJB8(6{fL~VPbR+gs=J#o)oEcqtXfF#v#|+x}%#sd>$r5 zVPU*1l1BOa%RRr=qd6y9h^qcNI&PZbB*slSfDI}<~NX(GrlF*=>_MZcn^(`JY4-=$`Aj8Dy{NUtF%&A9j4DlrplVt&l_aG+gM`U-r782jrhKVkjAE4lt9*wZkeL4C%AoX_zn}OqlpTq~hhhA-*`hiN|6L z@Iu6+9Yx?Fbm)HkebcL|>a7bGE?k8P)5MuEicI|?)~er(x6>s5QP_*m?`~{tEZRT2 bO`84>wo1V7cBIVo00000NkvXXu0mjfC_h_G literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/next-indicator/next-indicator.png.import b/addons/dialogic/Example Assets/next-indicator/next-indicator.png.import new file mode 100644 index 0000000..d771e84 --- /dev/null +++ b/addons/dialogic/Example Assets/next-indicator/next-indicator.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/next-indicator.png-e3b7b80d9da791a1d0a061a728b6f781.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Example Assets/next-indicator/next-indicator.png" +dest_files=[ "res://.import/next-indicator.png-e3b7b80d9da791a1d0a061a728b6f781.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Example Assets/portraits/df-1.png b/addons/dialogic/Example Assets/portraits/df-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0245f48194457b189c55a6c709f815a37a28e204 GIT binary patch literal 7501 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 t=0!)s20lL*%f6LSo!;Y{{byKNcsQ( literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/portraits/df-1.png.import b/addons/dialogic/Example Assets/portraits/df-1.png.import new file mode 100644 index 0000000..bf75700 --- /dev/null +++ b/addons/dialogic/Example Assets/portraits/df-1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/df-1.png-dd38cabf6782fa8ec6317d8193b3bb58.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Example Assets/portraits/df-1.png" +dest_files=[ "res://.import/df-1.png-dd38cabf6782fa8ec6317d8193b3bb58.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Example Assets/portraits/df-2.png b/addons/dialogic/Example Assets/portraits/df-2.png new file mode 100644 index 0000000000000000000000000000000000000000..441c740eaaf7bd3f7b4d397f8a0bf03a5a1d63f8 GIT binary patch literal 7661 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/portraits/df-3.png.import b/addons/dialogic/Example Assets/portraits/df-3.png.import new file mode 100644 index 0000000..2b8ec80 --- /dev/null +++ b/addons/dialogic/Example Assets/portraits/df-3.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/df-3.png-e1bbeb9edcf0b295ecce73d91ad4c986.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Example Assets/portraits/df-3.png" +dest_files=[ "res://.import/df-3.png-e1bbeb9edcf0b295ecce73d91ad4c986.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Context Menus/Remove.svg b/addons/dialogic/Images/Context Menus/Remove.svg new file mode 100644 index 0000000..9372eb0 --- /dev/null +++ b/addons/dialogic/Images/Context Menus/Remove.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/dialogic/Images/Context Menus/Remove.svg.import b/addons/dialogic/Images/Context Menus/Remove.svg.import new file mode 100644 index 0000000..63c2dd5 --- /dev/null +++ b/addons/dialogic/Images/Context Menus/Remove.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Remove.svg-e6ac0bc0ace4deeae8709012158798f8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Context Menus/Remove.svg" +dest_files=[ "res://.import/Remove.svg-e6ac0bc0ace4deeae8709012158798f8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg b/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg new file mode 100644 index 0000000..dd1b9a8 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg.import new file mode 100644 index 0000000..734c2f2 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/audio-event.svg-d192398662daf4684b0a1cb09391d1c1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg" +dest_files=[ "res://.import/audio-event.svg-d192398662daf4684b0a1cb09391d1c1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg b/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg new file mode 100644 index 0000000..d7fc035 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg.import new file mode 100644 index 0000000..dc8e8bf --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/background-music.svg-ed735c7eb8946611ace4908d8c03f881.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/background-music.svg" +dest_files=[ "res://.import/background-music.svg-ed735c7eb8946611ace4908d8c03f881.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg b/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg new file mode 100644 index 0000000..a2cd685 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg.import new file mode 100644 index 0000000..9f6b275 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/call-node.svg-18ac09155d5b32a52ebd8691a3af4366.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/call-node.svg" +dest_files=[ "res://.import/call-node.svg-18ac09155d5b32a52ebd8691a3af4366.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg b/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg new file mode 100644 index 0000000..ec56680 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg.import new file mode 100644 index 0000000..21b3679 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/change-background.svg-b779e98a98d293a18e8d288547972610.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/change-background.svg" +dest_files=[ "res://.import/change-background.svg-b779e98a98d293a18e8d288547972610.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg b/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg new file mode 100644 index 0000000..3b78c7c --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg.import new file mode 100644 index 0000000..6d7173d --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/change-scene.svg-6725a8049733078ddbd90a4b2658171a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg" +dest_files=[ "res://.import/change-scene.svg-6725a8049733078ddbd90a4b2658171a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg b/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg new file mode 100644 index 0000000..c5041a3 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg.import new file mode 100644 index 0000000..6a5bead --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/change-timeline.svg-3fc1cb78cceef83db78cae34f53baa54.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg" +dest_files=[ "res://.import/change-timeline.svg-3fc1cb78cceef83db78cae34f53baa54.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/character.svg b/addons/dialogic/Images/Event Icons/Main Icons/character.svg new file mode 100644 index 0000000..a81fc4d --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/character.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/character.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/character.svg.import new file mode 100644 index 0000000..75b4032 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/character.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character.svg-673b36f24b45dbf2773f02c6fa0eb3f0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/character.svg" +dest_files=[ "res://.import/character.svg-673b36f24b45dbf2773f02c6fa0eb3f0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/choice.svg b/addons/dialogic/Images/Event Icons/Main Icons/choice.svg new file mode 100644 index 0000000..78896bc --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/choice.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/choice.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/choice.svg.import new file mode 100644 index 0000000..0d73c0e --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/choice.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/choice.svg-13eab5623c86309807d0cbedab2ce888.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/choice.svg" +dest_files=[ "res://.import/choice.svg-13eab5623c86309807d0cbedab2ce888.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg b/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg new file mode 100644 index 0000000..7ef2fd9 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg.import new file mode 100644 index 0000000..1af7071 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/close-dialog.svg-bb378589acef276803372ba9bd39145a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg" +dest_files=[ "res://.import/close-dialog.svg-bb378589acef276803372ba9bd39145a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/condition.svg b/addons/dialogic/Images/Event Icons/Main Icons/condition.svg new file mode 100644 index 0000000..bd4b6df --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/condition.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/condition.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/condition.svg.import new file mode 100644 index 0000000..a04a613 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/condition.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/condition.svg-9263ad20f1666fc3284ae39867031dd1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/condition.svg" +dest_files=[ "res://.import/condition.svg-9263ad20f1666fc3284ae39867031dd1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg b/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg new file mode 100644 index 0000000..2d899cf --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg.import new file mode 100644 index 0000000..463fda1 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/custom-event.svg-61c74689fdedceabc20c58e3a5fdb790.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg" +dest_files=[ "res://.import/custom-event.svg-61c74689fdedceabc20c58e3a5fdb790.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg b/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg new file mode 100644 index 0000000..fbe9247 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg.import new file mode 100644 index 0000000..a132328 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/emit-signal.svg-e7476cdba0b41b81b70ecd21f85b0b2f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg" +dest_files=[ "res://.import/emit-signal.svg-e7476cdba0b41b81b70ecd21f85b0b2f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg b/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg new file mode 100644 index 0000000..5c07aeb --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg.import new file mode 100644 index 0000000..374127b --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/end-branch.svg-393dc31ec86d0bbd6ec737e9a12197f7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg" +dest_files=[ "res://.import/end-branch.svg-393dc31ec86d0bbd6ec737e9a12197f7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/go-to.svg b/addons/dialogic/Images/Event Icons/Main Icons/go-to.svg new file mode 100644 index 0000000..b00cb71 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/go-to.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/go-to.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/go-to.svg.import new file mode 100644 index 0000000..796bf11 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/go-to.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/go-to.svg-119e813c34907fb6f30d6ed2a5cdc6b9.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/go-to.svg" +dest_files=[ "res://.import/go-to.svg-119e813c34907fb6f30d6ed2a5cdc6b9.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/label.svg b/addons/dialogic/Images/Event Icons/Main Icons/label.svg new file mode 100644 index 0000000..ef4ebe7 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/label.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/label.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/label.svg.import new file mode 100644 index 0000000..62edc99 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/label.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/label.svg-06aec152723c3fcf6a4a30c809ff95ca.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/label.svg" +dest_files=[ "res://.import/label.svg-06aec152723c3fcf6a4a30c809ff95ca.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/question.svg b/addons/dialogic/Images/Event Icons/Main Icons/question.svg new file mode 100644 index 0000000..ad13f80 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/question.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/question.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/question.svg.import new file mode 100644 index 0000000..eae79e1 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/question.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/question.svg-e8715956b6df35b64adef0a9d414d62b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/question.svg" +dest_files=[ "res://.import/question.svg-e8715956b6df35b64adef0a9d414d62b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg b/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg new file mode 100644 index 0000000..320dd08 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg.import new file mode 100644 index 0000000..157c0ad --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/save-icon.svg-c1c4c7c762fbbb1d60a352823ed4a7b3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg" +dest_files=[ "res://.import/save-icon.svg-c1c4c7c762fbbb1d60a352823ed4a7b3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg b/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg new file mode 100644 index 0000000..6a9411f --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg.import new file mode 100644 index 0000000..a0e3295 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/set-glossary.svg-4d41f2a240341526674b450e964b979b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg" +dest_files=[ "res://.import/set-glossary.svg-4d41f2a240341526674b450e964b979b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg b/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg new file mode 100644 index 0000000..7fb4774 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg.import new file mode 100644 index 0000000..ec98b5a --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/set-theme.svg-1d90327d314f7032240973a0de491cbf.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg" +dest_files=[ "res://.import/set-theme.svg-1d90327d314f7032240973a0de491cbf.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg b/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg new file mode 100644 index 0000000..8545d00 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg.import new file mode 100644 index 0000000..a73c46a --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/set-value.svg-6fb3742ed5c2df51d2350fc9d9c789b0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/set-value.svg" +dest_files=[ "res://.import/set-value.svg-6fb3742ed5c2df51d2350fc9d9c789b0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg b/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg new file mode 100644 index 0000000..e64424a --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg.import new file mode 100644 index 0000000..f4d2a43 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/text-event.svg-c2eab2588af7e9e8b6272730719be2c6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/text-event.svg" +dest_files=[ "res://.import/text-event.svg-c2eab2588af7e9e8b6272730719be2c6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg b/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg new file mode 100644 index 0000000..1c5a978 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg.import new file mode 100644 index 0000000..bc512a2 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/wait-seconds.svg-bfe0671e761c4874421ab49eb39943d7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg" +dest_files=[ "res://.import/wait-seconds.svg-bfe0671e761c4874421ab49eb39943d7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Portrait.svg b/addons/dialogic/Images/Event Icons/Portrait.svg new file mode 100644 index 0000000..e7bc69d --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Portrait.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Portrait.svg.import b/addons/dialogic/Images/Event Icons/Portrait.svg.import new file mode 100644 index 0000000..330cd24 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Portrait.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Portrait.svg-f37a4a2fd15fb13cfe91413c3b2384b1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Portrait.svg" +dest_files=[ "res://.import/Portrait.svg-f37a4a2fd15fb13cfe91413c3b2384b1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/character-join.svg b/addons/dialogic/Images/Event Icons/character-join.svg new file mode 100644 index 0000000..ae2eadc --- /dev/null +++ b/addons/dialogic/Images/Event Icons/character-join.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Event Icons/character-join.svg.import b/addons/dialogic/Images/Event Icons/character-join.svg.import new file mode 100644 index 0000000..4d85a71 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/character-join.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character-join.svg-18bdcb819b53221120d980471e3e3d32.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/character-join.svg" +dest_files=[ "res://.import/character-join.svg-18bdcb819b53221120d980471e3e3d32.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/character-leave.svg b/addons/dialogic/Images/Event Icons/character-leave.svg new file mode 100644 index 0000000..ec10a0b --- /dev/null +++ b/addons/dialogic/Images/Event Icons/character-leave.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Event Icons/character-leave.svg.import b/addons/dialogic/Images/Event Icons/character-leave.svg.import new file mode 100644 index 0000000..25dbf55 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/character-leave.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character-leave.svg-95abf444b6078dd9d945a62d79c6512b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/character-leave.svg" +dest_files=[ "res://.import/character-leave.svg-95abf444b6078dd9d945a62d79c6512b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/character.svg b/addons/dialogic/Images/Event Icons/character.svg new file mode 100644 index 0000000..28ff003 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/character.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/character.svg.import b/addons/dialogic/Images/Event Icons/character.svg.import new file mode 100644 index 0000000..35329eb --- /dev/null +++ b/addons/dialogic/Images/Event Icons/character.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character.svg-89c6ba7fbc42ad2d5168608df91b8534.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/character.svg" +dest_files=[ "res://.import/character.svg-89c6ba7fbc42ad2d5168608df91b8534.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/event-outline.svg b/addons/dialogic/Images/Event Icons/event-outline.svg new file mode 100644 index 0000000..970d0b7 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/event-outline.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/event-outline.svg.import b/addons/dialogic/Images/Event Icons/event-outline.svg.import new file mode 100644 index 0000000..0ac41a9 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/event-outline.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/event-outline.svg-dc6df459774b696f133781b19e6a23b1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/event-outline.svg" +dest_files=[ "res://.import/event-outline.svg-dc6df459774b696f133781b19e6a23b1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/event-solid.svg b/addons/dialogic/Images/Event Icons/event-solid.svg new file mode 100644 index 0000000..aeeb761 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/event-solid.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/event-solid.svg.import b/addons/dialogic/Images/Event Icons/event-solid.svg.import new file mode 100644 index 0000000..1a96ac5 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/event-solid.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/event-solid.svg-cce07667012ff90529b2ea6eca09ef64.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/event-solid.svg" +dest_files=[ "res://.import/event-solid.svg-cce07667012ff90529b2ea6eca09ef64.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/label.svg b/addons/dialogic/Images/Event Icons/label.svg new file mode 100644 index 0000000..3e4a6f1 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/label.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/label.svg.import b/addons/dialogic/Images/Event Icons/label.svg.import new file mode 100644 index 0000000..1b048b8 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/label.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/label.svg-1e5369b09915049583eed270d116d4e1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/label.svg" +dest_files=[ "res://.import/label.svg-1e5369b09915049583eed270d116d4e1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/warning.svg b/addons/dialogic/Images/Event Icons/warning.svg new file mode 100644 index 0000000..a252bde --- /dev/null +++ b/addons/dialogic/Images/Event Icons/warning.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/warning.svg.import b/addons/dialogic/Images/Event Icons/warning.svg.import new file mode 100644 index 0000000..47af37f --- /dev/null +++ b/addons/dialogic/Images/Event Icons/warning.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/warning.svg-b11873783fddb6d7d28efa2bfd5dde85.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/warning.svg" +dest_files=[ "res://.import/warning.svg-b11873783fddb6d7d28efa2bfd5dde85.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Pieces/closed-icon.svg b/addons/dialogic/Images/Pieces/closed-icon.svg new file mode 100644 index 0000000..4032eab --- /dev/null +++ b/addons/dialogic/Images/Pieces/closed-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Pieces/closed-icon.svg.import b/addons/dialogic/Images/Pieces/closed-icon.svg.import new file mode 100644 index 0000000..25eb6a8 --- /dev/null +++ b/addons/dialogic/Images/Pieces/closed-icon.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/closed-icon.svg-b4822d061d964b0ee1a7fa1cc7cd7a4c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Pieces/closed-icon.svg" +dest_files=[ "res://.import/closed-icon.svg-b4822d061d964b0ee1a7fa1cc7cd7a4c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Pieces/expand-icon.svg b/addons/dialogic/Images/Pieces/expand-icon.svg new file mode 100644 index 0000000..3ec3def --- /dev/null +++ b/addons/dialogic/Images/Pieces/expand-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Pieces/expand-icon.svg.import b/addons/dialogic/Images/Pieces/expand-icon.svg.import new file mode 100644 index 0000000..d8a789f --- /dev/null +++ b/addons/dialogic/Images/Pieces/expand-icon.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/expand-icon.svg-1c8e60c84d41732547c2efaeb5ea7d61.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Pieces/expand-icon.svg" +dest_files=[ "res://.import/expand-icon.svg-1c8e60c84d41732547c2efaeb5ea7d61.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Pieces/open-icon.svg b/addons/dialogic/Images/Pieces/open-icon.svg new file mode 100644 index 0000000..c66c422 --- /dev/null +++ b/addons/dialogic/Images/Pieces/open-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Pieces/open-icon.svg.import b/addons/dialogic/Images/Pieces/open-icon.svg.import new file mode 100644 index 0000000..f3fa063 --- /dev/null +++ b/addons/dialogic/Images/Pieces/open-icon.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/open-icon.svg-425ea3b137355c35fcecd5dde0b0ca7b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Pieces/open-icon.svg" +dest_files=[ "res://.import/open-icon.svg-425ea3b137355c35fcecd5dde0b0ca7b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/placeholder.png b/addons/dialogic/Images/Plugin/placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..513f51ac6ec4b59110593672fae097589bd79909 GIT binary patch literal 1087 zcmV-F1i<@=P)`7)p&{c=F zlOh>H!63yU7>Yt6>HA!L!` zWtqLyMx!wa_flpW4(s*$`q|l8+1%LH0484b`FvkpF5FC&>G{Y^$m(yl7(kI{;=hlW zcn+EHTAv9%a}Or|^N5NkCTUpfZ?qV|#Lr-~QS}$THXXtkZ4BA%gXDMyKyo|-AUU1^ zkQ~ndNX{5+B%jY?Vq&6WdoUO@T-RzfTwGjeuY-dFoSd9!@9&eA-C#5tZD2syP7zHYWr|LN&z1OkC(-(sPp#~UDGC8$TZ z0mDX6pY|fmaC`>n3!jML;CKW0_L_>JbQwVD&sTtK2L};2+5lPtb7*TU0!JIbm%ns2 zK$|2HIMx6XPX&+)pFa9yfpNsLn+PS|!wzgc6KuyI%U2RlFA`5%V_y77{L9QH#-q>i zC?3P#+8_Kb?qe8)WB`fQ3r{2xmVYms&1&M0kB>1wKW|9=r^$pSo)bxZ!o$cj41?`w zf^^Wiv9Up)W4KRIBvG`%F|Y4QIN$SAzjQi{TrSu0+5X^TyhyKOJo4X!(wALSas~8@ zutU+gxjF6hrrUyr=5_O?hWe8^wEgXNcuLSPc$5Ez%fdc>?dC8D!cT>rj_^}qH{lro z$?*(; + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg.import new file mode 100644 index 0000000..8cfcd90 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-0.75.svg-e385f2d5f8698a1eb274188a6319de45.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-0.75.svg-e385f2d5f8698a1eb274188a6319de45.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg new file mode 100644 index 0000000..8a72c73 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg.import new file mode 100644 index 0000000..048c65e --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-1.25.svg-77426e66de94b03eee223702e494fc59.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-1.25.svg-77426e66de94b03eee223702e494fc59.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg new file mode 100644 index 0000000..ff6ec1e --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg.import new file mode 100644 index 0000000..001de7d --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-1.5.svg-929f75a0513df90d21fa132ddf63d8c2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-1.5.svg-929f75a0513df90d21fa132ddf63d8c2.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg new file mode 100644 index 0000000..117953d --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg.import new file mode 100644 index 0000000..4ba68d4 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-1.75.svg-4aa36b7d72fd87a7a254633a6422ee50.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-1.75.svg-4aa36b7d72fd87a7a254633a6422ee50.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg new file mode 100644 index 0000000..b85c9a3 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg.import new file mode 100644 index 0000000..035f498 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-1.svg-d64b8c8865f9b1cc41ae5f2610c77bca.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-1.svg-d64b8c8865f9b1cc41ae5f2610c77bca.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg new file mode 100644 index 0000000..94a9002 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg.import new file mode 100644 index 0000000..f1d0fec --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-2.svg-a093879dab0b11ee3cff0e5413cc6170.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-2.svg-a093879dab0b11ee3cff0e5413cc6170.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg new file mode 100644 index 0000000..032b806 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg.import new file mode 100644 index 0000000..75c6b38 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme.svg-4945c419e7e7434b4eff87c00fedb862.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme.svg-4945c419e7e7434b4eff87c00fedb862.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg new file mode 100644 index 0000000..3943bcd --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg.import new file mode 100644 index 0000000..d3daebf --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-0.75.svg-b0084f7944d498c708ed5783cbfa3c02.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-0.75.svg-b0084f7944d498c708ed5783cbfa3c02.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg new file mode 100644 index 0000000..d7a668d --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg.import new file mode 100644 index 0000000..64f40a3 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-1.25.svg-b4a3d8bc3495118f83700d2ce43b9be7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-1.25.svg-b4a3d8bc3495118f83700d2ce43b9be7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg new file mode 100644 index 0000000..4030850 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg.import new file mode 100644 index 0000000..009e942 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-1.5.svg-f900489ee9fce4301b8f007f506f3191.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-1.5.svg-f900489ee9fce4301b8f007f506f3191.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg new file mode 100644 index 0000000..3ccd37b --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg.import new file mode 100644 index 0000000..894818e --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-1.75.svg-bdebfc66b49fc138951dde8a5be12ad7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-1.75.svg-bdebfc66b49fc138951dde8a5be12ad7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg new file mode 100644 index 0000000..d60c4bd --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg.import new file mode 100644 index 0000000..cbf07d2 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-1.svg-84bb375f8bd3080f4537646a33b4b1f1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-1.svg-84bb375f8bd3080f4537646a33b4b1f1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg new file mode 100644 index 0000000..2994d84 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg.import new file mode 100644 index 0000000..6b9b3ab --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-2.svg-c96a194e2c41299d9490146c0e071557.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-2.svg-c96a194e2c41299d9490146c0e071557.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg new file mode 100644 index 0000000..3cd57a6 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg.import new file mode 100644 index 0000000..b3c2882 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme.svg-fbd42cd06e4ce1cb7eef3585a7eb830a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme.svg-fbd42cd06e4ce1cb7eef3585a7eb830a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/white-texture.png b/addons/dialogic/Images/Plugin/white-texture.png new file mode 100644 index 0000000000000000000000000000000000000000..3ea329f2b56724c48c1b7822e7198f7de5e7b2d2 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^{2jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85o30K$!7fntTONP{Py2F+?Lc`G-H3L})LkTWB)Vt(E`&%QJ+^ WE~r_PQ~VXEhQZU-&t;ucLK6V)N+84l literal 0 HcmV?d00001 diff --git a/addons/dialogic/Images/Plugin/white-texture.png.import b/addons/dialogic/Images/Plugin/white-texture.png.import new file mode 100644 index 0000000..d133cb3 --- /dev/null +++ b/addons/dialogic/Images/Plugin/white-texture.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/white-texture.png-3e7634c71bce7fffbaf080398917b5b3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/white-texture.png" +dest_files=[ "res://.import/white-texture.png-3e7634c71bce7fffbaf080398917b5b3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/character-1.25.svg b/addons/dialogic/Images/Resources/character-1.25.svg new file mode 100644 index 0000000..28ff003 --- /dev/null +++ b/addons/dialogic/Images/Resources/character-1.25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/character-1.25.svg.import b/addons/dialogic/Images/Resources/character-1.25.svg.import new file mode 100644 index 0000000..192e8b2 --- /dev/null +++ b/addons/dialogic/Images/Resources/character-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character-1.25.svg-f8560c64a6c9ea126837d22490545cc1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/character-1.25.svg" +dest_files=[ "res://.import/character-1.25.svg-f8560c64a6c9ea126837d22490545cc1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/character-2.svg b/addons/dialogic/Images/Resources/character-2.svg new file mode 100644 index 0000000..abcc1ab --- /dev/null +++ b/addons/dialogic/Images/Resources/character-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/character-2.svg.import b/addons/dialogic/Images/Resources/character-2.svg.import new file mode 100644 index 0000000..96db3f0 --- /dev/null +++ b/addons/dialogic/Images/Resources/character-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character-2.svg-6a7c147375663e487c6aad504c0ac5e9.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/character-2.svg" +dest_files=[ "res://.import/character-2.svg-6a7c147375663e487c6aad504c0ac5e9.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/character.svg b/addons/dialogic/Images/Resources/character.svg new file mode 100644 index 0000000..8871f5e --- /dev/null +++ b/addons/dialogic/Images/Resources/character.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/character.svg.import b/addons/dialogic/Images/Resources/character.svg.import new file mode 100644 index 0000000..b2c022b --- /dev/null +++ b/addons/dialogic/Images/Resources/character.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character.svg-dce8982b5c5669e98479bbff64aab08f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/character.svg" +dest_files=[ "res://.import/character.svg-dce8982b5c5669e98479bbff64aab08f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/definition-1.25.svg b/addons/dialogic/Images/Resources/definition-1.25.svg new file mode 100644 index 0000000..ed40659 --- /dev/null +++ b/addons/dialogic/Images/Resources/definition-1.25.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Resources/definition-1.25.svg.import b/addons/dialogic/Images/Resources/definition-1.25.svg.import new file mode 100644 index 0000000..04dee80 --- /dev/null +++ b/addons/dialogic/Images/Resources/definition-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/definition-1.25.svg-7298ef82f76fa611485bd53d1f0aebe0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/definition-1.25.svg" +dest_files=[ "res://.import/definition-1.25.svg-7298ef82f76fa611485bd53d1f0aebe0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/definition-2.svg b/addons/dialogic/Images/Resources/definition-2.svg new file mode 100644 index 0000000..6fca867 --- /dev/null +++ b/addons/dialogic/Images/Resources/definition-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Resources/definition-2.svg.import b/addons/dialogic/Images/Resources/definition-2.svg.import new file mode 100644 index 0000000..c9365ca --- /dev/null +++ b/addons/dialogic/Images/Resources/definition-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/definition-2.svg-533f2834cedbb3e21c178f7a40ec34a3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/definition-2.svg" +dest_files=[ "res://.import/definition-2.svg-533f2834cedbb3e21c178f7a40ec34a3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/definition.svg b/addons/dialogic/Images/Resources/definition.svg new file mode 100644 index 0000000..236ca35 --- /dev/null +++ b/addons/dialogic/Images/Resources/definition.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Resources/definition.svg.import b/addons/dialogic/Images/Resources/definition.svg.import new file mode 100644 index 0000000..329ca3d --- /dev/null +++ b/addons/dialogic/Images/Resources/definition.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/definition.svg-336e1b41e3ab4ef43367e0f0bbc50c2c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/definition.svg" +dest_files=[ "res://.import/definition.svg-336e1b41e3ab4ef43367e0f0bbc50c2c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/theme-1.25.svg b/addons/dialogic/Images/Resources/theme-1.25.svg new file mode 100644 index 0000000..e21235f --- /dev/null +++ b/addons/dialogic/Images/Resources/theme-1.25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/theme-1.25.svg.import b/addons/dialogic/Images/Resources/theme-1.25.svg.import new file mode 100644 index 0000000..0cfbe88 --- /dev/null +++ b/addons/dialogic/Images/Resources/theme-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/theme-1.25.svg-77e4506f492a590268d4307cdc31e4f8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/theme-1.25.svg" +dest_files=[ "res://.import/theme-1.25.svg-77e4506f492a590268d4307cdc31e4f8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/theme-2.svg b/addons/dialogic/Images/Resources/theme-2.svg new file mode 100644 index 0000000..1638601 --- /dev/null +++ b/addons/dialogic/Images/Resources/theme-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/theme-2.svg.import b/addons/dialogic/Images/Resources/theme-2.svg.import new file mode 100644 index 0000000..32fb709 --- /dev/null +++ b/addons/dialogic/Images/Resources/theme-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/theme-2.svg-17486fa9879ca7d5056e82b248808b3d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/theme-2.svg" +dest_files=[ "res://.import/theme-2.svg-17486fa9879ca7d5056e82b248808b3d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/theme.svg b/addons/dialogic/Images/Resources/theme.svg new file mode 100644 index 0000000..c6fd1ef --- /dev/null +++ b/addons/dialogic/Images/Resources/theme.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/theme.svg.import b/addons/dialogic/Images/Resources/theme.svg.import new file mode 100644 index 0000000..1777207 --- /dev/null +++ b/addons/dialogic/Images/Resources/theme.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/theme.svg-d2e167fcbacd86111397e731ff3f28eb.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/theme.svg" +dest_files=[ "res://.import/theme.svg-d2e167fcbacd86111397e731ff3f28eb.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/timeline-1.25.svg b/addons/dialogic/Images/Resources/timeline-1.25.svg new file mode 100644 index 0000000..daaf48b --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline-1.25.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/addons/dialogic/Images/Resources/timeline-1.25.svg.import b/addons/dialogic/Images/Resources/timeline-1.25.svg.import new file mode 100644 index 0000000..b4cf97f --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/timeline-1.25.svg-1c9e495370ebe35a5587d303d470cad6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/timeline-1.25.svg" +dest_files=[ "res://.import/timeline-1.25.svg-1c9e495370ebe35a5587d303d470cad6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/timeline-2.svg b/addons/dialogic/Images/Resources/timeline-2.svg new file mode 100644 index 0000000..732fecd --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline-2.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/addons/dialogic/Images/Resources/timeline-2.svg.import b/addons/dialogic/Images/Resources/timeline-2.svg.import new file mode 100644 index 0000000..f8ce6df --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/timeline-2.svg-48d1e0a121d5a544a47b67fe1241eed2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/timeline-2.svg" +dest_files=[ "res://.import/timeline-2.svg-48d1e0a121d5a544a47b67fe1241eed2.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/timeline.svg b/addons/dialogic/Images/Resources/timeline.svg new file mode 100644 index 0000000..a22928f --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons/dialogic/Images/Resources/timeline.svg.import b/addons/dialogic/Images/Resources/timeline.svg.import new file mode 100644 index 0000000..a82b348 --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/timeline.svg-4646668e3960b7f37ecffae1640eccc7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/timeline.svg" +dest_files=[ "res://.import/timeline.svg-4646668e3960b7f37ecffae1640eccc7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-character-1.25.svg b/addons/dialogic/Images/Toolbar/add-character-1.25.svg new file mode 100644 index 0000000..da2fd66 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character-1.25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-character-1.25.svg.import b/addons/dialogic/Images/Toolbar/add-character-1.25.svg.import new file mode 100644 index 0000000..16a0410 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-character-1.25.svg-3c1ef7e0cdcd97fe5a24f5d6eb32b444.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-character-1.25.svg" +dest_files=[ "res://.import/add-character-1.25.svg-3c1ef7e0cdcd97fe5a24f5d6eb32b444.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-character-2.svg b/addons/dialogic/Images/Toolbar/add-character-2.svg new file mode 100644 index 0000000..03137b5 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-character-2.svg.import b/addons/dialogic/Images/Toolbar/add-character-2.svg.import new file mode 100644 index 0000000..ee42af0 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-character-2.svg-9c2d45663361c0aec7fda875cb579ae0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-character-2.svg" +dest_files=[ "res://.import/add-character-2.svg-9c2d45663361c0aec7fda875cb579ae0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-character.svg b/addons/dialogic/Images/Toolbar/add-character.svg new file mode 100644 index 0000000..9a42063 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-character.svg.import b/addons/dialogic/Images/Toolbar/add-character.svg.import new file mode 100644 index 0000000..345803e --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-character.svg-24c4802c30d4441d70c317a53eb83e45.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-character.svg" +dest_files=[ "res://.import/add-character.svg-24c4802c30d4441d70c317a53eb83e45.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-definition-1.25.svg b/addons/dialogic/Images/Toolbar/add-definition-1.25.svg new file mode 100644 index 0000000..89b70b1 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition-1.25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-definition-1.25.svg.import b/addons/dialogic/Images/Toolbar/add-definition-1.25.svg.import new file mode 100644 index 0000000..dcc4d95 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-definition-1.25.svg-4ebed8c9b38e990b8d2551e3cef70881.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-definition-1.25.svg" +dest_files=[ "res://.import/add-definition-1.25.svg-4ebed8c9b38e990b8d2551e3cef70881.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-definition-2.svg b/addons/dialogic/Images/Toolbar/add-definition-2.svg new file mode 100644 index 0000000..ec25605 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-definition-2.svg.import b/addons/dialogic/Images/Toolbar/add-definition-2.svg.import new file mode 100644 index 0000000..a25b5d6 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-definition-2.svg-454918059b27eb1572e6513a053c2567.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-definition-2.svg" +dest_files=[ "res://.import/add-definition-2.svg-454918059b27eb1572e6513a053c2567.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-definition.svg b/addons/dialogic/Images/Toolbar/add-definition.svg new file mode 100644 index 0000000..23fbfed --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-definition.svg.import b/addons/dialogic/Images/Toolbar/add-definition.svg.import new file mode 100644 index 0000000..086108c --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-definition.svg-6c717aad0d8623c9b81b21cb29fd99b6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-definition.svg" +dest_files=[ "res://.import/add-definition.svg-6c717aad0d8623c9b81b21cb29fd99b6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg b/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg new file mode 100644 index 0000000..ca3cd08 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg.import b/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg.import new file mode 100644 index 0000000..a8732ff --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-glossary-1.25.svg-2a0f52cc956c5e96cc6cd47ec2e7c9fc.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-glossary-1.25.svg" +dest_files=[ "res://.import/add-glossary-1.25.svg-2a0f52cc956c5e96cc6cd47ec2e7c9fc.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-glossary-2.svg b/addons/dialogic/Images/Toolbar/add-glossary-2.svg new file mode 100644 index 0000000..e2bac55 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-glossary-2.svg.import b/addons/dialogic/Images/Toolbar/add-glossary-2.svg.import new file mode 100644 index 0000000..29364ff --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-glossary-2.svg-df70e38f107b9fc6109af658c7e14964.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-glossary-2.svg" +dest_files=[ "res://.import/add-glossary-2.svg-df70e38f107b9fc6109af658c7e14964.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-glossary.svg b/addons/dialogic/Images/Toolbar/add-glossary.svg new file mode 100644 index 0000000..9293f3f --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-glossary.svg.import b/addons/dialogic/Images/Toolbar/add-glossary.svg.import new file mode 100644 index 0000000..77b9cd0 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-glossary.svg-ca3a2211ead16a8ddd6c7fce1fbd838d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-glossary.svg" +dest_files=[ "res://.import/add-glossary.svg-ca3a2211ead16a8ddd6c7fce1fbd838d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-theme-1.25.svg b/addons/dialogic/Images/Toolbar/add-theme-1.25.svg new file mode 100644 index 0000000..97c347e --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme-1.25.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-theme-1.25.svg.import b/addons/dialogic/Images/Toolbar/add-theme-1.25.svg.import new file mode 100644 index 0000000..e1db6f4 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-theme-1.25.svg-4a12f9dc653eaf7ddeb686d60e81dccd.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-theme-1.25.svg" +dest_files=[ "res://.import/add-theme-1.25.svg-4a12f9dc653eaf7ddeb686d60e81dccd.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-theme-2.svg b/addons/dialogic/Images/Toolbar/add-theme-2.svg new file mode 100644 index 0000000..c94ae67 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme-2.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-theme-2.svg.import b/addons/dialogic/Images/Toolbar/add-theme-2.svg.import new file mode 100644 index 0000000..063192b --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-theme-2.svg-c08a48497308cf495f82550c69ecc0ef.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-theme-2.svg" +dest_files=[ "res://.import/add-theme-2.svg-c08a48497308cf495f82550c69ecc0ef.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-theme.svg b/addons/dialogic/Images/Toolbar/add-theme.svg new file mode 100644 index 0000000..3e21c7a --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-theme.svg.import b/addons/dialogic/Images/Toolbar/add-theme.svg.import new file mode 100644 index 0000000..13b59ca --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-theme.svg-56f6ced420900816b1a7d2a532d59732.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-theme.svg" +dest_files=[ "res://.import/add-theme.svg-56f6ced420900816b1a7d2a532d59732.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg b/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg new file mode 100644 index 0000000..42852f5 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg.import b/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg.import new file mode 100644 index 0000000..289eea4 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-timeline-1.25.svg-67e7c82a2cbaaed1f1477d82ecb8ce71.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-timeline-1.25.svg" +dest_files=[ "res://.import/add-timeline-1.25.svg-67e7c82a2cbaaed1f1477d82ecb8ce71.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-timeline-2.svg b/addons/dialogic/Images/Toolbar/add-timeline-2.svg new file mode 100644 index 0000000..031a108 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline-2.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-timeline-2.svg.import b/addons/dialogic/Images/Toolbar/add-timeline-2.svg.import new file mode 100644 index 0000000..0f28e40 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-timeline-2.svg-00b3bf905c7bd2ca1fece872d753dfef.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-timeline-2.svg" +dest_files=[ "res://.import/add-timeline-2.svg-00b3bf905c7bd2ca1fece872d753dfef.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-timeline.svg b/addons/dialogic/Images/Toolbar/add-timeline.svg new file mode 100644 index 0000000..5fa7ac1 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-timeline.svg.import b/addons/dialogic/Images/Toolbar/add-timeline.svg.import new file mode 100644 index 0000000..c55245c --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-timeline.svg-fc120773b7d10b417503abc3c1b33ca0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-timeline.svg" +dest_files=[ "res://.import/add-timeline.svg-fc120773b7d10b417503abc3c1b33ca0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Tutorials/arrow-down.svg b/addons/dialogic/Images/Tutorials/arrow-down.svg new file mode 100644 index 0000000..eead621 --- /dev/null +++ b/addons/dialogic/Images/Tutorials/arrow-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Tutorials/arrow-down.svg.import b/addons/dialogic/Images/Tutorials/arrow-down.svg.import new file mode 100644 index 0000000..135eb3b --- /dev/null +++ b/addons/dialogic/Images/Tutorials/arrow-down.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/arrow-down.svg-82927ec9bdee161b2d27d6f4808e76b4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Tutorials/arrow-down.svg" +dest_files=[ "res://.import/arrow-down.svg-82927ec9bdee161b2d27d6f4808e76b4.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Localization/dialogic.csv b/addons/dialogic/Localization/dialogic.csv new file mode 100644 index 0000000..c3041e4 --- /dev/null +++ b/addons/dialogic/Localization/dialogic.csv @@ -0,0 +1,184 @@ +id,zh_CN,en,es,fr,de +## TIMELINE EDITOR ---------------------------------------------,,,,, +# EVENT NAMES ---------------------------------------------,,,,, +Text Event,文本事件,Text Event,Texto,Texte,Text Ereignis +Character Join,角色加入,Character Join,Personaje Entra,,Charakter beitreten +Character Leave,角色离开,Character Leave,Personaje Sale,,Charakter verlassen +Question,问题,Question,Pregunta,,Frage +Choice,选择,Choice,Opcion,,Option +Condition,条件,Condition,Condicion,,Bedingung +End Branch,结束分支,End Branch,Cerrar rama,,Zweig beenden +Set Value,设定值,Set Value,Actualizar Valor,,Wert ändern +Set Glossary,设置术语,Set Glossary,Actualizar Glosario,,Glossar ändern +Change Timeline,改变时间线,Change Timeline,Cambiar Secuencia,,Zeitlinie wechseln +Set Background,设置背景,Set Background,Cambiar Fondo,,Hintergrund wechseln +Close Dialog,关闭对话框,Close Dialog,Cerrar Dialogo,,Dialog beenden +Wait Seconds,等待秒数,Wait Seconds,Esperar Segundos,,Warten +Set Theme,设置主题,Set Theme,Cambiar Tema,,Theme wechseln +Audio Event,音频事件,Audio Event,Evento de Audio,,Audio Ereignis +Background Music,背景音乐,Background Music,Evento de Musica,,Hintergrundmusik +Emit Signal,发出信号,Emit Signal,Emitir Señal,,Signal senden +Change Scene,改变场景,Change Scene,Cambiar Escena,Changer la scène,Szene wechseln +Call Node,呼叫节点,Call Node,Llamar Nodo,, +Save,保存,Save,Guardar,Enregistrer,Speichern +# EVENT CATEGORIES ---------------------------------------------,,,,, +Main Events,主要事件,Main Events,Eventos principales,,Haupt Ereignisse +Logic,逻辑,Logic,Lógica,Logique,Logik +Timeline,时间线,Timeline,Secuencia,Chronologie,Zeitlinie +Audio,音频,Audio,Audio,Audio,Audio +Godot,Godot,Godot,Godot,Godot,Godot +Custom Events,自定义事件,Custom Events,Eventos personalizados,Événements personnalisés,Benutzerdefinierte Ereignisse +# EVENTS ---------------------------------------------,,,,, +The selected operator requires a number!,所选的操作需要一个数字!,The selected operator requires a number!,El operador seleccionado requiere un número,,Der ausgewählte Operator muss eine Zahl sein +This event needs a question event around it!,这个事件需要一个围绕它的问题事件!,This event needs a question event around it!,Este evento necesita estar dentro de una pregunta,,Dieses Ereignis muss Teil einer Frage sein +## SETTINGS ---------------------------------------------,,,,, +Settings,设置,Settings,,,Einstellungen +Theme,主题,Theme,,,Theme +Default,默认,Default Theme:,Predeterminado,défaut,Standart Theme: +Canvas layer:,帆布层:,Canvas layer:,Canvas layer:,,Canvas Layer: +Dialog,对话,Dialog,,, +New lines will create extra messages,新的线条会产生额外的信息,New lines will create extra messages,Nuevas líneas crearan nuevos mensajes,,Zeilenumbrüche erstellen automatisch neue Nachrichten +Remove empty messages,删除空信息,Remove empty messages,Borrar mensajes vacíos,,Leere Nachrichten entfernen +Auto color character names in messages,信息中的字符名称自动着色,Auto color character names in messages,Colorear nombres automáticamente,,Automatisch Charakternamen einfärben +Stretch background images ,拉伸背景图像,Stretch background images,,,Hintergrundbilder strecken +Audio for Text events:,文本事件的音频:,Audio for Text events:,Audio para los eventos de texto:,,Audio für Text Ereignisse: +Enable audio for Text events,启用文本事件的音频,Enable audio for Text events,Habilitar audio para eventos de texto,,Audio für Text Ereignisse aktivieren +Default bus for Text event audio,文本事件音频的默认总线,Default bus for Text event audio,Audio bus predeterminado para eventos de texto,,Standard Audio-Bus für Text Ereignisse +Experimental Translations:,实验性翻译:,Experimental Translations:,Traducción experimental:,,Experimentelle Übersetzung: +Inputs for text events will be treated as keys for tr(),文本事件的输入将被视为tr()的按键,Inputs for text events will be treated as keys for tr(),Inputs for text events will be treated as keys for tr(),,Behandele Text Ereignisse als Schlüssel für tr() +Saving,游戏保存中,Game saving,,,Speichern im Spiel +Autosave,自动保存,Autosave,,,Automatisch Speichern +Input,输入,Input,,,Eingabe +Autofocus choice buttons,自动对焦选择按钮,Autofocus choice buttons,,,Optionen automatisch fokussieren +Enable choice options after,启用选择选项后,Enable choice options after,Habilitar las opciones después de,,Aktiviere Optionen nach +seconds,秒,seconds,segundos,secondes,Sekunden +Propagate input to rest of the Tree,传播输入到树的其他部分,Propagate input to rest of the Tree,Propagar input al resto del Tree,,Eingabe an den Rest des Baumes weitergeben +Tapping on the dialog to continue,点击对话框继续,Tapping on the dialog to continue,,,Fortfahren durch Klicken des Textfeld +Default action key,默认动作按键,Default action key,Tecla de acción predeterminada,,Standard Aktion +Enable default choice hotkeys,启用默认选择热键,Enable default choice hotkeys,,,Standard Hotkeys nutzen +Custom events,自定义事件,Custom events,,,Benutzerdefinierte Ereignisse +## CHARACTER EDITOR ---------------------------------------------,,,,, +Name:,名称:,Name:,Nombre:,Nom:,Name: +Display Name:,显示名称:,Display Name:,Display Name:,,Anzeigename: +Nicknames:,昵称:,Nicknames:,Apodos:,,Spitznamen: +Colors,颜色,Colors,Colores,Couleurs,Farben +Description:,描述:,Description:,Descripción:,,Beschreibung: +Portraits,肖像,Portraits,Retratos,,Portraits +File:,文件:,File:,Archivo:,,Datei +Mirror portraits,镜像肖像,Mirror portraits,Espejar imágen,,Portraits spiegeln +New portrait,添加新的肖像,New portrait,Nuevo retrato,,Neues Portrait +Path,路径,Path,,,Datei +Import folder,从文件夹中导入图片,Import folder,Importar carpeta,,Ordner importieren +NoImagePreview,此肖像条目上没有图像.,No image on this portrait entry.,,,Dieses Portrait hat noch kein Bild. +CustomScenePreview,[!] 无法显示自定义场景的预览.,[!] Can\'t show previews of custom scenes.,,,Szenen können nicht angezeigt werden. +Preview of,预览自,Preview of,,,Vorschau von +Full View,全视图,Full View,,,Ganze Ansicht +Actual Size,实际尺寸,Actual Size,,,Tasächliche Größe +## THEME EDITOR ---------------------------------------------,,,,, +Preview changes,预览更改,Preview changes,,,Vorschau aktualisieren +DialogTextTabTitle,对话文本,Dialog Text,,,Dialogtext +DialogBoxTabTitle,对话框,Dialog Box,,,Dialogfeld +NameLabelTabTitle,名称标签,Name Label,,,Namenstext +ChoiceButtonTabTitle,选择按钮,Choice Buttons,,,Optionen +GlossaryTabTitle,术语,Glossary,,,Glossar +AudioTabTitle,音频,Audio,,,Audio +Flat background,扁平背景,Flat background,Fondo plano,,Einfarbiger Hintergrund +Background Texture,背景纹理,Background Texture,Textura de fondo,,Hintergrundbild +Texture Modulation,纹理调制,Texture Modulation,Modulación de textura,Modulation de la texture,Texturfarbe +Fonts,字体,Fonts,Fuentes,Polices,Schriften +Regular Font,普通字体,Regular Font,Normal,,Normal +Bold Font,粗体字,Bold Font,Negrita,,Fett +Italic Font,斜体字,Italic Font,Cursiva,Italic Font,Kursiv +Text Color,文字颜色,Text Color,Color de texto,Couleur du texte,Textfarbe +Shadow Offset,阴影偏移,Shadow Offset,Compensación,Décalage de l'ombre,Schattenabstand +Behaviour,行为,Behaviour,Comportamiento,,Verhalten +Speed (bigger = slower),速度 (更大=更慢),Speed (bigger = slower),Velocidad (a mayor número más lento),,Geschwindigkeit +Alignment,对齐,Alignment,Alineación,,Ausrichtung +Single Portrait Mode,单一肖像模式,Single Portrait Mode,Modo retrato único,,Alleinstehendes Portrait Modus +Don't Close After Last Event,最后一次活动后不要关闭,Don't Close After Last Event,,, +Visuals,视觉效果,Visuals,Visuales,,Aussehen +Background Color,背景颜色,Background Color,Color de fondo,,Hintergrundfarbe +Size and Position,尺寸和位置,Size and Position,,,Größe und Position +Full width,全宽,Full width,Ancho completo,,Gesamte Breite +Box padding,箱体填充,Box padding,Box padding,, +Box size (pixels),盒子大小 (像素),Box size (pixels),Box size (pixels),,Textfeldgröße +Bottom gap,底部间隙,Bottom gap,Bottom gap,,Abstand +Next Indicator,下一个指示器,Next Indicator,Indicador de siguiente,,Fortfahren-Indikator +Image,图片,Image,Imágen,Image,Bild +Animation,动画,Animation,Animación,Animation,Animation +Scale,尺度,Scale,Escala,Échelle,Größe +Offset,偏移,Offset,Compensación,Décalage,Distanz +Behaviour,行为方式,Behaviour,Comportamiento,Comportement,Verhalten +Action key,动作按键,Action key,Tecla de acción,Clé d'action,Eingabeaktion +Fade in time:,淡入时间:,Fade in time:,Tiempo de aparición:,,Einblendedauer +Text,文本,Text,Texto,Texte,Text +Name label Font,名称标签字体,Name label Font,Fuente del nombre,,Schrift +Use character Color,使用角色颜色,Use character Color,Usar el color del personaje,,Charakterfarbe nutzen +Shadow,阴影,Shadow,Sombra,Ombre,Schatten +Box,盒子,Box,Box,Boîte,Textfeld +Background Color,背景颜色,Background Color,Color de fondo,,Hintergrundfarbe +Placement,摆放位置,Placement,Colocación,Placement,Platzierung +Position,位置,Position,Posicion,Position,Position +Button Style,按钮样式,Button Style,Estilo de botones,,Knopf-Stil +Fixed button size,固定按钮尺寸,Fixed button size,Tamaño fijo,,Feste Größe +Separation,分离,Separation,Separación,Séparation,Abstand +Layout,布局,Layout,Ordenar,Disposition,Layout +Advanced,高级,Advanced,Avanzado,Avancées,Fortgeschritten +Use Custom Buttons,使用自定义按钮,Use Custom Buttons,Usar botones propios,,Benutzerdefinierte Knöpfe +Word color,文字颜色,Word color,Color de palabra,,Wort-Farbe +Background Panel,背景板,Background Panel,Panel de fondo,,Hintergrundpanel +Title Font,标题字体,Title Font,Título Fuente,,Titelschrift +Title color,标题颜色,Title color,Título Color,,Titelfarbe +Text Font,文本字体,Text Font,Texto Font,,Inhaltsschrift +Text color,文本颜色,Text color,Texto Color,,Inhaltsfarbe +Extra Font,额外字体,Extra Font,Extra Fuente,,Zusatzschrift +Extra color,额外颜色,Extra color,Extra Color,,Zusatzfarbe +Behaviour,行为,Behaviour,Comportamiento,,Verhalten +Show,显示,Show,Mostrar,Afficher,Anzeigen +Typing Sound Effects,'打字'音效,Typing Sound Effects,Sonido Del Texto,,Tipp-Geräusche +Next Sound Effects,'下一个'音效,Next Sound Effects,,, +Choice Sound Effects,'选择'音效,Choice Sound Effects,,, +UseAudio,启用,Use audio file(s),Habilitar,Activer,Aktivieren +File or folder path,文件或文件夹路径,File or folder path,Archivo o carpeta,,Datei- oder Ordnerpfad +Volume,音量,Volume,Volumen,Volume,Lautstärke +Volume random range,音量随机范围,Volume random range,Rango de volumen,,Lautstärkenvariation +Pitch,音高,Pitch,,,Tonhöhe +Pitch random range,音高随机范围,Pitch random range,Rango de tono,,Tonhöhenvariation +Allow interrupt,允许中断,Allow interrupt,Permitir interrumpir,,Unterbrechen +Audio Bus,音频总线,Audio Bus,Bus de Audio,Bus Audio,Audio Bus +Button layout,按钮布局,Button layout,Orden de botones,, +Offset x-y,偏移 x-y,Offset x-y,Compensación x-y,, +Position on screen,屏幕上的位置,Position on screen,Posición en la pantalla,,Position +## RESOURCE TREE / TOOLBAR ---------------------------------------------,,,,, +# TOOL BAR ---------------------------------------------,,,,, +Help,帮助,Help,Ayuda,Aide,Hilfe +Website,网站,Website,Sitio Web,Site Web,Webseite +# POPUP OPTIONS ---------------------------------------------,,,,, +Show in File Manager,在文件管理器中显示,Show in File Manager,,,Im Dateimanager öffnen +Copy Timeline Name,复制时间线名称,Copy Timeline Name,,,Name der Zeitlinie kopieren +Remove Timeline,移除时间线,Remove Timeline,,,Zeitlinie löschen +Remove Character,移除角色,Remove Character,,,Charakter löschen +Duplicate Theme,复制主题,Duplicate Theme,,,Theme duplizieren +Remove Theme,移除主题,Remove Theme,,,Theme löschen +Edit Definitions File,编辑定义文件,Edit Definitions File,,,Definitions-Datei bearbeiten +Remove Definition entry,移除定义条目,Remove Definition entry,,,Definition löschen +Add Timeline,添加时间轴,Add Timeline,,,Neue Timeline +Create Subfolder,创建子文件夹,Create Subfolder,,,Neuer Unterordner +Delete Folder,删除文件夹,Delete Folder,,,Ordner löschen +Add Character,添加角色,Add Character,,,Neuer Charakter +Add Theme,添加主题,Add Theme,,,Neues Theme +Add Value,添加价,Add Value,,,Neuer Wert +Add Glossary Entry,添加术语条目,Add Glossary Entry,,,Neuer Glossar-Eintrag +Toggle Editing Tools,切换编辑工具,Toggle Editing Tools,,,Bearbeitungswerkzeuge aktivieren +RemoveResourcePopupTitle,请确定你要删除!,Be sure you want to delete!,"Por favor, Confirma...",,"Sicher, dass Sie das löschen möchten?" +RemoveFolderPopupTitle,请确定你要删除这个文件夹!,Be sure you want to delete this folder!,"Por favor, Confirma...",,Ordner wirklich löschen? +CantDeleteLastTheme,Dialogic总是需要一个主题. 很抱歉你不能删除最后的主题!,Dialogic always needs a theme. You cannot delete the last theme. Sorry!,,,"Dialogic benötigt immer ein Theme, darum darf das Letzte nicht gelöscht werden!" +DeleteResourceText,是否确实要删除此 [resource]? \n (无法还原),Are you sure you want to remove this [resource]? \n (Can't be restored),,,"Sind Sie sicher, dass Sie diese/s/n [resource] löschen wollen? \n (Kann nicht wiederhergestellt werden)" +RemoveFolderPopupText,确实要删除此文件夹及其包含的所有项目吗? \n (无法还原),Are you sure you want to remove this folder and all the items contained in it? \n(Can't be restored),,,"Sind Sie sicher, dass Sie diesen Ordner und alle darin enthaltenen Resourcen löschen möchten? \n(Nicht wiederherstellbar)" +## VALUE EDITOR,,,,, +ValueName,名称:,Name:,Nombre:,Nom:,Name: +Value,值:,Value:,,,Wert: +## GLOSSARY EDITOR,,,,, +GlossaryName,名称:,Name:,Nombre:,Nom:,Name: +GlossaryExplanation,"当玩家在对话框中悬停在该词时, 会有一个弹出窗口显示该信息.",A popup will display this information when a player hovers the word in a dialog.,,,"Diese Informationen werden in einem Popup gezeigt, wenn die Maus über disesem Wort ist." +GlossaryContent,内容:,Content:,,,Inhalt: diff --git a/addons/dialogic/Localization/dialogic.csv.import b/addons/dialogic/Localization/dialogic.csv.import new file mode 100644 index 0000000..f512d9c --- /dev/null +++ b/addons/dialogic/Localization/dialogic.csv.import @@ -0,0 +1,16 @@ +[remap] + +importer="csv_translation" +type="Translation" + +[deps] + +files=[ "res://addons/dialogic/Localization/dialogic.zh_CN.translation", "res://addons/dialogic/Localization/dialogic.en.translation", "res://addons/dialogic/Localization/dialogic.es.translation", "res://addons/dialogic/Localization/dialogic.fr.translation", "res://addons/dialogic/Localization/dialogic.de.translation" ] + +source_file="res://addons/dialogic/Localization/dialogic.csv" +dest_files=[ "res://addons/dialogic/Localization/dialogic.zh_CN.translation", "res://addons/dialogic/Localization/dialogic.en.translation", "res://addons/dialogic/Localization/dialogic.es.translation", "res://addons/dialogic/Localization/dialogic.fr.translation", "res://addons/dialogic/Localization/dialogic.de.translation" ] + +[params] + +compress=true +delimiter=0 diff --git a/addons/dialogic/Localization/translation_service.gd b/addons/dialogic/Localization/translation_service.gd new file mode 100644 index 0000000..b028829 --- /dev/null +++ b/addons/dialogic/Localization/translation_service.gd @@ -0,0 +1,60 @@ +# Alternative to [TranslationServer] that works inside the editor +# This is a modified version of AnidemDex's TranslationService +# https://github.com/AnidemDex/Godot-TranslationService + +tool +class_name DTS + +var translations = {} +#var testText = "Initial Text" + +func _init(): + translations_initial_load() + +# Translates a message using translation catalogs configured in the Editor Settings. +func translate(message:String)->String: + var translation + + translation = _get_translation(message) + + return translation + +func translations_initial_load(): + var translations_resources = ['en', 'zh_CN', 'es', 'fr', 'de'] + translations = {} + + for resource in translations_resources: + var t:PHashTranslation = load('res://addons/dialogic/Localization/dialogic.' + resource + '.translation') + if translations.has(t.locale): + translations[t.locale].append(t) + else: + translations[t.locale] = [t] + + +# Each value is an Array of [PHashTranslation]. +func get_translations() -> Dictionary: + return translations + + +func _get_translation(message)->String: + var returned_translation = message + var default_fallback = 'en' + + var editor_plugin = EditorPlugin.new() + var editor_settings = editor_plugin.get_editor_interface().get_editor_settings() + var locale = editor_settings.get('interface/editor/editor_language') + + var cases = translations.get( + locale, + translations.get(default_fallback, [PHashTranslation.new()]) + ) + for case in cases: + returned_translation = (case as PHashTranslation).get_message(message) + if returned_translation: + break + else: + # If there's no translation, returns the original string + returned_translation = message + + #print('Message: ', message, ' - locale: ', locale, ' - ', returned_translation) + return returned_translation diff --git a/addons/dialogic/Nodes/Anima/AnimaLicense.md b/addons/dialogic/Nodes/Anima/AnimaLicense.md new file mode 100644 index 0000000..4e01de4 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/AnimaLicense.md @@ -0,0 +1,7 @@ +Copyright © 2021 Alessandro Senese (ceceppa) + +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. \ No newline at end of file diff --git a/addons/dialogic/Nodes/Anima/DialogicAnimaPropertiesHelper.gd b/addons/dialogic/Nodes/Anima/DialogicAnimaPropertiesHelper.gd new file mode 100644 index 0000000..3a81a69 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/DialogicAnimaPropertiesHelper.gd @@ -0,0 +1,318 @@ +class_name DialogicAnimaPropertiesHelper +# +# Different node types have different property names +# +# Example: +# Control: position is "rect_position" +# Node2D : position is "offset" +# +# So, this utility class helps the animations to figure out which +# property to animate :) +# +enum PIVOT { + CENTER, + CENTER_BOTTOM, + TOP_CENTER, + TOP_LEFT, + LEFT_BOTTOM, + RIGHT_BOTTOM +} + +static func get_position(node: Node) -> Vector2: + if node is Control: + return node.rect_position + if node is Node2D: + return node.global_position + + return node.global_transform.origin + +static func get_size(node: Node) -> Vector2: + if node is Control: + return node.get_size() + elif node is AnimatedSprite: + var frames = (node as AnimatedSprite).frames + var animation = (node as AnimatedSprite).animation + # scale can be negative + var scale = Vector2(abs(node.scale.x), abs(node.scale.y)) + return frames.get_frame(animation, 0).get_size() * scale + elif node is Node2D and "texture" in node: + # scale can be negative + var scale = Vector2(abs(node.scale.x), abs(node.scale.y)) + return node.texture.get_size() * scale + + return Vector2.ZERO + +static func get_scale(node: Node) -> Vector2: + if node is Control: + return node.rect_scale + return node.scale + +static func get_rotation(node: Node): + if node is Control: + return node.rect_rotation + elif node is Node2D: + return node.rotation_degrees + + return node.rotation + +static func set_2D_pivot(node: Node, pivot: int) -> void: + var size: Vector2 = get_size(node) + + match pivot: + PIVOT.TOP_CENTER: + if node is Control: + node.set_pivot_offset(Vector2(size.x / 2, 0)) + else: + var position = node.global_position + + node.offset = Vector2(0, size.y / 2) + node.global_position = position - node.offset + PIVOT.TOP_LEFT: + if node is Control: + node.set_pivot_offset(Vector2(0, 0)) + else: + var position = node.global_position + + node.offset = Vector2(size.x / 2, 0) + node.global_position = position - node.offset + PIVOT.CENTER: + if node is Control: + node.set_pivot_offset(size / 2) + PIVOT.CENTER_BOTTOM: + if node is Control: + node.set_pivot_offset(Vector2(size.x / 2, size.y / 2)) + else: + var position = node.global_position + + node.offset = Vector2(0, -size.y / 2) + node.global_position = position - node.offset + PIVOT.LEFT_BOTTOM: + if node is Control: + node.set_pivot_offset(Vector2(0, size.y)) + else: + var position = node.global_position + + node.offset = Vector2(size.x / 2, size.y) + node.global_position = position - node.offset + PIVOT.RIGHT_BOTTOM: + if node is Control: + node.set_pivot_offset(Vector2(size.x, size.y / 2)) + else: + var position = node.global_position + + node.offset = Vector2(-size.x / 2, size.y / 2) + node.global_position = position - node.offset + _: + printerr('Pivot point not handled yet') + +static func get_property_initial_value(node: Node, property: String): + property = property.to_lower() + + match property: + "x", "position:x": + var position = get_position(node) + + return position.x + "y", "position:y": + var position = get_position(node) + + return position.y + "z", "position:z": + var position = get_position(node) + + return position.z + "position": + return get_position(node) + "rotation": + return get_rotation(node) + "rotation:x": + return get_rotation(node).x + "rotation:y": + return get_rotation(node).y + "rotation:z": + return get_rotation(node).z + "opacity": + return node.modulate.a + "skew:x": + return node.get_global_transform().y.x + "skew:y": + return node.get_global_transform().x.y + + var p = property.split(':') + + var property_name: String = p[0] + var rect_property_name: String = 'rect_' + property_name + var node_property_name: String + + var key = p[1] if p.size() > 1 else null + + if node.get(property_name): + node_property_name = property_name + + if node.get(rect_property_name): + node_property_name = rect_property_name + + if p[0] == 'shader_param': + var material: ShaderMaterial + if node is MeshInstance: + material = node.get_surface_material(0) + else: + material = node.material + + return material.get_shader_param(p[1]) + + if node_property_name: + if key: + return node[node_property_name][key] + + return node[node_property_name] + + if property.find('__') == 0: + return 0 + + return property_name + +static func map_property_to_godot_property(node: Node, property: String) -> Dictionary: + property = property.to_lower() + + match property: + "x", "position:x": + if node is Control: + return { + property_name = "rect_position", + key = "x", + } + + return { + property_name = "global_transform", + key = "origin", + subkey = "x" + } + "y", "position:y": + if node is Control: + return { + property_name = "rect_position", + key = "y", + } + + return { + property_name = "global_transform", + key = "origin", + subkey = "y" + } + "z", "position:z": + if node is Control: + printerr('position:z is not supported by Control nodes') + + return { + property_name = "global_transform", + key = "origin", + subkey = "z" + } + "position": + if node is Control: + return { + property_name = "rect_position" + } + + return { + property_name = "global_transform", + key = "origin" + } + "opacity": + return { + property_name = "modulate", + key = "a" + } + "rotation": + var property_name = "rotation" + + if node is Control: + property_name = "rect_rotation" + elif node is Node2D: + property_name = "rotation_degrees" + + return { + property_name = property_name + } + "rotation:x": + return { + property_name = "rotation", + key = "x" + } + "rotation:y": + return { + property_name = "rotation", + key = "y" + } + "rotation:z": + return { + property_name = "rotation", + key = "z" + } + "skew:x": + return { + property_name = "transform", + key = "y", + subkey = "x" + } + "skew:y": + return { + property_name = "transform", + key = "x", + subkey = "y" + } + + var p = property.split(':') + + var property_name: String = p[0] + var rect_property_name: String = 'rect_' + property_name + var node_property_name: String + + var key = p[1] if p.size() > 1 else null + var subkey = p[2] if p.size() > 2 else null + + if node.get(property_name): + node_property_name = property_name + + if node.get(rect_property_name): + node_property_name = rect_property_name + + if p[0] == 'shader_param': + var material: ShaderMaterial + if node is MeshInstance: + material = node.get_surface_material(0) + else: + material = node.material + + return { + callback = funcref(material, 'set_shader_param'), + param = p[1] + } + + if node_property_name: + if key: + return { + property_name = node_property_name, + key = key + } + + if subkey: + return { + property_name = node_property_name, + key = key, + subkey = subkey + } + + return { + property_name = node_property_name + } + + if property.find('__') == 0: + return { + property_name = property + } + + return { + property_name = property + } diff --git a/addons/dialogic/Nodes/Anima/DialogicAnimaResources.gd b/addons/dialogic/Nodes/Anima/DialogicAnimaResources.gd new file mode 100644 index 0000000..c35a93b --- /dev/null +++ b/addons/dialogic/Nodes/Anima/DialogicAnimaResources.gd @@ -0,0 +1,83 @@ +extends Node +class_name DialogicAnimaResources + +const BASE_PATH := 'res://addons/dialogic/Nodes/Anima/animations/' + +static func get_animation_script(animation_name: String): +# for custom_animation in _custom_animations: +# if custom_animation.name == animation_name: +# return custom_animation.script + + var resource_file = get_animation_script_with_path(animation_name) + if resource_file: + return load(resource_file).new() + + printerr('No animation found with name: ', animation_name) + + return null + + +static func get_animation_script_with_path(animation_name: String) -> String: + if not animation_name.ends_with('.gd'): + animation_name += '.gd' + + animation_name = from_camel_to_snack_case(animation_name) + + for file_name in get_available_animations(): + if file_name is String and file_name.ends_with(animation_name): + return file_name + + return '' + + +static func get_available_animations() -> Array: + var list = _get_animations_list() + var filtered := [] + + for file in list: + if file.find('.gd.') < 0: + filtered.push_back(file.replace('.gdc', '.gd')) + + return filtered #+ _custom_animations + + +static func _get_animations_list() -> Array: + var files = _get_scripts_in_dir(BASE_PATH) + var filtered := [] + + files.sort() + return files + +static func _get_scripts_in_dir(path: String, files: Array = []) -> Array: + var dir = Directory.new() + if dir.open(path) != OK: + return files + + dir.list_dir_begin() + var file_name = dir.get_next() + + while file_name != "": + if file_name != "." and file_name != "..": + if dir.current_is_dir(): + _get_scripts_in_dir(path + file_name + '/', files) + else: + files.push_back(path + file_name) + + file_name = dir.get_next() + + return files + +static func from_camel_to_snack_case(string:String) -> String: + var result = PoolStringArray() + var is_first_char = true + + for character in string: + if character == character.to_lower() or is_first_char: + result.append(character.to_lower()) + else: + result.append('_' + character.to_lower()) + + is_first_char = false + + return result.join('').replace(' ', '_') + diff --git a/addons/dialogic/Nodes/Anima/DialogicAnimaTween.gd b/addons/dialogic/Nodes/Anima/DialogicAnimaTween.gd new file mode 100644 index 0000000..440d971 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/DialogicAnimaTween.gd @@ -0,0 +1,574 @@ +extends Tween + +var loop = 1 + +signal finished_animation + +var _animation_data = [] + +enum PLAY_MODE { + NORMAL, + BACKWARDS +} + +# Needed to use interpolate_property +var _fake_property: Dictionary = {} +var _callbacks := {} + +func _ready(): + connect("tween_started", self, '_on_tween_started') + connect("tween_step", self, '_on_tween_step_with_easing') + connect("tween_step", self, '_on_tween_step_with_easing_callback') + connect("tween_step", self, '_on_tween_step_with_easing_funcref') + connect("tween_step", self, '_on_tween_step_without_easing') + connect("tween_completed", self, '_on_tween_completed') + + +func play(node, animation_name, duration): + var script = DialogicAnimaResources.get_animation_script(animation_name.strip_edges()) + + if not script: + printerr('animation not found: %s' % animation_name) + + return duration + + var real_duration = script.generate_animation(self, {'node':node, 'duration':duration, 'wait_time':0}) + + if real_duration is float: + duration = real_duration + + var index := 0 + + for animation_data in _animation_data: + var easing_points + + if animation_data.has('easing'): + if animation_data.easing is FuncRef: + easing_points = animation_data.easing + else: + easing_points = get_easing_points(animation_data.easing) + + if animation_data.has('easing_points'): + easing_points = animation_data.easing_points + + animation_data._easing_points = easing_points + + animation_data._animation_callback = funcref(self, '_calculate_from_and_to') + + if easing_points is Array: + animation_data._use_step_callback = '_on_tween_step_with_easing' + elif easing_points is String: + animation_data._use_step_callback = '_on_tween_step_with_easing_callback' + elif easing_points is FuncRef: + animation_data._use_step_callback = '_on_tween_step_with_easing_funcref' + else: + animation_data._use_step_callback = '_on_tween_step_without_easing' + + index += 1 + + var started := start() + + if not started: + printerr('something went wrong while trying to start the tween') + + if is_connected("tween_all_completed", self, 'finished_once'): disconnect("tween_all_completed", self, 'finished_once') + connect('tween_all_completed', self, 'finished_once', [node, animation_name, duration]) + +func finished_once(node, animation, duration): + loop -= 1 + if loop > 0: + play(node, animation, duration) + else: + emit_signal('finished_animation') + +# Given an array of frames generates the animation data using relative end value +# +# frames = [{ +# percentage = the percentage of the animation +# to = the relative end value +# easing_points = the easing points for the bezier curver (optional) +# }] +# +func add_relative_frames(data: Dictionary, property: String, frames: Array) -> float: + return _add_frames(data, property, frames, true) + +# +# Given an array of frames generates the animation data using absolute end value +# +# frames = [{ +# percentage = the percentage of the animation +# to = the relative end value +# easing_points = the easing points for the bezier curver (optional) +# }] +# +func add_frames(data: Dictionary, property: String, frames: Array) -> float: + return _add_frames(data, property, frames) + + +func _add_frames(data: Dictionary, property: String, frames: Array, relative: bool = false) -> float: + var duration: float = data.duration if data.has('duration') else 0.0 + var _wait_time: float = data._wait_time if data.has('_wait_time') else 0.0 + var last_duration := 0.0 + + var keys_to_ignore = ['duration', '_wait_time'] + for frame in frames: + var percentage = frame.percentage if frame.has('percentage') else 100.0 + percentage /= 100.0 + + var frame_duration = max(0.000001, duration * percentage) + var diff = frame_duration - last_duration + var is_first_frame = true + var is_last_frame = percentage == 1 + + var animation_data = { + property = property, + relative = relative, + duration = diff, + _wait_time = _wait_time + } + + # We need to restore the animation just before the node is animated + # but we also need to consider that a node can have multiple + # properties animated, so we need to restore it only before the first + # animation starts + for animation in _animation_data: + if animation.node == data.node: + is_first_frame = false + + if animation.has('_is_last_frame'): + is_last_frame = false + + if is_first_frame: + animation_data._is_first_frame = true + + if is_last_frame: + animation_data._is_last_frame = true + + for key in frame: + if key != 'percentage': + animation_data[key] = frame[key] + + for key in data: + if key == 'callback' and percentage < 1: + animation_data.erase(key) + elif keys_to_ignore.find(key) < 0: + animation_data[key] = data[key] + + add_animation_data(animation_data) + + last_duration = frame_duration + _wait_time += diff + + return _wait_time + + +func add_animation_data(animation_data: Dictionary, play_mode: int = PLAY_MODE.NORMAL) -> void: + _animation_data.push_back(animation_data) + + var index = str(_animation_data.size()) + var duration = animation_data.duration if animation_data.has('duration') else 1 + var property_key = 'p' + index + + _fake_property[property_key] = 0.0 + + if animation_data.has('on_completed') and animation_data.has('_is_last_frame'): + _callbacks[property_key] = animation_data.on_completed + + var from := 0.0 if play_mode == PLAY_MODE.NORMAL else 1.0 + var to := 1.0 - from + + interpolate_property( + self, + '_fake_property:' + property_key, + from, + to, + duration, + Tween.TRANS_LINEAR, + Tween.EASE_IN_OUT, + animation_data._wait_time + ) + + +func _on_tween_step_with_easing(object: Object, key: NodePath, _time: float, elapsed: float): + var index := _get_animation_data_index(key) + + if _animation_data[index]._use_step_callback != '_on_tween_step_with_easing': + return + + var easing_points = _animation_data[index]._easing_points + var p1 = easing_points[0] + var p2 = easing_points[1] + var p3 = easing_points[2] + var p4 = easing_points[3] + + var easing_elapsed = _cubic_bezier(Vector2.ZERO, Vector2(p1, p2), Vector2(p3, p4), Vector2(1, 1), elapsed) + + _animation_data[index]._animation_callback.call_func(index, easing_elapsed) + +func _on_tween_step_with_easing_callback(object: Object, key: NodePath, _time: float, elapsed: float): + var index := _get_animation_data_index(key) + + if _animation_data[index]._use_step_callback != '_on_tween_step_with_easing_callback': + return + + var easing_points_function = _animation_data[index]._easing_points + var easing_callback = funcref(self, easing_points_function) + var easing_elapsed = easing_callback.call_func(elapsed) + + _animation_data[index]._animation_callback.call_func(index, easing_elapsed) + +func _on_tween_step_with_easing_funcref(object: Object, key: NodePath, _time: float, elapsed: float): + var index := _get_animation_data_index(key) + + if _animation_data[index]._use_step_callback != '_on_tween_step_with_easing_funcref': + return + + var easing_callback = _animation_data[index]._easing_points + var easing_elapsed = easing_callback.call_func(elapsed) + + _animation_data[index]._animation_callback.call_func(index, easing_elapsed) + +func _on_tween_step_without_easing(object: Object, key: NodePath, _time: float, elapsed: float): + var index := _get_animation_data_index(key) + + if _animation_data[index]._use_step_callback != '_on_tween_step_without_easing': + return + + _animation_data[index]._animation_callback.call_func(index, elapsed) + +func _get_animation_data_index(key: NodePath) -> int: + var s = str(key) + + return int(s.replace('_fake_property:p', '')) - 1 + +func _cubic_bezier(p0: Vector2, p1: Vector2, p2: Vector2, p3: Vector2, t: float) -> float: + var q0 = p0.linear_interpolate(p1, t) + var q1 = p1.linear_interpolate(p2, t) + var q2 = p2.linear_interpolate(p3, t) + + var r0 = q0.linear_interpolate(q1, t) + var r1 = q1.linear_interpolate(q2, t) + + var s = r0.linear_interpolate(r1, t) + + return s.y + +func _calculate_from_and_to(index: int, value: float) -> void: + var animation_data = _animation_data[index] + var node = animation_data.node + + var do_calculate = true + + if animation_data.has('_recalculate_from_to') and not animation_data._recalculate_from_to and animation_data.has('_property_data'): + do_calculate = false + + if do_calculate: + _do_calculate_from_to(node, animation_data) + + if animation_data._property_data.has('subkey'): + animation_data._animation_callback = funcref(self, '_on_animation_with_subkey') + elif animation_data._property_data.has('key'): + animation_data._animation_callback = funcref(self, '_on_animation_with_key') + else: + animation_data._animation_callback = funcref(self, '_on_animation_without_key') + + _animation_data[index]._animation_callback.call_func(index, value) + +func _do_calculate_from_to(node: Node, animation_data: Dictionary) -> void: + var from + var to + var relative = animation_data.relative if animation_data.has('relative') else false + var node_from = DialogicAnimaPropertiesHelper.get_property_initial_value(node, animation_data.property) + + if animation_data.has('from'): + from = _maybe_convert_from_deg_to_rad(node, animation_data, animation_data.from) + from = _maybe_calculate_relative_value(relative, from, node_from) + else: + from = node_from + animation_data.__from = from + + if animation_data.has('to'): + to = _maybe_convert_from_deg_to_rad(node, animation_data, animation_data.to) + to = _maybe_calculate_relative_value(relative, to, from) + else: + to = from + animation_data.__to = to + + if animation_data.has('pivot'): + if node is Spatial: + printerr('3D Pivot not supported yet') + else: + DialogicAnimaPropertiesHelper.set_2D_pivot(animation_data.node, animation_data.pivot) + + animation_data._property_data = DialogicAnimaPropertiesHelper.map_property_to_godot_property(node, animation_data.property) + + animation_data._property_data.diff = to - from + animation_data._property_data.from = from + +func _maybe_calculate_relative_value(relative, value, current_node_value): + if not relative: + return value + + return value + current_node_value + +func _maybe_convert_from_deg_to_rad(node: Node, animation_data: Dictionary, value): + if not node is Spatial or animation_data.property.find('rotation') < 0: + return value + + if value is Vector3: + return Vector3(deg2rad(value.x), deg2rad(value.y), deg2rad(value.z)) + + return deg2rad(value) + +func _on_animation_with_key(index: int, elapsed: float) -> void: + var animation_data = _animation_data[index] + var property_data = _animation_data[index]._property_data + var node = animation_data.node + var value = property_data.from + (property_data.diff * elapsed) + + if is_instance_valid(node): + node[property_data.property_name][property_data.key] = value + +func _on_animation_with_subkey(index: int, elapsed: float) -> void: + var animation_data = _animation_data[index] + var property_data = _animation_data[index]._property_data + var node = animation_data.node + var value = property_data.from + (property_data.diff * elapsed) + + if is_instance_valid(node): + node[property_data.property_name][property_data.key][property_data.subkey] = value + +func _on_animation_without_key(index: int, elapsed: float) -> void: + var animation_data = _animation_data[index] + var property_data = _animation_data[index]._property_data + var node = animation_data.node + var value = property_data.from + (property_data.diff * elapsed) + + if property_data.has('callback'): + property_data.callback.call_func(property_data.param, value) + + return + + if is_instance_valid(node): + node[property_data.property_name] = value + +# +# We don't want the user to specify the from/to value as color +# we animate opacity. +# So this function converts the "from = #" -> Color(.., .., .., #) +# same for the to value +# +func _maybe_adjust_modulate_value(animation_data: Dictionary, value): + var property = animation_data.property + var node = animation_data.node + + if not property == 'opacity': + return value + + if value is int or value is float: + var color = node.modulate + + color.a = value + + return color + + return value + +func _on_tween_completed(_ignore, property_name: String) -> void: + var property_key = property_name.replace(':_fake_property:', '') + + if _callbacks.has(property_key): + var callback = _callbacks[property_key] + + if not callback is Array or callback.size() == 1: + callback[0].call_func() + else: + callback[0].call_funcv(callback[1]) + +func _on_tween_started(_ignore, key) -> void: + var index := _get_animation_data_index(key) + #var hide_strategy = _visibility_strategy + var animation_data = _animation_data[index] + +# if animation_data.has('hide_strategy'): +# hide_strategy = animation_data.hide_strategy + + var node = animation_data.node + var should_restore_visibility := false + var should_restore_modulate := false + +# if hide_strategy == Anima.VISIBILITY.HIDDEN_ONLY: +# should_restore_visibility = true +# elif hide_strategy == Anima.VISIBILITY.HIDDEN_AND_TRANSPARENT: +# should_restore_modulate = true +# should_restore_visibility = true +# elif hide_strategy == Anima.VISIBILITY.TRANSPARENT_ONLY: +# should_restore_modulate = true + + if should_restore_modulate: + var old_modulate = node.get_meta('_old_modulate') + + if old_modulate: + node.modulate = old_modulate + + if should_restore_visibility: + node.show() + + var should_trigger_on_started: bool = animation_data.has('_is_first_frame') and animation_data._is_first_frame and animation_data.has('on_started') + if should_trigger_on_started: + var fn: FuncRef + var args: Array = [] + if animation_data.on_started is Array: + fn = animation_data.on_started[0] + args = animation_data.on_started.slice(1, -1) + else: + fn = animation_data.on_started + + fn.call_funcv(args) + + +#################################################################################################### +#################################################################################################### +## FROM ANIMA EASING +#################################################################################################### +#################################################################################################### + +enum EASING { + LINEAR, + EASE, + EASE_IN_OUT, + EASE_IN, + EASE_OUT, + EASE_IN_SINE, + EASE_OUT_SINE, + EASE_IN_OUT_SINE, + EASE_IN_QUAD, + EASE_OUT_QUAD, + EASE_IN_OUT_QUAD, + EASE_IN_CUBIC, + EASE_OUT_CUBIC, + EASE_IN_OUT_CUBIC, + EASE_IN_QUART, + EASE_OUT_QUART, + EASE_IN_OUT_QUART, + EASE_IN_QUINT, + EASE_OUT_QUINT, + EASE_IN_OUT_QUINT, + EASE_IN_EXPO, + EASE_OUT_EXPO, + EASE_IN_OUT_EXPO, + EASE_IN_CIRC, + EASE_OUT_CIRC, + EASE_IN_OUT_CIRC, + EASE_IN_BACK, + EASE_OUT_BACK, + EASE_IN_OUT_BACK, + EASE_IN_ELASTIC, + EASE_OUT_ELASTIC, + EASE_IN_OUT_ELASTIC, + EASE_IN_BOUNCE, + EASE_OUT_BOUNCE, + EASE_IN_OUT_BOUNCE, +} + +const _easing_mapping = { + EASING.LINEAR: null, + EASING.EASE: [0.25, 0.1, 0.25, 1], + EASING.EASE_IN_OUT: [0.42, 0, 0.58, 1], + EASING.EASE_IN: [0.42, 0, 1, 1], + EASING.EASE_OUT: [0, 0, 0.58, 1], + EASING.EASE_IN_SINE: [0, 0, 1, .5], + EASING.EASE_OUT_SINE: [0.61, 1, 0.88, 1], + EASING.EASE_IN_OUT_SINE: [0.37, 0, 0.63, 1], + EASING.EASE_IN_QUAD: [0.11, 0, 0.5, 0], + EASING.EASE_OUT_QUAD: [0.5, 1.0, 0.89, 1], + EASING.EASE_IN_OUT_QUAD: [0.45, 0, 0.55, 1], + EASING.EASE_IN_CUBIC: [0.32, 0, 0.67, 0], + EASING.EASE_OUT_CUBIC: [0.33, 1, 0.68, 1], + EASING.EASE_IN_OUT_CUBIC: [0.65, 0, 0.35, 1], + EASING.EASE_IN_QUART: [0.5, 0, 0.75, 0], + EASING.EASE_OUT_QUART: [0.25, 1, 0.5, 1], + EASING.EASE_IN_OUT_QUART: [0.76, 0, 0.24, 1], + EASING.EASE_IN_QUINT: [0.64, 0, 0.78, 0], + EASING.EASE_OUT_QUINT: [0.22, 1, 0.36, 1], + EASING.EASE_IN_OUT_QUINT: [0.83, 0, 0.17, 1], + EASING.EASE_IN_EXPO: [0.7, 0, 0.84, 0], + EASING.EASE_OUT_EXPO: [0.16, 1, 0.3, 1], + EASING.EASE_IN_OUT_EXPO: [0.87, 0, 0.13, 1], + EASING.EASE_IN_CIRC: [0.55, 0, 0.1, 0.45], + EASING.EASE_OUT_CIRC: [0, 0.55, 0.45, 1], + EASING.EASE_IN_OUT_CIRC: [0.85, 0, 0.15, 1], + EASING.EASE_IN_BACK: [0.36, 0, 0.66, -0.56], + EASING.EASE_OUT_BACK: [0.36, 1.56, 0.64, 1], + EASING.EASE_IN_OUT_BACK: [0.68, -0.6, 0.32, 1.6], + EASING.EASE_IN_ELASTIC: 'ease_in_elastic', + EASING.EASE_OUT_ELASTIC: 'ease_out_elastic', + EASING.EASE_IN_OUT_ELASTIC: 'ease_in_out_elastic', + EASING.EASE_IN_BOUNCE: 'ease_in_bounce', + EASING.EASE_OUT_BOUNCE: 'ease_out_bounce', + EASING.EASE_IN_OUT_BOUNCE: 'ease_in_out_bounce' +} + +const _ELASTIC_C4: float = (2.0 * PI) / 3.0 +const _ELASTIC_C5: float = (2.0 * PI) / 4.5 + +static func get_easing_points(easing_name): + if _easing_mapping.has(easing_name): + return _easing_mapping[easing_name] + + printerr('Easing not found: ' + str(easing_name)) + + return _easing_mapping[EASING.LINEAR] + +static func ease_in_elastic(elapsed: float) -> float: + if elapsed == 0: + return 0.0 + elif elapsed == 1: + return 1.0 + + return -pow(2, 10 * elapsed - 10) * sin((elapsed * 10 - 10.75) * _ELASTIC_C4) + +static func ease_out_elastic(elapsed: float) -> float: + if elapsed == 0: + return 0.0 + elif elapsed == 1: + return 1.0 + + return pow(2, -10 * elapsed) * sin((elapsed * 10 - 0.75) * _ELASTIC_C4) + 1 + +static func ease_in_out_elastic(elapsed: float) -> float: + if elapsed == 0: + return 0.0 + elif elapsed == 1: + return 1.0 + elif elapsed < 0.5: + return -(pow(2, 20 * elapsed - 10) * sin((20 * elapsed - 11.125) * _ELASTIC_C5)) / 2 + + return (pow(2, -20 * elapsed + 10) * sin((20 * elapsed - 11.125) * _ELASTIC_C5)) / 2 + 1 + +const n1 = 7.5625; +const d1 = 2.75; + +static func ease_in_bounce(elapsed: float) -> float: + return 1 - ease_out_bounce(1.0 - elapsed) + +static func ease_out_bounce(elapsed: float) -> float: + if elapsed < 1 / d1: + return n1 * elapsed * elapsed; + elif elapsed < 2 / d1: + elapsed -= 1.5 / d1 + + return n1 * elapsed * elapsed + 0.75; + elif elapsed < 2.5 / d1: + elapsed -= 2.25 / d1 + + return n1 * elapsed * elapsed + 0.9375; + + elapsed -= 2.625 / d1 + return n1 * elapsed * elapsed + 0.984375; + +static func ease_in_out_bounce(elapsed: float) -> float: + if elapsed < 0.5: + return (1 - ease_out_bounce(1 - 2 * elapsed)) / 2 + + return (1 + ease_out_bounce(2 * elapsed - 1)) / 2 diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/bounce.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/bounce.gd new file mode 100644 index 0000000..f2fad7c --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/bounce.gd @@ -0,0 +1,29 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + #var delay: float = data._wait_time + var bounce_frames = [ + { percentage = 0, to = 0 }, + { percentage = 20, to = 0 }, + { percentage = 40, to = -30, easing_points = [0.7555, 0.5, 0.8555, 0.06] }, + { percentage = 43, to = 0, easing_points = [0.7555, 0.5, 0.8555, 0.06] }, + { percentage = 53, to = +30 }, + { percentage = 70, to = -15, easing_points = [0.755, 0.05, 0.855, 0.06] }, + { percentage = 80, to = +15 }, + { percentage = 90, to = -4 }, + { percentage = 100, to = +4 }, + ] + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, to = 1 * scale.y }, + { percentage = 20, to = 1 * scale.y }, + { percentage = 40, to = 1.1 * scale.y, easing_points = [0.7555, 0.5, 0.8555, 0.06] }, + { percentage = 43, to = 1.1 * scale.y, easing_points = [0.7555, 0.5, 0.8555, 0.06] }, + { percentage = 53, to = 1 * scale.y }, + { percentage = 70, to = 1.05 * scale.y, easing_points = [0.755, 0.05, 0.855, 0.06] }, + { percentage = 80, to = 0.95 * scale.y }, + { percentage = 90, to = 1.02 * scale.y }, + { percentage = 100, to = 1 * scale.y }, + ] + + anima_tween.add_relative_frames(data, "Y", bounce_frames) + anima_tween.add_frames(data, "scale:y", scale_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/flash.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/flash.gd new file mode 100644 index 0000000..eb490a0 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/flash.gd @@ -0,0 +1,10 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var frames = [ + { percentage = 0, from = 1 }, + { percentage = 25, to = 0 }, + { percentage = 50, to = 1 }, + { percentage = 75, to = 0 }, + { percentage = 100, to = 1 }, + ] + + anima_tween.add_frames(data, "opacity", frames) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/headshake.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/headshake.gd new file mode 100644 index 0000000..1a9b3ba --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/headshake.gd @@ -0,0 +1,27 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var start = DialogicAnimaPropertiesHelper.get_position(data.node) + + var shake_frames = [ + { percentage = 0, from = 0 }, + { percentage = 6.5, to = -6 }, + { percentage = 18.5, to = +5 }, + { percentage = 31.5, to = -3 }, + { percentage = 43.5, to = +2 }, + { percentage = 50, to = 0 }, + { percentage = 100, to = 0 }, + ] + + var rotate_frames = [ + { percentage = 0, to = 0 }, + { percentage = 6.5, to = -9 }, + { percentage = 18.5, to = +7 }, + { percentage = 31.5, to = -5 }, + { percentage = 43.5, to = +3 }, + { percentage = 50, to = 0 }, + { percentage = 100, to = 0 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "x", shake_frames) + anima_tween.add_frames(data, "rotation", rotate_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/heartbeat.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/heartbeat.gd new file mode 100644 index 0000000..41b5f5b --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/heartbeat.gd @@ -0,0 +1,14 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var frames = [ + { percentage = 0, from = scale * Vector2(1, 1) }, + { percentage = 14, to = scale * Vector2(1.3, 1.3) }, + { percentage = 28, to = scale * Vector2(1, 1) }, + { percentage = 42, to = scale * Vector2(1.3, 1.3) }, + { percentage = 70, to = scale * Vector2(1, 1) }, + { percentage = 100, to = scale * Vector2(1, 1) }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_frames(data, "scale", frames) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/jello.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/jello.gd new file mode 100644 index 0000000..355a48b --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/jello.gd @@ -0,0 +1,32 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var start_x = data.node.get_global_transform().y.x + var start_y = data.node.get_global_transform().x.y + + var skew_x := [] + var skew_y := [] + + var values = [ + { percentage = 0, add = 0 }, + { percentage = 11.1, add = 0 }, + { percentage = 22.2, add = - 0.3 }, + { percentage = 33.3, add = + 0.265 }, + { percentage = 44.4, add = - 0.1325 }, + { percentage = 55.5, add = + 0.06625 }, + { percentage = 66.6, add = - 0.033125 }, + { percentage = 77.7, add = + 0.0165625 }, + { percentage = 88.8, add = - 0.00828125}, + { percentage = 100, add = 0 }, + ] + + for value in values: + skew_x.push_back({ percentage = value.percentage, to = start_x + value.add }) + skew_y.push_back({ percentage = value.percentage, to = start_y + value.add }) + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + # Skew works only with Node2D + if not data.node is Node2D: + return + + anima_tween.add_frames(data, "skew:x", skew_x) + anima_tween.add_frames(data, "skew:y", skew_y) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/pulse.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/pulse.gd new file mode 100644 index 0000000..ba7d2ce --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/pulse.gd @@ -0,0 +1,12 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var frames = [ + { percentage = 0, from = scale * Vector2(1, 1) }, + { percentage = 50, to = scale * Vector2(1.05, 1.05), easing = anima_tween.EASING.EASE_IN_OUT_SINE }, + { percentage = 100, to = scale * Vector2(1, 1) }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_frames(data, "scale", frames) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/rubber_band.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/rubber_band.gd new file mode 100644 index 0000000..359efc0 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/rubber_band.gd @@ -0,0 +1,15 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var frames = [ + { percentage = 0, from = scale * Vector2(1, 1) }, + { percentage = 30, to = scale * Vector2(1.25, 0.75) }, + { percentage = 40, to = scale * Vector2(0.75, 1.25) }, + { percentage = 50, to = scale * Vector2(1.15, 0.85) }, + { percentage = 65, to = scale * Vector2(0.95, 1.05) }, + { percentage = 75, to = scale * Vector2(1.05, 0.95) }, + { percentage = 100, to = scale * Vector2(1, 1) }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_frames(data, "scale", frames) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/shake_x.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/shake_x.gd new file mode 100644 index 0000000..25b1107 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/shake_x.gd @@ -0,0 +1,16 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var frames = [ + { percentage = 0, to = 0 }, + { percentage = 10, to = -10 }, + { percentage = 20, to = +20 }, + { percentage = 30, to = -20 }, + { percentage = 40, to = +20 }, + { percentage = 50, to = -20 }, + { percentage = 60, to = +20 }, + { percentage = 70, to = -20 }, + { percentage = 80, to = +20 }, + { percentage = 90, to = -20 }, + { percentage = 100, to = +10 }, + ] + + anima_tween.add_relative_frames(data, "x", frames) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/shake_y.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/shake_y.gd new file mode 100644 index 0000000..1fbd7b4 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/shake_y.gd @@ -0,0 +1,16 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var frames = [ + { percentage = 0, to = 0 }, + { percentage = 10, to = -10 }, + { percentage = 20, to = +20 }, + { percentage = 30, to = -20 }, + { percentage = 40, to = +20 }, + { percentage = 50, to = -20 }, + { percentage = 60, to = +20 }, + { percentage = 70, to = -20 }, + { percentage = 80, to = +20 }, + { percentage = 90, to = -20 }, + { percentage = 100, to = +10 }, + ] + + anima_tween.add_relative_frames(data, "y", frames) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/swing.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/swing.gd new file mode 100644 index 0000000..133f25f --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/swing.gd @@ -0,0 +1,12 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var frames = [ + { percentage = 0, from = 0 }, + { percentage = 20, to = 15 }, + { percentage = 40, to = -10 }, + { percentage = 60, to = 5 }, + { percentage = 80, to = -5 }, + { percentage = 100, to = 0 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.TOP_CENTER) + anima_tween.add_frames(data, "rotation", frames) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/tada.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/tada.gd new file mode 100644 index 0000000..92efca2 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/tada.gd @@ -0,0 +1,22 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var rotate_frames = [ + { percentage = 0, from = 0 }, + ] + var scale_frames = [ + { percentage = 0, from = DialogicAnimaPropertiesHelper.get_scale(data.node) * Vector2(1, 1) }, + ] + + for index in range(2, 9): + var s = -1 if index % 2 == 0 else 1 + var percent = index * 10.0 + + rotate_frames.push_back({ percentage = percent, to = 3 * s }) + scale_frames.push_back({ percentage = percent, to = Vector2(1.1, 1.1) }) + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + rotate_frames.push_back({percentage = 100, to = 0}) + scale_frames.push_back({percentage = 100, to = Vector2(1, 1)}) + + anima_tween.add_frames(data, "rotation", rotate_frames) + anima_tween.add_frames(data, "scale", scale_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/attention_seeker/wobble.gd b/addons/dialogic/Nodes/Anima/animations/attention_seeker/wobble.gd new file mode 100644 index 0000000..b426e45 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/attention_seeker/wobble.gd @@ -0,0 +1,28 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var node = data.node + var start_position = DialogicAnimaPropertiesHelper.get_position(node) + var size = DialogicAnimaPropertiesHelper.get_size(node) + + var x_frames = [ + { percentage = 0, from = start_position.x }, + { percentage = 15, to = start_position.x + size.x * -0.25 }, + { percentage = 30, to = start_position.x + size.x * 0.2 }, + { percentage = 45, to = start_position.x + size.x * -0.15 }, + { percentage = 60, to = start_position.x + size.x * 0.1 }, + { percentage = 75, to = start_position.x + size.x * -0.05 }, + { percentage = 100, to = start_position.x }, + ] + + var rotation_frames = [ + { percentage = 0, from = 0 }, + { percentage = 15, to = -5 }, + { percentage = 30, to = 3 }, + { percentage = 45, to = -3 }, + { percentage = 60, to = 2 }, + { percentage = 75, to = -1 }, + { percentage = 100, to = 0 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.TOP_CENTER) + anima_tween.add_frames(data, "x", x_frames) + anima_tween.add_frames(data, "rotation", rotation_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/1-fade_in.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/1-fade_in.gd new file mode 100644 index 0000000..c22e09c --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/1-fade_in.gd @@ -0,0 +1,5 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var opacity_frames = [ + { from = 0, to = 1, easing_points = [0.42, 0, 0.58, 1]}, + ] + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/2-fade_in_up.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/2-fade_in_up.gd new file mode 100644 index 0000000..57313a5 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/2-fade_in_up.gd @@ -0,0 +1,14 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var opacity_frames = [ + { from = 0, to = 1, easing_points = [0.42, 0, 0.58, 1] }, + ] + + var size = DialogicAnimaPropertiesHelper.get_size(data.node) + + var position_frames = [ + { percentage = 0, from = size.y/16, easing_points = [0.42, 0, 0.58, 1] }, + { percentage = 100, to = -size.y/16, easing_points = [0.42, 0, 0.58, 1] }, + ] + + anima_tween.add_relative_frames(data, "y", position_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/3-fade_in_up_big.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/3-fade_in_up_big.gd new file mode 100644 index 0000000..5497f77 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/3-fade_in_up_big.gd @@ -0,0 +1,14 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var opacity_frames = [ + { from = 0, to = 1 }, + ] + + var size = DialogicAnimaPropertiesHelper.get_size(data.node) + + var position_frames = [ + { percentage = 0, from = 2000 }, + { percentage = 100, to = -2000 }, + ] + + anima_tween.add_relative_frames(data, "y", position_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/4-fade_out.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/4-fade_out.gd new file mode 100644 index 0000000..9a6252d --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/4-fade_out.gd @@ -0,0 +1,6 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var opacity_frames = [ + { from = 1, to = 0, easing_points = [0.42, 0, 0.58, 1]}, + ] + + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/5-fade_out_down.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/5-fade_out_down.gd new file mode 100644 index 0000000..c614927 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/5-fade_out_down.gd @@ -0,0 +1,13 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var opacity_frames = [ + { from = 1, to = 0, easing_points = [0.42, 0, 0.58, 1] }, + ] + + var size = DialogicAnimaPropertiesHelper.get_size(data.node) + + var position_frames = [ + { from = 0, to = size.y/16, easing_points = [0.42, 0, 0.58, 1]}, + ] + + anima_tween.add_relative_frames(data, "y", position_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/6-fade_out_down_big.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/6-fade_out_down_big.gd new file mode 100644 index 0000000..afacdf2 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/6-fade_out_down_big.gd @@ -0,0 +1,12 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var opacity_frames = [ + { from = 1, to = 0 }, + ] + + var position_frames = [ + { percentage = 0, from = 0}, + { percentage = 100, to = 2000 }, + ] + + anima_tween.add_relative_frames(data, "y", position_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_down.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_down.gd new file mode 100644 index 0000000..9331039 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_down.gd @@ -0,0 +1,25 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var y_frames = [ + { percentage = 0, to = -1200 }, + { percentage = 80, to = +1200 }, + { percentage = 100, to = 0 }, + ] + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(0.7, 0.7) }, + { percentage = 80, to = scale * Vector2(0.7, 0.7) }, + { percentage = 100, to = scale * Vector2(1, 1) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 0.7 }, + { percentage = 80, to = 0.7 }, + { percentage = 100, to = 1 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "y", y_frames) + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_left.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_left.gd new file mode 100644 index 0000000..e912156 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_left.gd @@ -0,0 +1,25 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var x_frames = [ + { percentage = 0, to = -2000 }, + { percentage = 80, to = +2000 }, + { percentage = 100, to = 0 }, + ] + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(0.7, 0.7) }, + { percentage = 80, to = scale * Vector2(0.7, 0.7) }, + { percentage = 100, to = scale * Vector2(1, 1) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 0.7 }, + { percentage = 80, to = 0.7 }, + { percentage = 100, to = 1 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "x", x_frames) + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_right.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_right.gd new file mode 100644 index 0000000..277390a --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_right.gd @@ -0,0 +1,25 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var x_frames = [ + { percentage = 0, to = 2000 }, + { percentage = 80, to = -2000 }, + { percentage = 100, to = 0 }, + ] + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(0.7, 0.7) }, + { percentage = 80, to = scale * Vector2(0.7, 0.7) }, + { percentage = 100, to = scale * Vector2(1, 1) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 0.7 }, + { percentage = 80, to = 0.7 }, + { percentage = 100, to = 1 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "x", x_frames) + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_up.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_up.gd new file mode 100644 index 0000000..23a4cf4 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_in_up.gd @@ -0,0 +1,25 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var y_frames = [ + { percentage = 0, to = 1200 }, + { percentage = 80, to = -1200 }, + { percentage = 100, to = 0 }, + ] + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(0.7, 0.7) }, + { percentage = 80, to = scale * Vector2(0.7, 0.7) }, + { percentage = 100, to = scale * Vector2(1, 1) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 0.7 }, + { percentage = 80, to = 0.7 }, + { percentage = 100, to = 1 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "y", y_frames) + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_down.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_down.gd new file mode 100644 index 0000000..3dcbd04 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_down.gd @@ -0,0 +1,25 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var y_frames = [ + { percentage = 0, to = 0 }, + { percentage = 20, to = 0 }, + { percentage = 100, to = -700 }, + ] + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(1, 1) }, + { percentage = 20, to = scale * Vector2(0.7, 0.7) }, + { percentage = 100, to = scale * Vector2(0.7, 0.7) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 1 }, + { percentage = 20, to = 0.7 }, + { percentage = 100, to = 0.7 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "y", y_frames) + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_left.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_left.gd new file mode 100644 index 0000000..6098e25 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_left.gd @@ -0,0 +1,25 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var x_frames = [ + { percentage = 0, to = 0 }, + { percentage = 20, to = 0 }, + { percentage = 100, to = -2000 }, + ] + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(1, 1) }, + { percentage = 20, to = scale * Vector2(0.7, 0.7) }, + { percentage = 100, to = scale * Vector2(0.7, 0.7) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 1 }, + { percentage = 20, to = 0.7 }, + { percentage = 100, to = 0.7 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "x", x_frames) + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_right.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_right.gd new file mode 100644 index 0000000..e78ecdd --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_right.gd @@ -0,0 +1,25 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var x_frames = [ + { percentage = 0, to = 0 }, + { percentage = 20, to = 0 }, + { percentage = 100, to = 2000 }, + ] + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(1, 1) }, + { percentage = 20, to = scale * Vector2(0.7, 0.7) }, + { percentage = 100, to = scale * Vector2(0.7, 0.7) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 1 }, + { percentage = 20, to = 0.7 }, + { percentage = 100, to = 0.7 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "x", x_frames) + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_up.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_up.gd new file mode 100644 index 0000000..8abf4b3 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/back_out_up.gd @@ -0,0 +1,25 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var y_frames = [ + { percentage = 0, to = 0 }, + { percentage = 20, to = 0 }, + { percentage = 100, to = 700 }, + ] + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(1, 1) }, + { percentage = 20, to = scale * Vector2(0.7, 0.7) }, + { percentage = 100, to = scale * Vector2(0.7, 0.7) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 1 }, + { percentage = 20, to = 0.7 }, + { percentage = 100, to = 0.7 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "y", y_frames) + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/bounce_out.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/bounce_out.gd new file mode 100644 index 0000000..d64b510 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/bounce_out.gd @@ -0,0 +1,22 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(1, 1) }, + { percentage = 20, to = scale * Vector2(0.9, 0.9) }, + { percentage = 50, to = scale * Vector2(1.1, 1.1) }, + { percentage = 55, to = scale * Vector2(1.1, 1.1) }, + { percentage = 100, to = scale * Vector2(0.3, 0.3) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 1 }, + { percentage = 20, to = 1 }, + { percentage = 50, to = 1 }, + { percentage = 55, to = 1 }, + { percentage = 100, to = 0 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/bouncing_in.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/bouncing_in.gd new file mode 100644 index 0000000..d2e570c --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/bouncing_in.gd @@ -0,0 +1,21 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(0.3, 0.3), easing_points = [0.215, 0.61, 0.355, 1] }, + { percentage = 20, to = scale * Vector2(1, 1), easing_points = [0.215, 0.61, 0.355, 1] }, + { percentage = 40, to = scale * Vector2(0.9, 0.9), easing_points = [0.215, 0.61, 0.355, 1] }, + { percentage = 60, to = scale * Vector2(1.03, 1.03), easing_points = [0.215, 0.61, 0.355, 1] }, + { percentage = 80, to = scale * Vector2(0.97, 0.97), easing_points = [0.215, 0.61, 0.355, 1] }, + { percentage = 100, to = scale * Vector2(1, 1) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 0 }, + { percentage = 60, to = 1 }, + { percentage = 100, to = 1 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/instant_in.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/instant_in.gd new file mode 100644 index 0000000..521c8ce --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/instant_in.gd @@ -0,0 +1,5 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var opacity_frames = [ + { from = 1, to = 1 }, + ] + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/instant_out.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/instant_out.gd new file mode 100644 index 0000000..c74c103 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/instant_out.gd @@ -0,0 +1,5 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var opacity_frames = [ + { from = 0, to = 0 }, + ] + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_in_left.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_in_left.gd new file mode 100644 index 0000000..376ed22 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_in_left.gd @@ -0,0 +1,19 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var x_frames = [ + { percentage = 0, to = -2000 }, + { percentage = 80, to = +2000 }, + { percentage = 100, to = 0 }, + ] + + + var opacity_frames = [ + { percentage = 0, from = 0.7 }, + { percentage = 80, to = 0.7 }, + { percentage = 100, to = 1 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "x", x_frames) + #anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_in_right.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_in_right.gd new file mode 100644 index 0000000..277390a --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_in_right.gd @@ -0,0 +1,25 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var x_frames = [ + { percentage = 0, to = 2000 }, + { percentage = 80, to = -2000 }, + { percentage = 100, to = 0 }, + ] + + var scale = DialogicAnimaPropertiesHelper.get_scale(data.node) + var scale_frames = [ + { percentage = 0, from = scale * Vector2(0.7, 0.7) }, + { percentage = 80, to = scale * Vector2(0.7, 0.7) }, + { percentage = 100, to = scale * Vector2(1, 1) }, + ] + + var opacity_frames = [ + { percentage = 0, from = 0.7 }, + { percentage = 80, to = 0.7 }, + { percentage = 100, to = 1 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "x", x_frames) + anima_tween.add_frames(data, "scale", scale_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_out_left.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_out_left.gd new file mode 100644 index 0000000..54ceaa1 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_out_left.gd @@ -0,0 +1,17 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var x_frames = [ + { percentage = 0, to = 0 }, + { percentage = 20, to = 0 }, + { percentage = 100, to = -2000 }, + ] + + var opacity_frames = [ + { percentage = 0, from = 1 }, + { percentage = 20, to = 0.7 }, + { percentage = 100, to = 0.7 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "x", x_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_out_right.gd b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_out_right.gd new file mode 100644 index 0000000..aed4a34 --- /dev/null +++ b/addons/dialogic/Nodes/Anima/animations/entrances_and_exits/slide_out_right.gd @@ -0,0 +1,17 @@ +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var x_frames = [ + { percentage = 0, to = 0 }, + { percentage = 20, to = 0 }, + { percentage = 100, to = 2000 }, + ] + + var opacity_frames = [ + { percentage = 0, from = 1 }, + { percentage = 20, to = 0.7 }, + { percentage = 100, to = 0.7 }, + ] + + DialogicAnimaPropertiesHelper.set_2D_pivot(data.node, DialogicAnimaPropertiesHelper.PIVOT.CENTER) + + anima_tween.add_relative_frames(data, "x", x_frames) + anima_tween.add_frames(data, "opacity", opacity_frames) diff --git a/addons/dialogic/Nodes/Background.gd b/addons/dialogic/Nodes/Background.gd new file mode 100644 index 0000000..1cb37ab --- /dev/null +++ b/addons/dialogic/Nodes/Background.gd @@ -0,0 +1,48 @@ +extends TextureRect + +var native_dialogic_background = true +var tween + +func _ready(): + expand = true + name = 'Background' + anchor_right = 1 + anchor_bottom = 1 + if DialogicResources.get_settings_value('dialog', 'stretch_backgrounds', true): + stretch_mode = TextureRect.STRETCH_SCALE + else: + stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_COVERED + show_behind_parent = true + mouse_filter = Control.MOUSE_FILTER_IGNORE + +func _init(): + tween = Tween.new() + add_child(tween) + + +func fade_in(time = 1): + modulate = Color(1, 1,1,0) + tween.interpolate_property(self, "modulate", + null, Color(1,1,1,1), time, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) + tween.start() + + +func fade_out(time = 1): + if tween: + tween.connect('tween_all_completed', self, '_on_tween_over') + tween.interpolate_property(self, "modulate", + Color(1,1,1,1), Color(1,1,1,0), time, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) + tween.start() + else: + _on_tween_over() + +func remove_with_delay(time =1): + var timer = Timer.new() + timer.connect("timeout", self, "queue_free") + add_child(timer) + timer.start(time+0.1) + +func _on_tween_over(): + queue_free() diff --git a/addons/dialogic/Nodes/Background.tscn b/addons/dialogic/Nodes/Background.tscn new file mode 100644 index 0000000..277cf47 --- /dev/null +++ b/addons/dialogic/Nodes/Background.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/Background.gd" type="Script" id=1] + +[node name="Background" type="TextureRect"] +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Nodes/BackgroundMusic.gd b/addons/dialogic/Nodes/BackgroundMusic.gd new file mode 100644 index 0000000..e09acaf --- /dev/null +++ b/addons/dialogic/Nodes/BackgroundMusic.gd @@ -0,0 +1,62 @@ +extends Control +class_name DialogicBackgroundMusic + +onready var _track1 := $Track1 +onready var _track2 := $Track2 + +var current_path = "" +var current_track = null + +func _ready(): + $Tween.connect("tween_completed", self, "_on_Tween_tween_completed") + +func crossfade_to(path: String, audio_bus:String, volume:float, fade_length: float) -> void: + # find a better solution for this + if _track1.playing and _track2.playing: + return + + var stream: AudioStream = load(path) + var fade_out_track = _track1 + var fade_in_track = _track2 + + if _track2.playing: + fade_out_track = _track2 + fade_in_track = _track1 + + # setup the new track + fade_in_track.stream = stream + fade_in_track.bus = audio_bus + fade_in_track.volume_db = -60 + + + $Tween.interpolate_property(fade_out_track, "volume_db", null, -60, fade_length, Tween.TRANS_EXPO) + $Tween.interpolate_property(fade_in_track, "volume_db", -60, volume, fade_length, Tween.TRANS_EXPO) + $Tween.start() + + # in case the audio is already playing we will attempt a fade into the new one from the current position + if current_path == path: + fade_in_track.play(fade_out_track.get_playback_position()) + # else just play it from the beginning + else: + fade_in_track.play() + current_track = fade_in_track + + current_path = path + +func fade_out(fade_length:float = 1) -> void: + current_path = "" + current_track = null + $Tween.interpolate_property(_track1, "volume_db", null, -60, fade_length, Tween.TRANS_EXPO) + $Tween.interpolate_property(_track2, "volume_db", null, -60, fade_length, Tween.TRANS_EXPO) + $Tween.start() + +func _on_Tween_tween_completed(object, key): + # if the stream was faded out + if object.volume_db == -60: + object.playing = false + object.stream = null + +func get_current_info(): + if current_track != null: + return {"file":current_path, "volume": current_track.volume_db, "audio_bus": current_track.bus} + return null diff --git a/addons/dialogic/Nodes/BackgroundMusic.tscn b/addons/dialogic/Nodes/BackgroundMusic.tscn new file mode 100644 index 0000000..68ea880 --- /dev/null +++ b/addons/dialogic/Nodes/BackgroundMusic.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/BackgroundMusic.gd" type="Script" id=1] + +[node name="BackgroundMusic" type="Control"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Track1" type="AudioStreamPlayer" parent="."] +volume_db = -80.0 + +[node name="Track2" type="AudioStreamPlayer" parent="."] +volume_db = -80.0 + +[node name="Tween" type="Tween" parent="."] diff --git a/addons/dialogic/Nodes/CharacterVoice.gd b/addons/dialogic/Nodes/CharacterVoice.gd new file mode 100644 index 0000000..e23a545 --- /dev/null +++ b/addons/dialogic/Nodes/CharacterVoice.gd @@ -0,0 +1,51 @@ +extends AudioStreamPlayer + +var stop_time:float + +func play_voice(data:Dictionary) -> void: + if data == {}: + stop_voice() + return + + if data.has('volume'): + volume_db = data['volume'] + + if data.has('audio_bus'): + bus = data['audio_bus'] + + if data.has('file'): + if data['file'] == '': + stop_voice() + return + var s:AudioStream = load(data['file']) + if s != null: + stream = s + #Will play from start_time when possible + if data.has('start_time'): + play(data['start_time']) + else: + play() + #Stop time will fall back to length of audiostream minus 0.1 secund + #if not defined otherwise. This should allow _process to stop the + #audio before it autorepeats + if data.has('stop_time'): + stop_time = data['stop_time'] + if stop_time <= 0: + stop_time = s.get_length() - 0.1 + else: + stop_time = s.get_length() - 0.1 + else: + stop_voice() +func stop_voice(): + stop() +#this is part of a hack, and could be replaced with something more elegant. - KvaGram +func remaining_time(): + if !playing: + return 0 + return stop_time - get_playback_position() + + +func _process(_delta): + #Will automatically stop playing when reaching stop_time + if(playing && get_playback_position() >= stop_time): + stop_voice() diff --git a/addons/dialogic/Nodes/ChoiceButton.gd b/addons/dialogic/Nodes/ChoiceButton.gd new file mode 100644 index 0000000..488e4db --- /dev/null +++ b/addons/dialogic/Nodes/ChoiceButton.gd @@ -0,0 +1,10 @@ +extends Button + +func _process(delta): + if Input.is_action_pressed(get_meta('input_next')): + if has_focus(): + emit_signal("button_down") + if Input.is_action_just_released(get_meta('input_next')): + if has_focus(): + emit_signal("button_up") + emit_signal("pressed") diff --git a/addons/dialogic/Nodes/ChoiceButton.tscn b/addons/dialogic/Nodes/ChoiceButton.tscn new file mode 100644 index 0000000..eadee63 --- /dev/null +++ b/addons/dialogic/Nodes/ChoiceButton.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/ChoiceButton.gd" type="Script" id=1] + +[node name="ChoiceButton" type="Button"] +size_flags_horizontal = 4 +size_flags_vertical = 4 +text = "Testing button " +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Nodes/DialogNode.gd b/addons/dialogic/Nodes/DialogNode.gd new file mode 100644 index 0000000..0da72ff --- /dev/null +++ b/addons/dialogic/Nodes/DialogNode.gd @@ -0,0 +1,1576 @@ +tool +extends Control + +## ----------------------------------------------------------------------------- +## VARIABLES +## ----------------------------------------------------------------------------- +## The timeline to load when starting the scene +var timeline: String +var timeline_name: String + +### MODE +var preview: bool = false + +var noSkipMode: bool = false +var autoPlayMode: bool = false +var autoWaitTime : float = 2.0 + +enum state { + IDLE, # When nothing is happening + READY, # When Dialogic already displayed the text on the screen + TYPING, # While the editor is typing text + WAITING, # Waiting a timer or something to finish + WAITING_INPUT, # Waiting for player to answer a question + ANIMATING # While performing a dialog animation +} +var _state : int = state.IDLE + +var do_fade_in := true +var dialog_faded_in_already = false +# true if the glossary popup is visible: # TODO rename +var definition_visible: bool = false +# used to reset the mouse mode after questions: +var last_mouse_mode = null +# this is for switching back after a custom character theme was loaded +var current_default_theme = null + +### SETTINGS +var settings: ConfigFile +var custom_events = {} +var record_history: bool = false + +### DATA +var definitions = {} + +# Parsing results +var questions #for keeping track of the questions answered +var anchors = {} # for listing the indexes of the anchors + +### CURRENT STATE +var current_timeline: String = '' +var dialog_script: Dictionary = {} +var current_event: Dictionary +var dialog_index: int = 0 +var is_last_text: bool + +var current_background = "" + +# Theme and Audio +var current_theme: ConfigFile +var current_theme_file_name = null +var history_theme: ConfigFile +var audio_data = {} + +# References +var button_container = null + +## ----------------------------------------------------------------------------- +## SCENES +## ----------------------------------------------------------------------------- +onready var ChoiceButton = load("res://addons/dialogic/Nodes/ChoiceButton.tscn") +onready var Portrait = load("res://addons/dialogic/Nodes/Portrait.tscn") +onready var Background = load("res://addons/dialogic/Nodes/Background.tscn") +onready var HistoryTimeline = $History + +## ----------------------------------------------------------------------------- +## SIGNALS +## ----------------------------------------------------------------------------- +# Event end/start +signal event_start(type, event) +signal event_end(type) +# Text Signals +signal text_complete(text_data) +# Timeline end/start +signal timeline_start(timeline_name) +signal timeline_end(timeline_name) +# Custom user signal +signal dialogic_signal(value) +# Utility +signal letter_displayed(lastLetter) + + +## ----------------------------------------------------------------------------- +## SCRIPT +## ----------------------------------------------------------------------------- +func _ready(): + # Set this dialog as the latest (used for saving) + Engine.get_main_loop().set_meta('latest_dialogic_node', self) + # Loading the config files + load_config_files() + + #update_custom_events() + $CustomEvents.update() + + # Checking if the dialog should read the code from a external file + if not timeline.empty(): + set_current_dialog(timeline) + elif dialog_script.keys().size() == 0: + dialog_script = { + "events":[ + {'event_id':'dialogic_001', + "character":"","portrait":"", + "text":"[Dialogic Error] No timeline specified."}] + } + # Load the dialog directly from GDscript + else: + load_dialog() + # Connecting resize signal + get_viewport().connect("size_changed", self, "resize_main") + resize_main() + if !DialogicResources.get_settings_value('dialog', 'stop_mouse', true): + mouse_filter = Control.MOUSE_FILTER_IGNORE + # Connecting some other timers + $OptionsDelayedInput.connect("timeout", self, '_on_OptionsDelayedInput_timeout') + # Setting everything up for the node to be default + $DefinitionInfo.visible = false + $TextBubble.connect("text_completed", self, "_on_text_completed") + $TextBubble.connect("letter_written", self, "_on_letter_written") + $TextBubble.connect("signal_request", self, "_on_signal_request") + $TextBubble.text_label.connect('meta_hover_started', self, '_on_RichTextLabel_meta_hover_started') + $TextBubble.text_label.connect('meta_hover_ended', self, '_on_RichTextLabel_meta_hover_ended') + + $TouchScreenButton.action = Dialogic.get_action_button() + + if Engine.is_editor_hint(): + if preview: + get_parent().connect("resized", self, "resize_main") + _init_dialog() + $DefinitionInfo.in_theme_editor = true + else: + if do_fade_in: _hide_dialog() + _init_dialog() + + +# loads the definitions, themes and settings +func load_config_files(): + # defintiions + if not Engine.is_editor_hint(): + definitions = Dialogic._get_definitions() + else: + definitions = DialogicResources.get_default_definitions() + # settings + settings = DialogicResources.get_settings_config() + # theme + var theme_file = 'res://addons/dialogic/Editor/ThemeEditor/default-theme.cfg' + theme_file = settings.get_value('theme', 'default', 'default-theme.cfg') + current_default_theme = theme_file + current_theme = load_theme(theme_file) + + # history + if settings.has_section('history'): + record_history = settings.get_value('history', 'enable_history_logging', false) + if settings.has_section_key('history', 'history_theme'): + theme_file = settings.get_value('history', 'history_theme') + history_theme = load_theme(theme_file) + HistoryTimeline.load_theme(history_theme) + if settings.has_section_key('history', 'enable_history_logging'): + if settings.get_value('history', 'enable_history_logging'): + HistoryTimeline.initalize_history() + + +## ----------------------------------------------------------------------------- +## CUSTOM EVENTS +## ----------------------------------------------------------------------------- +## not used anymore. use $CustomEvents.update() +func update_custom_events() -> void: + custom_events = {} + var path : String = DialogicResources.get_working_directories()["CUSTOM_EVENTS_DIR"] + var dir = Directory.new() + if dir.open(path) == OK: + dir.list_dir_begin() + var file_name = dir.get_next() + # goes through all the folders in the custom events folder + while file_name != "": + # if it found a folder + if dir.current_is_dir() and not file_name in ['.', '..']: + + # look through that folder + #print("Found custom event folder: " + file_name) + var event = load(path.plus_file(file_name).plus_file('EventBlock.tscn')).instance() + if event: + custom_events[event.event_data['event_id']] = { + 'event_script' :path.plus_file(file_name).plus_file('event_'+event.event_data['event_id']+'.gd'), + 'event_name' : event.event_name, + } + event.queue_free() + else: + print("[D] An error occurred when trying to access a custom event.") + + + else: + pass # files in the directory are ignored + file_name = dir.get_next() + else: + print("[D] An error occurred when trying to access the custom event folder.") + + +## ----------------------------------------------------------------------------- +## VISUALS +## ----------------------------------------------------------------------------- +# This function makes sure that the dialog is displayed at the correct +# size and position in the screen. +func resize_main(): + var reference = rect_size + if not Engine.is_editor_hint(): + set_global_position(Vector2(0,0)) + reference = get_viewport().get_visible_rect().size + + # Update box position + var anchor = current_theme.get_value('box', 'anchor', 9) + # TODO: remove backups in 2.0 + var margin_bottom = current_theme.get_value('box', 'box_margin_bottom', current_theme.get_value('box', 'box_margin_v', 40) * -1) + var margin_top = current_theme.get_value('box', 'box_margin_top', current_theme.get_value('box', 'box_margin_v', 40)) + var margin_left = current_theme.get_value('box', 'box_margin_left', current_theme.get_value('box', 'box_margin_h', 40)) + var margin_right = current_theme.get_value('box', 'box_margin_right', current_theme.get_value('box', 'box_margin_h', 40) * -1) + # first the y position + if anchor in [0,1,2]: # TOP + $TextBubble.rect_position.y = margin_top + elif anchor in [4,5,6]: # CENTER + $TextBubble.rect_position.y = (reference.y/2)-($TextBubble.rect_size.y/2) + else: + $TextBubble.rect_position.y = (reference.y) - ($TextBubble.rect_size.y) + margin_bottom + + # now x position + if anchor in [0,4,8]: # LEFT + $TextBubble.rect_position.x = margin_left + elif anchor in [1,5,9]: # CENTER + $TextBubble.rect_position.x = (reference.x / 2) - ($TextBubble.rect_size.x / 2) + else: + $TextBubble.rect_position.x = reference.x - ($TextBubble.rect_size.x) + margin_right + + # Update TextBubble background size + var pos_x = 0 + if current_theme.get_value('background', 'full_width', false): + if preview: + pos_x = get_parent().rect_global_position.x + $TextBubble/TextureRect.rect_global_position.x = pos_x + $TextBubble/ColorRect.rect_global_position.x = pos_x + $TextBubble/TextureRect.rect_size.x = reference.x + $TextBubble/ColorRect.rect_size.x = reference.x + else: + $TextBubble/TextureRect.rect_global_position.x = $TextBubble.rect_global_position.x + $TextBubble/ColorRect.rect_global_position.x = $TextBubble.rect_global_position.x + $TextBubble/TextureRect.rect_size.x = $TextBubble.rect_size.x + $TextBubble/ColorRect.rect_size.x = $TextBubble.rect_size.x + + # Button positioning + var button_anchor = current_theme.get_value('buttons', 'anchor', 5) + var anchor_vertical = 1 + var anchor_horizontal = 1 + # OMG WHY IS TIHS NOT A MATCH I CAN'T BELIEVE YOU, WHY YOU DOING THIS TO ME + if button_anchor == 0: + anchor_vertical = 0 + anchor_horizontal = 0 + elif button_anchor == 1: + anchor_vertical = 0 + elif button_anchor == 2: + anchor_vertical = 0 + anchor_horizontal = 2 + # Number skip because of the separator + elif button_anchor == 4: + anchor_horizontal = 0 + elif button_anchor == 6: + anchor_horizontal = 2 + # Number skip because of the separator + elif button_anchor == 8: + anchor_vertical = 2 + anchor_horizontal = 0 + elif button_anchor == 9: + anchor_vertical = 2 + elif button_anchor == 10: + anchor_vertical = 2 + anchor_horizontal = 2 + + var theme_choice_offset = current_theme.get_value('buttons', 'offset', Vector2(0,0)) + var position_offset = Vector2(0,0) + + if anchor_horizontal == 0: + position_offset.x = (reference.x / 2) * -1 + elif anchor_horizontal == 1: + position_offset.x = 0 + elif anchor_horizontal == 2: + position_offset.x = (reference.x / 2) + + if anchor_vertical == 0: + position_offset.y -= (reference.y / 2) + elif anchor_vertical == 1: + position_offset.y += 0 + elif anchor_vertical == 2: + position_offset.y += (reference.y / 2) + + $Options.rect_global_position = Vector2(0,0) + theme_choice_offset + position_offset + $Options.rect_size = reference + + if settings.get_value('input', 'clicking_dialog_action', true): + $TouchScreenButton.shape.extents = reference + + # Background positioning + var background = get_node_or_null('Background') + if background != null: + background.rect_size = reference + + var portraits = get_node_or_null('Portraits') + if portraits != null: + portraits.rect_position.x = reference.x / 2 + portraits.rect_position.y = reference.y + +# calls resize_main +func deferred_resize(current_size, result, anchor): + $TextBubble.rect_size = result + if current_size != $TextBubble.rect_size or current_theme.get_value('box', 'anchor', 9) != anchor: + resize_main() + +# loads the given theme file +func load_theme(filename): + var current_theme_anchor = -1 + if current_theme: + current_theme_anchor = current_theme.get_value('box', 'anchor', 9) + var load_theme = DialogicResources.get_theme_config(filename) + if not load_theme: + return current_theme + var theme = load_theme + current_theme_file_name = filename + # Box size + call_deferred('deferred_resize', $TextBubble.rect_size, theme.get_value('box', 'size', Vector2(910, 167)), current_theme_anchor) + + $TextBubble.load_theme(theme) + HistoryTimeline.change_theme(theme) + $DefinitionInfo.load_theme(theme) + + if theme.get_value('buttons', 'layout', 0) == 0: + button_container = VBoxContainer.new() + else: + button_container = HBoxContainer.new() + button_container.name = 'ButtonContainer' + button_container.alignment = 1 + + for n in $Options.get_children(): + n.queue_free() + $Options.add_child(button_container) + + load_audio(theme) + + if theme.get_value('box', 'portraits_behind_dialog_box', true): + move_child($Portraits, 0) + else: + move_child($Portraits, 1) + + return theme + + +## ----------------------------------------------------------------------------- +## AUDIO +## ----------------------------------------------------------------------------- + +func load_audio(theme): + # Audio + var default_audio_file = "res://addons/dialogic/Example Assets/Sound Effects/Beep.wav" + var default_audio_data = { + 'enable': false, + 'path': default_audio_file, + 'volume': 0.0, + 'volume_rand_range': 0.0, + 'pitch': 1.0, + 'pitch_rand_range': 0.0, + 'allow_interrupt': true, + 'audio_bus': AudioServer.get_bus_name(0) + } + + for audio_node in $FX/Audio.get_children(): + var name = audio_node.name.to_lower() + audio_data[name] = theme.get_value('audio', name, default_audio_data) + + var file_system = Directory.new() + if file_system.dir_exists(audio_data[name].path): + audio_node.load_samples_from_folder(audio_data[name].path) + elif file_system.file_exists(audio_data[name].path) or file_system.file_exists(audio_data[name].path + '.import'): + audio_node.samples = [load(audio_data[name].path)] + + audio_node.set_volume_db(audio_data[name].volume) + audio_node.random_volume_range = audio_data[name].volume_rand_range + audio_node.set_pitch_scale(audio_data[name].pitch) + audio_node.random_pitch_range = audio_data[name].pitch_rand_range + audio_node.set_bus(audio_data[name].audio_bus) + +func play_audio(name): + var node = $FX/Audio.get_node(name.capitalize()) + name = name.to_lower() + if audio_data[name].enable: + if audio_data[name].allow_interrupt or not node.is_playing(): + node.play() + + +## ----------------------------------------------------------------------------- +## LOADING/PARSING DIALOG +## ----------------------------------------------------------------------------- +# load a timeline file and start parsing +func set_current_dialog(dialog_path: String): + current_timeline = dialog_path + dialog_script = DialogicResources.get_timeline_json(dialog_path) + return load_dialog() + +# starts all necessary parsing +func load_dialog(): + # All this parse events should be happening in the same loop ideally + # But until performance is not an issue I will probably stay lazy + # And keep adding different functions for each parsing operation. + if settings.get_value('dialog', 'auto_color_names', true): + dialog_script = DialogicParser.parse_characters(dialog_script) + dialog_script = DialogicParser.parse_text_lines(dialog_script, preview) + dialog_script = DialogicParser.parse_branches(self, dialog_script) + DialogicParser.parse_anchors(self) + return dialog_script + +## ----------------------------------------------------------------------------- +## MAIN GAME-LOGIC +## ----------------------------------------------------------------------------- +# checks if NextIndicator and ChoiceButtons should be visible +func _process(delta): + # Showing or hiding the ▼ next indicator + $TextBubble/NextIndicatorContainer/NextIndicator.visible = is_state(state.READY) + # Showing or hiding the container where the option buttons show up in questions + $Options.visible = is_state(state.WAITING_INPUT) + + # Hide if no input is required + if current_event.has('text'): + if '[nw]' in current_event['text'] or '[nw=' in current_event['text'] or noSkipMode or autoPlayMode: + $TextBubble/NextIndicatorContainer/NextIndicator.visible = false + + # Hide if "Don't Close After Last Event" is checked and event is last text + if current_theme and current_theme.get_value('settings', 'dont_close_after_last_event', false) and is_last_text: + $TextBubble/NextIndicatorContainer/NextIndicator.visible = false + + # Hide if fading in + if is_state(state.ANIMATING): + $TextBubble/NextIndicatorContainer/NextIndicator.visible = false + + +# checks for the "input_next" action +func _input(event: InputEvent) -> void: + if not Engine.is_editor_hint() and event.is_action_pressed(Dialogic.get_action_button()) and autoPlayMode: + autoPlayMode = false + return + + if not Engine.is_editor_hint() and event.is_action_pressed(Dialogic.get_action_button()) and (!noSkipMode and !autoPlayMode): + if HistoryTimeline.block_dialog_advance: + return + if is_state(state.WAITING): + if not current_event: + return + var timer = current_event.get('waiting_timer_skippable') + if timer: + timer.time_left = 0 + else: + if is_state(state.TYPING): + # Skip to end if key is pressed during the text animation + $TextBubble.skip() + # Cut the voice + $FX/CharacterVoice.stop_voice() + else: + if current_event.has('options') and !is_state(state.WAITING_INPUT): + pass + elif is_state(state.WAITING_INPUT) or is_state(state.ANIMATING): + pass + elif $TextBubble/NextIndicatorContainer/NextIndicator.is_visible(): + $FX/CharacterVoice.stop_voice() # stop the current voice as well + play_audio("passing") + _load_next_event() + else: + next_event(false) + if settings.has_section_key('dialog', 'propagate_input'): + var propagate_input: bool = settings.get_value('dialog', 'propagate_input') + if not propagate_input and not is_state(state.WAITING_INPUT): + get_tree().set_input_as_handled() + +func next_event(discreetly: bool): + $FX/CharacterVoice.stop_voice() # stop the current voice as well + if !discreetly: + play_audio("passing") + _load_next_event() + +# when the text finished showing +# plays audio, adds buttons, handles [nw] +func _on_text_completed(): + emit_signal('text_complete', current_event) + + play_audio('waiting') + + # Add the choice buttons for questions + if current_event.has('options'): + # Already showed the text, ready to show the option buttons + set_state(state.WAITING_INPUT) + + var waiting_until_options_enabled = float(settings.get_value('input', 'delay_after_options', 0.1)) + $OptionsDelayedInput.start(waiting_until_options_enabled) + + for o in current_event['options']: + if _should_add_choice_button(o): + add_choice_button(o) + + # Auto focus + $DialogicTimer.start(0.1); yield($DialogicTimer, "timeout") + if settings.get_value('input', 'autofocus_choices', false): + button_container.get_child(0).grab_focus() + + + if current_event.has('text'): + # Already showed the text, ready to show the ▼ next indicator button + set_state(state.READY) + + # [p] needs more work + # Setting the timer for how long to wait in the [nw] events + if '[nw]' in current_event['text'] or '[nw=' in current_event['text'] or noSkipMode or autoPlayMode: + var waiting_time = 2 + var current_index = dialog_index + if '[nw=' in current_event['text']: # Regex stuff + var regex = RegEx.new() + regex.compile("\\[nw=(.+?)\\](.*?)") + var result = regex.search(current_event['text']) + var wait_settings = result.get_string() + #Kva-hack. if the waiting time is set to 'v' + #It will fetch waiting time from CharacterVoice. + waiting_time = wait_settings.split('=')[1] + if(waiting_time.begins_with('v')): + waiting_time = $"FX/CharacterVoice".remaining_time() + else: + waiting_time = float(waiting_time) + #print("Waiting time: " + String(waiting_time)) + #Remove these comments once replaced with proper code. + # - KvaGram + #original line + #waiting_time = float(wait_settings.split('=')[1]) + elif noSkipMode or autoPlayMode: + waiting_time = autoWaitTime + if current_event.has('voice_data'): + waiting_time = $"FX/CharacterVoice".remaining_time() + else: + waiting_time = float(waiting_time) + $DialogicTimer.start(waiting_time); yield($DialogicTimer, "timeout") + if dialog_index == current_index: + _load_next_event() + +# When text reaches a [signal] command +# emits the dialogic signal with the argument +func _on_signal_request(name): + emit_signal("dialogic_signal", name) + +# emits timeline_start and handles autosaving +func on_timeline_start(): + if not Engine.is_editor_hint(): + if settings.get_value('saving', 'autosave', true): + # save to the default slot + Dialogic.save('', true) + # TODO remove event_start in 2.0 + emit_signal("event_start", "timeline", timeline_name) + emit_signal("timeline_start", timeline_name) + +# emits timeline_end and handles autosaving +func on_timeline_end(): + if not Engine.is_editor_hint(): + if settings.get_value('saving', 'autosave', true): + # save to the default slot + Dialogic.save('', true) + # TODO remove event_end in 2.0 + emit_signal("event_end", "timeline") + emit_signal("timeline_end", timeline_name) + +# does checks and calls the above functions +func _emit_timeline_signals(): + if dialog_script.has('events'): + if dialog_index == 0: + on_timeline_start() + elif _is_dialog_finished(): + on_timeline_end() + + +# resets dialog_index and starts first event +func _init_dialog(): + dialog_index = 0 + _load_event() + +# jumps to the event at the given index +func _load_event_at_index(index: int): + dialog_index = index + _load_event() + +# loads the next event +func _load_next_event(): + dialog_index += 1 + _load_event() + +# returns true if dialog_index is outside of the events indexes +func _is_dialog_finished(): + return dialog_index >= dialog_script['events'].size() + +# calls the event_handler +func _load_event(): + # Updates whether the event is the last text box + if dialog_index + 1 >= dialog_script['events'].size(): + is_last_text = true + else: + # Get next event + var next_event = dialog_script['events'][dialog_index + 1] + + # If next event is Text Event, is_last_text is false + if next_event['event_id'] == "dialogic_001": + is_last_text = false + + # Else, if next event is End Branch, set is_last_text to whether the next after exceeds the size of events. + elif 'end_branch_of' in next_event: + is_last_text = dialog_index + 2 >= dialog_script['events'].size() + + # Else, if next event is Choice (and current event is not a Question) + elif 'choice' in next_event and not 'options' in dialog_script['events'][dialog_index]: + # Get Question + var index_in_questions = next_event['question_idx'] + var question = questions[index_in_questions] + var index_in_events = dialog_script['events'].rfind(question, dialog_index) + var end_index = question['end_idx'] + is_last_text = end_index + 1 >= dialog_script['events'].size() + + _emit_timeline_signals() + _hide_definition_popup() + + if dialog_script.has('events'): + if not _is_dialog_finished(): + # CHECK IF NECESSARY! + var func_state = event_handler(dialog_script['events'][dialog_index]) + #if (func_state is GDScriptFunctionState): + # print(func_state) + # yield(func_state, "completed") + elif not Engine.is_editor_hint(): + # If setting 'Don't Close After Last Event' is not checked, free it. + if not current_theme.get_value('settings', 'dont_close_after_last_event', false): + queue_free() + +# Handling an event and updating the available nodes accordingly. +func event_handler(event: Dictionary): + $TextBubble.reset() + clear_options() + + current_event = event + + if record_history: + HistoryTimeline.add_history_row_event(current_event) + + match event['event_id']: + # MAIN EVENTS + # Text Event + 'dialogic_001': + emit_signal("event_start", "text", event) + if fade_in_dialog(): + yield(get_node('fade_in_tween_show_time'), 'tween_completed') + set_state(state.TYPING) + if event.has('character'): + var character_data = DialogicUtil.get_character(event['character']) + grab_portrait_focus(character_data, event) + if character_data.get('data', {}).get('theme', '') and current_theme_file_name != character_data.get('data', {}).get('theme', ''): + current_theme = load_theme(character_data.get('data', {}).get('theme', '')) + elif !character_data.get('data', {}).get('theme', '') and current_default_theme and current_theme_file_name != current_default_theme: + current_theme = load_theme(current_default_theme) + update_name(character_data) + + #voice + handle_voice(event) + update_text(event['text']) + # Character event + 'dialogic_002': + ## PLEASE UPDATE THIS! BUT HOW? + emit_signal("event_start", "action", event) + set_state(state.WAITING) + if event['character'] == '':# No character found on the event. Skip. + _load_next_event() + else: + var character_data = DialogicUtil.get_character(event['character']) + # JOIN MODE ------------------------------------------- + if event.get('type', 0) == 0 and not portrait_exists(character_data): + # CREATE NEW PORTRAIT + var p = Portrait.instance() + + # SET DATA + if current_theme.get_value('settings', 'single_portrait_mode', false): + p.single_portrait_mode = true + p.character_data = character_data + p.dim_time = current_theme.get_value('animation', 'dim_time', 0.5) + + var char_portrait = get_portrait_name(event) + p.init(char_portrait) + p.set_mirror(event.get('mirror_portrait', false)) + + # ADD IT TO THE SCENE + $Portraits.add_child(p) + p.move_to_position(get_character_position(event['position'])) + event = insert_animation_data(event, 'join', 'fade_in_up.gd') + p.animate(event.get('animation', '[No Animation]'), event.get('animation_length', 1)) + p.current_state['character'] = event['character'] + p.current_state['position'] = event['position'] + + # z_index + $Portraits.move_child(p, get_portrait_z_index_point(event.get('z_index', 0))) + p.z_index = event.get('z_index', 0) + + if event.get('animation_wait', false): + yield(p, 'animation_finished') + + + # LEAVE MODE ------------------------------------------- + elif event.get('type', 0) == 1: + if event['character'] == '[All]': + event = insert_animation_data(event, 'leave', 'fade_out_down.gd') + characters_leave_all(event.get('animation', '[No Animation]'), event.get('animation_length', -1)) + if event.get('animation_wait', false): + $DialogicTimer.start(event.get('animation_duration', 1)) + yield($DialogicTimer, "timeout") + else: + for p in $Portraits.get_children(): + if is_instance_valid(p) and p.character_data['file'] == event['character']: + event = insert_animation_data(event, 'leave', 'fade_out_down.gd') + p.animate(event.get('animation', 'instant_out.gd'), event.get('animation_length', 1), 1, true) + if event.get('animation_wait', false): + yield(p, 'animation_finished') + + # UPDATE MODE ------------------------------------------- + else: + if portrait_exists(character_data): + for portrait in $Portraits.get_children(): + if portrait.character_data.get('file', true) == character_data.get('file', false): + # UPDATE PORTRAIT + var portrait_name = get_portrait_name(event) + if portrait_name != portrait.current_state['portrait']: + portrait.set_portrait(portrait_name) + # recalculate the position of the portrait with an instant animation + portrait.move_to_position(get_character_position(portrait.current_state['position'])) + + # UPDATE POSITION + if event.get('change_position', false): + if event['position'] != portrait.current_state['position']: + portrait.move_to_position(get_character_position(event['position'])) + portrait.current_state['position'] = event['position'] + + if event.get('change_mirror_portrait', false): + portrait.set_mirror(event.get('mirror_portrait', false)) + + if event.get('change_z_index', false): + $Portraits.move_child(portrait, get_portrait_z_index_point(event.get('z_index', 0))) + portrait.z_index = event.get('z_index', 0) + + portrait.animate(event.get('animation', '[No Animation]'), event.get('animation_length', 1), event.get('animation_repeat', 1)) + + if event.get('animation_wait', false) and event.get('animation', '[No Animation]') != "[No Animation]": + yield(portrait, 'animation_finished') + set_state(state.READY) + _load_next_event() + + # LOGIC EVENTS + # Question event + 'dialogic_010': + emit_signal("event_start", "question", event) + if fade_in_dialog(): + yield(get_node('fade_in_tween_show_time'), 'tween_completed') + set_state(state.TYPING) + if event.has('name'): + update_name(event['name']) + elif event.has('character'): + var character_data = DialogicUtil.get_character(event['character']) + grab_portrait_focus(character_data, event) + + if character_data.get('data', {}).get('theme', '') and current_theme_file_name != character_data.get('data', {}).get('theme', ''): + current_theme = load_theme(character_data.get('data', {}).get('theme', '')) + elif !character_data.get('data', {}).get('theme', '') and current_default_theme and current_theme_file_name != current_default_theme: + current_theme = load_theme(current_default_theme) + update_name(character_data) + #voice + handle_voice(event) + update_text(event['question']) + # Choice event + 'dialogic_011': + emit_signal("event_start", "choice", event) + for q in questions: + if q['question_idx'] == event['question_idx']: + if q['answered']: + # If the option is for an answered question, skip to the end of it. + _load_event_at_index(q['end_idx']) + # Condition event + 'dialogic_012': + # Treating this conditional as an option on a regular question event + var def_value = null + var current_question = questions[event['question_idx']] + + for d in definitions['variables']: + if d['id'] == event['definition']: + def_value = d['value'] + + var condition_met = def_value != null and DialogicUtil.compare_definitions(def_value, event['value'], event['condition']); + + current_question['answered'] = !condition_met + if !condition_met: + # condition not met, skipping branch + _load_event_at_index(current_question['end_idx']) + else: + # condition met, entering branch + _load_next_event() + # End Branch event + 'dialogic_013': + emit_signal("event_start", "endbranch", event) + _load_next_event() + # Set Value event + 'dialogic_014': + emit_signal("event_start", "set_value", event) + var operation = '=' + if 'operation' in event and not event['operation'].empty(): + operation = event["operation"] + var value = event['set_value'] + if event.get('set_random', false): + value = str(randi()%int(event.get("random_upper_limit", 100)-event.get('random_lower_limit', 0))+event.get('random_lower_limit', 0)) + Dialogic.set_variable_from_id(event['definition'], value, operation) + _load_next_event() + # Anchor event + 'dialogic_015': + emit_signal("event_start", "anchor", event) + _load_next_event() + # GoTo event + 'dialogic_016': + emit_signal("event_start", "goto", event) + dialog_index = anchors[event.get('anchor_id')] + _load_next_event() + + + # TIMELINE EVENTS + # Change Timeline event + 'dialogic_020': + if !event['change_timeline'].empty(): + change_timeline(event['change_timeline']) + # Change Backround event + 'dialogic_021': + emit_signal("event_start", "background", event) + var fade_time = event.get('fade_duration', 1) + var value = event.get('background', '') + var background = get_node_or_null('Background') + + current_background = event['background'] + if background != null: + background.name = "BackgroundFadingOut" + if !value: + background.fade_out(fade_time) + else: + background.remove_with_delay(fade_time) + background = null + + if value != '': + background = Background.instance() + add_child(background) + if (event['background'].ends_with('.tscn')): + var bg_scene = load(event['background']) + bg_scene = bg_scene.instance() + background.modulate = Color(1,1,1,0) + background.add_child(bg_scene) + background.fade_in(fade_time) + else: + background.texture = load(value) + background.fade_in(fade_time) + call_deferred('resize_main') # Executing the resize main to update the background size + + _load_next_event() + # Close Dialog event + 'dialogic_022': + emit_signal("event_start", "close_dialog", event) + set_state(state.ANIMATING) + var transition_duration = event.get('transition_duration', 1.0) + + # fade out characters + insert_animation_data(event, 'leave', 'fade_out_down') + characters_leave_all(event['animation'], event['animation_length']) + + # fade out background + var background = get_node_or_null('Background') + if background != null: + background.name = 'BackgroundFadingOut' + background.fade_out(transition_duration) + + if transition_duration != 0: + var tween = Tween.new() + add_child(tween) + tween.interpolate_property($TextBubble, "modulate", + $TextBubble.modulate, Color('#00ffffff'), transition_duration, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) + tween.start() + yield(tween, "tween_all_completed") + + on_timeline_end() + queue_free() + # Wait seconds event + 'dialogic_023': + emit_signal("event_start", "wait", event) + if event.get('hide_dialogbox', true): + $TextBubble.visible = false + set_state(state.WAITING) + var timer = get_tree().create_timer(event['wait_seconds']) + if event.get('waiting_skippable', false): + event['waiting_timer_skippable'] = timer + yield(timer, "timeout") + event.erase('waiting_timer_skippable') + set_state(state.IDLE) + $TextBubble.visible = true + emit_signal("event_end", "wait") + _load_next_event() + # Set Theme event + 'dialogic_024': + emit_signal("event_start", "set_theme", event) + if event['set_theme'] != '': + current_theme = load_theme(event['set_theme']) + current_default_theme = event['set_theme'] + resize_main() + _load_next_event() + # Set Glossary event + 'dialogic_025': + emit_signal("event_start", "set_glossary", event) + if event['glossary_id']: + Dialogic.set_glossary_from_id(event['glossary_id'], event['title'], event['text'],event['extra']) + _load_next_event() + # Save event + 'dialogic_026': + emit_signal('event_start', 'save', event) + var custom_slot :String = event.get('custom_slot', '').strip_edges() + if event.get('use_default_slot', true) or custom_slot == '': + Dialogic.save() + else: + if custom_slot.begins_with("[") and custom_slot.ends_with("]"): + custom_slot = custom_slot.trim_prefix("[").trim_suffix("]") + var saved = false + for definition in definitions['variables']: + if definition['name'] == custom_slot: + Dialogic.save(definition['value']) + saved = true + if not saved: + print("[D] Tried to access value definition '"+custom_slot+"' for saving, but it didn't exist.") + else: + Dialogic.save(custom_slot) + + _load_next_event() + + # AUDIO EVENTS + # Audio event + 'dialogic_030': + emit_signal("event_start", "audio", event) + if event['audio'] == 'play' and 'file' in event.keys() and not event['file'].empty(): + var audio = get_node_or_null('AudioEvent') + if audio == null: + audio = AudioStreamPlayer.new() + audio.name = 'AudioEvent' + add_child(audio) + if event.has('audio_bus'): + if AudioServer.get_bus_index(event['audio_bus']) >= 0: + audio.bus = event['audio_bus'] + if event.has('volume'): + audio.volume_db = event['volume'] + audio.stream = load(event['file']) + audio.play() + else: + var audio = get_node_or_null('AudioEvent') + if audio != null: + audio.stop() + audio.queue_free() + _load_next_event() + # Background Music event + 'dialogic_031': + emit_signal("event_start", "background-music", event) + if event['background-music'] == 'play' and 'file' in event.keys() and not event['file'].empty(): + $FX/BackgroundMusic.crossfade_to(event['file'], event.get('audio_bus', 'Master'), event.get('volume', 0), event.get('fade_length', 1)) + else: + $FX/BackgroundMusic.fade_out(event.get('fade_length', 1)) + _load_next_event() + + # GODOT EVENTS + # Emit signal event + 'dialogic_040': + emit_signal("dialogic_signal", event['emit_signal']) + _load_next_event() + # Change Scene event + 'dialogic_041': + if event.has('scene'): + get_tree().change_scene(event['scene']) + elif event.has('change_scene'): + get_tree().change_scene(event['change_scene']) + # Call Node event + 'dialogic_042': + emit_signal("event_start", "call_node", event) + $TextBubble.visible = false + set_state(state.WAITING) + var target = get_node_or_null(event['call_node']['target_node_path']) + if not target: + target = get_tree().root.get_node_or_null(event['call_node']['target_node_path']) + var method_name = event['call_node']['method_name'] + var args = event['call_node']['arguments'] + if (not args is Array): + args = [] + + if is_instance_valid(target): + if target.has_method(method_name): + var func_result = target.callv(method_name, args) + + if (func_result is GDScriptFunctionState): + yield(func_result, "completed") + + set_state(state.IDLE) + $TextBubble.visible = true + _load_next_event() + 'dialogic_050': + noSkipMode = event['block_input'] + autoWaitTime = event['wait_time'] + _load_next_event() + _: + if event['event_id'] in $CustomEvents.handlers.keys(): + # get the handler node + var handler = $CustomEvents.handlers[event['event_id']] + handler.handle_event(event, self) + else: + visible = false + +func change_timeline(timeline): + dialog_script = set_current_dialog(timeline) + _init_dialog() + + +## ----------------------------------------------------------------------------- +## TEXTBOX-FUNCTIONALITY +## ----------------------------------------------------------------------------- +# updates the Name Label +func update_name(character) -> void: + if character.has('name'): + var parsed_name = character['name'] + if character['data'].get('display_name_bool', false): + if character['display_name'] != '': + parsed_name = character['display_name'] + parsed_name = DialogicParser.parse_definitions(self, parsed_name, true, false) + $TextBubble.update_name(parsed_name, character.get('color', Color.white), current_theme.get_value('name', 'auto_color', true)) + else: + $TextBubble.update_name('') + +# shows the given text in the Text Bubble +# handles the simple translation feature +func update_text(text: String) -> String: + if settings.get_value('dialog', 'translations', false): + text = tr(text) + var final_text = DialogicParser.parse_definitions(self, DialogicParser.parse_alignment(self, text)) + final_text = final_text.replace('[br]', '\n') + + $TextBubble.update_text(final_text) + return final_text + +# plays a sound +func _on_letter_written(lastLetter): + if lastLetter != ' ': + play_audio('typing') + emit_signal('letter_displayed', lastLetter) + + +## ----------------------------------------------------------------------------- +## CHOICE/OPTION BUTTONS +## ----------------------------------------------------------------------------- + +# called when a choice is selected +# hides choices, sets question as answered and jumps to the appropriate event +func answer_question(i, event_idx, question_idx): + play_audio("selecting") + + clear_options() + + # set flags and continue dialog + questions[question_idx]['answered'] = true + _load_event_at_index(event_idx + 1) + + if record_history: + HistoryTimeline.add_answer_to_question(str(i.text)) + + # Revert to last mouse mode when selection is done + if last_mouse_mode != null: + Input.set_mouse_mode(last_mouse_mode) + last_mouse_mode = null + +# deletest the choice buttons +func clear_options(): + # Clearing out the options after one was selected. + for option in button_container.get_children(): + option.queue_free() + +# adds a button for the given choice +func add_choice_button(option: Dictionary) -> Button: + var button = get_classic_choice_button(option['label']) + button_container.set('custom_constants/separation', current_theme.get_value('buttons', 'gap', 20)) + button_container.add_child(button) + + var hotkey + var buttonCount = button_container.get_child_count() + var hotkeyOption = settings.get_value('input', str('choice_hotkey_', buttonCount), '') + + # If there is a hotkey, use that key + if hotkeyOption != '' and hotkeyOption != '[None]': + hotkey = InputEventAction.new() + hotkey.action = hotkeyOption + # otherwise default hotkeys are 1-9 for the first 10 buttons + elif buttonCount < 10 and settings.get_value('input', 'enable_default_shortcut', false): + hotkey = InputEventKey.new() + hotkey.scancode = OS.find_scancode_from_string(str(button_container.get_child_count())) + else: + hotkey = InputEventKey.new() + + if hotkeyOption != '[None]' or settings.get_value('input', 'enable_default_shortcut', false) == true: + var shortcut = ShortCut.new() + shortcut.set_shortcut(hotkey) + + button.set_shortcut(shortcut) + button.shortcut_in_tooltip = false + + # Selecting the first button added + if settings.get_value('input', 'autofocus_choices', false): + if button_container.get_child_count() == 1: + button.grab_focus() + else: + button.focus_mode = FOCUS_NONE + + # Adding audio when focused or hovered + button.connect('focus_entered', self, '_on_option_hovered', [button]) + button.connect('mouse_entered', self, '_on_option_focused') + + button.set_meta('event_idx', option['event_idx']) + button.set_meta('question_idx', option['question_idx']) + + if Input.get_mouse_mode() != Input.MOUSE_MODE_VISIBLE: + last_mouse_mode = Input.get_mouse_mode() + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) # Make sure the cursor is visible for the options selection + + return button + +# checks the condition of the given option +func _should_add_choice_button(option: Dictionary): + if not option['definition'].empty(): + var def_value = null + for d in definitions['variables']: + if d['id'] == option['definition']: + def_value = d['value'] + return def_value != null and DialogicUtil.compare_definitions(def_value, option['value'], option['condition']); + else: + return true + +# instances a custom choice +func get_custom_choice_button(label: String): + var theme = current_theme + var custom_path = current_theme.get_value('buttons', 'custom_path', "") + var CustomChoiceButton = load(custom_path) + var button = CustomChoiceButton.instance() + button.text = label + return button + +# instances a normal dialogic button +func get_classic_choice_button(label: String): + var theme = current_theme + var button : Button = ChoiceButton.instance() + button.text = label + button.set_meta('input_next', Dialogic.get_action_button()) + + # Removing the blue selected border + button.set('custom_styles/focus', StyleBoxEmpty.new()) + # Text + button.set('custom_fonts/font', DialogicUtil.path_fixer_load(theme.get_value('text', 'font', "res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres"))) + + + if theme.get_value('buttons', 'fixed', false): + var size = theme.get_value('buttons', 'fixed_size', Vector2(130,40)) + button.rect_min_size = size + button.rect_size = size + + button_container.set('custom_constants/separation', theme.get_value('buttons', 'gap', 20)) + + # Different styles + var default_background = 'res://addons/dialogic/Example Assets/backgrounds/background-2.png' + var default_style = [ + false, # 0 $TextColor/CheckBox + Color.white, # 1 $TextColor/ColorPickerButton + false, # 2 $FlatBackground/CheckBox + Color.black, # 3 $FlatBackground/ColorPickerButton + true, # 4 $BackgroundTexture/CheckBox + default_background, # 5 $BackgroundTexture/Button + false, # 6 $TextureModulation/CheckBox + Color.white, # 7 $TextureModulation/ColorPickerButton + ] + # Default hover style + var hover_style = [true, Color( 0.698039, 0.698039, 0.698039, 1 ), false, Color.black, true, default_background, false, Color.white] + + var style_normal = theme.get_value('buttons', 'normal', default_style) + var style_hover = theme.get_value('buttons', 'hover', hover_style) + var style_pressed = theme.get_value('buttons', 'pressed', default_style) + var style_disabled = theme.get_value('buttons', 'disabled', default_style) + + # Text color + var default_color = Color(theme.get_value('text', 'color', '#ffffff')) + button.set('custom_colors/font_color', default_color) + button.set('custom_colors/font_color_hover', default_color.lightened(0.2)) + button.set('custom_colors/font_color_pressed', default_color.darkened(0.2)) + button.set('custom_colors/font_color_disabled', default_color.darkened(0.8)) + + if style_normal[0]: + button.set('custom_colors/font_color', style_normal[1]) + if style_hover[0]: + button.set('custom_colors/font_color_hover', style_hover[1]) + if style_pressed[0]: + button.set('custom_colors/font_color_pressed', style_pressed[1]) + if style_disabled[0]: + button.set('custom_colors/font_color_disabled', style_disabled[1]) + + + # Style normal + button_style_setter('normal', style_normal, button, theme) + button_style_setter('hover', style_hover, button, theme) + button_style_setter('pressed', style_pressed, button, theme) + button_style_setter('disabled', style_disabled, button, theme) + return button + +# adds parts of a style to the given button +func button_style_setter(section, data, button, theme): + var style_box = StyleBoxTexture.new() + if data[2]: + # I'm using a white texture to do the flat style because otherwise the padding doesn't work. + style_box.set('texture', DialogicUtil.path_fixer_load("res://addons/dialogic/Images/Plugin/white-texture.png")) + style_box.set('modulate_color', data[3]) + else: + if data[4]: + style_box.set('texture', DialogicUtil.path_fixer_load(data[5])) + if data[6]: + style_box.set('modulate_color', data[7]) + + # Padding + var padding = theme.get_value('buttons', 'padding', Vector2(5,5)) + style_box.set('margin_left', padding.x) + style_box.set('margin_right', padding.x) + style_box.set('margin_top', padding.y) + style_box.set('margin_bottom', padding.y) + button.set('custom_styles/' + section, style_box) + +# focuses button on hover +func _on_option_hovered(button): + button.grab_focus() + +# plays the sound +func _on_option_focused(): + play_audio("hovering") + +# connects the signals after a short delay to make accidental clicking less likely +func _on_OptionsDelayedInput_timeout(): + for button in button_container.get_children(): + if button.is_connected("pressed", self, "answer_question") == false: + button.connect("pressed", self, "answer_question", [button, button.get_meta('event_idx'), button.get_meta('question_idx')]) + +## ----------------------------------------------------------------------------- +## VOICE LINE FEATURE +## ----------------------------------------------------------------------------- +# plays the voice line of the event +func handle_voice(event): + var settings_file = DialogicResources.get_settings_config() + if not settings_file.get_value('dialog', 'text_event_audio_enable', false): + return + # In game only + if Engine.is_editor_hint(): + return + + if event.has('voice_data'): + var voice_data = event['voice_data'] + if voice_data.has('0'): + $FX/CharacterVoice.play_voice(voice_data['0']) + return + + $FX/CharacterVoice.stop_voice() + +## ----------------------------------------------------------------------------- +## PORTRAITS +## ----------------------------------------------------------------------------- +# defocuses all characters except the given one +func grab_portrait_focus(character_data, event: Dictionary = {}) -> bool: + var exists = false + for portrait in $Portraits.get_children(): + # check if it's the same character + if portrait.character_data.get("file", "something") == character_data.get("file", "none"): + exists = true + portrait.focus() + if event.has('portrait'): + portrait.set_portrait(get_portrait_name(event)) + if settings.get_value('dialog', 'recenter_portrait', true): + portrait.move_to_position(portrait.direction) + else: + portrait.focusout(Color(current_theme.get_value('animation', 'dim_color', '#ff808080'))) + return exists + +# returns true if the a portrait for that character already exists +func portrait_exists(character_data) -> bool: + var exists = false + for portrait in $Portraits.get_children(): + if portrait.character_data.get('file', true) == character_data.get('file', false): + exists = true + return exists + +# converts PORTRAIT-WEIRDNESS to a word +func get_character_position(positions) -> String: + if positions['0']: + return 'left' + if positions['1']: + return 'center_left' + if positions['2']: + return 'center' + if positions['3']: + return 'center_right' + if positions['4']: + return 'right' + return 'left' + +# returns the portrait name or the definition value (id definition is enabled) +func get_portrait_name(event_data): + var char_portrait = event_data['portrait'] + if char_portrait == '': + char_portrait = "(Don't change)" + + if char_portrait == '[Definition]' and event_data.has('port_defn'): + var portrait_definition = event_data['port_defn'] + if portrait_definition != '': + for d in Dialogic._get_definitions()['variables']: + if d['id'] == portrait_definition: + char_portrait = d['value'] + break + return char_portrait + + +func insert_animation_data(event_data, type = 'join', default = 'fade_in_up'): + var animation = event_data.get('animation', '[Default]') + var length = event_data.get('animation_length', 0.5) + if animation == '[Default]': + animation = DialogicResources.get_settings_value('animations', 'default_'+type+'_animation', default) + length = DialogicResources.get_settings_value('animations', 'default_'+type+'_animation_length', 0.5) + event_data['animation'] = animation + event_data['animation_length'] = length + return event_data + +# moves out all portraits +func characters_leave_all(animation, time): + var portraits = get_node_or_null('Portraits') + if portraits != null: + for p in portraits.get_children(): + p.animate(animation, time, 1, true) + +# returns where to move the portrait, so the fake-z-index looks good +func get_portrait_z_index_point(z_index): + for i in range($Portraits.get_child_count()): + if $Portraits.get_child(i).z_index >= z_index: + return i + return $Portraits.get_child_count() +## ----------------------------------------------------------------------------- +## GLOSSARY POPUP +## ----------------------------------------------------------------------------- +# cheks the 'show_glossary' setting +func _should_show_glossary(): + if current_theme != null: + return current_theme.get_value('definitions', 'show_glossary', true) + return true + +# shows the glossary popup +func _on_RichTextLabel_meta_hover_started(meta): + var correct_type = false + for d in definitions['glossary']: + if d['id'] == meta: + $DefinitionInfo.load_preview({ + 'title': d['title'], + 'body': DialogicParser.parse_definitions(self, d['text'], true, false), # inserts variables but not other glossary items! + 'extra': d['extra'], + }) + correct_type = true + + if correct_type: + definition_visible = true + $DefinitionInfo.visible = definition_visible + # Adding a timer to avoid a graphical glitch + $DefinitionInfo/Timer.stop() + +# hides the glossary popup +func _on_RichTextLabel_meta_hover_ended(meta): + # Adding a timer to avoid a graphical glitch + $DefinitionInfo/Timer.start(0.1) + +# hides the glossary popup +func _hide_definition_popup(): + definition_visible = false + $DefinitionInfo.visible = definition_visible + +# (actually) hides the glossary popup +func _on_Definition_Timer_timeout(): + # Adding a timer to avoid a graphical glitch + definition_visible = false + $DefinitionInfo.visible = definition_visible + + +## ----------------------------------------------------------------------------- +## DIALOG FADING +## ----------------------------------------------------------------------------- +# Since Dialogic has some placeholder text in case something goes wrong +# This will reset the text, reset any modulation it might have, and +# set the variables that handle the fade in to the start position +func _hide_dialog(): + $TextBubble.clear() # Clearing the text + $TextBubble.modulate = Color(1,1,1,0) + dialog_faded_in_already = false + +# start a fade in animation +func fade_in_dialog(time = 0.5): + visible = true + time = current_theme.get_value('animation', 'show_time', 0.5) + var has_tween = false + + if Engine.is_editor_hint() == false: + if dialog_faded_in_already == false and do_fade_in: + var tween = Tween.new() + add_child(tween) + # The tween created ('fade_in_tween_show_time') is also reference for the $TextBubble + # node to know if it should start showing up the letters of the dialog or not. + tween.name = 'fade_in_tween_show_time' + $TextBubble.modulate.a = 0 + tween.interpolate_property($TextBubble, "modulate", + $TextBubble.modulate, Color(1,1,1,1), time, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) + tween.start() + tween.connect("tween_completed", self, "finished_fade_in_dialog", [tween]) + has_tween = true + + if has_tween: + set_state(state.ANIMATING) + dialog_faded_in_already = true + return true + return false + +# at the end of fade animation, reset flags +func finished_fade_in_dialog(object, key, node): + node.queue_free() + if !current_event.has('options'): + set_state(state.IDLE) + dialog_faded_in_already = true + +## ----------------------------------------------------------------------------- +## LOADING AND SAVING +## ----------------------------------------------------------------------------- +# returns all important data in a dictionary to be saved +func get_current_state_info(): + var state = {} + + # visible characters: + state["portraits"] = [] + for portrait in $Portraits.get_children(): + state['portraits'].append(portrait.current_state) + state['portraits'][-1]['z_index'] = portrait.z_index + + # background music: + state['background_music'] = $FX/BackgroundMusic.get_current_info() + + # current_timeline and event + state["timeline"] = current_timeline + state['event_idx'] = dialog_index + + # current background + state['background'] = current_background + + return state + +# loads all important data from a dictionary +func resume_state_from_info(state_info): + + # wait until the dialog node was added to the tree + do_fade_in = false + yield(self, "ready") + #print(state_info) + + + + # load the characters + for saved_portrait in state_info['portraits']: + var event = saved_portrait + + # this code is ALL copied from the event_handler. So I should probably outsource it to a function... + var character_data = DialogicUtil.get_character(event['character']) + if portrait_exists(character_data): + for portrait in $Portraits.get_children(): + if portrait.character_data == character_data: + portrait.move_to_position(get_character_position(event['position'])) + portrait.set_mirror(event.get('mirror', false)) + else: + var p = Portrait.instance() + var char_portrait = event['portrait'] + if char_portrait == '': + char_portrait = 'Default' + + if char_portrait == '[Definition]' and event.has('port_defn'): + var portrait_definition = event['port_defn'] + if portrait_definition != '': + for d in DialogicResources.get_default_definitions()['variables']: + if d['id'] == portrait_definition: + char_portrait = d['value'] + break + + if current_theme.get_value('settings', 'single_portrait_mode', false): + p.single_portrait_mode = true + p.dim_time = current_theme.get_value('animation', 'dim_time', 0.5) + p.character_data = character_data + p.init(char_portrait) + + p.set_mirror(event.get('mirror', false)) + $Portraits.add_child(p) + $Portraits.move_child(p, get_portrait_z_index_point(saved_portrait.get('z_index', 0))) + p.move_to_position(get_character_position(event['position'])) + # this info is only used to save the state later + p.current_state['character'] = event['character'] + p.current_state['position'] = event['position'] + + # load the background music + if state_info['background_music'] != null: + $FX/BackgroundMusic.crossfade_to(state_info['background_music']['file'], state_info['background_music']['audio_bus'], state_info['background_music']['volume'], 1) + + # load the background image + if state_info['background']: + current_background = state_info['background'] + + var background = Background.instance() + call_deferred('resize_main') # Executing the resize main to update the background size + + add_child(background) + + if (current_background.ends_with('.tscn')): + var bg_scene = load(current_background) + if (bg_scene): + bg_scene = bg_scene.instance() + background.add_child(bg_scene) + elif (current_background != ''): + background.texture = load(current_background) + + # load the timeline and event + set_current_dialog(state_info['timeline']) + + # mark all previous question events as "answered" + for event_index in range(0, state_info['event_idx']): + if dialog_script['events'][event_index]['event_id'] == 'dialogic_010': + dialog_script['events'][event_index]['answered'] = true + + _load_event_at_index(state_info['event_idx']) + + +## ----------------------------------------------------------------------------- +## Finite State Machine +## ----------------------------------------------------------------------------- +# At the moment both functions are helpers only, but the goal of making them +# as functions and not a simple `_state = whatever` is to also perform certain +# actions when changing from state to state. If needed in the future, we can +# also emit signals and stuff like that without having to go back to every +# state change in the code. + +func set_state(new_state): + var state_string = [ "IDLE", "READY", "TYPING", "WAITING", "WAITING_INPUT", "ANIMATING", ] + #print(state_string[new_state]) + _state = new_state + return _state + +func is_state(check_state): + if _state == check_state: + return true + return false diff --git a/addons/dialogic/Nodes/DialogNode.tscn b/addons/dialogic/Nodes/DialogNode.tscn new file mode 100644 index 0000000..5f71ea4 --- /dev/null +++ b/addons/dialogic/Nodes/DialogNode.tscn @@ -0,0 +1,184 @@ +[gd_scene load_steps=14 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/TextBubble.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Nodes/CharacterVoice.gd" type="Script" id=3] +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres" type="DynamicFont" id=4] +[ext_resource path="res://addons/dialogic/Nodes/glossary_info.gd" type="Script" id=5] +[ext_resource path="res://addons/dialogic/Nodes/DialogNode.gd" type="Script" id=6] +[ext_resource path="res://addons/dialogic/Nodes/BackgroundMusic.tscn" type="PackedScene" id=7] +[ext_resource path="res://addons/dialogic/Nodes/random_audio_stream_player.gd" type="Script" id=8] +[ext_resource path="res://addons/dialogic/Example Assets/Sound Effects/Beep.wav" type="AudioStream" id=9] +[ext_resource path="res://addons/dialogic/Nodes/DialogicCustomEvents.gd" type="Script" id=10] +[ext_resource path="res://addons/dialogic/Nodes/History.tscn" type="PackedScene" id=11] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 1, 1, 1, 0 ) +expand_margin_left = 10.0 + +[sub_resource type="RectangleShape2D" id=2] +extents = Vector2( 1280, 720 ) + +[node name="DialogNode" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 6 ) + +[node name="Portraits" type="Control" parent="."] +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +margin_left = 640.0 +margin_top = 720.0 +margin_right = 640.0 +margin_bottom = 720.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextBubble" parent="." instance=ExtResource( 1 )] +margin_left = 185.0 +margin_top = 513.0 +margin_right = 1095.0 +margin_bottom = 680.0 + +[node name="Options" type="VBoxContainer" parent="."] +visible = false +margin_right = 1280.0 +margin_bottom = 720.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +alignment = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FX" type="Control" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +__meta__ = { +"_edit_group_": true, +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="BackgroundMusic" parent="FX" instance=ExtResource( 7 )] + +[node name="CharacterVoice" type="AudioStreamPlayer" parent="FX"] +script = ExtResource( 3 ) + +[node name="Audio" type="Node" parent="FX"] + +[node name="Typing" type="AudioStreamPlayer" parent="FX/Audio"] +script = ExtResource( 8 ) +samples = [ ExtResource( 9 ) ] +random_strategy = 2 + +[node name="Waiting" type="AudioStreamPlayer" parent="FX/Audio"] +script = ExtResource( 8 ) +samples = [ ExtResource( 9 ) ] +random_strategy = 2 + +[node name="Passing" type="AudioStreamPlayer" parent="FX/Audio"] +script = ExtResource( 8 ) +samples = [ ExtResource( 9 ) ] +random_strategy = 2 + +[node name="Hovering" type="AudioStreamPlayer" parent="FX/Audio"] +script = ExtResource( 8 ) +samples = [ ExtResource( 9 ) ] +random_strategy = 2 + +[node name="Selecting" type="AudioStreamPlayer" parent="FX/Audio"] +script = ExtResource( 8 ) +samples = [ ExtResource( 9 ) ] +random_strategy = 2 + +[node name="DefinitionInfo" type="PanelContainer" parent="."] +visible = false +margin_right = 208.0 +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_styles/panel = ExtResource( 2 ) +script = ExtResource( 5 ) +__meta__ = { +"_edit_group_": true, +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="DefinitionInfo"] +margin_right = 208.0 +margin_bottom = 143.0 +size_flags_horizontal = 3 +size_flags_vertical = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Title" type="RichTextLabel" parent="DefinitionInfo/VBoxContainer"] +margin_right = 208.0 +margin_bottom = 27.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +custom_colors/default_color = Color( 1, 1, 1, 1 ) +custom_fonts/normal_font = ExtResource( 4 ) +custom_styles/normal = SubResource( 1 ) +bbcode_enabled = true +bbcode_text = "This is the title" +text = "This is the title" +fit_content_height = true +scroll_active = false + +[node name="Content" type="RichTextLabel" parent="DefinitionInfo/VBoxContainer"] +margin_top = 31.0 +margin_right = 208.0 +margin_bottom = 112.0 +size_flags_horizontal = 3 +custom_colors/default_color = Color( 0.756863, 0.756863, 0.756863, 1 ) +custom_fonts/normal_font = ExtResource( 4 ) +custom_styles/normal = SubResource( 1 ) +bbcode_enabled = true +fit_content_height = true +scroll_active = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Extra" type="RichTextLabel" parent="DefinitionInfo/VBoxContainer"] +margin_top = 116.0 +margin_right = 208.0 +margin_bottom = 143.0 +size_flags_horizontal = 3 +custom_colors/default_color = Color( 0.756863, 0.756863, 0.756863, 1 ) +custom_fonts/normal_font = ExtResource( 4 ) +custom_styles/normal = SubResource( 1 ) +bbcode_enabled = true +fit_content_height = true +scroll_active = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Timer" type="Timer" parent="DefinitionInfo"] + +[node name="OptionsDelayedInput" type="Timer" parent="."] + +[node name="DialogicTimer" type="Timer" parent="."] +one_shot = true + +[node name="CustomEvents" type="Node" parent="."] +script = ExtResource( 10 ) + +[node name="History" parent="." instance=ExtResource( 11 )] + +[node name="TouchScreenButton" type="TouchScreenButton" parent="."] +shape = SubResource( 2 ) +shape_visible = false +action = "dialogic_default_action" +visibility_mode = 1 + +[connection signal="timeout" from="DefinitionInfo/Timer" to="." method="_on_Definition_Timer_timeout"] diff --git a/addons/dialogic/Nodes/DialogProxy.gd b/addons/dialogic/Nodes/DialogProxy.gd new file mode 100644 index 0000000..29b4eb1 --- /dev/null +++ b/addons/dialogic/Nodes/DialogProxy.gd @@ -0,0 +1,52 @@ +extends Control + + +## The timeline to load when starting the scene +export(String, "TimelineDropdown") var timeline: String +export(bool) var add_canvas = true +export(bool) var reset_saves = true + +func _ready(): + if reset_saves: + Dialogic.reset_saves() + var d = Dialogic.start(timeline, '', "res://addons/dialogic/Nodes/DialogNode.tscn", add_canvas) + get_parent().call_deferred('add_child', d) + _copy_signals(d if not add_canvas else d.dialog_node) + queue_free() + +func _copy_signals(dialogic:Node): + var sigs = self.get_signal_list() + for s in sigs: + if not s['name'] in _signals_to_copy: + continue + if not dialogic.has_signal(s['name']): + print("Cannot copy connections of signal " + s['name'] + " from " + self.to_string() + " to " + dialogic.to_string()) + continue + var conns = self.get_signal_connection_list(s['name']) + for c in conns: + dialogic.connect(c['signal'], c['target'], c['method'], c['binds'], c['flags']) + + +var _signals_to_copy = [ + 'event_start', + 'event_end', + 'text_complete', + 'timeline_start', + 'timeline_end', + 'dialogic_signal', + 'letter_displayed', +] +## ----------------------------------------------------------------------------- +## SIGNALS (proxy copy of DialogNode signals) +## ----------------------------------------------------------------------------- +# Event end/start +signal event_start(type, event) +signal event_end(type) +# Text Signals +signal text_complete(text_data) +# Timeline end/start +signal timeline_start(timeline_name) +signal timeline_end(timeline_name) +# Custom user signal +signal dialogic_signal(value) +signal letter_displayed(lastLetter) diff --git a/addons/dialogic/Nodes/DialogicCustomEvents.gd b/addons/dialogic/Nodes/DialogicCustomEvents.gd new file mode 100644 index 0000000..11832f3 --- /dev/null +++ b/addons/dialogic/Nodes/DialogicCustomEvents.gd @@ -0,0 +1,75 @@ +tool +extends Node +class_name DialogicCustomEvents + +# references to the nodes with the handler script +# to be used later by the "event_handler" +# keys: event_id +# values: reference to handler node. +var handlers : = {} + + +## ----------------------------------------------------------------------------- +## Loops through the custom events folder and creates a handler node +## for every custom event. +## +## To handle a custom event simply check if the event_id is in the handlers dicionary keys, +## then get the value (which is the handler node) to call its hadler function +func update() -> void: + var path : String = DialogicResources.get_working_directories()["CUSTOM_EVENTS_DIR"] + var dir = Directory.new() + if dir.open(path) == OK: + dir.list_dir_begin() + var file_name = dir.get_next() + # goes through all the folders in the custom events folder + while file_name != "": + # if it found a folder + if dir.current_is_dir() and not file_name in ['.', '..']: + + # look through that folder + #print("Found custom event folder: " + file_name) + var event = load(path.plus_file(file_name).plus_file('EventBlock.tscn')).instance() + + if event: + var handler_script_path = path.plus_file(file_name).plus_file('event_'+event.event_data['event_id']+'.gd') + var event_id = event.event_data['event_id'] + var event_name = event.event_name + + # not necesary, we now have the data in the handlers dict + #custom_events[event.event_data['event_id']] = { + # 'event_script' : handler_script_path, + # 'event_name' : event.event_name, + #} + + # Check if we already have a handler node for this event. + if handlers.has(event_id): + #print("Custom event ",event_id," already loaded") + #print("Continuing...") + file_name = dir.get_next() + continue + else: + #print("No handler node for event ",event_id," found.") + #print("Creating...") + # create a node for the custom event an attach the script + var handler = Node.new() + handler.set_script(load(handler_script_path)) + handler.set_name(event_name) + + # not really necessary, but just in case + handler.set_meta("event_id",event_id) + + #add data to dictionary + handlers[event_id] = handler + #add node as a child of this + self.add_child(handler) + + event.queue_free() + else: + print("[D] An error occurred when trying to access a custom event.") + + + else: + pass # files in the directory are ignored + file_name = dir.get_next() + else: + print("[D] An error occurred when trying to access the custom event folder.") diff --git a/addons/dialogic/Nodes/History.gd b/addons/dialogic/Nodes/History.gd new file mode 100644 index 0000000..4981a81 --- /dev/null +++ b/addons/dialogic/Nodes/History.gd @@ -0,0 +1,311 @@ +tool +extends Control + + +export(PackedScene) var HistoryRow = load("res://addons/dialogic/Example Assets/History/HistoryRow.tscn") +export(PackedScene) var HistoryDefaultBackground = load("res://addons/dialogic/Example Assets/History/HistoryBackground.tscn") +export(PackedScene) var HistoryOpenButton = load("res://addons/dialogic/Example Assets/History/HistoryButton.tscn") +export(PackedScene) var HistoryCloseButton = load("res://addons/dialogic/Example Assets/History/HistoryButton.tscn") +export(int) var Vertical_Separation = 16 + +onready var HistoryTimeline = $HistoryPopup/ScrollHistoryContainer/MarginContainer/HistoryTimeline +onready var scrollbar = $HistoryPopup/ScrollHistoryContainer.get_v_scrollbar() +onready var ScrollHistoryContainer = $HistoryPopup/ScrollHistoryContainer +onready var HistoryPopup = $HistoryPopup +onready var HistoryAudio = $HistoryPopup/HistoryAudio + +var HistoryButton +var CloseButton +var HistoryBackground + +var is_history_open = false +var is_mouse_on_button = false +var block_dialog_advance = false setget , history_advance_block + +var lastQuestionNode = null +var curTheme = null +var prevState + +var eventsToLog = ['dialogic_001', 'dialogic_010'] +var logArrivals = false +var logExits = false + +var scrollToBottom = true +var reverseTimeline = false +var characterNameColorOn = true +var lineBreakAfterName = true + +var scrollToggle = false + +func _ready(): + var testHistoryRow = HistoryRow.instance() + assert(testHistoryRow.has_method('add_history'), 'HistoryRow Scene must implement add_history(string, string) method.') + testHistoryRow.queue_free() + + HistoryBackground = HistoryDefaultBackground.instance() + HistoryPopup.add_child(HistoryBackground) + HistoryPopup.move_child(HistoryBackground, 0) + + #Scrollbar only updates when visible, so need it to be handled + scrollbar.connect("changed",self,"handle_scrollbar_changed") + +func handle_scrollbar_changed(): + #It's firing every frame, we only want to check it once on opening + if(scrollToggle): + scrollToggle = false + if (scrollToBottom): + ScrollHistoryContainer.scroll_vertical = scrollbar.max_value + else: + ScrollHistoryContainer.scroll_vertical = 0 + + +func initalize_history(): + if get_parent().settings.get_value('history', 'enable_open_button', true): + HistoryButton = HistoryOpenButton.instance() + add_child(HistoryButton) + HistoryButton.connect("pressed", self, '_on_toggle_history') + HistoryButton.connect("mouse_entered", self, '_on_HistoryButton_mouse_entered') + HistoryButton.connect("mouse_exited", self, '_on_HistoryButton_mouse_exited') + HistoryButton.disabled = false + HistoryButton.show() + + if get_parent().settings.get_value('history', 'enable_close_button', true): + CloseButton = HistoryCloseButton.instance() + add_child(CloseButton) + CloseButton.connect("pressed", self, '_on_toggle_history') + CloseButton.disabled = true + CloseButton.hide() + + # See if we're logging arrivals and exits + logArrivals = get_parent().settings.get_value('history', 'log_arrivals', true) + logExits = get_parent().settings.get_value('history', 'log_exits', true) + if logExits or logArrivals: + eventsToLog.push_back('dialogic_002') + + # Set the other selectable settings options + scrollToBottom = get_parent().settings.get_value('history', 'history_scroll_to_bottom', true) + reverseTimeline = get_parent().settings.get_value('history', 'history_reverse_timeline', false) + characterNameColorOn = get_parent().settings.get_value('history', 'history_name_color_on', true) + lineBreakAfterName = get_parent().settings.get_value('history', 'history_break_after_name', false) + + + # Grab some settings and make the boxes up right + var button_anchor = int(get_parent().settings.get_value('history', 'history_button_position', 2)) + var screen_margin_x = get_parent().settings.get_value('history', 'history_screen_margin_x', 0) + var screen_margin_y = get_parent().settings.get_value('history', 'history_screen_margin_y', 0) + var container_margin_X = get_parent().settings.get_value('history', 'history_container_margin_x', 0) + var container_margin_y = get_parent().settings.get_value('history', 'history_container_margin_y', 0) + + HistoryPopup.margin_left = screen_margin_x + HistoryPopup.margin_right = -screen_margin_x + HistoryPopup.margin_top = screen_margin_y + HistoryPopup.margin_bottom = -screen_margin_y + + ScrollHistoryContainer.margin_left = container_margin_X + ScrollHistoryContainer.margin_right = -container_margin_X + ScrollHistoryContainer.margin_top = container_margin_y + ScrollHistoryContainer.margin_bottom = -container_margin_y + + for button in [HistoryButton, CloseButton]: + if button == null: + continue + + var reference = button.get_parent().rect_size + + # Adding audio when focused or hovered + button.connect('focus_entered', get_parent(), '_on_option_hovered', [button]) + button.connect('mouse_entered', get_parent(), '_on_option_focused') + + # Button positioning + var anchor_values = [0,0,1,1] + var position_offset = Vector2(0,0) + + # Top Left + if button_anchor == 0: + anchor_values = [0, 0, 0, 0] + position_offset.x = 0 + position_offset.y = 0 + # Top Center + elif button_anchor == 1: + anchor_values = [.5, 0, .5, 0] + position_offset.x = reference.x/2 - button.rect_size.x + position_offset.y = 0 + # Top Right + elif button_anchor == 2: + anchor_values = [1, 0, 1, 0] + position_offset.x = reference.x - button.rect_size.x + position_offset.y = 0 + # 3 - Number skip because of the separator + # Center Left + elif button_anchor == 4: + anchor_values = [0, .5, 0, .5] + position_offset.x = 0 + position_offset.y = reference.y/2 - button.rect_size.y + # True Center + elif button_anchor == 5: + anchor_values = [.5, .5, .5, .5] + position_offset.x = reference.x/2 - button.rect_size.x + position_offset.y = reference.y/2 - button.rect_size.y + # Center Right + elif button_anchor == 6: + anchor_values = [1, .5, 1, .5] + position_offset.x = reference.x - button.rect_size.x + position_offset.y = reference.y/2 - button.rect_size.y + # Number skip because of the separator + elif button_anchor == 8: + anchor_values = [0, 1, 0, 1] + position_offset.x = 0 + position_offset.y = reference.y - button.rect_size.y + elif button_anchor == 9: + anchor_values = [.5, 1, .5, 1] + position_offset.x = reference.x/2 - button.rect_size.x + position_offset.y = reference.y - button.rect_size.y + elif button_anchor == 10: + anchor_values = [1, 1, 1, 1] + position_offset.x = reference.x - button.rect_size.x + position_offset.y = reference.y - button.rect_size.y + + button.anchor_left = anchor_values[0] + button.anchor_top = anchor_values[1] + button.anchor_right = anchor_values[2] + button.anchor_bottom = anchor_values[3] + + button.rect_global_position = button.get_parent().rect_global_position + position_offset + + +# Add history based on the passed event, using some logic to get it right +func add_history_row_event(eventData): + # Abort if we aren't logging the event, or if its a character event of type update + if !eventsToLog.has(eventData.event_id) or (eventData.event_id == 'dialogic_002' and eventData.get('type') == 2 ): + return + # Abort if we aren't logging arrivals and its a character event of type arrival + if eventData.event_id == 'dialogic_002' and eventData.get('type') == 0 and !logArrivals: + return + # Abort if we aren't logging exits and its a character event of type exit + if eventData.event_id == 'dialogic_002' and eventData.get('type') == 1 and !logExits: + return + + var newHistoryRow = HistoryRow.instance() + HistoryTimeline.add_child(newHistoryRow) + if(reverseTimeline): + HistoryTimeline.move_child(newHistoryRow,0) + if newHistoryRow.has_method('load_theme') and get_parent().settings.get_value('history', 'enable_dynamic_theme', false) == true: + newHistoryRow.load_theme(curTheme) + + var characterPrefix = '' + if eventData.has('character') and eventData.character != '': + var characterData = DialogicUtil.get_character(eventData.character) + var characterName = characterData.get('name', '') + if eventData.has('character') and eventData.character == '[All]': + characterPrefix = str('Everyone') + elif characterData.data.get('display_name_bool', false) == true: + characterName = characterData.data.get('display_name', '') + + if characterName != '': + var charDelimiter = get_parent().settings.get_value('history', 'history_character_delimiter', '') + var parsed_name = DialogicParser.parse_definitions(get_parent(), characterName, true, false) + var characterColor = characterData.data.get('color', Color.white) + if (!characterNameColorOn): + characterColor = Color.white + var lineBreak = '' + if (lineBreakAfterName): + lineBreak = '\n' + characterPrefix = str("[color=",characterColor,"]", parsed_name, "[/color]", charDelimiter, ' ', lineBreak) + + var audioData = '' + if eventData.has('voice_data'): + if eventData['voice_data'].has('0'): + audioData = eventData['voice_data']['0'].file + newHistoryRow.AudioButton.connect('pressed', self, '_on_audio_trigger', [audioData]) + + + # event logging handled here + # Text Events + if eventData.event_id == 'dialogic_001': + newHistoryRow.add_history(str(characterPrefix, eventData.text), audioData) + # Character Arrivals + elif eventData.event_id == 'dialogic_002': + var logText = get_parent().settings.get_value('history', 'text_arrivals', 'has arrived') + if eventData.get('type') == 1: + logText = get_parent().settings.get_value('history', 'text_exits', 'has left') + newHistoryRow.add_history(str(characterPrefix, ' ', logText), audioData) + # List Choices + elif eventData.event_id == 'dialogic_010': + newHistoryRow.add_history(str(characterPrefix, eventData.question), audioData) + if eventData.has('options') and get_parent().settings.get_value('history', 'log_choices', true): + var choiceString = "\n\t" + for choice in eventData['options']: + choiceString = str(choiceString, '[', choice.label, ']\t') + newHistoryRow.add_history(choiceString, audioData) + lastQuestionNode = newHistoryRow + + +func add_answer_to_question(stringData): + if lastQuestionNode != null: + lastQuestionNode.add_history(str('\n\t', stringData), lastQuestionNode.audioPath) + lastQuestionNode = null + + +func change_theme(newTheme: ConfigFile): + if get_parent().settings.get_value('history', 'enable_dynamic_theme', false): + curTheme = newTheme + + +func load_theme(theme: ConfigFile): + curTheme = theme + + +func _on_audio_trigger(audioFilepath): + HistoryAudio.stream = load(audioFilepath) + HistoryAudio.play() + + +func _on_HistoryPopup_popup_hide(): + HistoryAudio.stop() + + +func _on_HistoryPopup_about_to_show(): + if HistoryButton != null: + scrollToggle = true + HistoryButton.show() + + + +func _on_HistoryButton_mouse_entered(): + is_mouse_on_button = true + + +func _on_HistoryButton_mouse_exited(): + is_mouse_on_button = false + + +func history_advance_block() -> bool: + return is_mouse_on_button or is_history_open + +# Used to manually toggle the history visibility on or off +# This is most useful when you wish to make your own custom controls +func _on_toggle_history(): + if HistoryPopup.visible == false: + _on_HistoryPopup_about_to_show() + HistoryPopup.show() + if HistoryButton != null: + HistoryButton.hide() + HistoryButton.disabled = true + if CloseButton != null: + CloseButton.disabled = false + CloseButton.show() + is_history_open = true + is_mouse_on_button = false + else: + _on_HistoryPopup_popup_hide() + HistoryPopup.hide() + if HistoryButton != null: + HistoryButton.show() + HistoryButton.disabled = false + if CloseButton != null: + CloseButton.disabled = true + CloseButton.hide() + is_history_open = false + is_mouse_on_button = false + + diff --git a/addons/dialogic/Nodes/History.tscn b/addons/dialogic/Nodes/History.tscn new file mode 100644 index 0000000..15370c2 --- /dev/null +++ b/addons/dialogic/Nodes/History.tscn @@ -0,0 +1,54 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/History/HistoryBackground.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Example Assets/History/HistoryRow.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Nodes/History.gd" type="Script" id=3] +[ext_resource path="res://addons/dialogic/Example Assets/History/HistoryButton.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Example Assets/History/HistoryReturnButton.tscn" type="PackedScene" id=5] + +[node name="History" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} +HistoryRow = ExtResource( 2 ) +HistoryDefaultBackground = ExtResource( 1 ) +HistoryOpenButton = ExtResource( 4 ) +HistoryCloseButton = ExtResource( 5 ) + +[node name="HistoryPopup" type="Control" parent="."] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 + +[node name="HistoryAudio" type="AudioStreamPlayer" parent="HistoryPopup"] + +[node name="ScrollHistoryContainer" type="ScrollContainer" parent="HistoryPopup"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MarginContainer" type="MarginContainer" parent="HistoryPopup/ScrollHistoryContainer"] +margin_right = 1024.0 +margin_bottom = 10.0 +size_flags_horizontal = 3 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 +custom_constants/margin_bottom = 5 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HistoryTimeline" type="VBoxContainer" parent="HistoryPopup/ScrollHistoryContainer/MarginContainer"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 1019.0 +margin_bottom = 5.0 +custom_constants/separation = 16 diff --git a/addons/dialogic/Nodes/Portrait.gd b/addons/dialogic/Nodes/Portrait.gd new file mode 100644 index 0000000..1b20690 --- /dev/null +++ b/addons/dialogic/Nodes/Portrait.gd @@ -0,0 +1,204 @@ +extends Control + +var z_index = 0 + +var character_data = { + 'name': 'Default', + 'image': "res://addons/dialogic/Example Assets/portraits/df-3.png", + 'color': Color(0.973511, 1, 0.152344), + 'file': '', + 'mirror_portraits': false +} + +var single_portrait_mode = false +var dim_time = 0.5 +var direction = 'left' +var debug = false +var fading_out = false +var custom_instance : Node2D = null + +var current_state := {'character':'', 'portrait':'', 'position':'', 'mirrored':false} + +signal animation_finished + +func init(expression: String = '') -> void: + set_portrait(expression) + + +func _ready(): + if debug: + print('Character data loaded: ', character_data) + print(rect_position, $TextureRect.rect_size) + + $AnimationTween.connect('finished_animation', self, 'emit_signal', ['animation_finished']) + + +func set_portrait(expression: String) -> void: + if expression == "(Don't change)": + return + + if expression == '': + expression = 'Default' + + current_state['portrait'] = expression + + # Clearing old custom scenes + for n in get_children(): + if 'DialogicCustomPortraitScene' in n.name: + n.queue_free() + + custom_instance = null + + var default + for p in character_data['portraits']: + if p['name'] == expression: + if is_scene(p['path']): + # Creating a scene portrait + var custom_node = load(p['path']) + custom_instance = custom_node.instance() + custom_instance.name = 'DialogicCustomPortraitScene' + add_child(custom_instance) + + $TextureRect.texture = ImageTexture.new() + return + else: + # Creating an image portrait + if ResourceLoader.exists(p['path']): + $TextureRect.texture = load(p['path']) + else: + $TextureRect.texture = ImageTexture.new() + return + + # Saving what the default is to fallback to it. + if p['name'] == 'Default': + default = p['path'] + + + # Everything failed, go with the default one + if is_scene(default): + push_warning('[Dialogic] Portrait missing: "' + expression + '". Maybe you deleted it? Update your timeline.') + # Creating a scene portrait + var custom_node = load(default) + custom_instance = custom_node.instance() + custom_instance.name = 'DialogicCustomPortraitScene' + add_child(custom_instance) + + $TextureRect.texture = ImageTexture.new() + return + else: + # Creating an image portrait + if ResourceLoader.exists(default): + $TextureRect.texture = load(default) + else: + $TextureRect.texture = ImageTexture.new() + return + + + +func set_mirror(value): + current_state['mirrored'] = value + if character_data["data"].has('mirror_portraits'): + if character_data["data"]['mirror_portraits']: + if custom_instance != null: + custom_instance.scale.x *= get_mirror_scale(custom_instance.scale.x, !value) + else: + $TextureRect.flip_h = !value + else: + if custom_instance != null: + custom_instance.scale.x *= get_mirror_scale(custom_instance.scale.x, value) + else: + $TextureRect.flip_h = value + else: + if custom_instance != null: + custom_instance.scale.x *= get_mirror_scale(custom_instance.scale.x, value) + else: + $TextureRect.flip_h = value + + +func move_to_position(position_offset): + var positions = { + 'left': Vector2(-400, 0), + 'right': Vector2(+400, 0), + 'center': Vector2(0, 0), + 'center_right': Vector2(200, 0), + 'center_left': Vector2(-200, 0)} + + direction = position_offset + rect_position = positions[position_offset] + + # Setting the scale of the portrait + var custom_scale = Vector2(1, 1) + if character_data.has('data'): + if character_data['data'].has('scale'): + custom_scale = Vector2( + float(character_data['data']['scale']) / 100, + float(character_data['data']['scale']) / 100 + ) + rect_scale = custom_scale + if character_data['data'].has('offset_x'): + rect_position += Vector2( + character_data['data']['offset_x'], + character_data['data']['offset_y'] + ) + + if $TextureRect.get('texture'): + rect_position -= Vector2( + $TextureRect.texture.get_width() * 0.5, + $TextureRect.texture.get_height() + ) * custom_scale + + +func animate(animation_name = '[No Animation]', time = 1, loop = 1, delete = false ): + if animation_name == "[No Animation]": + return + + if '_in' in animation_name: + if custom_instance != null: + custom_instance.modulate.a = 0 + else: + $TextureRect.modulate = Color(1,1,1,0) + + + $AnimationTween.loop = loop + if custom_instance != null: + $AnimationTween.play(custom_instance, animation_name, time) + else: + $AnimationTween.play($TextureRect, animation_name, time) + + if delete: + if !$AnimationTween.is_connected("tween_all_completed", self, "queue_free"): + $AnimationTween.connect("tween_all_completed", self, "queue_free") + + +func focus(): + if not fading_out: + tween_modulate(modulate, Color(1,1,1, 1)) + + +func focusout(dim_color = Color(0.5, 0.5, 0.5, 1.0)): + if single_portrait_mode: + dim_color.a = 0 + if not fading_out: + tween_modulate(modulate, dim_color) + + +func tween_modulate(from_value, to_value): + $ModulationTween.stop(self, 'modulation') + $ModulationTween.interpolate_property( + self, "modulate", from_value, to_value, dim_time, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT + ) + $ModulationTween.start() + return $ModulationTween + + +func is_scene(path) -> bool: + if '.tscn' in path.to_lower(): + return true + return false + +func get_mirror_scale(current_scale:float, mirror_value:bool) -> int: + if mirror_value and current_scale > 0: + return -1 + else: + return 1 diff --git a/addons/dialogic/Nodes/Portrait.tscn b/addons/dialogic/Nodes/Portrait.tscn new file mode 100644 index 0000000..f53abe4 --- /dev/null +++ b/addons/dialogic/Nodes/Portrait.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/Anima/DialogicAnimaTween.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Nodes/Portrait.gd" type="Script" id=2] + +[node name="Portrait" type="Control"] +rect_scale = Vector2( 0.7, 0.7 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="."] +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="AnimationTween" type="Tween" parent="."] +script = ExtResource( 1 ) + +[node name="ModulationTween" type="Tween" parent="."] + +[node name="TweenPosition" type="Tween" parent="."] diff --git a/addons/dialogic/Nodes/TextBubble.gd b/addons/dialogic/Nodes/TextBubble.gd new file mode 100644 index 0000000..25ba97d --- /dev/null +++ b/addons/dialogic/Nodes/TextBubble.gd @@ -0,0 +1,332 @@ +tool +extends Control + +var text_speed := 0.02 # Higher = lower speed +var theme_text_speed = text_speed +var theme_text_max_height = 0 + +#experimental database of current commands +var commands = [] +#the regex matching object +var regex = RegEx.new() +var bbcoderemoverregex = RegEx.new() + +onready var text_container = $TextContainer +onready var text_label = $TextContainer/RichTextLabel +onready var name_label = $NameLabel +onready var next_indicator = $NextIndicatorContainer/NextIndicator + +var _finished := false +var _theme + +signal text_completed() +signal letter_written(lastLetter) +signal signal_request(arg) + +## ***************************************************************************** +## PUBLIC METHODS +## ***************************************************************************** + + +func update_name(name: String, color: Color = Color.white, autocolor: bool=false) -> void: + var name_is_hidden = _theme.get_value('name', 'is_hidden', false) + if name_is_hidden: + name_label.visible = false + return + + if not name.empty(): + name_label.visible = true + # Hack to reset the size + name_label.rect_min_size = Vector2(0, 0) + name_label.rect_size = Vector2(-1, 40) + # Setting the color and text + name_label.text = name + # Alignment + call_deferred('align_name_label') + if autocolor: + name_label.set('custom_colors/font_color', color) + else: + name_label.visible = false + +func clear(): + text_label.bbcode_text = "" + name_label.text = "" + $WritingTimer.stop() + +func update_text(text:String): + + var orig_text = text + text_label.bbcode_text = text + var text_bbcodefree = text_label.text + + #regex moved from func scope to class scope + #regex compilation moved to _ready + # - KvaGram + #var regex = RegEx.new() + var result:RegExMatch = null + text_speed = theme_text_speed # Resetting the speed to the default + commands = [] + + ### remove commands from text, and store where and what they are + #current regex: \[\s*(nw|(nw|speed|signal|play|pause)\s*=\s*(.+?)\s*)\](.*?) + #Note: The version defined in _ready will have aditional escape characers. + # DO NOT JUST COPY/PASTE + #remeber regex101.com is your friend. Do not shoot it. You may ask it to verify the code. + #The capture groups, and what they do: + # 0 everything ex [speed=5] + # 1 the "nw" single command or one of the variable commands ex "nw" or "speed=5" + # 2 the command, assuming it is an variable command ex "speed" + # 3 the argument, again assuming a variable command ex "5" + # 4 nothing (ignore it) + #keep this up to date whenever the regex string is updated! - KvaGram + + result = regex.search(text_bbcodefree) + #loops until all commands are cleared from the text + while result: + if result.get_string(1) == "nw" || result.get_string(2) == "nw": + #The no wait command is handled elsewhere. Ignore it. + pass + else: + #Store an assigned varible command as an array by 0 index in text, 1 command-name, 2 argument + commands.append([result.get_start()-1, result.get_string(2).strip_edges(), result.get_string(3).strip_edges()]) + text_bbcodefree = text_bbcodefree.substr(0, result.get_start()) + text_bbcodefree.substr(result.get_end()) + text = text.replace(result.get_string(), "") + + result = regex.search(text_bbcodefree) + + text_label.bbcode_text = text + text_label.visible_characters = 0 + + ## SIZING THE RICHTEXTLABEL + # The sizing is done in a very terrible way because the RichtTextLabel has + # a hard time knowing what size it will be and how to display this. + # for this reason the RichTextLabel ist first set to just go for the size it needs, + # even if this might be more than available. + text_label.size_flags_vertical = 0 + text_label.rect_clip_content = 0 + text_label.fit_content_height = true + # a frame later, when the sizes have been updated, it will check if there + # is enough space or the scrollbar should be activated. + call_deferred("update_sizing") + + + # updating the size alignment stuff + text_label.grab_focus() + start_text_timer() + return true + +func update_sizing(): + # this will enable/disable the scrollbar based on the size of the text + theme_text_max_height = text_container.rect_size.y + + if text_label.rect_size.y >= theme_text_max_height: + text_label.fit_content_height = false + text_label.size_flags_vertical = Control.SIZE_EXPAND_FILL + else: + text_label.fit_content_height = true + text_label.size_flags_vertical = 0 + + +#handle an activated command. +func handle_command(command:Array): + if(command[1] == "speed"): + text_speed = float(command[2]) * 0.01 + $WritingTimer.stop() + start_text_timer() + elif(command[1] == "signal"): + emit_signal("signal_request", command[2]) + elif(command[1] == "play"): + var path = "res://dialogic/sounds/" + command[2] + if ResourceLoader.exists(path, "AudioStream"): + var audio:AudioStream = ResourceLoader.load(path, "AudioStream") + $sounds.stream = audio + $sounds.play() + elif(command[1] == "pause"): + $WritingTimer.stop() + var x = text_label.visible_characters + get_parent().get_node("DialogicTimer").start(float(command[2])) + yield(get_parent().get_node("DialogicTimer"), "timeout") + # only continue, if no skip was performed + if text_label.visible_characters == x: + start_text_timer() + + +func skip(): + text_label.visible_characters = -1 + _handle_text_completed() + + +func reset(): + name_label.text = '' + name_label.visible = false + + +func load_theme(theme: ConfigFile): + # Text + var theme_font = DialogicUtil.path_fixer_load(theme.get_value('text', 'font', 'res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres')) + text_label.set('custom_fonts/normal_font', theme_font) + text_label.set('custom_fonts/bold_font', DialogicUtil.path_fixer_load(theme.get_value('text', 'bold_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres'))) + text_label.set('custom_fonts/italics_font', DialogicUtil.path_fixer_load(theme.get_value('text', 'italic_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres'))) + name_label.set('custom_fonts/font', DialogicUtil.path_fixer_load(theme.get_value('name', 'font', 'res://addons/dialogic/Example Assets/Fonts/NameFont.tres'))) + + # setting the vertical alignment + var alignment = theme.get_value('text', 'alignment',0) + if alignment <= 2: # top + text_container.alignment = BoxContainer.ALIGN_BEGIN + elif alignment <= 5: # center + text_container.alignment = BoxContainer.ALIGN_CENTER + elif alignment <= 8: # bottom + text_container.alignment = BoxContainer.ALIGN_END + + var text_color = Color(theme.get_value('text', 'color', '#ffffffff')) + text_label.set('custom_colors/default_color', text_color) + name_label.set('custom_colors/font_color', text_color) + + text_label.set('custom_colors/font_color_shadow', Color('#00ffffff')) + name_label.set('custom_colors/font_color_shadow', Color('#00ffffff')) + + if theme.get_value('text', 'shadow', false): + var text_shadow_color = Color(theme.get_value('text', 'shadow_color', '#9e000000')) + text_label.set('custom_colors/font_color_shadow', text_shadow_color) + + var shadow_offset = theme.get_value('text', 'shadow_offset', Vector2(2,2)) + text_label.set('custom_constants/shadow_offset_x', shadow_offset.x) + text_label.set('custom_constants/shadow_offset_y', shadow_offset.y) + + + # Text speed + text_speed = theme.get_value('text','speed', 2) * 0.01 + theme_text_speed = text_speed + + # Margin + text_container.set('margin_left', theme.get_value('text', 'text_margin_left', 20)) + text_container.set('margin_right', theme.get_value('text', 'text_margin_right', -20)) + text_container.set('margin_top', theme.get_value('text', 'text_margin_top', 10)) + text_container.set('margin_bottom', theme.get_value('text', 'text_margin_bottom', -10)) + + # Backgrounds + $TextureRect.texture = DialogicUtil.path_fixer_load(theme.get_value('background','image', "res://addons/dialogic/Example Assets/backgrounds/background-2.png")) + $ColorRect.color = Color(theme.get_value('background','color', "#ff000000")) + + if theme.get_value('background', 'modulation', false): + $TextureRect.modulate = Color(theme.get_value('background', 'modulation_color', '#ffffffff')) + else: + $TextureRect.modulate = Color('#ffffffff') + + $ColorRect.visible = theme.get_value('background', 'use_color', false) + $TextureRect.visible = theme.get_value('background', 'use_image', true) + $TextureRect.visible = theme.get_value('background', 'use_image', true) + $TextureRect.patch_margin_left = theme.get_value('ninepatch', 'ninepatch_margin_left', 0) + $TextureRect.patch_margin_right = theme.get_value('ninepatch', 'ninepatch_margin_right', 0) + $TextureRect.patch_margin_top = theme.get_value('ninepatch', 'ninepatch_margin_top', 0) + $TextureRect.patch_margin_bottom = theme.get_value('ninepatch', 'ninepatch_margin_bottom', 0) + + # Next image + $NextIndicatorContainer.rect_position = Vector2(0,0) + next_indicator.texture = DialogicUtil.path_fixer_load(theme.get_value('next_indicator', 'image', 'res://addons/dialogic/Example Assets/next-indicator/next-indicator.png')) + # Reset for up and down animation + next_indicator.margin_top = 0 + next_indicator.margin_bottom = 0 + next_indicator.margin_left = 0 + next_indicator.margin_right = 0 + # Scale + var indicator_scale = theme.get_value('next_indicator', 'scale', 0.4) + next_indicator.rect_scale = Vector2(indicator_scale, indicator_scale) + # Offset + var offset = theme.get_value('next_indicator', 'offset', Vector2(13, 10)) + next_indicator.rect_position = theme.get_value('box', 'size', Vector2(910, 167)) - (next_indicator.texture.get_size() * indicator_scale) + next_indicator.rect_position -= offset + + # Character Name + $NameLabel/ColorRect.visible = theme.get_value('name', 'background_visible', false) + $NameLabel/ColorRect.color = Color(theme.get_value('name', 'background', '#282828')) + $NameLabel/TextureRect.visible = theme.get_value('name', 'image_visible', false) + $NameLabel/TextureRect.texture = DialogicUtil.path_fixer_load(theme.get_value('name','image', "res://addons/dialogic/Example Assets/backgrounds/background-2.png")) + + var name_padding = theme.get_value('name', 'name_padding', Vector2( 10, 0 )) + var name_style = name_label.get('custom_styles/normal') + name_style.set('content_margin_left', name_padding.x) + name_style.set('content_margin_right', name_padding.x) + name_style.set('content_margin_bottom', name_padding.y) + name_style.set('content_margin_top', name_padding.y) + + var name_shadow_offset = theme.get_value('name', 'shadow_offset', Vector2(2,2)) + if theme.get_value('name', 'shadow_visible', true): + name_label.set('custom_colors/font_color_shadow', Color(theme.get_value('name', 'shadow', '#9e000000'))) + name_label.set('custom_constants/shadow_offset_x', name_shadow_offset.x) + name_label.set('custom_constants/shadow_offset_y', name_shadow_offset.y) + name_label.rect_position.y = theme.get_value('name', 'bottom_gap', 48) * -1 - (name_padding.y) + if theme.get_value('name', 'modulation', false) == true: + $NameLabel/TextureRect.modulate = Color(theme.get_value('name', 'modulation_color', '#ffffffff')) + else: + $NameLabel/TextureRect.modulate = Color('#ffffffff') + + + # Setting next indicator animation + next_indicator.self_modulate = Color('#ffffff') + var animation = theme.get_value('next_indicator', 'animation', 'Up and down') + next_indicator.get_node('AnimationPlayer').play(animation) + + # Saving reference to the current theme + _theme = theme + +## ***************************************************************************** +## PRIVATE METHODS +## ***************************************************************************** + + +func _on_writing_timer_timeout(): + if _finished == false: + text_label.visible_characters += 1 + if(commands.size()>0 && commands[0][0] <= text_label.visible_characters): + handle_command(commands.pop_front()) #handles the command, and removes it from the queue + if text_label.visible_characters > text_label.get_total_character_count(): + _handle_text_completed() + elif ( + text_label.visible_characters > 0 #and + #text_label.text.length() > text_label.visible_characters-1 and + #text_label.text[text_label.visible_characters-1] != " " + ): + emit_signal('letter_written', text_label.text[text_label.visible_characters-1] ) + else: + $WritingTimer.stop() + + +func start_text_timer(): + if text_speed == 0: + text_label.visible_characters = -1 + _handle_text_completed() + else: + $WritingTimer.start(text_speed) + _finished = false + + +func _handle_text_completed(): + $WritingTimer.stop() + _finished = true + emit_signal("text_completed") + + +func align_name_label(): + var name_padding = _theme.get_value('name', 'name_padding', Vector2( 10, 0 )) + var horizontal_offset = _theme.get_value('name', 'horizontal_offset', 0) + var name_label_position = _theme.get_value('name', 'position', 0) + var label_size = name_label.rect_size.x + if name_label_position == 0: + name_label.rect_global_position.x = rect_global_position.x + horizontal_offset + elif name_label_position == 1: # Center + name_label.rect_global_position.x = rect_global_position.x + (rect_size.x / 2) - (label_size / 2) + horizontal_offset + elif name_label_position == 2: # Right + name_label.rect_global_position.x = rect_global_position.x + rect_size.x - label_size + horizontal_offset + +## ***************************************************************************** +## OVERRIDES +## ***************************************************************************** + + +func _ready(): + reset() + $WritingTimer.connect("timeout", self, "_on_writing_timer_timeout") + text_label.meta_underlined = false + regex.compile("\\[\\s*(nw|(nw|speed|signal|play|pause)\\s*=\\s*(.+?)\\s*)\\](.*?)") + diff --git a/addons/dialogic/Nodes/TextBubble.tscn b/addons/dialogic/Nodes/TextBubble.tscn new file mode 100644 index 0000000..17c4538 --- /dev/null +++ b/addons/dialogic/Nodes/TextBubble.tscn @@ -0,0 +1,194 @@ +[gd_scene load_steps=11 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres" type="DynamicFont" id=1] +[ext_resource path="res://addons/dialogic/Example Assets/backgrounds/background-2.png" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Example Assets/next-indicator/next-indicator.png" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Nodes/TextBubble.gd" type="Script" id=4] + +[sub_resource type="StyleBoxEmpty" id=1] + +[sub_resource type="StyleBoxFlat" id=2] +bg_color = Color( 1, 1, 1, 0 ) +expand_margin_left = 10.0 + +[sub_resource type="Animation" id=3] +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath(".:self_modulate") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ] +} + +[sub_resource type="Animation" id=4] + +[sub_resource type="Animation" id=5] +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("..:rect_position") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ), Vector2( 0, -10 ) ] +} + +[sub_resource type="StyleBoxFlat" id=6] +content_margin_left = 10.0 +content_margin_right = 10.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 1, 1, 1, 0 ) +expand_margin_left = 10.0 + +[node name="TextBubble" type="Control"] +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +margin_left = -455.0 +margin_top = 399.0 +margin_right = 455.0 +margin_bottom = 560.0 +script = ExtResource( 4 ) + +[node name="ColorRect" type="ColorRect" parent="."] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0, 0, 0, 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="NinePatchRect" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +texture = ExtResource( 2 ) + +[node name="TextContainer" type="VBoxContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 10.0 +margin_top = 12.0 +margin_right = -10.0 +margin_bottom = -12.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +alignment = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RichTextLabel" type="RichTextLabel" parent="TextContainer"] +margin_top = 11.0 +margin_right = 890.0 +margin_bottom = 125.0 +focus_mode = 2 +custom_colors/default_color = Color( 1, 1, 1, 1 ) +custom_colors/selection_color = Color( 0, 0, 0, 0 ) +custom_colors/font_color_shadow = Color( 1, 1, 1, 0 ) +custom_constants/shadow_offset_x = 2 +custom_constants/shadow_offset_y = 2 +custom_fonts/normal_font = ExtResource( 1 ) +custom_styles/focus = SubResource( 1 ) +custom_styles/normal = SubResource( 2 ) +bbcode_enabled = true +bbcode_text = "Placeholder text for testing an formatting. +Placeholder text for testing an formatting. +adsd" +visible_characters = 0 +percent_visible = 0.0 +meta_underlined = false +text = "Placeholder text for testing an formatting. +Placeholder text for testing an formatting. +adsd" +fit_content_height = true +selection_enabled = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NextIndicatorContainer" type="Control" parent="."] +margin_right = 40.0 +margin_bottom = 40.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NextIndicator" type="TextureRect" parent="NextIndicatorContainer"] +margin_top = -10.0 +margin_right = 51.0 +margin_bottom = 41.0 +texture = ExtResource( 3 ) +stretch_mode = 4 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="AnimationPlayer" type="AnimationPlayer" parent="NextIndicatorContainer/NextIndicator"] +autoplay = "Up and down" +anims/Pulse = SubResource( 3 ) +anims/Static = SubResource( 4 ) +"anims/Up and down" = SubResource( 5 ) + +[node name="NameLabel" type="Label" parent="."] +visible = false +margin_top = -48.0 +margin_right = 58.0 +margin_bottom = -8.0 +size_flags_vertical = 1 +custom_colors/font_color = Color( 0.423529, 0.580392, 0.74902, 1 ) +custom_colors/font_color_shadow = Color( 0, 0, 0, 0.619608 ) +custom_constants/shadow_offset_x = 2 +custom_constants/shadow_offset_y = 2 +custom_fonts/font = ExtResource( 1 ) +custom_styles/normal = SubResource( 6 ) +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="NameLabel"] +visible = false +show_behind_parent = true +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 15 +size_flags_vertical = 15 +color = Color( 0.156863, 0.156863, 0.156863, 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="NameLabel"] +visible = false +show_behind_parent = true +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +texture = ExtResource( 2 ) +expand = true +stretch_mode = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="WritingTimer" type="Timer" parent="."] + +[node name="Tween" type="Tween" parent="."] + +[node name="sounds" type="AudioStreamPlayer" parent="."] +autoplay = true diff --git a/addons/dialogic/Nodes/canvas_dialog_node.gd b/addons/dialogic/Nodes/canvas_dialog_node.gd new file mode 100644 index 0000000..b80366a --- /dev/null +++ b/addons/dialogic/Nodes/canvas_dialog_node.gd @@ -0,0 +1,84 @@ +extends CanvasLayer + +## Mirror node to Dialogic node that duplicate its signals +## and had a reference to that Dialogic node + +# Copied +# Event end/start +signal event_start(type, event) +signal event_end(type) +# Timeline end/start +signal timeline_start(timeline_name) +signal timeline_end(timeline_name) +signal text_complete(text_event) +# Custom user signal +signal dialogic_signal(value) +signal letter_displayed(lastLetter) + +var _dialog_node_scene = load("res://addons/dialogic/Nodes/DialogNode.tscn") +var dialog_node = null + + +func set_dialog_node_scene(scene) -> void: + _dialog_node_scene = scene + dialog_node = _dialog_node_scene.instance() + var _err:int + if dialog_node: + _err = dialog_node.connect("event_start", self, "_on_event_start") + assert(_err == OK) + _err = dialog_node.connect("event_end", self, "_on_event_end") + assert(_err == OK) + _err = dialog_node.connect("timeline_start", self, "_on_timeline_start") + assert(_err == OK) + _err = dialog_node.connect("timeline_end", self, "_on_timeline_end") + assert(_err == OK) + _err = dialog_node.connect("text_complete", self, "_on_text_complete") + assert(_err == OK) + _err = dialog_node.connect("dialogic_signal", self, "_on_dialogic_signal") + assert(_err == OK) + _err = dialog_node.connect("letter_displayed", self, "_on_letter_displayed") + assert(_err == OK) + +func _enter_tree() -> void: + if dialog_node: + add_child(dialog_node) + dialog_node.connect('tree_exited', self, 'dialog_finished') + +func dialog_finished(): + queue_free() + + +func _ready() -> void: + # change the canvas layer + var config = DialogicResources.get_settings_config() + layer = int(config.get_value("theme", "canvas_layer", 1)) + + + + +func _on_event_start(type, event) -> void: + emit_signal("event_start", type, event) + + +func _on_event_end(type) -> void: + emit_signal("event_end", type) + + +func _on_timeline_start(timeline_name) -> void: + emit_signal("timeline_start", timeline_name) + + +func _on_timeline_end(timeline_name) -> void: + emit_signal("timeline_end", timeline_name) + + +func _on_text_complete(text_event) -> void: + emit_signal("text_complete", text_event) + + +func _on_dialogic_signal(value) -> void: + emit_signal("dialogic_signal", value) + + +func _on_letter_displayed(last_letter): + emit_signal("letter_displayed", last_letter) diff --git a/addons/dialogic/Nodes/glossary_info.gd b/addons/dialogic/Nodes/glossary_info.gd new file mode 100644 index 0000000..f71c2d2 --- /dev/null +++ b/addons/dialogic/Nodes/glossary_info.gd @@ -0,0 +1,66 @@ +tool +extends PanelContainer + +onready var nodes = { + 'title': $VBoxContainer/Title, + 'body': $VBoxContainer/Content, + 'extra': $VBoxContainer/Extra, +} + +var in_theme_editor = false +var margin = 10 + + +func _ready(): + set_deferred('rect_size.y', 0) + nodes['title'].bbcode_enabled = true + nodes['body'].bbcode_enabled = true + nodes['extra'].bbcode_enabled = true + + +func _process(_delta): + if Engine.is_editor_hint() == false or in_theme_editor == true: + if visible: + if get_global_mouse_position().x < get_viewport().size.x * 0.5: + rect_global_position = get_global_mouse_position() - Vector2(0, rect_size.y + (margin * 2)) + else: + rect_global_position = get_global_mouse_position() - rect_size - Vector2(0, (margin * 2)) + rect_size.y = 0 +# + +func load_preview(info): + nodes['title'].visible = false + nodes['body'].visible = false + nodes['extra'].visible = false + + if info['title'] != '': + nodes['title'].bbcode_text = info['title'] + nodes['title'].visible = true + + if info['body'] != '': + nodes['body'].bbcode_text = info['body'] + nodes['body'].visible = true + + if info['extra'] != '': + nodes['extra'].bbcode_text = info['extra'] + nodes['extra'].visible = true + + +func load_theme(theme): + # Fonts + $VBoxContainer/Title.set( + 'custom_fonts/normal_font', + DialogicUtil.path_fixer_load(theme.get_value('definitions', 'font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres"))) + $VBoxContainer/Title.set('custom_colors/default_color', theme.get_value('definitions', 'title_color', "#ffffffff")) + + $VBoxContainer/Content.set( + 'custom_fonts/normal_font', + DialogicUtil.path_fixer_load(theme.get_value('definitions', 'text_font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres"))) + $VBoxContainer/Content.set('custom_colors/default_color', theme.get_value('definitions', 'text_color', "#c1c1c1")) + + $VBoxContainer/Extra.set( + 'custom_fonts/normal_font', + DialogicUtil.path_fixer_load(theme.get_value('definitions', 'extra_font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres"))) + $VBoxContainer/Extra.set('custom_colors/default_color', theme.get_value('definitions', 'extra_color', "#c1c1c1")) + + set("custom_styles/panel", load(theme.get_value('definitions', 'background_panel', "res://addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres"))) diff --git a/addons/dialogic/Nodes/random_audio_stream_player.gd b/addons/dialogic/Nodes/random_audio_stream_player.gd new file mode 100644 index 0000000..df17e1a --- /dev/null +++ b/addons/dialogic/Nodes/random_audio_stream_player.gd @@ -0,0 +1,91 @@ +# Random Audio Stream PLayer Godot Engine Add-on +# Copyright (c) Tim Krief. +# +# 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. + +tool +extends AudioStreamPlayer + +export(Array, AudioStream) var samples = [] +export(String, DIR) var select_samples_from_folder setget load_samples_from_folder +export(int, "Pure", "No consecutive repetition", "Use all samples before repeat") var random_strategy = 0 +onready var base_volume = volume_db +export(float, 0, 80) var random_volume_range = 0 +onready var base_pitch = pitch_scale +export(float, 0, 4) var random_pitch_range = 0 + +var playing_sample_nb : int = -1 +var last_played_sample_nb : int = -1 # only used if random_strategy = 1 +var to_play = [] # only used if random_strategy = 2 + +# You can use playing_sample_nb to choose what sample to use +func play(from_position=0.0, playing_sample_nb=-1): + var number_of_samples = len(samples) + if number_of_samples > 0: + if playing_sample_nb < 0: + if number_of_samples == 1: + playing_sample_nb = 0 + else: + match random_strategy: + 1: + playing_sample_nb = randi() % (number_of_samples - 1) + if last_played_sample_nb == playing_sample_nb: + playing_sample_nb += 1 + last_played_sample_nb = playing_sample_nb + 2: + if len(to_play) == 0: + for i in range(number_of_samples): + if i != last_played_sample_nb: + to_play.append(i) + to_play.shuffle() + playing_sample_nb = to_play.pop_back() + last_played_sample_nb = playing_sample_nb + _: + playing_sample_nb = randi() % number_of_samples + if random_volume_range != 0: + .set_volume_db(base_volume + (randf() - .5) * random_volume_range) + if random_pitch_range != 0: + .set_pitch_scale(max(0.0001, base_pitch + (randf() - .5) * random_pitch_range)) + set_stream(samples[playing_sample_nb]) + .play(from_position) + +func set_volume_db(new_volume_db): + .set_volume_db(new_volume_db) + base_volume = new_volume_db + +func set_pitch_scale(new_pitch): + .set_pitch_scale(max(0.0001, new_pitch)) + base_pitch = new_pitch + +func load_samples_from_folder(path): + if path != "": + samples.clear() + var dir = Directory.new() + if dir.open(path) == OK: + dir.list_dir_begin(true) + var file_name = dir.get_next() + while file_name != "": + if not dir.current_is_dir() and file_name.ends_with(".import"): + var resource_path = dir.get_current_dir() + "/" + file_name.replace('.import', '') + if resource_path.get_extension().to_lower() in ["wav", "ogg"]: + var resource = load(resource_path) + if resource != null: + samples.append(resource) + file_name = dir.get_next() + select_samples_from_folder = "" diff --git a/addons/dialogic/Other/DialogicClass.gd b/addons/dialogic/Other/DialogicClass.gd new file mode 100644 index 0000000..501976d --- /dev/null +++ b/addons/dialogic/Other/DialogicClass.gd @@ -0,0 +1,548 @@ +extends Node + +## Exposed and safe to use methods for Dialogic +## See documentation under 'https://github.com/coppolaemilio/dialogic' or in the editor: + +## ### /!\ ### +## Do not use methods from other classes as it could break the plugin's integrity +## ### /!\ ### + +## Trying to follow this documentation convention: https://github.com/godotengine/godot/pull/41095 +class_name Dialogic + + +## Refactor the start function for 2.0 there should be a cleaner way to do it :) + +## Starts the dialog for the given timeline and returns a Dialog node. +## You must then add it manually to the scene to display the dialog. +## +## Example: +## var new_dialog = Dialogic.start('Your Timeline Name Here') +## add_child(new_dialog) +## +## This is similar to using the editor: +## you can drag and drop the scene located at /addons/dialogic/Dialog.tscn +## and set the current timeline via the inspector. +## +## @param timeline The timeline to load. You can provide the timeline name or the filename. +## If you leave it empty, it will try to load from current data +## In that case, you should do Dialogic.load() or Dialogic.import() before. +## @param default_timeline If timeline == '' and no valid data was found, this will be loaded. +## @param dialog_scene_path If you made a custom Dialog scene or moved it from its default path, you can specify its new path here. +## @param use_canvas_instead Create the Dialog inside a canvas layer to make it show up regardless of the camera 2D/3D situation. +## @returns A Dialog node to be added into the scene tree. +static func start(timeline: String = '', default_timeline: String ='', dialog_scene_path: String="res://addons/dialogic/Nodes/DialogNode.tscn", use_canvas_instead=true): + var dialog_scene = load(dialog_scene_path) + var dialog_node = null + var canvas_dialog_node = null + var returned_dialog_node = null + + if use_canvas_instead: + var canvas_dialog_script = load("res://addons/dialogic/Nodes/canvas_dialog_node.gd") + canvas_dialog_node = canvas_dialog_script.new() + canvas_dialog_node.set_dialog_node_scene(dialog_scene) + dialog_node = canvas_dialog_node.dialog_node + else: + dialog_node = dialog_scene.instance() + + returned_dialog_node = dialog_node if not canvas_dialog_node else canvas_dialog_node + + ## 1. Case: A slot has been loaded OR data has been imported + if timeline == '': + if (Engine.get_main_loop().has_meta('last_dialog_state') + and not Engine.get_main_loop().get_meta('last_dialog_state').empty() + and not Engine.get_main_loop().get_meta('last_dialog_state').get('timeline', '').empty()): + + dialog_node.resume_state_from_info(Engine.get_main_loop().get_meta('last_dialog_state')) + return returned_dialog_node + + ## The loaded data isn't complete + elif (Engine.get_main_loop().has_meta('current_timeline') + and not Engine.get_main_loop().get_meta('current_timeline').empty()): + timeline = Engine.get_main_loop().get_meta('current_timeline') + + ## Else load the default timeline + else: + timeline = default_timeline + + ## 2. Case: A specific timeline should be started + + # check if it's a file name + if timeline.ends_with('.json'): + for t in DialogicUtil.get_timeline_list(): + if t['file'] == timeline: + dialog_node.timeline = t['file'] + dialog_node.timeline_name = timeline + return returned_dialog_node + # No file found. Show error + dialog_node.dialog_script = { + "events":[ + {"event_id":'dialogic_001', + "character":"", + "portrait":"", + "text":"[Dialogic Error] Loading dialog [color=red]" + timeline + "[/color]. It seems like the timeline doesn't exists. Maybe the name is wrong?" + }] + } + return returned_dialog_node + + # else get the file from the name + var timeline_file = _get_timeline_file_from_name(timeline) + if timeline_file: + dialog_node.timeline = timeline_file + dialog_node.timeline_name = timeline + return returned_dialog_node + + # Just in case everything else fails. + return returned_dialog_node + +# Loads the given timeline into the active DialogNode +# This means it's state (theme, characters, background, music) is preserved. +# +# @param timeline the name of the timeline to load +static func change_timeline(timeline: String) -> void: + # Set Timeline + set_current_timeline(timeline) + + # If there is a dialog node + if has_current_dialog_node(): + var dialog_node = Engine.get_main_loop().get_meta('latest_dialogic_node') + + # Get file name + var timeline_file = _get_timeline_file_from_name(timeline) + + dialog_node.change_timeline(timeline_file) + else: + print("[D] Tried to change timeline, but no DialogNode exists!") + +# Immediately plays the next event. +# +# @param discreetly determines whether the Passing Audio will be played in the process +static func next_event(discreetly: bool = false): + + # If there is a dialog node + if has_current_dialog_node(): + var dialog_node = Engine.get_main_loop().get_meta('latest_dialogic_node') + + dialog_node.next_event(discreetly) + + +################################################################################ +## Test to see if a timeline exists +################################################################################ + +## Check to see if a timeline with a given name/path exists. Useful for verifying +## before calling a timeline, or for automated tests to make sure timeline calls +## are valid. Returns a boolean of true if the timeline exists, and false if it +## does not. +static func timeline_exists(timeline: String): + var timeline_file = _get_timeline_file_from_name(timeline) + if timeline_file: + return true + else: + return false + + +################################################################################ +## BUILT-IN SAVING/LOADING +################################################################################ + +## Loads the given slot +static func load(slot_name: String = ''): + _load_from_slot(slot_name) + Engine.get_main_loop().set_meta('current_save_slot', slot_name) + + +## Saves the current definitions and the latest added dialog nodes state info. +## +## @param slot_name The name of the save slot. To load this save you have to specify the same +## If the slot folder doesn't exist it will be created. +static func save(slot_name: String = '', is_autosave = false) -> void: + # check if to save (if this is a autosave) + if is_autosave and not get_autosave(): + return + + # gather the info + var current_dialog_info = {} + if has_current_dialog_node(): + current_dialog_info = Engine.get_main_loop().get_meta('latest_dialogic_node').get_current_state_info() + + var game_state = {} + if Engine.get_main_loop().has_meta('game_state'): + game_state = Engine.get_main_loop().get_meta('game_state') + + var save_data = { + 'game_state': game_state, + 'dialog_state': current_dialog_info + } + + # save the information + _save_state_and_definitions(slot_name, save_data) + + +## Returns an array with the names of all available slots. +static func get_slot_names() -> Array: + return DialogicResources.get_saves_folders() + + +## Will permanently erase the data in the given save_slot. +## +## @param slot_name The name of the slot folder. +static func erase_slot(slot_name: String) -> void: + DialogicResources.remove_save_folder(slot_name) + + +## Whether a save can be performed +## +## @returns True if a save can be performed; otherwise False +static func has_current_dialog_node() -> bool: + return Engine.get_main_loop().has_meta('latest_dialogic_node') and is_instance_valid(Engine.get_main_loop().get_meta('latest_dialogic_node')) + + +## Resets the state and definitions of the given save slot +## +## By default this will also LOAD that reseted save +static func reset_saves(slot_name: String = '', reload:= true) -> void: + DialogicResources.reset_save(slot_name) + if reload: _load_from_slot(slot_name) + + +## Returns the currently loaded save slot +static func get_current_slot(): + if Engine.get_main_loop().has_meta('current_save_slot'): + return Engine.get_main_loop().get_meta('current_save_slot') + else: + return '' + +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +## EXPORT / IMPORT +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +# this returns a dictionary with the DEFINITIONS, the GAME STATE and the DIALOG STATE +static func export(dialog_node = null) -> Dictionary: + # gather the data + var current_dialog_info = {} + if dialog_node == null and has_current_dialog_node(): + dialog_node = Engine.get_main_loop().get_meta('latest_dialogic_node') + if dialog_node: + current_dialog_info = dialog_node.get_current_state_info() + + # return it + return { + 'definitions': _get_definitions(), + 'state': Engine.get_main_loop().get_meta('game_state'), + 'dialog_state': current_dialog_info + } + + +# this loads a dictionary with GAME STATE, DEFINITIONS and DIALOG_STATE +static func import(data: Dictionary) -> void: + ## Tell the future we want to use the imported data + Engine.get_main_loop().set_meta('current_save_lot', '/') + + # load the data + Engine.get_main_loop().set_meta('definitions', data['definitions']) + Engine.get_main_loop().set_meta('game_state', data['state']) + Engine.get_main_loop().set_meta('last_dialog_state', data.get('dialog_state', null)) + set_current_timeline(get_saved_state_general_key('timeline')) + + +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +## DEFINITIONS +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +# clears all variables +static func clear_all_variables(): + for d in _get_definitions()['variables']: + d['value'] = "" + +# sets the value of the value definition with the given name +static func set_variable(name: String, value): + var exists = false + + if '/' in name: + var variable_id = _get_variable_from_file_name(name) + if variable_id != '': + for d in _get_definitions()['variables']: + if d['id'] == variable_id: + d['value'] = str(value) + exists = true + else: + for d in _get_definitions()['variables']: + if d['name'] == name: + d['value'] = str(value) + exists = true + if exists == false: + # TODO it would be great to automatically generate that missing variable here so they don't + # have to create it from the editor. + print("[Dialogic] Warning! the variable [" + name + "] doesn't exists. Create it from the Dialogic editor.") + return value + +# returns the value of the value definition with the given name +static func get_variable(name: String, default = null): + if '/' in name: + var variable_id = _get_variable_from_file_name(name) + for d in _get_definitions()['variables']: + if d['id'] == variable_id: + return d['value'] + print("[Dialogic] Warning! the variable [" + name + "] doesn't exists.") + return default + else: + for d in _get_definitions()['variables']: + if d['name'] == name: + return d['value'] + print("[Dialogic] Warning! the variable [" + name + "] doesn't exists.") + return default + + +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +## GAME STATE +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# the game state is a global dictionary that can be used to store custom data +# these functions should be renamed in 2.0! These names are outdated. + +# this sets a value in the GAME STATE dictionary +static func get_saved_state_general_key(key: String, default = '') -> String: + if not Engine.get_main_loop().has_meta('game_state'): + return default + if key in Engine.get_main_loop().get_meta('game_state').keys(): + return Engine.get_main_loop().get_meta('game_state')[key] + else: + return default + + +# this gets a value from the GAME STATE dictionary +static func set_saved_state_general_key(key: String, value) -> void: + if not Engine.get_main_loop().has_meta('game_state'): + Engine.get_main_loop().set_meta('game_state', {}) + Engine.get_main_loop().get_meta('game_state')[key] = str(value) + save('', true) + + +################################################################################ +## HISTORY +################################################################################ + +# Used to toggle the history timeline display. Only useful if you do not wish to +# use the provided buttons +static func toggle_history(): + if has_current_dialog_node(): + var dialog_node = Engine.get_main_loop().get_meta('latest_dialogic_node') + dialog_node.HistoryTimeline._on_toggle_history() + else: + print('[D] Tried to toggle history, but no dialog node exists.') + +################################################################################ +## AUTO-ADVANCE +################################################################################ +static func auto_advance_on(toggle: bool, delay : float=2): + if has_current_dialog_node(): + var dialog_node = Engine.get_main_loop().get_meta('latest_dialogic_node') + dialog_node.autoPlayMode = toggle + dialog_node.autoWaitTime = float(delay) + else: + print('[D] Tried to toggle auto advance mode, but no dialog node exists.') + +################################################################################ +## COULD BE USED +################################################################################ +# these are old things, that have little use. + +static func get_autosave() -> bool: + if Engine.get_main_loop().has_meta('autoload'): + return Engine.get_main_loop().get_meta('autoload') + return true + + +static func set_autosave(autoload): + Engine.get_main_loop().set_meta('autoload', autoload) + + +static func set_current_timeline(timeline): + Engine.get_main_loop().set_meta('current_timeline', timeline) + return timeline + + +static func get_current_timeline(): + var timeline + timeline = Engine.get_main_loop().get_meta('current_timeline') + if timeline == null: + timeline = '' + return timeline + + +# Returns a string with the action button set on the project settings +static func get_action_button(): + return DialogicResources.get_settings_value('input', 'default_action_key', 'dialogic_default_action') + +################################################################################ +## NOT TO BE USED FROM OUTSIDE +################################################################################ +## this loads the saves definitions and returns the saves state_info ditionary +static func _load_from_slot(slot_name: String = '') -> Dictionary: + Engine.get_main_loop().set_meta('definitions', DialogicResources.get_saved_definitions(slot_name)) + + var state_info = DialogicResources.get_saved_state_info(slot_name) + Engine.get_main_loop().set_meta('last_dialog_state', state_info.get('dialog_state', null)) + Engine.get_main_loop().set_meta('game_state', state_info.get('game_state', null)) + + return state_info.get('dialog_state', {}) + + +## this saves the current definitions and the given state info into the save folder @save_name +static func _save_state_and_definitions(save_name: String, state_info: Dictionary) -> void: + DialogicResources.save_definitions(save_name, _get_definitions()) + DialogicResources.save_state_info(save_name, state_info) + + + +static func _get_definitions() -> Dictionary: + var definitions + if Engine.get_main_loop().has_meta('definitions'): + definitions = Engine.get_main_loop().get_meta('definitions') + else: + definitions = DialogicResources.get_default_definitions() + Engine.get_main_loop().set_meta('definitions', definitions) + return definitions + + +# used by the DialogNode +static func set_glossary_from_id(id: String, title: String, text: String, extra:String) -> void: + var target_def: Dictionary; + for d in _get_definitions()['glossary']: + if d['id'] == id: + target_def = d; + if target_def != null: + if title and title != "[No Change]": + target_def['title'] = title + if text and text != "[No Change]": + target_def['text'] = text + if extra and extra != "[No Change]": + target_def['extra'] = extra + +# used by the DialogNode +static func set_variable_from_id(id: String, value: String, operation: String) -> void: + var target_def: Dictionary; + for d in _get_definitions()['variables']: + if d['id'] == id: + target_def = d; + if target_def != null: + var converted_set_value = value + var converted_target_value = target_def['value'] + var is_number = converted_set_value.is_valid_float() and converted_target_value.is_valid_float() + if is_number: + converted_set_value = float(value) + converted_target_value = float(target_def['value']) + var result = target_def['value'] + # Do nothing for -, * and / operations on string + match operation: + '=': + result = converted_set_value + '+': + result = converted_target_value + converted_set_value + '-': + if is_number: + result = converted_target_value - converted_set_value + '*': + if is_number: + result = converted_target_value * converted_set_value + '/': + if is_number: + result = converted_target_value / converted_set_value + target_def['value'] = str(result) + +# tries to find the path of a given timeline +static func _get_timeline_file_from_name(timeline_name_path: String) -> String: + var timelines = DialogicUtil.get_full_resource_folder_structure()['folders']['Timelines'] + + # Checks for slash in the name, and uses the folder search if there is + if '/' in timeline_name_path: + #Add leading slash if its a path and it is missing, for paths that have subfolders but no leading slash + if(timeline_name_path.left(1) != '/'): + timeline_name_path = "/" + timeline_name_path + var parts = timeline_name_path.split('/', false) + + # First check if it's a timeline in the root folder + if parts.size() == 1: + for t in DialogicUtil.get_timeline_list(): + for f in timelines['files']: + if t['file'] == f && t['name'] == parts[0]: + return t['file'] + if parts.size() > 1: + var current_data + var current_depth = 0 + for p in parts: + if current_depth == 0: + # Starting the crawl + if (timelines['folders'].has(p) ): + current_data = timelines['folders'][p] + else: + return '' + elif current_depth == parts.size() - 1: + # The final destination + for t in DialogicUtil.get_timeline_list(): + for f in current_data['files']: + if t['file'] == f && t['name'] == p: + return t['file'] + + else: + # Still going deeper + if (current_data['folders'].size() > 0): + if p in current_data['folders']: + current_data = current_data['folders'][p] + else: + return '' + else: + return '' + current_depth += 1 + return '' + else: + # Searching for any timeline that could match that name + for t in DialogicUtil.get_timeline_list(): + if t['name'] == timeline_name_path: + return t['file'] + return '' + +static func _get_variable_from_file_name(variable_name_path: String) -> String: + #First add the leading slash if it is missing so algorithm works properly + if(variable_name_path.left(1) != '/'): + variable_name_path = "/" + variable_name_path + + var definitions = DialogicUtil.get_full_resource_folder_structure()['folders']['Definitions'] + var parts = variable_name_path.split('/', false) + + # Check the root if it's a variable in the root folder + if parts.size() == 1: + for t in _get_definitions()['variables']: + for f in definitions['files']: + if t['id'] == f && t['name'] == parts[0]: + return t['id'] + if parts.size() > 1: + var current_data + var current_depth = 0 + + for p in parts: + if current_depth == 0: + + # Starting the crawl + if (definitions['folders'].has(p)): + current_data = definitions['folders'][p] + else: + return '' + elif current_depth == parts.size() - 1: + # The final destination + for t in _get_definitions()['variables']: + for f in current_data['files']: + if t['id'] == f && t['name'] == p: + return t['id'] + + else: + # Still going deeper + if (current_data['folders'].size() > 0): + if p in current_data['folders']: + current_data = current_data['folders'][p] + else: + return '' + else: + return '' + current_depth += 1 + return '' diff --git a/addons/dialogic/Other/DialogicDefinitionsUtil.gd b/addons/dialogic/Other/DialogicDefinitionsUtil.gd new file mode 100644 index 0000000..05a67dc --- /dev/null +++ b/addons/dialogic/Other/DialogicDefinitionsUtil.gd @@ -0,0 +1,72 @@ +extends Node +class_name DialogicDefinitionsUtil + +## This class handles definitions + +static func get_definition_by_key(data: Dictionary, key: String, value: String): + var variables : Array = data['variables'] + var glossary : Array = data['glossary'] + for v in variables: + if v[key] == value: + return v + for g in glossary: + if g[key] == value: + return g + return null + + +static func get_definition_by_id(data: Dictionary, id: String): + return get_definition_by_key(data, 'id', id) + + +static func get_definition_by_name(data: Dictionary, id: String): + return get_definition_by_key(data, 'name', id) + + +static func set_definition(section: String, data: Dictionary, elem: Dictionary): + delete_definition(data, elem['id']) + var array: Array = data[section] + var found = false; + for e in array: + if e['id'] == elem['id']: + found = true + array.erase(e) + array.append(elem) + break + if not found: + array.append(elem) + + +static func set_definition_variable(data: Dictionary, id: String, name: String, value): + set_definition('variables', data, { + 'id': id, + 'name': name, + 'value': value, + 'type': 0 + }) + + +static func set_definition_glossary(data: Dictionary, id: String, name: String, title: String, text: String, extra: String): + set_definition('glossary', data, { + 'id': id, + 'name': name, + 'title': title, + 'text': text, + 'extra': extra, + 'type': 1 + }) + + +static func delete_definition(data: Dictionary, id: String): + var variables : Array = data['variables'] + var glossary : Array = data['glossary'] + var item = get_definition_by_id(data, id); + if item != null: + if (item['type'] == 0): + variables.erase(item) + else: + glossary.erase(item) + + +static func definitions_json_to_array(data: Dictionary) -> Array: + return data['variables'] + data['glossary'] diff --git a/addons/dialogic/Other/DialogicResources.gd b/addons/dialogic/Other/DialogicResources.gd new file mode 100644 index 0000000..564f77c --- /dev/null +++ b/addons/dialogic/Other/DialogicResources.gd @@ -0,0 +1,461 @@ +tool +class_name DialogicResources + +## This class is used by the DialogicEditor to access the resources files +## For example by the Editors (Timeline, Character, Theme), the MasterTree and the EventParts + +## It is also used by the DialogicUtil class + +const RESOURCES_DIR: String = "res://dialogic" # Readonly, used for static data +const WORKING_DIR: String = "user://dialogic" # Readwrite, used for saves + + +## ***************************************************************************** +## BASIC JSON FUNCTION +## ***************************************************************************** +static func load_json(path: String, default: Dictionary={}) -> Dictionary: + # An easy function to load json files and handle common errors. + var file := File.new() + if file.open(path, File.READ) != OK: + file.close() + return default + var data_text: String = file.get_as_text() + file.close() + if data_text.empty(): + return default + var data_parse: JSONParseResult = JSON.parse(data_text) + if data_parse.error != OK: + return default + + var final_data = data_parse.result + if typeof(final_data) == TYPE_DICTIONARY: + return final_data + + # If everything else fails + return default + + +static func set_json(path: String, data: Dictionary): + var file = File.new() + var err = file.open(path, File.WRITE) + if err == OK: + file.store_line(JSON.print(data, '\t', true)) + file.close() + return err + + +## ***************************************************************************** +## INITIALIZATION +## ***************************************************************************** +static func init_dialogic_files() -> void: + # This functions makes sure that the needed files and folders + # exists when the plugin is loaded. If they don't, we create + # them. + # WARNING: only call while in the editor + var directory = Directory.new() + var paths = get_working_directories() + var files = get_config_files_paths() + # Create directories + for dir in paths: + if not directory.dir_exists(paths[dir]): + directory.make_dir_recursive(paths[dir]) + if dir == 'THEME_DIR': + directory.copy('res://addons/dialogic/Editor/ThemeEditor/default-theme.cfg', str(paths[dir], '/default-theme.cfg')) + # Create empty files + for f in files: + if not directory.file_exists(files[f]): + create_empty_file(files[f]) + + +static func get_working_directories() -> Dictionary: + return { + 'RESOURCES_DIR': RESOURCES_DIR, + 'WORKING_DIR': WORKING_DIR, + 'TIMELINE_DIR': RESOURCES_DIR + "/timelines", + 'THEME_DIR': RESOURCES_DIR + "/themes", + 'CHAR_DIR': RESOURCES_DIR + "/characters", + 'CUSTOM_EVENTS_DIR': RESOURCES_DIR + "/custom-events", + 'SOUNDS':RESOURCES_DIR + "/sounds" + } + + +static func get_config_files_paths() -> Dictionary: + return { + 'SETTINGS_FILE': RESOURCES_DIR + "/settings.cfg", + 'DEFAULT_DEFINITIONS_FILE': RESOURCES_DIR + "/definitions.json", + 'FOLDER_STRUCTURE_FILE': RESOURCES_DIR + "/folder_structure.json", + 'DEFINITIONS_DEFAULT_SAVE': WORKING_DIR + "/definitions_default_save.json", + 'STATE_DEFAULT_SAVE': WORKING_DIR + "/state_default_save.json" + } + + +## ***************************************************************************** +## BASIC FILE FUNCTION +## ***************************************************************************** +static func get_path(name: String, extra: String ='') -> String: + var paths: Dictionary = get_working_directories() + if extra != '': + return paths[name] + '/' + extra + else: + return paths[name] + + +static func get_filename_from_path(path: String, extension = false) -> String: + var file_name: String = path.split('/')[-1] + if extension == false: + file_name = file_name.split('.')[0] + return file_name + + +static func listdir(path: String) -> Array: + # https://docs.godotengine.org/en/stable/classes/class_directory.html#description + var files: Array = [] + var dir := Directory.new() + var err = dir.open(path) + if err == OK: + dir.list_dir_begin() + var file_name = dir.get_next() + while file_name != "": + if not dir.current_is_dir() and not file_name.begins_with("."): + files.append(file_name) + file_name = dir.get_next() + dir.list_dir_end() + else: + print("[Dialogic] Error while accessing path " + path + " - Error: " + str(err)) + return files + + +static func create_empty_file(path): + var file = File.new() + file.open(path, File.WRITE) + file.store_string('') + file.close() + + +static func remove_file(path: String): + var dir = Directory.new() + var _err = dir.remove(path) + + if _err != OK: + print("[D] There was an error when deleting file at {filepath}. Error: {error}".format( + {"filepath":path,"error":_err} + )) + + +static func copy_file(path_from, path_to): + if (path_from == ''): + push_error("[Dialogic] Could not copy empty filename") + return ERR_FILE_BAD_PATH + + if (path_to == ''): + push_error("[Dialogic] Could not copy to empty filename") + return ERR_FILE_BAD_PATH + + var dir = Directory.new() + if (not dir.file_exists(path_from)): + push_error("[Dialogic] Could not copy file %s, File does not exists" % [ path_from ]) + return ERR_FILE_NOT_FOUND + + if (dir.file_exists(path_to)): + push_error("[Dialogic] Could not copy file to %s, file already exists" % [ path_to ]) + return ERR_ALREADY_EXISTS + + var error = dir.copy(path_from, path_to) + if (error): + push_error("[Dialogic] Error while copying %s to %s" % [ path_from, path_to ]) + push_error(error) + return error + + return OK + pass + + +## ***************************************************************************** +## CONFIG +## ***************************************************************************** +static func get_config(id: String) -> ConfigFile: + var paths := get_config_files_paths() + var config := ConfigFile.new() + if id in paths.keys(): + var err = config.load(paths[id]) + if err != OK: + print("[Dialogic] Error while opening config file " + paths[id] + ". Error: " + str(err)) + return config + + +## ***************************************************************************** +## TIMELINES +## ***************************************************************************** +# Can only be edited in the editor + +static func get_timeline_json(path: String): + return load_json(get_path('TIMELINE_DIR', path)) + + +static func set_timeline(timeline: Dictionary): + # WARNING: For use in the editor only + set_json(get_path('TIMELINE_DIR', timeline['metadata']['file']), timeline) + + +static func delete_timeline(filename: String): + # WARNING: For use in the editor only + remove_file(get_path('TIMELINE_DIR', filename)) + + +## ***************************************************************************** +## CHARACTERS +## ***************************************************************************** +# Can only be edited in the editor + +static func get_character_json(path: String): + return load_json(get_path('CHAR_DIR', path)) + + +static func set_character(character: Dictionary): + # WARNING: For use in the editor only + set_json(get_path('CHAR_DIR', character['id']), character) + + +static func delete_character(filename: String): + # WARNING: For use in the editor only + remove_file(get_path('CHAR_DIR', filename)) + + +## ***************************************************************************** +## THEMES +## ***************************************************************************** +# Can only be edited in the editor + +static func get_theme_config(filename: String): + var config = ConfigFile.new() + var path + if filename.begins_with('res://'): + path = filename + else: + path = get_path('THEME_DIR', filename) + var err = config.load(path) + if err == OK: + return config + + +static func set_theme_value(filename:String, section:String, key:String, value): + # WARNING: For use in the editor only + var config = get_theme_config(filename) + config.set_value(section, key, value) + config.save(get_path('THEME_DIR', filename)) + + +static func add_theme(filename: String): + create_empty_file(get_path('THEME_DIR', filename)) + + +static func delete_theme(filename: String): + remove_file(get_path('THEME_DIR', filename)) + + +static func duplicate_theme(from_filename: String, to_filename: String): + copy_file(get_path('THEME_DIR', from_filename), get_path('THEME_DIR', to_filename)) + +## ***************************************************************************** +## SETTINGS +## ***************************************************************************** +# Can only be edited in the editor + + +static func get_settings_config() -> ConfigFile: + return get_config("SETTINGS_FILE") + + +static func set_settings_value(section: String, key: String, value): + var config = get_settings_config() + config.set_value(section, key, value) + config.save(get_config_files_paths()['SETTINGS_FILE']) + +static func get_settings_value(section:String, key: String, default): + var config = get_settings_config() + return config.get_value(section, key, default) + + +## ***************************************************************************** +## DEFAULT DEFINITIONS +## ***************************************************************************** +# Can only be edited in the editor + + +static func get_default_definitions() -> Dictionary: + return load_json(get_config_files_paths()['DEFAULT_DEFINITIONS_FILE'], {'variables': [], 'glossary': []}) + + +static func save_default_definitions(data: Dictionary): + set_json(get_config_files_paths()['DEFAULT_DEFINITIONS_FILE'], data) + + +static func get_default_definition_item(id: String): + var data = get_default_definitions() + return DialogicDefinitionsUtil.get_definition_by_id(data, id) + + +static func set_default_definition_variable(id: String, name: String, value): + # WARNING: For use in the editor only + var data = get_default_definitions() + DialogicDefinitionsUtil.set_definition_variable(data, id, name, value) + save_default_definitions(data) + + +static func set_default_definition_glossary(id: String, name: String, extra_title: String, extra_text: String, extra_extra: String): + # WARNING: For use in the editor only + var data = get_default_definitions() + DialogicDefinitionsUtil.set_definition_glossary(data, id, name, extra_title, extra_text, extra_extra) + save_default_definitions(data) + + +static func delete_default_definition(id: String): + # WARNING: For use in the editor only + var data = get_default_definitions() + DialogicDefinitionsUtil.delete_definition(data, id) + save_default_definitions(data) + + + +## ***************************************************************************** +## SAVES DURING GAME +## ***************************************************************************** +# Folders in the user://dialogic directory function as save_slots. + +# retruns a list of all save folders. +# -> this returns a list of the save_slot-names +static func get_saves_folders() -> Array: + var save_folders = [] + var directory := Directory.new() + if directory.open(WORKING_DIR) != OK: + print("[D] Error: Failed to access working directory.") + return [] + + directory.list_dir_begin() + var file_name = directory.get_next() + while file_name != "": + if directory.current_is_dir() and not file_name.begins_with("."): + save_folders.append(file_name) + file_name = directory.get_next() + + return save_folders + +# this adds a new save folder with the given name +static func add_save_folder(save_name: String) -> void: + var directory := Directory.new() + if directory.open(WORKING_DIR) != OK: + print("[D] Error: Failed to access working directory.") + return + directory.make_dir(save_name) + + var file := File.new() + if file.open(WORKING_DIR+"/"+save_name+"/definitions.json", File.WRITE) == OK: + file.store_string('') + file.close() + if file.open(WORKING_DIR+"/"+save_name+"/state.json", File.WRITE) == OK: + file.store_string('') + file.close() + +# this removes the given folder +static func remove_save_folder(save_name: String) -> void: + var directory := Directory.new() + if directory.open(WORKING_DIR+"/"+save_name) != OK: + print("[D] Error: Failed to access save folder '"+save_name+"'.") + return + + directory.list_dir_begin() + var file_name = directory.get_next() + while file_name != "": + directory.remove(file_name) + file_name = directory.get_next() + directory.remove(WORKING_DIR+"/"+save_name) + +# reset the definitions and state of the given save folder (or default) +static func reset_save(save_name: String = '') -> void: + save_state_info(save_name, {}) + save_definitions(save_name, get_default_definitions()) + +# saves the state_info into the state.json file in the save folder "save_name" +static func save_state_info(save_name: String, state_info: Dictionary) -> void: + if save_name == '': + set_json(get_config_files_paths()['STATE_DEFAULT_SAVE'], state_info) + return + + if not save_name in get_saves_folders(): + add_save_folder(save_name) + + set_json(WORKING_DIR+"/"+save_name+"/state.json", state_info) + +# return the state_info from the state.json file in the save folder "save_name" +static func get_saved_state_info(save_name: String) -> Dictionary: + if save_name == '': + return load_json(get_config_files_paths()['STATE_DEFAULT_SAVE'], {}) + + if not save_name in get_saves_folders(): + return {} + + return load_json(WORKING_DIR+"/"+save_name+"/state.json", {}) + +# saves the given definitions into the definitions.json file in the save folder "save name" +static func save_definitions(save_name: String, definitions_info: Dictionary) -> void: + if save_name == "": + set_json(get_config_files_paths()['DEFINITIONS_DEFAULT_SAVE'], definitions_info) + return + + if not save_name in get_saves_folders(): + add_save_folder(save_name) + + set_json(WORKING_DIR+"/"+save_name+"/definitions.json", definitions_info) + +# return the definition info from the definiiotn.json in the save folder "save name" +static func get_saved_definitions(save_name: String = '') -> Dictionary: + if save_name == '': + return load_json(get_config_files_paths()['DEFINITIONS_DEFAULT_SAVE'], get_default_definitions()) + + if not save_name in get_saves_folders(): + print("[D] Wasn't able to find save '"+save_name+"'. Loaded the default definitions.") + return get_default_definitions() + + return load_json(WORKING_DIR+"/"+save_name+"/definitions.json", {}) + + + +## ***************************************************************************** +## FOLDER STRUCTURE +## ***************************************************************************** +# The DialogicEditor uses a fake folder structure +# Can only be edited in the editor + +static func get_resource_folder_structure() -> Dictionary: + return load_json(get_config_files_paths()['FOLDER_STRUCTURE_FILE'], + {"folders": + {"Timelines": + { + "folders":{}, + "files":[], + 'metadata':{'color':null, 'folded':false} + }, + "Characters": + { + "folders":{}, + "files":[], + 'metadata':{'color':null, 'folded':false} + }, + "Definitions": + { + "folders":{}, + "files":[], + 'metadata':{'color':null, 'folded':false} + }, + "Themes": + { + "folders":{}, + "files":[], + 'metadata':{'color':null, 'folded':false} + }, + }, + "files":[] + }) + +static func save_resource_folder_structure(data): + set_json(get_config_files_paths()['FOLDER_STRUCTURE_FILE'], data) diff --git a/addons/dialogic/Other/DialogicSharp.cs b/addons/dialogic/Other/DialogicSharp.cs new file mode 100644 index 0000000..bddf8ad --- /dev/null +++ b/addons/dialogic/Other/DialogicSharp.cs @@ -0,0 +1,127 @@ +using Godot; +using GC = Godot.Collections; +using System; + +public static class DialogicSharp +{ + private static Script _dialogic = GD.Load

M-Gw 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 10: + print("Wow, so strong!") +``` + +You can also use the whole path when referencing variables. In text this could look like `[Characters/Player/Name]`, in code like `Dialogic.set_variable('Characters/Player/Name', 'Sally')`. + diff --git a/addons/dialogic/Documentation/Content/Tutorials/VoiceLines.md b/addons/dialogic/Documentation/Content/Tutorials/VoiceLines.md new file mode 100644 index 0000000..95e1ed5 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/VoiceLines.md @@ -0,0 +1,20 @@ +# Voice Line Support + +You can add audio to your text events! Here's what you have to do: + +## 1. Settings +In Dialogic's `Settings` window, enable audio for Text events. + +I recommend also creating a `new audio bus` for your voice lines. +If you do this correctly now and select it as the default bus (the next setting), you wont have to select it every time. +Having a seperate bus allows you to control the volume and effects of the voice lines seperately from your other audio. + +## 2. Adding audio to your Text events +Now when you see a Text or Question event, you should find that it has a new section called 'Audio Pickers'. +For each line (except if "New lines create extra messages" is off) you will find an Audio picker. +You can select the `audio file` you want to play while that line is shown. + +You can also change `volume`, `audiobus`, and an `audio region` (the second to begin at and the one where to end). +Leave both audio-regions at 0 to play the whole file. + +Great! That's all you need to know. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Welcome.md b/addons/dialogic/Documentation/Content/Welcome.md new file mode 100644 index 0000000..458903f --- /dev/null +++ b/addons/dialogic/Documentation/Content/Welcome.md @@ -0,0 +1,71 @@ +![WelcomeImage](./Images/dialogic-hero-1.3.png) +Welcome to the help pages. Here you can find all the information available on how to use the plugin and its parts. + +If you are looking for something specific, you can use the filter in the upper left. If you need extra help you can ask questions here: [GitHub Discussions](https://github.com/coppolaemilio/dialogic/discussions) or alternatively chat about the development of Dialogic on [Emilio's Discord server](https://discord.gg/v4zhZNh)! + +This project is made possible by the support of our [Patreons](https://www.patreon.com/coppolaemilio) and Github Sponsors. + +# Index +## Events +- [Text Event](./Events/001.md) +- [Character Event](./Events/002.md) +- [Question Event](./Events/010.md) +- [Choice Event](./Events/011.md) +- [Condition Event](./Events/012.md) +- [End Event](./Events/013.md) +- [Set Value](./Events/014.md) +- [Audio Events](./Events/030.md) +- [Emit Signal](./Events/040.md) +- [Change Scene](./Events/041.md) +- [Call Node](./Events/042.md) + +## FAQ +- [Can I use Dialogic in one of my projects?](./FAQ/can-i-use-dialogic-in-my-project.md) +- [Can I create a timeline using GDScript?](./FAQ/create-timeline-using-gdscript.md) +- [Can I use C# with Dialogic?](./FAQ/CSharp.md) +- [How can I make a dialog show up in game?](./FAQ/how-to-make-dialog-show-up-in-game.md) +- [The plugin is cool! Why is it not shipped with Godot?](./FAQ/plugin-shipped-godot.md) +- [Portraits not showing in game?](./FAQ/portraits-not-showing.md) +- [How can I define animated portraits?](./FAQ/custom-portraits.md) +- [My resolution is too small and the dialog is too big.](./FAQ/resolution-small-dialog-big.md) +- [Using signals?](./FAQ/Signals.md) +- [Why are you not using graph nodes?](./FAQ/why-not-graph-nodes.md) +- [What kind of touch support is available?](./FAQ/touch-support-tutorial.md) + +## Reference +- [Dialog node](./Reference/000.md) +- [Dialog Class](./Reference/001.md) +- [Timeline Editor](./Reference/Timeline.md) +- [Character Editor](./Reference/Character.md) +- [Theme Editor](./Reference/Theme.md) +- [History Log](./Reference/History.md) + +## Tutorials +- [Beginners Guide](./Tutorials/BeginnersGuideStepByStep.md) +- [Getting started (video)](https://www.youtube.com/watch?v=sYjgDIgD7AY) +- [Updating to 1.4](./Tutorials/Updating.md) +- [Saving and Loading](./Tutorials/Saving.md) +- [Creating Custom Events](./Events/CustomEvents/CreateCustomEvents.md) +- [Adding Character Animations](./Tutorials/AddingNewAnimations.md) +- [Voice Line Support](./Tutorials/VoiceLines.md) + + + +# Dialogic is made by: +**[Emilio Coppola](https://github.com/coppolaemilio)** +[Jowan-Spooner](https://github.com/Jowan-Spooner) +[Tim Krief](https://github.com/timkrief) +[zaknafean](https://github.com/zaknafean) +[ellogwen](https://github.com/ellogwen) +[AnidemDex](https://github.com/AnidemDex) +[Arnaud Vergnet](https://github.com/arnaudvergnet) +And many [more](https://github.com/coppolaemilio/dialogic/graphs/contributors)! + + +# License +MIT License +Copyright (c) 2020 Emilio Coppola + +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/addons/dialogic/Documentation/Nodes/DocsMarkdownParser.gd b/addons/dialogic/Documentation/Nodes/DocsMarkdownParser.gd new file mode 100644 index 0000000..1b1b171 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocsMarkdownParser.gd @@ -0,0 +1,202 @@ +extends Node + +var heading1_font = "res://addons/dialogic/Documentation/Theme/DocumentationH1.tres" +var heading2_font = "res://addons/dialogic/Documentation/Theme/DocumentationH2.tres" +var heading3_font = "res://addons/dialogic/Documentation/Theme/DocumentationH3.tres" +var heading4_font = "res://addons/dialogic/Documentation/Theme/DocumentationH4.tres" +var heading5_font = "res://addons/dialogic/Documentation/Theme/DocumentationH5.tres" + +## These will change with each parsing, but can be saved manually after parsing +var heading1s = [] +var heading2s = [] +var heading3s = [] +var heading4s = [] +var heading5s = [] +var result = "" +var bolded = [] +var italics = [] +var striked = [] +var coded = [] +var linknames = [] +var links = [] +var imagenames = [] +var imagelinks = [] +var lists = [] +var underlined = [] + +var accent_color := Color() +var sub_accent_color := Color() + +var editor_scale := 1.0 + +################################################################################ +## PUBLIC FUNCTIONS ## +################################################################################ + +func set_accent_colors(new_accent_color : Color, new_sub_accent_color : Color) -> void: + accent_color = new_accent_color + sub_accent_color = new_sub_accent_color + +### Takes a markdown string and returns it as BBCode +func parse(content : String, file_path:String = '', docs_path:String = ''): + + heading1s = [] + heading2s = [] + heading3s = [] + heading4s = [] + heading5s = [] + result = "" + bolded = [] + italics = [] + striked = [] + coded = [] + linknames = [] + links = [] + imagenames = [] + imagelinks = [] + lists = [] + underlined = [] + + var parsed_text = content + + var regex = RegEx.new() + + ## Remove all comments + # TODO: remove comments + + + ## Find all occurences of bold text + regex.compile('\\*\\*(?(\\.|[^(\\*\\*)])*)\\*\\*') + result = regex.search_all(content) + if result: + for res in result: + parsed_text = parsed_text.replace("**"+res.get_string("boldtext")+"**","[b]"+res.get_string("boldtext")+"[/b]") + + ## Find all occurences of underlined text + regex.compile('\\_\\_(?.*)\\_\\_') + result = regex.search_all(content) + if result: + for res in result: + parsed_text = parsed_text.replace("__"+res.get_string("underlinetext")+"__","[u]"+res.get_string("underlinetext")+"[/u]") + + ## Find all occurences of italic text + regex.compile("\\*(?[^\\*]*)\\*") + result = regex.search_all(content) + if result: + for res in result: + parsed_text = parsed_text.replace("*"+res.get_string('italictext')+'*', "[i]"+res.get_string('italictext')+"[/i]") +# italics.append(res.get_string("italictext")) +# for italic in italics: +# content = content.replace("*"+italic+"*",) + + + ## Find all occurences of underlined text + regex.compile("~~(?.*)~~") + result = regex.search_all(content) + if result: + for res in result: + parsed_text = parsed_text.replace("~~"+res.get_string("strikedtext")+"~~","[s]"+res.get_string("strikedtext")+"[/s]") + + ## Find all occurences of code snippets + regex.compile("(([^`]`)|(```))(?[^`]+)(?(2)(`)|(```))") + result = regex.search_all(content) + if result: + for res in result: + if res.get_string().begins_with("```"): + parsed_text = parsed_text.replace("```"+res.get_string("coded")+"```","[indent][color=#"+accent_color.lightened(0.6).to_html()+"][code]"+res.get_string("coded")+"[/code][/color][/indent]") + else: + parsed_text = parsed_text.replace("`"+res.get_string("coded")+"`","[color=#"+accent_color.lightened(0.6).to_html()+"][code]"+res.get_string("coded")+"[/code][/color]") + + + + ## Find all occurences of list items + regex.compile("\\n\\s*(?[-+*])(?\\s.*)") + result = regex.search_all(parsed_text) + if result: + for res in result: + var symbol = res.get_string('symbol') + var element = res.get_string("element") + if parsed_text.find(symbol+" "+element): + parsed_text = parsed_text.replace(symbol+" "+element,"[indent]"+symbol+" "+element+"[/indent]") + + ## Find all occurences of images + regex.compile("!\\[(?.*)\\]\\((?.*)\\)") + result = regex.search_all(content) + if result: + for res in result: + if res.get_string("imglink")!="": + imagelinks.append(res.get_string("imglink")) + if res.get_string("imgname")!="": + imagenames.append(res.get_string("imgname")) + + ## Find all occurences of links (that are not images) + regex.compile("[^!]\\[(?[^\\[]+)\\]\\((?[^\\)]*\\S*?)\\)") + result = regex.search_all(content) + if result: + for res in result: + if res.get_string("link")!="": + links.append(res.get_string("link")) + if res.get_string("linkname")!="": + linknames.append(res.get_string("linkname")) + + ## Find all heading1s + regex.compile("(?:\\n|^)#(?[^#\\n]+[^\\n]+)") + result = regex.search_all(content) + if result: + for res in result: + var heading = res.get_string("heading") + heading1s.append(heading) + parsed_text = parsed_text.replace("#"+heading, "[color=#"+accent_color.lightened(0.2).to_html()+"][font="+heading1_font+"]"+heading.strip_edges()+"[/font][/color]") + + ## Find all heading2s + regex.compile("(?:\\n|^)##(?[^#\\n]+[^\\n]+)") + result = regex.search_all(content) + if result: + for res in result: + var heading = res.get_string("heading") + heading2s.append(heading) + parsed_text = parsed_text.replace("\n##"+heading, "\n[color=#"+accent_color.lightened(0.5).to_html()+"][font="+heading2_font+"]"+heading.strip_edges()+"[/font][/color]") + + ## Find all heading3s + regex.compile("(?:\\n|^)###(?[^#\\n]+[^\\n]+)") + result = regex.search_all(content) + if result: + for res in result: + var heading = res.get_string("heading") + parsed_text = parsed_text.replace("\n###"+heading, "\n[color=#"+accent_color.lightened(0.7).to_html()+"][font="+heading3_font+"]"+heading.strip_edges()+"[/font][/color]") + + ## Find all heading4s + regex.compile("(?:\\n|^)####(?[^#\\n]+[^\\n]+)") + result = regex.search_all(content) + if result: + for res in result: + var heading = res.get_string("heading") + parsed_text = parsed_text.replace("\n####"+heading, "\n[color=#"+accent_color.lightened(0.85).to_html()+"][font="+heading4_font+"]"+heading.strip_edges()+"[/font][/color]") + + + ## Find all heading5s + regex.compile("(?:\\n|^)#####(?[^#\\n]+[^\\n]+)") + result = regex.search_all(content) + if result: + for res in result: + var heading = res.get_string("heading") + parsed_text = parsed_text.replace("\n#####"+heading, "\n[color=#"+accent_color.lightened(0.85).to_html()+"][font="+heading5_font+"]"+heading.strip_edges()+"[/font][/color]") + + for i in links.size(): + parsed_text = parsed_text.replace("["+linknames[i]+"]("+links[i]+")","[color=#"+accent_color.to_html()+"][url="+links[i]+"]"+linknames[i]+"[/url][/color]") + + for i in imagenames.size(): + var imagelink_to_use = imagelinks[i] + if imagelink_to_use.begins_with("http"): + var path_parts = imagelink_to_use.split("/Documentation/") + if path_parts.size() > 1: + imagelink_to_use = docs_path +"/"+ path_parts[1] + else: + imagelink_to_use = "icon.png" + if imagelink_to_use.begins_with(".") and file_path: + imagelink_to_use = file_path.trim_suffix(file_path.get_file()).trim_suffix("/") + imagelink_to_use.trim_prefix(".") + parsed_text = parsed_text.replace("!["+imagenames[i]+"]("+imagelinks[i]+")","[img="+str(int(700*editor_scale))+"]"+imagelink_to_use+"[/img]") + + parsed_text += "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" + + return parsed_text diff --git a/addons/dialogic/Documentation/Nodes/DocsPageViewer.gd b/addons/dialogic/Documentation/Nodes/DocsPageViewer.gd new file mode 100644 index 0000000..66e59f2 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocsPageViewer.gd @@ -0,0 +1,206 @@ +tool +extends Control + +export (bool) var enable_editing = false +# needs to be corrected, if you use this on a diffrent plugin!!! +export (String) var documentation_path: String = "res://addons/dialogic/Documentation" +var MarkdownParser = load("res://addons/dialogic/Documentation/Nodes/DocsMarkdownParser.gd").new() + +var current_path: String = "" +var current_headings = [] + +onready var Content = $Content + +signal open_non_html_link(link, section) + +################################################################################ +## PUBLIC FUNCTIONS ## +################################################################################ + +## Opens a page at path PAGE_PATH +## The PAGE_PATH can be a full godot path or a path from Documentation/Content +## E.g.: +## "res://addons/thing/Documentation/Content/Tuts/welcome.md" == "Tuts/welcome" +## +## The section can either be passed as a second argument or in the PAGE_PATH with # +## E.g.: "Tuts/welcome#how-to-use-the-plugin" == "Tuts/welcome", "#how-to-use-the-plugin" +func load_page(page_path: String, section : String=''): + Content.set('custom_styles/normal', StyleBoxEmpty.new()) + Content.get('custom_styles/normal').content_margin_left = 15 + Content.get('custom_styles/normal').content_margin_top = 15 + Content.get('custom_styles/normal').content_margin_right = 15 + Content.get('custom_styles/normal').content_margin_bottom = 15 + + var base_size = 16 + Content.set('custom_fonts/normal_font/size', int(base_size * get_constant("scale", "Editor"))) + Content.set('custom_fonts/bold_font/size', int(base_size * get_constant("scale", "Editor"))) + #Content.set('custom_fonts/italics_font/size', int(base_size * get_constant("scale", "Editor"))) + Content.set('custom_fonts/mono_font/size', int(base_size * get_constant("scale", "Editor"))) + Content.set('custom_fonts/bold_italics_font/size', int(base_size * get_constant("scale", "Editor"))) + + + # Fonts + Content.set('custom_fonts/mono_font', get_font("doc_source", "EditorFonts")) + Content.set('custom_fonts/bold_font', Content.get_font("doc_bold", "EditorFonts")) + + MarkdownParser.set_accent_colors(get_color("accent_color", "Editor"),get_color("disabled_font_color", "Editor")) + # return if no path is given + if page_path == '' and not section: + return + + show() + _on_Content_resized() + + #print("load page ", page_path) + # find a section specifier at the end of the path + if page_path.count("#") > 0: + var result = page_path.split('#') + page_path = result[0] + section = '#'+result[1] + + # add necessary parts to the path + if not page_path.begins_with("res://"): + page_path = documentation_path+"/Content/"+page_path + if not page_path.ends_with('.md'): + page_path += ".md" + + # opening the file + var f = File.new() + f.open(page_path,File.READ) + current_path = page_path + + # parsing the file + Content.bbcode_text = MarkdownParser.parse(f.get_as_text(), current_path, documentation_path) + f.close() + + # saving the headings for going to sections + current_headings = MarkdownParser.heading1s + MarkdownParser.heading2s + MarkdownParser.heading3s + MarkdownParser.heading4s + MarkdownParser.heading5s + create_content_menu(MarkdownParser.heading1s + MarkdownParser.heading2s) + + # scroll to the given section + if not scroll_to_section(section): + Content.scroll_to_line(0) + + # Scroll to top of the document. This probably broke the previews "scroll to the given section" part of the code + yield(get_tree(), "idle_frame") + _on_Up_pressed() + + +# looks if there is a heading similar to the given TITLE and then scrolls there +func scroll_to_section(title): + if not title: + return + # this is not really nicely done... + for heading in current_headings: + if (heading.to_lower().strip_edges().replace(' ', '-') == title.replace('#', '')) or \ + (heading.to_lower().strip_edges() == title.to_lower().strip_edges()): + var x = Content.bbcode_text.find(heading.replace('#', '').strip_edges()+"[/font]") + x = Content.bbcode_text.count("\n", 0, x) + Content.scroll_to_line(x) + + $ContentMenu/Panel.hide() + + return true + + +################################################################################ +## PRIVATE FUNCTIONS ## +################################################################################ + +func _ready(): + $Up.icon = get_icon("ArrowUp", "EditorIcons") + + $Editing.visible = enable_editing + + +# creates the conten menu +func create_content_menu(headings): + for child in $ContentMenu/Panel/VBox.get_children(): + child.queue_free() + if len(headings) < 2: + $ContentMenu.hide() + return + $ContentMenu.show() + headings.pop_front() + for heading in headings: + var button = Button.new() + button.set("custom_styles/normal", get_stylebox("sub_inspector_bg0", "Editor")) + button.text = heading + button.align = Button.ALIGN_LEFT + button.connect("pressed", self, "content_button_pressed", [heading]) + $ContentMenu/Panel/VBox.add_child(button) + + +func content_button_pressed(heading): + scroll_to_section(heading) + $ContentMenu/ToggleContents.pressed = false + + +## When one of the links is clicked +func _on_meta_clicked(meta): + ## Check wether this is a real LINK + if meta.begins_with("http"): + + # test if we can interpret this as a normal link to a docs file + if meta.count("Documentation/Content") > 0: + meta = meta.split("Documentation/Content")[1] + + # else open it with the browser + else: + OS.shell_open(meta) + return + + ## Check wether it is a section + if meta.begins_with("#"): + # try to open it in this document + scroll_to_section(meta) + + ## Else send a signal that the pluginmaker has to interpret + else: + # if the link contains a section + var link = meta + var section = null + if meta.count("#") > 0: + var split = meta.split('#') + link = split[0] + section = split[1] + if link.begins_with('.'): + link = current_path.trim_suffix(current_path.get_file()).trim_suffix("/") + link.trim_prefix(".") + if not link.begins_with("res://"): + link = documentation_path.plus_file('Content').plus_file(link) + if not link.ends_with(".md"): + link += '.md' + + emit_signal("open_non_html_link", link, section) + + +func _on_EditPage_pressed(): + var x = File.new() + x.open(current_path, File.READ) + OS.shell_open(x.get_path_absolute()) + + +func _on_RefreshPage_pressed(): + load_page(current_path) + + +func _on_Up_pressed(): + Content.scroll_to_line(0) + + +func _on_ToggleContents_toggled(button_pressed): + $ContentMenu/Panel.visible = button_pressed + +func toggle_editing(): + enable_editing = !enable_editing + $Editing.visible = enable_editing + +func _on_Content_resized(): + if not Content: return + if Content.rect_size.x < 500: + Content.get('custom_styles/normal').content_margin_left = 15 + Content.get('custom_styles/normal').content_margin_right = 15 + else: + Content.get('custom_styles/normal').content_margin_left = (Content.rect_size.x-500)/4 + Content.get('custom_styles/normal').content_margin_right = (Content.rect_size.x-500)/3 + Content.update() diff --git a/addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn b/addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn new file mode 100644 index 0000000..e0d5dd5 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn @@ -0,0 +1,178 @@ +[gd_scene load_steps=13 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Regular.ttf" type="DynamicFontData" id=1] +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf" type="DynamicFontData" id=3] +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsPageViewer.gd" type="Script" id=6] + +[sub_resource type="StyleBoxEmpty" id=1] +content_margin_left = 89.5 +content_margin_right = 119.333 + +[sub_resource type="DynamicFont" id=2] +use_filter = true +extra_spacing_char = 2 +extra_spacing_space = 2 +font_data = ExtResource( 1 ) + +[sub_resource type="DynamicFont" id=3] +use_filter = true +font_data = ExtResource( 2 ) + +[sub_resource type="DynamicFont" id=4] +font_data = ExtResource( 3 ) + +[sub_resource type="DynamicFont" id=5] +font_data = ExtResource( 2 ) + +[sub_resource type="DynamicFont" id=6] +use_filter = true +font_data = ExtResource( 1 ) + +[sub_resource type="Image" id=9] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=8] +flags = 4 +flags = 4 +image = SubResource( 9 ) +size = Vector2( 16, 16 ) + +[node name="DocsPageViewer" type="Control"] +margin_right = 1024.0 +margin_bottom = 600.0 +focus_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource( 6 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Content" type="RichTextLabel" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +rect_min_size = Vector2( 50, 0 ) +focus_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_styles/normal = SubResource( 1 ) +custom_fonts/mono_font = SubResource( 2 ) +custom_fonts/bold_italics_font = SubResource( 3 ) +custom_fonts/italics_font = SubResource( 4 ) +custom_fonts/bold_font = SubResource( 5 ) +custom_fonts/normal_font = SubResource( 6 ) +custom_colors/selection_color = Color( 0.45098, 0.45098, 0.45098, 0.45098 ) +bbcode_enabled = true +bbcode_text = "Can't find the specified file." +text = "Can't find the specified file." +scroll_following = true +selection_enabled = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Editing" type="HBoxContainer" parent="."] +visible = false +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -202.807 +margin_top = 8.09956 +margin_right = -8.80664 +margin_bottom = 33.0996 +grow_horizontal = 0 +alignment = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RefreshPage" type="Button" parent="Editing"] +margin_left = 94.0 +margin_right = 154.0 +margin_bottom = 25.0 +text = "Refresh" + +[node name="EditPage" type="Button" parent="Editing"] +margin_left = 158.0 +margin_right = 194.0 +margin_bottom = 25.0 +text = "Edit" + +[node name="Up" type="Button" parent="."] +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = -40.5946 +margin_top = -41.6541 +margin_right = -10.5946 +margin_bottom = -11.6541 +rect_min_size = Vector2( 30, 30 ) +hint_tooltip = "Back to top" +icon = SubResource( 8 ) +expand_icon = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ContentMenu" type="VBoxContainer" parent="."] +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = -207.0 +margin_top = -590.0 +margin_right = -49.0 +margin_bottom = -13.0 +grow_horizontal = 0 +grow_vertical = 0 +rect_min_size = Vector2( 50, 40 ) +size_flags_horizontal = 0 +size_flags_vertical = 9 +custom_constants/separation = 20 +alignment = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Panel" type="Control" parent="ContentMenu"] +visible = false +margin_top = 537.0 +margin_right = 158.0 +margin_bottom = 537.0 + +[node name="VBox" type="VBoxContainer" parent="ContentMenu/Panel"] +margin_top = -88.0 +margin_right = 156.0 +margin_bottom = 4.0 +grow_horizontal = 0 +grow_vertical = 0 +size_flags_horizontal = 3 +alignment = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ToggleContents" type="Button" parent="ContentMenu"] +margin_top = 557.0 +margin_right = 158.0 +margin_bottom = 577.0 +toggle_mode = true +text = "Contents" + +[node name="Control" type="Control" parent="."] +margin_right = 40.0 +margin_bottom = 40.0 + +[connection signal="meta_clicked" from="Content" to="." method="_on_meta_clicked"] +[connection signal="resized" from="Content" to="." method="_on_Content_resized"] +[connection signal="pressed" from="Editing/RefreshPage" to="." method="_on_RefreshPage_pressed"] +[connection signal="pressed" from="Editing/EditPage" to="." method="_on_EditPage_pressed"] +[connection signal="pressed" from="Up" to="." method="_on_Up_pressed"] +[connection signal="toggled" from="ContentMenu/ToggleContents" to="." method="_on_ToggleContents_toggled"] diff --git a/addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd b/addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd new file mode 100644 index 0000000..9184d27 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd @@ -0,0 +1,224 @@ +tool +extends Control + +# Don't change this if possible +export (String) var documentation_path : String = "res://addons/dialogic/Documentation" + +# This enables/disables the use of folder files +# If enabled, the docs will expect a file named +# exactly like a folder for each folder in the docs: +## E.g.: If you have a Tutorials folder somewhere put a Tutorials.md file next to it. +## This way the folder will be clickable and you can see the page, +## but it won't be shown as a separate page +var use_folder_files = true + +# These files will not be listed. Just use the filename! No paths in here +var file_ignore_list = ['Welcome.md'] + + +################################################################################ +## PUBLIC FUNCTIONS ## +################################################################################ + +## Returns a dictionary that contains the important parts of the +## documentations Content folder. +## +## This is mainly used if you want to somehow display a list of the docs content, +## for example to create a file-tree or a list of documents +## +## Only files ending on .md are noticed. +## Folders that contain no such files are ignored +func get_documentation_content(): + return get_dir_contents(documentation_path+"/Content") + +## Will create a hirarchy of TreeItems on the given 'trees' root_item +## If not root_item is given a new root_item will be created +## The root item does not have to be the actual root item of the whole tree, +## but the root of the documentation branch. +## +## With def_folder_info and def_page_info special information can be +## added to the meta of the Items +## +## If a filter_term is given, only items with that filter will be created. +## Right now there will always be all folders. +func build_documentation_tree(tree : Tree, root_item:TreeItem = null, def_folder_info:Dictionary = {}, def_page_info:Dictionary = {}, filter_term:String = ''): + return _build_documentation_tree(tree, root_item, def_folder_info, def_page_info, filter_term) + + +################################################################################ +## PRIVATE FUNCTIONS ## +################################################################################ + + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +### LOOKING THROUGH THE DOCS FOLDERS: + +func get_dir_contents(rootPath: String) -> Dictionary: + var directory_structure = {} + var dir := Directory.new() + + if dir.open(rootPath) == OK: + dir.list_dir_begin(true, false) + directory_structure = _add_dir_contents(dir) + else: + push_error("Docs: An error occurred when trying to access the path.") + return directory_structure + +func _add_dir_contents(dir: Directory) -> Dictionary: + var file_name = dir.get_next() + + var structure = {} + while (file_name != ""): + var path = dir.get_current_dir() + "/" + file_name + if dir.current_is_dir(): + #print("Found directory: %s" % path) + var subDir = Directory.new() + subDir.open(path) + subDir.list_dir_begin(true, false) + var dir_content = _add_dir_contents(subDir) + if dir_content.has('_files_'): + structure[path] = dir_content + else: + #print("Found file: %s" % path) + if not file_name.ends_with(".md"): + file_name = dir.get_next() + continue + if file_name in file_ignore_list: + file_name = dir.get_next() + continue + if not structure.has("_files_"): + structure["_files_"] = [] + + structure["_files_"].append(path) + + file_name = dir.get_next() + dir.list_dir_end() + return structure + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +### For bouilding the tree + +func _build_documentation_tree(tree : Tree, root_item:TreeItem = null, def_folder_info:Dictionary = {}, def_page_info:Dictionary = {}, filter_term:String =''): + + var documentation_tree + if root_item == null: + documentation_tree = tree.create_item() + documentation_tree.set_text(0, "Documentation") + + else: + documentation_tree = root_item + + # if no search is performed, collapse the tree by default + if not filter_term: + documentation_tree.collapsed = true + else: + documentation_tree.collapsed = false + + # create the rest of the tree based on the dict we get from the DocsHelper + var doc_structure = get_documentation_content() + #print(doc_structure) + create_doc_tree(tree, documentation_tree, def_folder_info, def_page_info, doc_structure, filter_term) + return documentation_tree + +# this calls itself recursivly to create the tree, based on the given dict +func create_doc_tree(tree, parent_item, def_folder_info, def_page_info, doc_structure, filter_term): + for key in doc_structure.keys(): + # if this is a folder + if typeof(doc_structure[key]) == TYPE_DICTIONARY: + var folder_item = _add_documentation_folder(tree, parent_item, {'name':key.get_file(), 'path':key}, def_folder_info) + create_doc_tree(tree, folder_item, def_folder_info, def_page_info, doc_structure[key], filter_term) + if not filter_term: + folder_item.collapsed = true + # if this is a page + elif typeof(doc_structure[key]) == TYPE_ARRAY: + for file in doc_structure[key]: + if use_folder_files and file.trim_suffix('.md') in doc_structure.keys(): + pass + else: + if not filter_term or (filter_term and filter_term.to_lower() in get_title(file, '').to_lower()): + _add_documentation_page(tree, parent_item, {'name':file.get_file().trim_suffix(".md"), 'path': file}, def_page_info) + +func merge_dir(target: Dictionary, patch: Dictionary): + var copy = target.duplicate() + for key in patch: + copy[key] = patch[key] + return copy + +# this adds a folder item to the tree +func _add_documentation_folder(tree, parent_item, folder_info, default_info): + var item = tree.create_item(parent_item) + item.set_text(0, folder_info['name']) + item.set_icon(0, tree.get_icon("HelpSearch", "EditorIcons")) + item.set_editable(0, false) + if use_folder_files: + var x = File.new() + if x.file_exists(folder_info['path']+'.md'): + folder_info['path'] += '.md' + else: + folder_info['path'] = '' + else: + folder_info['path'] = '' + item.set_metadata(0, merge_dir(default_info, folder_info)) + if not tree.get_constant("dark_theme", "Editor"): + item.set_icon_modulate(0, get_color("property_color", "Editor")) + return item + +# this adds a page item to the tree +func _add_documentation_page(tree, parent, page_info, default_info): + var item = tree.create_item(parent) + item.set_text(0, get_title(page_info['path'], page_info['name'])) + item.set_tooltip(0,page_info['path']) + item.set_editable(0, false) + item.set_icon(0, tree.get_icon("Help", "EditorIcons")) + var new_dir = merge_dir(default_info, page_info) + #print(new_dir) + item.set_metadata(0,new_dir) + if not tree.get_constant("dark_theme", "Editor"): + item.set_icon_modulate(0, get_color("property_color", "Editor")) + return item + +# returns the first line of a text_file, a bit cleaned up +func get_title(path, default_name): + # opening the file + var f = File.new() + f.open(path, File.READ) + var arr = f.get_as_text().split('\n', false, 1) + if not arr.empty(): + return arr[0].trim_prefix('#').strip_edges() + else: + return default_name +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## For searching the tree +## used to search and select an item of the tree based on a info saved in the metadata +## in most cases you just want to search for the item that has a certain path +## +## the paren_item parameter is only used so this can call itself recursivly +func search_and_select_docs(docs_tree_item:TreeItem, info:String, key:String = 'path'): + if info == "": return + if info == "/": + docs_tree_item.select(0) + return true + #print("Asearch ", key, " ", info) + #print("Asearchin on item: ", docs_tree_item.get_text(0)) + var item = docs_tree_item.get_children() + while item: + #print("A ",item.get_text(0)) + if not item.has_method('get_metadata'): + item = item.get_next() + + var meta = item.get_metadata(0) + #print(meta) + if meta.has(key): + if meta[key] == info: + item.select(0) + return true + if search_and_select_docs(item, info, key): + return true + item = item.get_next() + return false + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +#### For bouilding the tree +#func create_reference(): +# var RefColl = ReferenceCollector.new() +# RefColl._run() diff --git a/addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn b/addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn new file mode 100644 index 0000000..e4f6bc9 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd" type="Script" id=1] + +[node name="DocsTreeHelper" type="Control"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Documentation/Nodes/DocumentationTree.gd b/addons/dialogic/Documentation/Nodes/DocumentationTree.gd new file mode 100644 index 0000000..7493c88 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocumentationTree.gd @@ -0,0 +1,32 @@ +tool +extends Tree + +var documentation_tree + +# emited when an item is selceted +signal _page_selected(path) + +################################################################################ +## PUBLIC FUNCTIONS ## +################################################################################ + +func select_item(path): + #DocsHelper.search_and_select_docs(documentation_tree, path) + pass + +################################################################################ +## PRIVATE FUNCTIONS ## +################################################################################ + +func _ready(): + connect('item_selected', self, '_on_item_selected') + #documentation_tree = DocsHelper.build_documentation_tree(self) + # have to do this here, because the DocsHelpe has no access to the theme... + documentation_tree.set_icon(0, get_icon("Folder", "EditorIcons")) + + +func _on_item_selected(): + var item = get_selected() + var metadata = item.get_metadata(0) + if metadata.has('path'): + emit_signal("_page_selected", metadata['path']) diff --git a/addons/dialogic/Documentation/Nodes/DocumentationTree.tscn b/addons/dialogic/Documentation/Nodes/DocumentationTree.tscn new file mode 100644 index 0000000..cf2cca5 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocumentationTree.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocumentationTree.gd" type="Script" id=1] + + +[node name="DocumentationTree" type="Tree"] +margin_right = 506.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Documentation/Nodes/DocumentationViewer.gd b/addons/dialogic/Documentation/Nodes/DocumentationViewer.gd new file mode 100644 index 0000000..3368d42 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocumentationViewer.gd @@ -0,0 +1,21 @@ +tool +extends Control + +onready var DocTree = $HSplit/VBoxContainer/DocumentationTree +onready var DocPageViewer = $HSplit/DocsPageViewer + + +func _on_DocsPageViewer_open_non_html_link(link, section): + DocTree.select_item(link) + DocPageViewer.scroll_to_section(section) + +func _on_DocumentationTree_page_selected(path): + DocPageViewer.load_page(path) + +func _on_FilterEntry_text_changed(new_text): + var child = DocTree.documentation_tree.get_children() + while child: + child.call_recursive("call_deferred", "free") + child = child.get_next() + #DocsHelper.build_documentation_tree(DocTree, DocTree.documentation_tree,{},{}, new_text) + DocTree.call_deferred("update") diff --git a/addons/dialogic/Documentation/Nodes/DocumentationViewer.tscn b/addons/dialogic/Documentation/Nodes/DocumentationViewer.tscn new file mode 100644 index 0000000..6a6228d --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocumentationViewer.tscn @@ -0,0 +1,49 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocumentationTree.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocumentationViewer.gd" type="Script" id=3] + +[node name="DocumentationViewer" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HSplit" type="HSplitContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="HSplit"] +margin_right = 230.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FilterEntry" type="LineEdit" parent="HSplit/VBoxContainer"] +margin_right = 230.0 +margin_bottom = 24.0 +placeholder_text = "Filter Documentation" +placeholder_alpha = 0.502 + +[node name="DocumentationTree" parent="HSplit/VBoxContainer" instance=ExtResource( 2 )] +margin_top = 28.0 +margin_right = 230.0 + +[node name="DocsPageViewer" parent="HSplit" instance=ExtResource( 1 )] +margin_left = 242.0 +size_flags_horizontal = 3 + +[connection signal="text_changed" from="HSplit/VBoxContainer/FilterEntry" to="." method="_on_FilterEntry_text_changed"] +[connection signal="open_non_html_link" from="HSplit/DocsPageViewer" to="." method="_on_DocsPageViewer_open_non_html_link"] diff --git a/addons/dialogic/Documentation/Theme/DocumentationH1.tres b/addons/dialogic/Documentation/Theme/DocumentationH1.tres new file mode 100644 index 0000000..71794b0 --- /dev/null +++ b/addons/dialogic/Documentation/Theme/DocumentationH1.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Theme/DocumentationH2.tres b/addons/dialogic/Documentation/Theme/DocumentationH2.tres new file mode 100644 index 0000000..e667335 --- /dev/null +++ b/addons/dialogic/Documentation/Theme/DocumentationH2.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=1] + +[resource] +size = 24 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Theme/DocumentationH3.tres b/addons/dialogic/Documentation/Theme/DocumentationH3.tres new file mode 100644 index 0000000..c12f722 --- /dev/null +++ b/addons/dialogic/Documentation/Theme/DocumentationH3.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=1] + +[resource] +size = 20 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Theme/DocumentationH4.tres b/addons/dialogic/Documentation/Theme/DocumentationH4.tres new file mode 100644 index 0000000..1326b0d --- /dev/null +++ b/addons/dialogic/Documentation/Theme/DocumentationH4.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-BoldItalic.ttf" type="DynamicFontData" id=1] + +[resource] +size = 20 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Theme/DocumentationH5.tres b/addons/dialogic/Documentation/Theme/DocumentationH5.tres new file mode 100644 index 0000000..122fcab --- /dev/null +++ b/addons/dialogic/Documentation/Theme/DocumentationH5.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf" type="DynamicFontData" id=1] + +[resource] +size = 18 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Theme/Font/LICENSE.txt b/addons/dialogic/Documentation/Theme/Font/LICENSE.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/addons/dialogic/Documentation/Theme/Font/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf b/addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..54ad879b41b5db8b21dca1aa00a2d474697e7bf0 GIT binary patch literal 398652 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

5=@2fg@0WgsE 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 Hw+s7Ue{H_Z literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/text_event_1.png.import b/addons/dialogic/Documentation/Content/Events/Images/text_event_1.png.import new file mode 100644 index 0000000..f99f6eb --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/text_event_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/text_event_1.png-c1ef7be33362776ee815070c9be95e63.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/text_event_1.png" +dest_files=[ "res://.import/text_event_1.png-c1ef7be33362776ee815070c9be95e63.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/text_event_2.png b/addons/dialogic/Documentation/Content/Events/Images/text_event_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5041b17098cb1f1130f7cce9079393906d0a26d2 GIT binary patch literal 5691 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/text_event_2.png.import b/addons/dialogic/Documentation/Content/Events/Images/text_event_2.png.import new file mode 100644 index 0000000..d7ecd4c --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/text_event_2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/text_event_2.png-d8c291379c3bc509219959a9270f0754.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/text_event_2.png" +dest_files=[ "res://.import/text_event_2.png-d8c291379c3bc509219959a9270f0754.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/FAQ/CSharp.md b/addons/dialogic/Documentation/Content/FAQ/CSharp.md new file mode 100644 index 0000000..7d2b0e8 --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/CSharp.md @@ -0,0 +1,14 @@ +# Can I use C# with Dialogic? + +Yes, but it's experimental at the present time. If you want to try it out, and you find issues with the implementation, please let us know. + +Usage: + +`public override void _Ready() + { + var dialog = DialogicSharp.Start("Greeting"); + AddChild(dialog); + } +` + +This is the PR that added this feature: [https://github.com/coppolaemilio/dialogic/pull/217](https://github.com/coppolaemilio/dialogic/pull/217) \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/FAQ/Signals.md b/addons/dialogic/Documentation/Content/FAQ/Signals.md new file mode 100644 index 0000000..8cbb31b --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/Signals.md @@ -0,0 +1,18 @@ +# How do I use signals with Dialogic? + +## Emit Signal event +You can learn more about how to use this event in its own documentation page in the Events folder. + +## Other signals +You can also listen to Dialogic using four preset signals: + +- **event_end** and **event_start** are emitted for each event in your timeline +- **timeline_end** and **timeline_start** are emitted when a timeline starts and ends. + +You can connect signals using the editor or via code: +```gdscript +func start_dialog(): + var dialog = Dialogic.start("my_timeline") + dialog.connect("timeline_end", self, "dialog_ended") + add_node(dialog) +``` diff --git a/addons/dialogic/Documentation/Content/FAQ/can-i-use-dialogic-in-my-project.md b/addons/dialogic/Documentation/Content/FAQ/can-i-use-dialogic-in-my-project.md new file mode 100644 index 0000000..e3e9758 --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/can-i-use-dialogic-in-my-project.md @@ -0,0 +1,4 @@ +# What license? + +**May I use Dialogic in one of my projects?** +Yes, you may use Dialogic to make any kind of game - even commercial ones! The project is developed under the [MIT License](https://github.com/coppolaemilio/dialogic/blob/master/LICENSE). All we ask is that you please remember to credit us in your project! \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/FAQ/create-timeline-using-gdscript.md b/addons/dialogic/Documentation/Content/FAQ/create-timeline-using-gdscript.md new file mode 100644 index 0000000..1eeff45 --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/create-timeline-using-gdscript.md @@ -0,0 +1,28 @@ +# Creating timeline in code? + +**Can I create a timeline using GDScript?** + +Yes! It's a bit harder since you will have to create each event yourself, and each event has to be **valid.** To get an idea for how to build one properly, open an already created timeline with a text editor and see how we set ours up as an example for yourself. We'll be adding a better tutorial and documentation on this process eventually. + + +Here's a simple example: + +``` + +func _ready(): + + var gdscript_dialog = Dialogic.start('') + + gdscript_dialog.dialog_node.dialog_script = { + + "events":[ + + { 'event_id':'dialogic_001', "text": "This dialog was created using GDScript!"} + + ] + + } + + add_child(gdscript_dialog) + +``` diff --git a/addons/dialogic/Documentation/Content/FAQ/custom-portraits.md b/addons/dialogic/Documentation/Content/FAQ/custom-portraits.md new file mode 100644 index 0000000..3f778e2 --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/custom-portraits.md @@ -0,0 +1,3 @@ +# Custom portraits + +You can define custom portraits that are animated or have particle effects and shaders by selecting a path to a scene (*.tscn) rather than to an image in the character screen. Your custom scene can be a Control node, a sprite or an animated sprite. When selecting a Node2D Dialogic might be unable to access its intended dimensions due to the nature of Node2D not having a specific size attribute defined. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/FAQ/how-to-make-dialog-show-up-in-game.md b/addons/dialogic/Documentation/Content/FAQ/how-to-make-dialog-show-up-in-game.md new file mode 100644 index 0000000..ce2c59c --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/how-to-make-dialog-show-up-in-game.md @@ -0,0 +1,13 @@ +# Enable/start dialog? + +**How can I make my dialogue show up in game?** +There are two ways of doing this: you can use GDScript or the Scene Editor. + +Using the `Dialogic` class, you can add dialog nodes from code easily: + +``` +var new_dialog = Dialogic.start('Your Timeline Name Here') +add_child(new_dialog) +``` + +Using the editor, you can drag and drop the scene located at `/addons/dialogic/Dialog.tscn` and set the current timeline via the Inspector. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/FAQ/input.md b/addons/dialogic/Documentation/Content/FAQ/input.md new file mode 100644 index 0000000..89cfb0f --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/input.md @@ -0,0 +1,5 @@ +# How to change the input? + +Dialogic uses a godot `Input Action` for the so called `"action key"`. You can create a new `Input Action` in the `Project Settings` under `Input Map`. Then you can select the action key in the dialogic settings. + +This way you can use anything from mouse buttons to controler buttons or all of them together. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/FAQ/plugin-shipped-godot.md b/addons/dialogic/Documentation/Content/FAQ/plugin-shipped-godot.md new file mode 100644 index 0000000..78d9b14 --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/plugin-shipped-godot.md @@ -0,0 +1,4 @@ +# Why a plugin? + +**The plugin is cool! Why is it not shipped with Godot?** +I see a lot of people saying that the plugin should come with Godot, but I believe this should stay as a plugin since most of the people making games won't be using it. I'm flattered by your comments but this will remain a plugin :) \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/FAQ/portraits-not-showing.md b/addons/dialogic/Documentation/Content/FAQ/portraits-not-showing.md new file mode 100644 index 0000000..683ebb8 --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/portraits-not-showing.md @@ -0,0 +1,6 @@ +# Show portraits? + +**Portraits not showing in game?** +In order to make the characters show up on the screen, you need to make them join your current scene using the [Character Join](../Events/001.md). + +If you used the join event and still don't see them, you should try modifying the offset and scale values in your character's portrait until they do appear. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/FAQ/resolution-small-dialog-big.md b/addons/dialogic/Documentation/Content/FAQ/resolution-small-dialog-big.md new file mode 100644 index 0000000..b55dd3a --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/resolution-small-dialog-big.md @@ -0,0 +1,4 @@ +# Text box to big? + +**My resolution is too small and my dialog box is too big. Help!** +The scale of dialogue boxes and text are set in the Theme selected for the project. If your resolution is too small, the default one may be too big. Create a new theme and make the box and text sizes smaller until it fits appropriately. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/FAQ/touch-support-tutorial.md b/addons/dialogic/Documentation/Content/FAQ/touch-support-tutorial.md new file mode 100644 index 0000000..6b1ea30 --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/touch-support-tutorial.md @@ -0,0 +1,41 @@ +# Is there touch/tap support? + +**How can I allow touch/tap to advance the dialog?** + +'Tap to advance dialog' is supported by default as of release 1.4.2. + +By default an invisible 'Touch Button' covers the full screen when Dialog is shown, so a tap anywhere will advance dialog. If you do not want automatic resizing and full screen touch first uncheck the 'Tap area covers full screen' setting: + +![image](https://user-images.githubusercontent.com/7741797/170019154-ee5f0231-b8c8-4641-a6df-0490ee165749.png) + + +Next go to the **DialogNode.tscn** + +![image](https://user-images.githubusercontent.com/7741797/170019276-1ffcc9fe-3e4b-474d-9457-4884f941e08c.png) + + +And find the **TouchScreenButton** node + +![image](https://user-images.githubusercontent.com/7741797/170019315-91d79111-2fda-40fc-b1b6-62c5492a81f0.png) + + +In the inspector, make the shape visible so you can edit it + +![image](https://user-images.githubusercontent.com/7741797/170019396-35c11002-c5f8-4fd7-91bd-28f88e5d431e.png) + + +Then resize it to your hearts content. + +**How can I select choices with touch/tap?** +Choice buttons are simply normal Godot UI buttons. This means by default only a mouse click will work on them. If you wish for otouch tap support you have 2 options +1) Emulate Mouse From Touch in your project settings + +![image](https://user-images.githubusercontent.com/7741797/170020234-dd0068bb-ede6-4f3e-a3a1-2eabaa2fe76c.png) + + +2) Edit the **ChoiceButton.tscn** + +![image](https://user-images.githubusercontent.com/7741797/170020314-968c96d4-77be-4641-8be5-4e2b16979cfb.png) + + +And attach or replace it with a touch buttons as your project demands. diff --git a/addons/dialogic/Documentation/Content/FAQ/why-not-graph-nodes.md b/addons/dialogic/Documentation/Content/FAQ/why-not-graph-nodes.md new file mode 100644 index 0000000..6883ea3 --- /dev/null +++ b/addons/dialogic/Documentation/Content/FAQ/why-not-graph-nodes.md @@ -0,0 +1,6 @@ +# Why not graph nodes? + +**Why doesn't Dialogic use graph nodes?** +Because of how the graph nodes are arranged, the screen gets full of UI elements and it gets harder to follow. + +If you want to use graph based editors, you can try [Levraut's LE Dialogue Editor](https://levrault.itch.io/le-dialogue-editor) or [EXP Godot Dialog System](https://github.com/EXPWorlds/Godot-Dialog-System). \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Images/dialogic-hero-1.3.png b/addons/dialogic/Documentation/Content/Images/dialogic-hero-1.3.png new file mode 100644 index 0000000000000000000000000000000000000000..58e61bc984a58ed6481ecfe93f7846efa238b78b GIT binary patch literal 25849 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 p%THj1cu#^{fA)M1P&wjz_wly+ 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 + +If you need this format changed, the code can be found here: + https://github.com/coppolaemilio/dialogic/blob/5e99dfe0374695ff4ec3680bad75d17ffe939264/addons/dialogic/Nodes/History.gd#L244 + +### Log character joins +Record when a character joins a timeline in the format: +*\ \* + +Which by default displays as: + *Emilio has arrived* + +### Log character joins text +The text to display after a character name when a character arrives. This defaults to 'has arrived'. This option has no effect if Log character joins is disabled + +### Log character leaves +Record when a character leaves a timeline in the format: +*\ \* + +Which by default displays as: +*Emilio has left* + +### Log character leaves text +The text to display after a character name when a character leaves. This defaults to 'has left'. This option has no effect if Log character leaves is disabled + +### Scroll to bottom +Auto scrolls the history timeline to the most recent entry. Disable this if you wish for your player to start reading from the first entry and have to scroll down manually + +### Reverse timeline +Add new HistoryRows to the top of the history timeline, reversing the default way the timeline is built. This option is **disabled** by default + +### Show name colors +Use the color defined in the character within the timeline + +![image](./Images/history_character_color_example.png) + +In this case the characters name woudld be blue in the history timeline. Disable this option to force character names to use the default font color. + +### Line break after names +Forces the character name to be logged on a separate line from the rest of the text. This option is **disabled** by default + +### History button position +Choose the relative location on screen you want the default history open and default history close button to appear + +![image](./Images/history_button_positions.png) + +If you wish to customize this further, consider using the exposed *toggle_history* function described in History API below + +### Name delimiter +Type in the 'delimiter' to be affixed to the character name in the history timeline. By default this is a colon *\:* which would display as: +*Emilio: Welcome to dialogic!* + +Changing this to a dash *\-* would display as: +*Emilio- Welcome to dialogic!* + +### Screen margin +Sets a distance in pixels that the history panel will buffer away from the edge of the screen. + +![image](./Images/history_screen_margin.png) + +This example would give a margin of 25 pixels on the left and right sides of the screen (X axis) and 10 pixels on the top and bottom of the screen (Y axis) + +### Log margin +Sets a distance in pixels that the history panel will buffer away from the HistoryRows that it contains. + +![image](./Images/history_log_margin.png) + +This example would give a margine of 45 pixels on the left and right sides of the screen (X axis) and 15 pixels on the top and bottom of the screen (Y axis). Note that the Y axis pixels may not be as apparent as the scrollcontainer may obscure the bottom margin. + +## History anatomy +![image](./Images/history_scene_tree.png) + +The History node is a child of the DialogicNode and is made up of an AudioStreamPlayer to replay TextEvent audio and a ScrollContainer to ultimately hold HistoryRow instances. Neither of these nodes have much cause to be changed or customized. + +![image](./Images/history_script_variables.png) + +The History node has four exposed script variables that are instanced at run time and can be customized, changed, or extended to suit your needs. These default parts can all be found in the */addons/dialogic/Example Assets/History/* folder. + +### History background +There is no special code and few considerations when replacing or customizing the HistoryBackground. Its simply a panel with *mouse_filter* set to ignore. + +### HistoryButton and HistoryReturnButton +There is no special code or considerations when replacing either button. The only difference in these buttons are the Button texts. The buttons have their own theme that can be replaced, overridden, or ignored + +### HistoryRow +![image](./Images/history_row_scene_tree.png) + +If you intend to replace the HistoryRow, make sure to extend the script. HistoryRow contains two important functions +* add_history(historyString : string, newAudio='') - Called to actually write the data to the HistoryRow by the main History node. Edit this function with care. +* load_theme(theme: ConfigFile) - called by the History node to theme the HistoryRow with the default theme of Dialogic. If you wish to style your HistoryRow manually, than replace this functions content with a *pass*. + +The key nodes of the HistoryRow are the *RichTextLabel* which is where the actual text appears and the *PlayAudioButton* which allows replays of audio dialog in TextEvents. In the case of customizing your own HistoryRow, you will need to set the node path of these nodes which can be done via the script varialbes as seen below +![image](./Images/history_row_script_variables.png) + + +## History api +There is one exposed function in Dialogic that relates to the History system: toggle_history(). Toggle history is used to create your own custom button or function to open and close the History window. It is called like this: +*Dialogic.toggle_history()* +And can easily be tied to a button or function like so: + +``` +func _on_CustomHistoryButton_pressed(): + Dialogic.toggle_history() +``` \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_button_positions.png b/addons/dialogic/Documentation/Content/Reference/Images/history_button_positions.png new file mode 100644 index 0000000000000000000000000000000000000000..62a8120ae5be52d0245e36db41afbae79aee4153 GIT binary patch literal 10348 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_button_positions.png.import b/addons/dialogic/Documentation/Content/Reference/Images/history_button_positions.png.import new file mode 100644 index 0000000..85b814a --- /dev/null +++ b/addons/dialogic/Documentation/Content/Reference/Images/history_button_positions.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/history_button_positions.png-72533a28ddfc07077b44d0a6e96e1baa.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_button_positions.png" +dest_files=[ "res://.import/history_button_positions.png-72533a28ddfc07077b44d0a6e96e1baa.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_character_color_example.png b/addons/dialogic/Documentation/Content/Reference/Images/history_character_color_example.png new file mode 100644 index 0000000000000000000000000000000000000000..eeffe9ba9d6dc20eb7b4876215eabafaace8bc39 GIT binary patch literal 2289 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2!=^SK~#8N?cI4? zRaF89@ZVz-ab`qOP(aNln=#8AtfX9$LIs8`o!rRX%aqh+b(SdH^> zMsrDR1~k+_%n!MYV^f-dkf5TNiL$*n_ndd|u_@2%Akyde^>aV(-gEAI-aih%d(J)g z-Dl|9J;VeeBD!Zb>XnFy?hyl&h)5>}C=roP3{WB>ofx1*L^?4*iHLM!fD#eu!~i8C z(un~|M5Ge~l!!0Eo#WD z3eeHRU&ZQ`i{RSQMU_}Ai<*s29XqHkqK8Lv(hi*aF1^MjcG+UJmwti2?~Cy1lhl^k z$`xMmKlv0GB8MO5k35djhqPIe*NW={`CoL z{@d2u+sk8DslD`j$)}fEt8CBbN$A--5Wao`Fk@B(+}&FtA%3Z)PLh+HrY@i7sYGh-awTwADj0Cu*v82pDo#6{1SpDTLAzi48)rDp!@i5L*lPi+yI zWu4E)+3z#ta`Wab6kPl9_V&d~m*qb8_V!p5F&kfhwO=lx2kGqGRMrWD2ldAniQDnt zQ-_gya4+V}nj*{NVxsU$NB|~H93y+1@4XWz%Z0)lg~-nN0T~%tIB+l(>ojE@-v$>X^i1vuc%rxqlve((!HBCV-h-d?u3Cu#vmv(49-oPA|`r~tb4S5 zJ1kx}8*}DGqFeWVm@qjUhtrPAI?=Nf;kbIudbIE0g>e&R$nvV1HFJi)pD&X39Z)6u z-0e82{#YHLwpuSRB`qB}Kja}axQ{BWE>AnNryo0|o$asV(&Z~Se&RGd+}%{I+0pcq z$jr)tN&AFW zS0bK%sv{g5HIn-*(L#0Gj(^H^B5O6$+Rw1p1|e!mEWSJQz3er{#jkq3keRuspDVb^vP7DAK3>R8-omCy=ps7sy|i-C=BM8 zk2i0J_p@E_NIOq+K^5(_^6_JbVA1@kh>VyfhwFCscB2Z8633X%jEIH_H2f% zTNaam-oBwYmysm{Z0_u-vixpt+_-_v%=0*RE)yxKM=*Wn0(5!$NpyS8OYKoR#|oFp ztT|4qANL%fLedwha#r5wMQ@arl&Mnl1d@%x21)xQ}y()^enACPI~Zk1*pkn!lqBQA;8ZE4vox>Nyxu)Rcl;!cS(3Vxs?~g>W8@9Y3Y^sO-ea{~#!^pA1nE&Qm78UTKEC zw&SGwqbooKF`1NnFij5I%Vp=}V*9Q{j0o$Gw<5#w#BU$NUp~73r}b>#^)I9yIfkJF zgAuiGI>wJ3issEM4NOcz8En)=TB3Up8@C$UKK%?)i~orIiJ#)#)v@q!Zzb!D+9+$( z$e~F5{2w@U;4}2<`8>u=m?`Uo_ttHcJ;3Co?K0fT1^D+t>cKroIj|e+*2c>_ScZ+9 zfWpF>pHC_7Nfp=qQxEOc-m?cywXoi?bFZp3yW4S6{o&*6$SQoC9W^w3oE;I-LyQ4R zM5Ge~l!!~dZvCy~f1=1HV>uy-(jtFbPy2TBcw_(L#N z_~skY-H5hQm*FWeK&e3yz2MT)Vzot7GtovK#E6MQc(RHZ!qJy2?}ZWUgaPX;3@ zC!Qbd==4jqRreU6)Zkpm{uU;qk&{SNBQc329zxyP^Kn&DSAhQkrXE%s{R4oj00000 LNkvXXu0mjf-tJ@j literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_character_color_example.png.import b/addons/dialogic/Documentation/Content/Reference/Images/history_character_color_example.png.import new file mode 100644 index 0000000..34580b7 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Reference/Images/history_character_color_example.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/history_character_color_example.png-e1c188d6ea27265bea79e5b0452da876.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_character_color_example.png" +dest_files=[ "res://.import/history_character_color_example.png-e1c188d6ea27265bea79e5b0452da876.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_log_margin.png b/addons/dialogic/Documentation/Content/Reference/Images/history_log_margin.png new file mode 100644 index 0000000000000000000000000000000000000000..be25b0b8534ff816049a69f98735bdc561f53e84 GIT binary patch literal 2330 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_row_scene_tree.png.import b/addons/dialogic/Documentation/Content/Reference/Images/history_row_scene_tree.png.import new file mode 100644 index 0000000..2808795 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Reference/Images/history_row_scene_tree.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/history_row_scene_tree.png-45ecd56d38d8cae30e7bfa33cc7d6498.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_row_scene_tree.png" +dest_files=[ "res://.import/history_row_scene_tree.png-45ecd56d38d8cae30e7bfa33cc7d6498.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_row_script_variables.png b/addons/dialogic/Documentation/Content/Reference/Images/history_row_script_variables.png new file mode 100644 index 0000000000000000000000000000000000000000..5f8c1c0e990a7a10b9c40c0980cc5d4caa5a86f4 GIT binary patch literal 10319 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 XTGF@`GqLr600000NkvXXu0mjfR@tgn literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_screen_margin.png.import b/addons/dialogic/Documentation/Content/Reference/Images/history_screen_margin.png.import new file mode 100644 index 0000000..61304ed --- /dev/null +++ b/addons/dialogic/Documentation/Content/Reference/Images/history_screen_margin.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/history_screen_margin.png-5500c4e829498bbfd61b259518ec8556.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_screen_margin.png" +dest_files=[ "res://.import/history_screen_margin.png-5500c4e829498bbfd61b259518ec8556.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_script_variables.png b/addons/dialogic/Documentation/Content/Reference/Images/history_script_variables.png new file mode 100644 index 0000000000000000000000000000000000000000..91f89f52d231a295615ba2877eb2b563feb50501 GIT binary patch literal 23313 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 BQQ80i literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_script_variables.png.import b/addons/dialogic/Documentation/Content/Reference/Images/history_script_variables.png.import new file mode 100644 index 0000000..d9afab4 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Reference/Images/history_script_variables.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/history_script_variables.png-149d850163ef255e463f2a6fe425c246.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_script_variables.png" +dest_files=[ "res://.import/history_script_variables.png-149d850163ef255e463f2a6fe425c246.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_settings_explained.png b/addons/dialogic/Documentation/Content/Reference/Images/history_settings_explained.png new file mode 100644 index 0000000000000000000000000000000000000000..77738bfff6abca3494dc27a0bcf4867be7a6ec95 GIT binary patch literal 70891 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⁣B4rMT@Q|smF8@gK?FUM|4+yZ5wgn#x*9Ns??C>j`aZqz zXh_XiNPRFk@ZiYp6NupR{sIo+Slvr+0899_m&SwI5j1!Zrz~KSzbR4F+aPCdZc*r5 zFK$#CU@X9BWHg{8jyK1w7+IeDJ6cGmnYfw`J#!3fcgm$Lw()r>cnwp4VZiL^* z7dyOtL6j@06YYEN&ohf^=!Ks>E_0|y+a_AQZH&Z3GybFULtO}4ZUOk}Me$%xFqq(Y zU}t1{PT2dzCNd3%QAljeH9wjfC!3Z)4tRHLF*6@pNqgqjjEx4LPI*t+RaK-smbf!_ z3;8o?D|sP7*Z-4{iRDSazOJl_^T@%Fh9*-s<9`-`K|Qm`svHWMDbu(LcP**DTCO)0obwNULI z)UtSj@HiwSWON6SZPciv4G6PcBmVr{np8d+f%F!fCwXuyj@Lz#!fGCOqzttjEi$I$ z{{5_Re_e_%TjJ1K#(Vuk4fo|*WreY7IyvGGFM2?uP8SWZHf&DJuTQ(R)IJikcsdX! z$d(e)94cbfq9J+|@*dE?TJ2ApL?&*Fizj67PGwM#UCH;?0)kx^%$8(N#&>lColL1G zdsyPQ9mvA)7Gr=6g8jc-#O$NAl zc+{7YO*sc(pjy|ShhEz04{}5BR{3a#UI);JAMNc9{hL0cMaRoVb?zk1C!4I|+LV8m z5t740LB9Ey=Z(C)q&W9gHjK+ofQuXE?3^Lj(2m-)|D@Fug*0mNyXUicloWJoCmp{t zFU-YdlTec_{G3JsrdW)i8yKe#bv^1O~F;)V&%0U%e==- zZUXeJn$oMHE|5*{7BP(lV&TfQs~@J7NDrp@t(K&td=K*MCunJJ9eyR1j2hnk(tsKY zUoxj0k~@vechC9N#h@iscxh0be&?CNfZ)Iw6t`rk>*U+Bb-7`CHj%bRRl1zr0L`0S za48i>zsQ&?8{&mlZ&IH7m|7k9xpxO^cZqBv^Ssg%rE%m8f%D(F6F!bVA={a3)@>kM zV&vDNQ9xhMGP*DgM9B`P2EkHJGS#k!b)I0+sk#GQj5VG|#((nxgTRWeZC}clF3>~x zajRQW*8>*Gmr1gskVLEMO-UKgGrn`bz`o#31tXJ)JMP0b0&P~<&W_Pe!q2~wbaZqK z?Z>OEq#`9??v&Wtd7PrF#$eXCn7Pt{GsHCsh(3U@{j+%<8r9c(#BW^u>%1#p{sa+ywTzUmI4&zPV&;bv-MPKKo zT5YJ@Ri%Pm=skCxtk5oNk8khdd-yPAs>+3Xt@~M-xyl!ZU&udZ6p6p8me#dWtJXi; zFziNDq8SkDN9wTY&i+nkbaUfu2wuBV-`J=rHqq#->(B(M*#@Do^(>-T%xa?T8|6Om z!-n0-Fp)qx_$6X3!hTzZdtb-MHGB9n^zCoHiDA!7FwRwg^;o(-VdFCd9Nd~Tz8e+4 zr#@J|+$EI_W_i+h#nAniE`s>^>XOHg`=>3C-XF5g5(8Y_b2$j;WAd zI);KPzbZ5$K(=f; zo9q{tkcHkG21jG5n)U~GBCsU1r8wNEExs$yr-?V$<-J`s*R={ zLBKqJds@9Uilip%+SAV9Uu&;hJ)CRCzF}_?_60^bVYw zHm>?g4}6H6FQ5NvHa=amo0RFhc#tA&k4`%9#$%{hBwn%MPv`w72V`Ys*Ozr)_lnx= zG9OIBtsDc@$ag`*AiA#MepX3`OY?gr4tsHmC|nDu<@veo_7l<8v!WiKzuw&ow^&y7 z9jLP)m1X9H2C*fB!=W0tH(9BYLdEhRfx9o`5NGFP{CM|+7kN&frQAk>i5v5k>zhLY z()+&JQC}_`s3zT-uezLQ9F?ho%3b|@iSX(05`EOPz?QzNt*wIwRj$TU!LV4<1!P@h z7#PQ4y7mH;s>VTUURj~Y@_$_shM(J_waSkT{waX=U@f=ovodz>UdcF!omykpSqb+X>4a+{p(xh zr>Vyu-Lxgham=Uk3tR01&x&qob|zmar!v@+bQrEO3R75436X=V1j(+R|22gSEgF4N zzC#1^V*|YmA})XzbHqvk4I?h5oRCPrgT`=W=4~#v7rs7IEMgefHRUY2bj-=GM0}~? zeUKYHCps*>XOfKNE1!1;Zth~`D7185GNZj_wCoxcYc%_ zplh(Z)k$4~d~#RN+?it1bI-$Hg`{BTyvkJ%l0^LjUFQ|M5?;}Y*yHy&Cds26je7@+o z+;YU${sgIgoryK0$ps}^oc!XEr6->|T5kEk-0#tJrIQu9CX!_|G4t|FbMKVIRSJVc zlXtT;nseg|iF}3-bZRr_8y1EgO8~pL{>&ycVP_uw z+nZ^JWilgF*G`_tqAN^>ET=zRGT!wZ@B=ld9V^qTy#}o)iQ&Vbx&BG7Ynp0$ryIh= zPfi-dxe9FoNwZp=jhDI0Y!uF0<2w~LGg(lN>u#}v_GdE3AuW-(rr>E2(~5M7;y(03 zYov`sGFs+&z`W|8<L^z z_J~#;uhoGZ&JbMsLqdJT>t8`8Cw)!mE3y&xb2I1YOu%)GdmNyE$59CrUy@S=G`Fgs zfCFKtY@bK997(@PoN%-+y)q037ucz}jA6t~H>D=$6@X! zO`qzDQuCyhj=%7Ad9K*>KATjuHIE9Vy-y*v?VOAo)U;1_T;i9@(uIW-w$G56(>gs!MKN1&imv zfoP_d%tuoUIKp$hbgw1amN-q#B9D77p5`afxByE^o^10lH9@W_=Yh!FgF2KeR<@aq z3@!`Bj{pfFf9rMo^aFzPRE4SbFZ-Qu5DsY_!+C$GjBijx_TI60uoyW0m(+K|BP#Zj z^fy2ND@_($_g44~`*Hz?_4Wy}u3}|R*s+$t2$4wU-ujJb&ZI#$yU{Z;iuAdFd=0R? z*||FG4I}qwq3~3zfSArtA)58_lpFhBMh_3?TS}j0C-J>B3wy0YWLhl968+OlD;B|+ zliV&2Hy(1rT+pFQRFr2d|5~X>o!j@B^fe*w+tP|uwRKjaVr5F6Y`z`7>IQTL@9T@L zKT~!Q)Z2#U<0EPFS@-fz1=Q|HChly?m!f3(Z;#10zpF<;kjrbwE}1qEK)mX4OaxRY zmW_URv;54w1v$C0^Jls->XsTq6WdIukR29I`VSQ%;M>;4Cith&;0DEpL)OzR21+(( zmRgX29WpzQJ34hpP$P$xon58caqR2oYlBTTM{GwqmR2l)fqGM!zQ=aE^`CV8|S+ynU((bCOhXTdFhsGRV z3`g)g%rQ7#s_ppQK_Uz_KkUIQ9IJ-!q@GlE%X*_}0ICvJ_w<14K~gGqS;0mrLh+;L zw`NP{Ok8Fs4k>POC!`8l^i(|pQ!q8`Olpl^cx6~nz07}9cj3-J2h=sN5G!1dnpF0u zrb#RPE-Ypn6!K@t9BB~)QoS@~XU442=br~g(vV%MDW|)pyI~8Pxdggp|Gk*Hgn{(h(b7{tgUOPaA!Al6yb(CJXj_CWPQI8tCuk ztpuG%cRI?l0&O@sCmOUjxx&V`r>Y}&=b8mi11nS>xi~puM3;ijN1gs;O-cN9H^gCp zTq3V%*)Qfsvp*13JAX}MDxxF4k!X{z>)s=}_4Gg_c%TEx!09xB6WJ=K;ZW<)ywuk)M7Lu$ z^6sOx)`0Lso|G1hf%bqn;C&Q5D~&2)l{<7c5iqOzP{Jhi88c7yr`MzufPnTvFoxdY z+SGm*k6FbTtBdXcpZRm`?cl9(VbfKv+PJtl^{IfGt2DKu(Jz&io03R~x%70)Y}Ud* zW{cHcaPB-ycMYgE3@Ouz-(}$Y)y(rgpyo@Tyr=-y?~^BO@+Y&$AqRnDj|7?$T!)2` zDfDY*pMS_Y3WCh}#;dQ+9v14R23hKdFBAq+< z7BXsj=W6X&G(t7$+1MWcF}Q~EBK3D^S!}0eeV}p<_T1TD};^9Et8|@ zsq%psttZLv?o;acvMocNW>rbo{1uz8Jb7#1+q~wP0{dhj-_|aLtpbBxZnim^R*xy) z8ZZZOxK%$4{q81G{hI&tA7>tkNn6h8oQk!+dkRLamKFk_vTHuuzb$t`LWO+BhGm9G zOQarDzPZo<7L_1+OIDT}+WF0zcg4qRVZJPw6@7S^hdW2>mrhAItPf7uu<~*qotzZl zu{6UyiSX*cf85IN^WWgjl4*{kB|P(&=h+^KfnJB9Ptac;`MPN!UmebMaBHR*wJgi4 zr;1qQjulThg6a*FUB370P~XHc>4y{fT(;iE!1w!7-OVl>Nlhqn7Yd6g36rfhWv?u0 zv>bF5YOOS_d?L!!=JQQ<3C|9>+OD^#$~9~ash!uSdqYH7kK=Kf>zgX?mufUDN!j<- zL=I*u6~O~o4j&k881gN$*nGtqtwk}m`!Xt#yn%PtIJ;KpeWS_PE=W~??(8_}BgRO& z^C&0=m}MIbOi)E2O`p7QHj(VaCnR*NN4Z-w_s#l|rV__N=?uRkH%xkQQpc8&@+n*8)vItL<^8H~RR~AzSr9NerEbz7%+&?RYTV`#F4}E| z+dk`qv1R5h8hKA+;jEIb_JIb=R^MC8r*CO;2!(!P_F{b!vf0r++3a2|AYaqE!L! zBiY;j@VT4f1`#o@C9-AW;Ipe&b`0S@wcn~ZSdGfXH zm{AG_^%K>y-hNL?f#n0@Ok-#x(W^FK?_FQdX{{>Yk)rA^Cavk*D*x%U5}(v^%2T`N zCd$NQg5oRy6(Kf1&CJT>8_!OO!8DTda~59p68vO*&<~zGE-W2(b=?Jckyoe?k>TQ7 zU)6G|D!iBogBd6IjBi}cYv0Q=;4)QX)1BGYH%+o1KQS$@TfR*fKXv{)8ro=nUI7?a zx1(Y{CR$#s5uo-CYPo$oxw~&VS|qboP13F4C}$ysxNg5Tu=3Z}D442oc|yknHXom49Q~v#wZ%8?rHo`sL%DdfULS9c!OjmAV8K|zm#~Xu4xoCtb52c4 zFq`O^sA2N%EE2eW{6Q2kC2-zn%Gk0dN`_(xUNk!G)-dtN+dPW4I zjghkhy2L~;1)TfEbjiJCb8-T^$RgB?u8sI#p!7Fh>hUALx({dO)JgmfjXWb%ESW@i zr7>}GW^eSO8PzOs5CxgC%FN z-J4dhlKrQBp`Q}DruMXwLb3acc@LJ~noebp`mGD`E^|l(+zf6EA{WNKj<4Z$vF%OD z^@VGvy!>hPi>Oi1KscQTBLYu3ypPt!1T1AgGm4li_Gf^g1G2nQTKhzaOHVjb;SYHO9-@J2_2&vXNShuv#&B2 z_L@)O8pv>fD;QaN(pM$-xYlhRuqLkzPgQRv;m_??f1M(nCg4@g(#V&cxUNq0XW~r( zP?7j-*Jtp*J)aYsH8qm4tjaI;TBw;Y#adBn*(?JX*%FBBK+tPav*FiS_?F0#F!{x- z)<2Ul>8n^jf6t}dcBb-0XXKuK`%{{}(XjFpP9ei^CZToRHIeLFqN1YcqoWk-z|&pz zw^y3eGx6ZDB8dmKy+)>X{sN0ou`|^l|0W2#uV$mqm+Lt-B!j3oXJ=-T6lV;licTFI+F|!sYcy&X9cO`vwuWSH3MMJO$FlZLNpe$NxeplY)FwA6jsZ91J4n&!=+% zOh*=vEvMZk20k}C6SZh4*%33YwPY7Qn|Hf^<~D}$2(a6H90h^EfgIKsxxf>LK&dm) z{L92S0NnU^(J+bMFyi$Jh zVQ<`Ta&>eq5ekOAw}Lu~3e)1iWtWNNX4C}1_eS~1)&<1H!=cFgtAn}Kl!3az-`q$P1LM9nD z=^&$qc`x@Y{SZP(MU$_j&wJ7}YCpS85WTtVXKGFvWx$C;?1;H9JRff>z<9-*64*C9 z56*M`&qKC+DmUPGYq)d}^x*XoC@C&3XGgv5TSm@CL zo9m}xP!OBHKSnPUtS^x?FnoWR%y8~{C0YMC6ExMd>1*B8-}~`P$%|RPq|1K-IV`b~ zwdS(lqOEnnO2x3rC52ek#>;0Od~+@~ka+hRnI;m3`$e-lh?$q{d7}w1Me8TCTl93S zPj+`X3`k!^zzIYZKhNa^#*DeXiZAdk}K0{1M;zAZ7aNV;AC{Dw~DT%zgu={ocy_mPu{{sj@nRhX*4kOShT^jlSF_I({R#sM~ ze~2HmuM2{vzKs7dQuLQ8=yOKk$U$JIs1_c$_}^9T2nlJ?;+{Nt;sDAd`;UI=Sc8I< z0ChGT;wkdKYi#S)I5ST*`R653FbLR#+R~(~qgw}H0Qc}mx7WQ9HUj;_ler5e3mE4= zjbSkW5(WV5_o2+ZUSkajg#$FgU@VZ|&og2WNP?sKTH}v73uWEjL@ygM}IMAxp z)S8s^=xCOfDVZxJD*vvw{!c4kYukKM!0xwCCd|$zc&!bLyd!thB+cEK_8o5UY3&O@ z_1>=drBPPq5Lqxc=Qy|rkhPj>oS**jr$c3z0rD-!tlF{nH@e0Jn*Z+IB^TYPZT3Ur zcI7N0=p5a9fa*pfb)|O|q)#9U57l7d5`cKlV-!x;M;LJT%+6*F07i1@ek%@L{N}ME zK&B?Wkmcffw>#ge3*heT8=r2_$Xxx)2<{b2EE?H;9PKg&bs zTo+@H_ZqdXy86z}LNTnTDK%q8L_#^=nyEUiz(5uj;T*V{whQPMDw~r_yW_}{J%wAE zUZ~#WyI`<_e=KlMeIui)%)V^7Kq1S#HRv9!i3YXOys+hevTe$|bkIsHjXTHn1CCX>B9W{ zJajI=iA}<3+-Uk$)WtCx`7^!Fk&M8-X2i2Z8l8+2`O@bH(Ev@0w4JH@W)T0fr@Xc7 z*{mNYDbNZ*F-v2 zO+*xg6$f=Mgc zl6kYO2+aNXW7A6cTp-x&ZHPrCUUa1nsZ(;PM-N_cZ1%%puP& z)QP|7j+@}Wr$Xb+43&YDx^NtalAw+l7>_N0&;hXBNteu@c$Cc-FltgWFcBl9H0JI?esP&CPm>6zg&qu%$l&i%{`+|3%NNj_d%1U;`yzx;@I&1z3*OlyHPf(l%ka{LE6Y$c;sM~2na`3aayg=(aV zs6!q&-olDnH7L8qfFlQ>jkgpksoAH8zQ&gu+SqXUIHwL5x7kk}siSX_5#=7YM|>Kq zDQZx_(o+TPFqi^93e~Uoo|Xa5`0@O2qfJlfWP&$^sJ0~^Pp9YV%$hy$sxd?CJJ&L; z1KW0mYnf;A_4LzvGxdE(qU8FhdNplC`Od_AF#nc{C98T@Y*w64o*i`SY5CEfVDp`9 z=V{~V^l%WClJO`nkM}e&G7?T72uPJZMMM0-b1;lg$@>BgshY+wJ@utmi=80YXLcw< z$CTG9DuZR4Rdf8?(K>?CwQezj_1_<9b0U@vB|(Np43q+nzpa~0F|KI_LgXSGC8alJ z>w{H6nlYe`V@5CP2gd4Egj1@cWg17??~D-1JZb2!9LQ>jVn3%-?zTkpWd>26E;0Ft zw?Udux+V`|PHTNecIJtq!Z=6%;L7bl%p#UJWCs<=k?d*_R;Z-qjy8lc1v2mU)FyR; zmY$X=q zfIiX+%|IwkKHSsQr75dbueOS@O`gd6S+gnV!v>Jw#e3BO9)3;WXG|zCCUJ!#!gOidHrk>?~u6y2|JzD$uro@@AkC%kAcCPMP zu#%f@Q0kjqJ+I57CB|7iIsu6VNWVx5en>fI>bzv@wjD4IgizlJZ>!w)LZ+&{Xk4Zn z5^J320BF;tK!Nc4apRjE^%gfX$-B#M@F%G7j;c2?G7}25-x~w#SWgPnCSM0EiyX*| z6eBK8o4s(0=D>AznaZb>(?v%|8(J$0N~!0>2FiZ^8N;&tFfn(>j`39R$#ijvQ!(|A zFf)R20n;z}pehHCCQ$F>U!z3P^?2bfY;?(C?V( zF?_QtT~{!rP#!PjM(5s%z{gE1_RYO=e4+* zI`zAz6+ju4lhflE7T7=$bhfFvxmqIkE0(|V>P)MzRSKKmq25K!y5w1wW@D&bNF~qh zIgI@4rh;lmP_|g8F@iR?)WbHS`t&w;%Y(U32L&FDAtTbSaC^uo1J4{#mQgz82nr-kcwC-Evn;edMx+&5K*V(CxrVxAt{VV`aR7pr2WJ{Mh`=7-} zRzVF$;CEMgFN=yESEnye4B+rWCL)=JWlnz2>q=@X59GZ!^Lgl3qH+RH4F(!01nq;JW_68Fvq2kT+?R3#y3)(wo+Voz z>}s$~G*EuzS`ni;@;V0P=eh$~eH=D*!W})9b{VLEQUR*6#OooJe)GR2RiDq;RomAE z&poF&TZOYo6b&7n!nsbJ&sMikJg2B@1mC^6z8hGHTQYr*O=T%)BN z!r`h{@A<*m%f|!ugOs#_gMs;p)uBIsoypIyFUyPN z7^<*q$W+K&8s-_={XKVd(pKS)rijepPG@dq6+}}!k<&A)UF#TtVTIG^iX%piRoBLKU3_&6J`3vPNpHGNBXhMS1&Z*@?Ztnu!t z6=w~tU$gRywG4qlPUwaJk;lhZc$0x|L6b?;G8Z8C4X1g{dLD#l7Jr`!FJI-R>8SJG zh`L6)uqC-J;luJcL|cJ~&eDQ+m2Ryet#SY`dAQf=*$@uN)GOvZb<}eN)CJlr++cqc z5Dp-_S`Ap_xqY@4!v5#|dqJno7|T|f7lj=NLWA7w`ztied|N>-{qVxIkK}m##r5Ak zc(f_{NQ;^0rKXP7@!J2}ydoz*5Ffbv)&2UDuE!4l6eEyS%+1LW2OYQvMa-(MG5}z2 z%?2q3h|)J80PY50R!{$=GNzw@Q6`L{5U~|4=+rUq)7Yuu(&?7q)L&s%mgFtci)@@$ zTI3=AWjG*c9Qor478xThZf8g;BR+U?{BamOQN0G|6sYbANd3 z+O0i4TKrWno*2q4d#DJQ0BNdF!TS_U)Hy(*2#STElsK3D^fD!59OL;G`Z?JCRHKc7 z)3z@;{`4IL^@6znC9lf=@Yy6MJNsP~o}!7ur{{;oJ#^At->;yWha)ZSwOGc-$M+ud z39B=rFqaq${?ugzon6(=+^2S#uhD!YbJ@f|7Rc(L7o>tBEG zg5?o)b#ElN`CkNV)L;H2wXRc6%N^c>L_%UYGu? z<;|0*D+b?kpP+*84Jf{dou8m!=6$Rbh;QG{u-}dv-WFH95{aQu@yRpMxIl$ z!T*%Y$PSt(S+R`m&ckk^nC2Yj!>7hSEvL7$NEEBD8kCV=S^GIVyUb^Q2u zGZgRBe+!P>JVC>T=N)m04#}WQ}5k=UpBZ6PNyo z6y}qOdTm^!1fpabsd+uanei+h4(Fu;TLYwhqt!IU!0PlKQ{VHd9yi@QZB}94f2x+% zM0ZcXxFgcYt&=^)L);?>Z<$3d#o|kPHg@%nSGj!mc+#WzU`96Yl5#b!TS)OlTzF;O zEh?fTK(4cf#Q7a>ujKy3v7OBu$u|X3T-JzdzMsRFb##1p{!Gfz<4{0bt^#reDy`xA zFu~U*(vRubI&$th=IvYnu1ue+Y%1WF_DFC_}5iUHvSuQ-ysugIDYAe@Sjdf ztu4Pw&io|!KE)WPzGyAzXBh#I2g59x>O#9cyXw+deoIP>e$QWZ;2-w4&cr?12ldc% zBtz_8%p0%!+da*o`tExU2xy3nXgxO%%SnFAlR6;RV)rWiWpO~Xrx$EbGX-Yc219*5 znGn@)161gZ$-t3vAuH?UlWX%;v6LRtXDpehPQ&5#k(x}oL+DG$@@#^Fq{hD6Ozi)} z{2y7L)+~Lei;^JizTkwi;U2h-Q}qa!rR-YqCigW=)ZPDjk-5*UX8!rBs{D}MkG(Xn zu}5gT7jYH2L4`@DUm4e2zPf9@p_ijkx)AC08Y^xnotioVs8 zx{pT_O=UavDRfV}^2tJh!j%6GX8r){&v{CBmH<10Nb)r;0WNw|iPd@IMv)nGxgh<5u5qz(L7YHx_lV)n<(G+`0)G}3HB^*Q z^HXEf+Q{f)%4A`ah$7>1jgIgrN6>w~thI&J*O>Yv^hvIOu}U{mft&NaTvw)iaLUQf zeeI;~E*Q*cBf+TY@z;|?+m_4dzOBX6Tt!l>-5Wl$k`Lx1o~S;a)+@d=)o99pN=|Nx zx&s;5WP#CqAdhDc%2E|WRrf1=RT;M`o{cN>!*(|a8~@ldL`K^op8lR)QA}0Yn|&WO zi1WPd-PLYbvmtfl;)@rT3r01m?+2@p_f9Yg>j;KxYKF?Lj=n7NAeL!C))3X6kq)yM zX;aSAOZ$4^xV0@w^*KUkn)T?NBNi7SS}m_WlX#a^DgVU;a7`~Jydv3N``ak_{4h4% zn`WLIW|>OJ6OUhhDmJP>wAEaBUX-Xlo$v$LJ(~yNOaN1+OkNXh4>D$>N2Z^P0U7_t z(+T0AFVM}YkJ;cwX^Lw?B`(|z0mm$*m}5!INygrej#erFPE$m}tVDAFbAFhz+3L${ zU@CpRQQqhC;nSylc;iXIk1$dP4mw80rx^r{Hk#)eP)hdys~Tm`5oG*-Rig}zx7Lo7 z(5wvuIHgTSJ>Zb)w-QAEsDLVAS-ibescCbpS#?O}pKW`>GWabuyB0qC@8V+f4r+B< z#%DFI-4^Rx=TD#{qfgWzu}ie_cVRELNH|VzgYn&oIp=s})vR_`hx3af_lJ27y>}1! zl}^d$!;PdwfZEmhyog$rjq>lW=$+P|+yve-{H8hLQ`7Nmv(tHm=iXFR#4S-b2(#_|kmx z#IJI}N-2^x1VO;0>@o7hFCDOu?PuM&%T0sLnL0-%~}a&r~ZrNrPo*@7WJ#jg1KXX1*CTZiJ? zReQRoLA!>;FAd`Ki$GvJHB@8!e^sL7FD<4U)V;?~yM^46M0q9re^#OxWHnR+Zn418 z2&DD7ivxHyt;}e!{Qu$Yt;3>h`*nXz1XL6Slr#t_k&=*BP(Zq*RT`u_2SG(8B_#*x zF6kOTx`u8TdKkKg7-sf0_`L5r)>?c0etZA3{qK1Wow?__?4}O3>mF zxl)fyXOxvaEl|Em7Znu^rdzQIzAUp}q#~|0H(+GM-+ys!*F@Zei}l+?h-G~3A}n)f zyslRpdop6qkheX|Tj}H{%_^}YuV@3_Pbu{Fl>KhE`?C$2p}5NYctvvY99^q=n-xX~k4sG68zFeN>%(OL0+cDvWI zgyqRs(R?NK35%6Ha5%$G>5%!L3#LNnN-4CXevCB5vcUykyKU%n7%JrJ#ywt;tE8W& zyAD0AmUHL2TCja1q1!-wBHV73A0sO&+95VN;bL}>TPa(AR9@!a*4Y`pUn!`C_JMJYIw&QFF6M6JW4-Tn$M!@V`X#R?o|8>Nc##)? zSP#nU*3WB|la22q4=(eY^)(il&uYq*=HYLzfU7~Z_2*m%Tg-GxjJ;@=B2nAsRJF|r z*Ba8GF6DvjTkL_3syP6B?9>2*f8LrWwA9i&dOpy#spa@uj&ZHkszSRPB~T*yGAZ6w z94SB~DL-uKgWwXP*Sr4w@e{=wrSB2XB;JI29jBGOJnAa9lChDek>j_SOugv|`;9CS z$^MrGrTITuP};7(v^wIaU0%OZT*~@@|E|H$eM(gRMG;PYr3*jqMrOxcY-d*>%B&<2 zW3yR4Z@?vat>%DAd)3Jkv%Ip;aL7Mbd7`Dlc2dvdbB@m!yLaJw8y?D^hqUB%l0=Hft7pH_kCJ|_PcLC3|1*sB zXW+MQKZczt-rtd|2dcmyi)B{NjLrWii-|~PIr2_AJ!MXJ3S11gnPFg5t5^NBn3ocC z2tOWvyTu%S0g}(?b-Ir&7TwOvVggQ*X+lr0H_fsvdxcRO~kLpA}&WJ$T^`Ou%u?g?`D4}{_$9>NPfzF%A>jdp4lX+ zA^w8B_v7npn=B1GzTD(lkc2NKeD|D0eFE#!S!Y*HgVTRBDZ=8l`gY)XSe7v?M~J*j zA1n2me0>HFeR%%7c*2EVlkT`z<(PcEXN-iUTHWJ<%LShyS}2Z9yvUQ0A@gJ}3eqBS z0sD`g#9J2>iX9#mf~~JJ%+AHTMWRM9KWTP#@Z^YYXZOIW+Nd40e;#+@HA`vg<6=#F zbs=Y4-_xIOb# zlWG;bND-NT56Yv^)!ND-P#7*MRuOQlFKlSHB4XGHanIw>@GZ0ahO3F3G57j0cYDJ` zFh)w+ARLnG4)fTEG9~Cm4LoWwopJg(@GnD&i_88U%M&+@2Pk6<6wVe5#8>hFsS+$b z2$KKnE)OE|l)Iqj95ZN}yVMDr0$~Bek7-3Q$n#Ff8%aO?O`EV&gg#1ykf}6c+_aI( zBjlZ3QM#%Cw#>PfU8mIhb(E08)6ojM=P2cd-#3>l_7k@Yzs^3qJn*yVkNHYTIV#|i zgZX+DbWv#A3xe~ykY`YE-Sq9bbDxdekin?Hb4z5UyCnyrXEGpxTNiPHP1A)DI*nSW zwksCyt3o24Xo|=XC1i=%n|i1>yZ)CJwH&$MY-;lAze=j!$WZC!(VgDC6CrG@Z|itl z#A*M5m!lD9WH5L4lg(@qA3EWQ_o%N>Ke_fWzY`7qf{rT27&rMYk#=`Bo&hwIiA1Lu zVR)B@WnuMG_IuNka38$J%ll~G!`*W3&dPx!C986>fL^72pTYMW@{HQa_H^N<_!^d4e!O|zWgVc7H@~#sm1r2@XVhT06LhdP#XPWPcZrah zcF?ZOTcNP6VCoe-uw!6vyTmgnjyE|}mORaO3F<{?h6=MWpYi#%*Rz14fOkHRYemE| zfgY>VSJx)F68z9&FkR_(>0o9DN+MT;}xW>V1{aY)lXk{v;lbck^wW77uD&bL) z>@Qor@?8AHP&%QatOlQtS<%$GzdzDIM*gTS%|I4w%+Cu%FDOkMA1&|gDpr!V-@%@G zTdb}PXmY+9_Lk#5jy^9>cmvFzBBG@^?sEC06>xaW&qN@9L#iw} zSwPoLo@W{=4`g4F^SL4ieV}``@@!KT84T~;t<_KGT;dG7OX&K&?$;mvf#6~e9%K@! zOJQ@q;pCuU;1u?*W)!AYYJC_nSCn3C1QaaMyR(((pvK0*g%Dt(Og&H(mP!zE%rLDI zQ{;s0Q3c&Sjk5Qm=%0O_g+#)U7d5PneDBQ!w9OB;Lw&}U|+}4~*IghUSkp#6^I@jH|flr}znv%)wr|jgXn5kRx z<(va1H)cM0(-s(Tk7Y!IWo5qZ(xP{~W<6i~vEYi~>C^`rL!0eE?R~+!@oA^Jlcf~K zyN0eEqGj$wHhW_kB&p9}b};>-`UX(;PP0E)6Vxtty<3}nv8u0+OD#v^T0lENx12Ow zf^=m+&Cb9*c=o+;k0$~OvHszuE7Kt65QPPe$d0aalk*L(Ye0+GUL+h1v-8ki+?qAC z7gM-nwyM2Kes9B?MTY6$r~;+pWPu0!IzmRzL@McaWeP=G4(VY8sJb3KRNPeEFDrTK za`$My)!~9_6iRBO##5y<5V5lr@pu=bYwmSpZx=1YYsIz1;0+bsraR*_|+`^OOoMdWrwZqjwc6O~2u7o&ubC$qi=c{92V5JYLvKd)Ublfcj$t5&=WeWXD_H|Eg!Td!}>Ek0x-qnt7ibz(@0nDPR?`EHA zFlzz4#QtGQ0gDEa8f?IwV(V1$L8H-B=KOx=?Mz0V5+}X&{~zOs*77NFwg{EuJab_B z5y=vhX%;`LdKE*YMh9?oe=r#xG2WvI{8$Tv!OBcJ5)FUG4W~5qbHx+R^!|EiZ-uyn ztqPns*k9ESaM*TeZXM@?bsn$!5vpvHH56O#y{I1MeK&U}+#w+7TUtS#F6*kF|J78B zq3pJ*J|4JpTC&v8r^rhr>4~4urb+!+#ee1{{mU6*cwfM?mt5_?u6rt8kGk#!{;0drib?E{f*( z%38d<$yY}!n-;k{+p2XlA}lvZiuEJT4T>35bIVWea4RFKmFA1sMQffH$+vxb*G)dK z;FcH@AvOfOg0Hr5V21u|_H|Oid*?e=7rztQFg_90tqAg;`Iwd=(=+wm1;%`ZEU7^UGBB zM6p>PY@GV9jO56HD)+Bo+KEoDfJ@|Q79CD2W2<*p1~MoCMn`$)(kK6nJx@XBwNEwH z*D({NHqQY7BSOqTG+Vuz=^E{E?1%XUzv=1e5(rL02)t|1pZToBrSUcGglhgY{vxml zO4rpLm6Wc{`!qmqG9H$5Hca?2bacy~SGT5xEiKBQV1{0}MQwSW3a{(=l6_GBdNo=c zH1#TwDnhJbpd!;dr$WB0)DXeoc0zLbl{EG(qiaFtWJb^Fv%#4StL)^9Bf`u$Lh|fB z7R2Dk?IX`477aH#L47yR{3|o!C$G*y##IE2d%UkN9353g*V{-1$Q7J>D4Ma_v6@{V zd>z&@*WuANK)TVVZz`=HZe0#}_gy2O9u^h*4xQPa5VtdK%^HI9Znn5RyCG59xY2LC z>FHPxcMm8LnVY+n>2*>@MuV%ezxMfa+J;sA)bKOs4==4ZtV^6$uUC1WR(%Kw42%#D zYt3|!_OKoTY=uihSvmpE8A7_(eV`Z2!2Ns=&zQ~5P1Q}tN=e_ zhUGxW(d?z>V}ms1hphua)WiP1TfCnCC+-q^k>pI1APco}eJl4GV~0w*k$k-jqIo7c zNs0VV6}Gbv)|IEvYNkH9GkHxc!FMp#cy4BznETT+0qO4`os-H4PMx3)wsWaGbNRcI z7Tp{}6v&?6^-^vwuHQxJ&^;1Dgo8_YXr_pH!L22?Q$b-^>cyt=Qq<~)*;I&eN@F-1 zb3SWBg`lX*^||@3^N@#$>PaOYQ z3Om`OytT>CVteUcIB#~DO~I|zrL5~#`!z+#J1vpS%F4rR+pcXdQk_K)=8%sy>)3&` z{_A_gxzrJ#yzduip*F8xG46ocBncAF%489FRIw-~G=Ahxh3{pEZ?L>6ypbT{5>XQ& z;2$9JR|q@r+5m~kcHG43S+SjME(G;{e+rVs5=03%cyUl7dtBR99B-YJh? z*GJY7?znZ`@H|>P`4#`C_=jOj2~bY#9-9CC9|Wc|W?cDxPA7`@aK0bSnQr~pOgUr*4Aw~aMvT(>1F=?50GDr@-BdH5a;;kqJ+(8 z1fraNTI0Tbn_L(Bfgz?yAAQq`I@tWl!~0j7@6)3!X-&y^h+g=BdpEg`xMqmuka_(& zH8u4G>zjK%b9076NpY6){aRu6vsQ{>;Zl5m{UzeV_CJ(3O}8ClTVf9IvUs5GOD_ES zjO?(wveG=nTu0&JKjx;){qa&ItL~>gdw9H{exm5@83VOzX}|Zn4jUr)o7N8fj zDLC2lpW?4toH$sq>&@sz^S*iERZ93BA`>LzlC0l^OM&X^4{BA#r-YX-S>Pr2zL1Rr zcpmQ96DMQgP^E6ZR;F53=U8pjz4}US1J)BC>NLV_qkAS`K}Pb;((*4YT^qwm(#~s} zU>W+|X@RQUQtbay)h>PDIXsw;(cn%i0*EAmJKpYbybzQ$A?Z;0QoxI-nIkVn*^&?O*~Z_ zit?$dX{K1HT}RuIEz%`S znIx5vsV@cuz2&*L<0r=r3X|w*MJk~H<&rk~kl7dVA0FF~!Ql^buNR_l7m3+vUMTnd zkY!Iu{S<(L{m=BtLeg{Y3f$8ATCS?oFII2*%~o8Utf{F%NiXBo57oGdKO_85yoHTv z0yb`&ukTIN`@7;1ZUD-lxy6%nsl01CP;=lfC$jB|9D+lh#9GTvwZJ65Z|=EVk)cVz z!NrcMvXy%PKq)prVnQ!EULr8fvABjGEMP|zdKol%7)4f_#_!wtN;poHhV_tNKP7?$ zdcd)0)%O=FMIbKyvn3i;iK5}cx)er17VYiizs)B9o#_O^R~TX=+YsCDwf%t_1HNgH zYWqa$Ig$(~Q7hFTP7(TKzz@8PK>ZCBg z6rcIm5=QmSq_kqVPhj-lvxZdkWq=(m_!&NXw#ry3b(o7k>legG8NmWAU{$LXc+;|~ zrbm?F<-7#-+=SG-^ommFfxtr+_ z9b7USBF3`j{j=<>HEkbI9!>grTB8-?Q1p`S^&zF=$IpI`gf2J09@;C)CQI6JEznb^ zup73&bc0ne%jH^bINvjetdqGhGWB}n8XX_Q3d+du*(?v8XxRf|B#=g=QuEtb=p-1l zDy(N|?K0h_r&k=wHyAmC5H5(y93p)hU~>M~X^Wj08cQvI0cR2ySD#9@TJCd~&8gus z(VzPNbgV;~UL3_R7uXg>G%1ZOWMe}7EUqW{4_joe+X_SJMirWqQ#k5^Cld7?dpUic z-sVtvNpfhZ<8U3SqvUwIJ6p}KjN);+Rq1+;6jTKe-^@=psm)sm>6Ilteal*l6-5&m z^>Pq#Ps7V>Ceo}fwdnyhTFESYsCXK;ID%^Wrdpgx$*wPCfW3x*xj=g-QOjk;V16HR#T~*+I`_b-;{@0Z(iTN)bc|0W?IDez)%%6qGXcR zCMEF?SC5*TWf&V!m`kM|&zL9~myq?i^qtu$)kjLcYYCuPlUhK3)Y7UP5T|Lr^23Yw zuuIv#bGD0O`|(PvKtnTDQ1ao!ls14U90v#B=ZHJ0R;7=X-9m_u$y3LjEX;KX>{hn73|#%tr1DJx-Z7(KW)0XwuSj&(X1m;8V9737X71C zq{@inZZo&`oqlE?`U3b-yp>nrh_APod5GnidN83{SSF<0;@7E>7M}9_@Zmaj%lS}M zGO|H^HZEXuf_b3x**6g{ixu%tv4?=}Rzc4W?k(cIUS-hap2^kMDN~bIJ?u9%9&^9e zUdf;zle7Nz?Tbj3&CLyqt<9L9Z%4DIlP7giCt=3s>bB;B>8Ja0YEK>y+rBuM-ec<= z8LgNaUQeWW^6ATT*y7erKb9n0pV=z|fZa@QJo=s5x)L(rha3GFf5MNvQvP-8irW;% zX0(F#A26fspYEI1!EM`MZ{_Y8>1daYzke7qchQX^xE)2dk=&v7q&=jJ@f3g;GeSGa7vn3*n!-wY!XsJr!oEje8TKyjN<_Yo4{7)cg~<-x z*xA)|Fs$%MP2h_x&^sbFE`_qo!9ALFbyXoPhq@gR9P)e?8Yw_rZlSYoxVc~GkBuo~ znu4d*3_g&$uqZlYsTS#EX@9)iut!6PulAp{;zpN%wwp~oQwF^;)mJ7I^1j0|4)WGN z7p75tUvFFC*_#|PZ>YPzupD3G1`}Zwjr-V|QUiD{0>+c{*autMiEjbh4p1&r_!M350+{p!O&I zlprZzbL%74;%*vdPTd{2hL(X+8Cf2ShRSfz|7mx9yk#Ken&&>bc8%Fxul+?b_x)1u z!QUf1c*few)b6611ol&TixQ}H_f6c&=uZ!dE6qy>ZLs*`JyhDoc+jl2NNcDAwN@ng&X00zZGwrHK(zH#72^aVMo5`e>O%ta3AQy& z4T$Ng9anw`)9IMP9Z(%nY|rIj`r^@?25FS;Fv;#%zVvqw^_fAWKzrp@=l7w()0hl1 zfOiCB4dEcoWHNB^vryWz}y!wKa zFH>>)%Zv*ss_ktIk}e-ut-@OS9Yp$fTED0-tk28m={T3X5saKh?(BCfay}YKSI?o4 ztv7fvku3x`q1`I^N57uGTtH49dM@ul{vf${#igjl@=YnQKE>_I-{cs#(rl&=#UohS{XWLkwwBsNlq}vNUxXt=n z>=B$i{}T4K&E`n;s7|BcMaSqG)$(MM1->F=L=t4O{khr$R$u2w=#z9Kw_{~DtCx`u z>$dA*7qRRjL^uHtSYPsIIbe5*Ba63HdiPj)b-P~VBKzIr7E4~Yj*G0y#TBpV+s-ZY zGa~xOej}G>{Z|K&yJG18bTkyK0fn+rxq3T$izXI#lTl{%-zUCuCDfR8T<)OI0jo6i zTO={v4eIp*umV%X_^r|vmwGhw8%7)#cgQV{rJ5XZ=a7e5EzktTsMo$O4vC2t zQeg%X12Me)C;BLXw?Vf>OOxyFlp6Xl1 zQ(=4hq#le6sn`!D3zgGxqMs92#}Y6keBM$skzI9RL(@*8Aq2z1cPN0)nVB z2=1?duM04LHXk3m?UX&FVD_QzOmP*+C zLV1LZvc%)YP?d{69cit!4l!j)(a=gCT2`qxSIvz|dH()!iLUYfy}YypdcTkuP5miv z_*8hhM!wW0tFiVg`Qs#&YsVUHj|1M-?T3*;yxah6V zTO)nJ-9WIMUM}L7O~lASzJ31b3a>1k^p8Yq-0^B}>%6TJzao*)9m05thGwIwc;||5 zJqb{th7ps}%(s{iyjP*&BD)iUELL?5J4~nx?yT>p4(x4i@(P z0e+y*#7CX|u+T-iYsc75*(9TaR-Lk>5kk_WIDVUcIWIzxEs@cO?t~+oTZU+fx=2(i_O5?n(^eR84sQFnfyg4~p#kZ33cn=SsYEde;DKb%qmbxA#9LO42?9f02GQ7!f51NzsSuM-sz>?ivA zh6u{by`M=a+gn>-rne0)?jfIN5aL=;*YPKzdLf{5v$_~f`gES;H}=6)BxeZ?!*9^e z?~|e*px6`8)I>GHJE*JbH3OA?k8JL9vdcXb^>*BM@9(f~azOu1b!_U2a{b%V&%)~U zRLS$gUNe3lsoE$GtYfM(K#-Uko&Nbgv@BUSSW8rqd|!duKOqt9@6QU&2TYEU&`xo|b&IBOW$ITDupBYUDQKIKf;L&<5D*KS8?=NfuzcNztK@9zp^TbJ zn16cz5lQez0s?QU>Oi&!x8S4BHU}#i$$#5;`Ham zxh3#!wlHq1lnrB!aVv0qC#%#|5qA{4UTrkBjKt-o#_?NsxVNh?8fA4Z?-xdM9m2aD zuDN+#tmS)0oFJTqjT_oNX%u06^Xiq9R&hMmbJ_I`0U#LC<6nE~-~Ie@_4*%BX^Occ zaYVNIp*cRyuwt+d;!oV#^2+7())9%eaQdr2p?v<=M?1MT)dfy{kiCOzjG2mF^lt3N zFgt4cR)!JSyXv&}O=7z@{Q5Gk4=flGn$2Qq!z_JTXW(G&I#UqyR@z7#s7`s5r^(^W z7rkG4p1uy|XX!ZNiCKa7dy_DJMgfoUv6^o<=#wj*9y_TXv=4>h&n7ME~nk=`~?!`kjf?N;mL%_3aH#Z)zE?` zZp`K05TKy|?Z5(;B8`~L%j@)|u2)?wO=*@_CN!|c+C(jLX_n4?@1%UxiA-WmTa8V$@Q0pAwINrSS zMSO9QG#{R=wbxaqj={!|S#)ssVK46*(S+_g*u90o|M*cvWW73FAHpZ<2ZjTk2*Fex3;p%`OZdv2l?RbWQSD~N5*6=2B_hmhIihzd(Y>rOH|Rd zEpQA}4$7NIk2d&3d0NQ_hkz4=PMM6Rhl03SFdNe-=wchUb06y-cM)R(RBaf`7Fy}O zqm03eDiG1U+BwRc-_kNcu%$!e()8~LSr?grdRt=O>JN(iuQ$Ggm^q7Rz7C8v_@k@f zE$S#UzCYyf48L&*T&3RDx3;gD5epdzA5s5)CFLAau`dZU;C>FgGy_7UfNMWZu)A7<#d}P4Y=y?j7Q5h)xq?8wDVv)dpV$q^l?JxzK!~{v!$GUQ| z8+n{6@r_gL%n6;#mOCTqJ9F_D%a;G@9^Pbsoy|wg&fZkZ*VS?dl)15VLa(Ls=ZV{Q zHfRUd7Ng?D3N&nQv!+h_+xeV~7+8$pTI8wPRYodgo)dYS_WVr2PFDQ5h!N`9gL4e% zL;#HLXOf(67jo2ye*JG`4d#b!_sL!Z0>NdO1Czap@%>`nf=@H^037wGAcRfPF~;q2 z?eHK)qSHq<5#WZ9=d)A?j5&Y}m+VvSD=|D#u##Isu$d@s!9TL`DAq^EtiB5f7~@S~ z{|#S6YKD%B_Qig=21!`zN{|r49P(LV9Ikc$Jj!1SDc{<>&n!m&x3faR3k`;&a;jUhCc1+vV6axo$h71SNjcRc2w^4sQmb`R<84@_fe#1Sc5Kn z#|DMD122bCC^)x-=~(bhlx3e|b>SJ=c6e&BcjeS$<_7RvsG3}!5r^s=JGtAJa>Nax z$k%^q(%D8~H1g=9iT&|nhyYG0pC9J6p6k6y7w9|@%^Kzy}f1zw7Yg;^U%-4z>#ZntD)y_FYrv=SGk*B6a zUuH?zc}D(F>^d05xaI$Ev>p`;FW;0a5H*%^;i6do*zfE%xE`FNP^k=KKiebmBm4q7 zkci^gi27vN(EQ)k7j;JE1{%e>JGZ@};`caS(MJ|YdPSaG%O4XDhON%BIBdb}r+GhW zc9eJx!(V1VVRqSKbbnw7MXOqm42m8HYJC-bCi z0CCdUFEln^nZfc@W4)t$DmJJh*(dVRyV%KYGHZEb7wfn(Vcf~41j@W#LZdxwW!|>u zTw=8zy>I<)0#DDi`UAW=#7-wC`rEMzZ#csn?!l{VB4UumL&er5+8#Zvk(LcISfg5F60O*B z3e#qfG|~%2>K+Tf777sT%h zF_Fa@7t!PU6}&;28X@l^-hQVa_<8k-bld|t+x@-;@2KzI*o|-L6Vc{8S8OF=!6Te8 zYXfr92DcP(tpWu;mSOu2gRRHaV*)KT%MEF9)p5BdS29Uw!XyksJOTX&9yQA!W?ief3)_6AB*g(5i-81W#hTA1&=FDTK(~5 z1&e2yIzS<~Q(PE*Ya-BnKz0Ns<){0xB^^*m_Ve2UuNI(!B+rmcGl7_RErja_X=rE7 z`<8w#cR@e~2f+ECCG7lG2bncuiY1mDZe)kCR3Y8p(H-)ZdCuyh4lTfGSB}|*-I+h= z()X~Gf+?yCJ&Yj^iPK2E3_$9y>` zbax7iX=>A7JjHmC$?ISQz9A6jq>O7%B6n{m1#R+oEL)CmYJT0Q^f3EFJa{z3(Pt1D z@_G1`<(>};R~=*r6Lw27hHo$+4! zHXomk{}Lw6F@Oa-t`}rQEFw-L;)R2C4h;&Hegt*Pz@IeZ{S}1K7=Q>`jOTKZ zvyi=F^VT=!wj}8Mj+Wib&Ue9;H>pzZLh%gLDlo)yfqAD#J88lO(oi`uB=Cenq+@cT z48%8$-#um)rLO|Wn1SCSRm!_dQ5o%LSyHN3unu2~7GdHwRJ~e_ACILuP*ZZ0JxZZZ zFD3RFmgf&p<7oNacE4a;4g<3y=gBMCO225jHR(E4(3Uy^F7^Lef6~N(yu}pEMbzlzNf*xnh0h1g7IX?& z(Zy~7{=oQ67I4I9ae_b~R^3$~>EOZ0M-O>n^dygp%+6}Z(D?Lit!;g~Gy;c_^PX~h zQ8>>ddA2BSk97{N%Q)enUyoDZY0N^NC3YzbO`nBC^QAfXijoZ^N;QKk<3Xt+T^`D? zIbVVb&sx7_u}FhoL*D!suVnn)I5~jb`d)N{Ms%5&^&^X-d8?~ub(;C6BjG8ra(7|1 z8mmy4Hll_}^?+RY{NxSB!cF&6GAEe*$BviMyP+(VP(aVbgrptDV`}WO#F7F@EKAw4LYNe~0BIIPLTEvk$9Q*-^ZG}gd?&gR&Mfa4-4lE1HKqbYT7?-|2!Ec6Hel~RNQF<=;*?I^ow7buat{_6dc?@p zzEM)n)~Lc(|+}kkJDxxS-{ls`x9~%X}(DoaW7NSsN!N3DNBP$bieWs z$L0xtis)={f8z9#y>-qz_wF9~Mb6YF+e3xWn@WDw<=V9a=k83Xn9>(Xh739?I2wsT3v`>kiB6EMe>kd5-d@YQiDnYPsmz-M(|M5}ogN z%O}gsCsefUVJ8PKjpbzFR~6soh~CU8kJ%5Jey zXFfxzQ-j0k>p4>_DT&EcLbV2q0 z^4rg3COJ!?9c#%u)$NGRlSW4p^xw4`akDO6in0iBKx)k-*E|!Jq7U&v-b=V(u{-Q> zt799m5^AtCi3Td?=O(l@jdcW224k693mxBbWS>|E!xQ`t1%B5fzM7IhD!7Oi*1&xb zH3%r+nJSR^^P6bP(1WG3v*T!rd$Ltdu>217d?ClSN@8^NSLQUX$fRJMXDP`Qn%~zU z+>_k!JT#H4Qscl6J4$blEv1V+EN^p=a=-+@!rfR$@y=t5W_z(CI<4_DiSmcn@g;-f z#KVqv1w;0PDd{`Oc@7TFgFF5rAgU``pJo6N2XMGL($j2on~56DB*PjN!~Rxz}1hjT024g1gf+B6?i znk%jkuZw-ekX#;5SRf(TVN$q?-e#unm^`57$H%03 zzyL^4Zg2)#eM%`^4k0LH;eHTy9qaM+K_ges+3%tWpu!-WE21F&9S0$)|8&^5k{p^w zhtFjkt0tYDufgx9L?(yK|Z=)9zcfi zurI?s**Mtz0^W&0D3ywe$^&xt8{&4`MHao?rA#PxnaZs)=JxjFSp2wxk+rORl^Ol} zP*8sUwMPI*>;>&FPctEom*`0CI`w>$E~fmV@r=+L>i0)TYNE3iu(XB0cdI zXZDwVEq4>l+YajY2T5bcbGzIDloXoO1ozkg4-1;E;1Q7iI`%QoTTm+V`!auvhvKP( z_MQOzxS2=Vcg*cuW&g}y0%m0X2i(7fC}6l8R$-zDNZ5G1wK`SxdPE-Q)MKq(q5iOw z0v=|gsnRa$5fTDAPpBt%w060*6j&6~DfO41|M+pRUv`1O)?4e=w4I^#bm%GPAXmQe zlH!BBkp>_xKXB-U*AnRJty>PgNt$Ur%&besRH+KZC9p(N*x@#@up)#FrpvRrV*tn7e(?r~ zo-|ki~disALR37cqu{X+ErZSULOIJHkFnL z|6w05V59X{axg*ql5857R|R!K;^!e6C1%Q6OP9~&N~EDIs?+K3o4?C;Hnh@19!y}5 zOvP$XHav<&ok4r|aQ1TXb?`xgDUzReC@y&SwEni6XF_E~PxRt5v}exs6(BkXVK_EN z^oHKb5Xk)kYT2@ve1JySe+)O^)pwm`6oO!D&h!|?+Ca#M>VZ!kgAE6`6px-^MhtWq z=-~i)$@286M#~AP{S)K!Kb$ru)t_-+YQf8{d_dB!po2;KF~B#Pqc=o~t*u)EQG>}+ z4ppw($$>02POD{SAJ5&XT@NSU1rkkOqQjswv6Xl%-o^@w>MC#FzB`@^;52XWEhrJm zIyyY;MMB{zKvmt*>m%X!CH43`UM6>tqgPGAXEE6Oz8*JX5C>ozPy6ey`Pz*~FeWC&s)!|M(Pu z0hK0VMb8kJ_1Sos;o2CFF_jn{405=2(<;R45F3BNC*xAQfF0TC!Nlg-SIHG&Nu#i{)E=c)U@)St^1W06}6@LXL%M z_pZ_iJd&%c2R}kMbI%9nv>Fw5Zv=rbm`J&d0dSU3AKXH_>iBT($1`E0$}A@n0I7wh zdQEoQu8nSwCkEaX^JaGfz*))XHZr8Xa?y{?J-~RRppeGmBIDQziyiJm;p#bz`oXs z6+P8M>4EDBjoun8*S#-lzi@{b1YgHEx_;FINAJ>y@ziJch)@|IE2+e=@>)=?`R76o zOS!qGpSQMb0bVo0@f5P~!{2;uRQc~UeXc%2FZao5V+Gq0HE#5sYeGHxT*3J9sXupk zc=#$nSg{-3$;oEEzfwA$nES`@6y)JDx8no|2|_%;3ujw^^<)K$9#-t+Lmj4TV8y;J z0q|Qp;5}E)G@>;1|D@X*Kc00#c!j)w{~qAFfl{h?vdA!leZ9Fs1kLpJXy=H*ls8}L zm*A)xzz?&Wf|v>|!6q^^K39M?C9z3M@IU!Eh zYH(Q;>-yBqJv;AY4b-~FsaPgNvVeP1vL6QUJC&9ZYn-XIAr&XyggG-Mn-0YT5});OVC0I zpaC&3PbTnh@(8)@MC3kWJDW?_1CjSlfYUA#ugWmGmS_^4Q8!g;$qRrLMWukr{^P6y+O!)+TCFk_4pPy^(4Y~Wsr z>yLnaYo$Mp2M{rPKM~!+FX|KFZkTfCj)-zpjA_+C7$XS_xZ`E5c4rgTwVu~vFjU|B zNGc}$XZUTqFM$6XElb%F!-L4+HtuM%i*NdB$7G0qPy*R{!KC3>ot%R#b!lnAS;1Z! zN_PoUUirS6xWsn$JV**PEv*ec_xD$SLNY8xT`IGkeLr675t6%$X#%x;kmpR?3zkqk zfESzx2o{`#)vP-rWOn#>Heu!cc(l@bJJn=L5=fH9uOaT}jfa&NL7&j0~wHeBE%+LKcybN4E{mq3gG*{@RVnLkIH|Zg7+XaBul$AduP#ju4&MLZ1)Zh zpo=@av0*8ShG3}()!dG#h-dbfkKqO>2-VE1QMM#r$ex7daK$Avoew+*j}A}KV$0;&E6<}o(^$0Te08DGRuv$;sovi|$@>r(VuBv1!SI6e? z(ssOFntN^+j+9}OD$w@|LvEChWGes3lKf1}3-ZCOfX3FxflaHJ!E3jhtRtEe%FwuY zgsJqX3q~FxWq0J`uxjUV983@$^xD|{&db-R+WW(@R5M;RH-5Z;>p+a`?cFJ4dh`eo z3PsKEIB8qkNeeEE!BIy-Y@iMfz^Kws!4ohuDL{m%-c zt91*YxG5MJ8T%GHqfyZY-a`kY88YE5YQIgc5ycDIt+^mLMh*nZ8vG1WOcPNG{5I36 z`FhYFRv@B57Az|FR?D;x^NNOcY}S;Ycw=-*K#qi!;?m-aPO*Ox(@DNubxTNu)KN~= zdBu&Fd8tgSxO$&hIqh8K{BX2Gzx;=EJx=>EV4;Jn`*oV?jyGq*Mqo$PgC zMBMk7@DWKK2d|G$Hmv|&UZMJe_e0ADG0i}Bz(IE>+p0KqK_ujZ8H~42%%oN@zH9ts z2NswsfNKO78F?N|D=e`8a~;3|dJoohfOooXplm@8zXgB?T%LI3c-6Sx$9wN^o&!)J zklxj~_o)h@yQa%F>W6GF}dm)RCK=n@i3U zd}=);X1@SXyM;e`;sqam#NJYLOe#kt#{YVJT6UFY)ZjdRGZZZ(a=HmlwhQO6^L>>L zFD<63(#o2vfK{};h(kv--%92tnaVeyNzc@+EDmda%2UBc9ZjenLWj>Cg3HZrc)PnT zMn*4#7*Y_gg9Diz`oqEAPqw4sc%FJOIH->gPb%lW=_5SeJx>ryM=JXySCKIqMA^FU zv>y~FMkyo+b=U(rM6qY6=We%42jVyy)y>b`1_ylcum$g!1~=!Q;8l)&4B)(zz)sy! z;th7ku726iAoh-);2x#1GuBCAp=D~v8|PIU*w>j!#`t~UJGq!_mU2o}*?vPZgbVPW z=}s}boF$H^krJ~$GVN;Tguo+1!25qNwn?uB@)~yB!F9;%lwtC$x@kM3A#BiSu%H2* zFF|~CN;ziL)zvrn)% ztHQ#0udDY*X!tFos-zHR{~Q^rJdcQ-P+=k;DR8p@myT;c_BmJ3Cx%;#-X|nd^lz_;uknkG;eeCU~jv1cX_oS8qej655S^@Kt{24iCLOe zDJdM^5D`p^h<2NWCyL0K_QXeSEXPN{W4VoG<=A-8`NUVRrh=0a%Q=*uaR^CeRW|t) zSgA7<#ZGmH$Dk1GeR#vv42TSg*X5e1cA>{FgSk4~rakN+n@AeCzTN?hJRe~GX_UdX z8UrZ&CYck>;Zj!5atg z4rh}6DG)#dlOITZ@9l_$^+$2&fP4F8uyFRz-qs(|PQ#ri=X!$bNBYecJD^!$4PO~V zu`HJAsnWSr?M(A$fQuUdVQ53a9qxB_!DL)mGe3fV*d(}j)SnJfehcy^dWY|&?7`Fg z2}Pj-Q%E;2;Q4IK3vpQh8H{paw2!C zmD=m0Ke7IL=@47uVn5(6_SY*+^ z-1l%%1U0rRDCi=(367Wjng(9?^^WsUGi*f&lZs(7 z%Z7>-#S-MMQ3)G?-jgYuZf9|3u33)P!+B+aM_5D|>`e=#jHdOAMLy45Hj<4y>mpA* z5n!;CL26AHj9^RY{Kk)Z!zHp?;q2I=d9ekIzp722fXhaFiJ5Ibt>wV zJ++>Elt;%|H~O+p+|}J3NMox}AT2?uuCOMYGq06-2)aWAb9Iz zYB&Uu3!NTq91k#Q>A>FEVR@*iEw}`x4s8OJ7QVf*Qrg8j{-JS>LamyPVu=D5MnKcW>U zbu{4^449GGQ{g&T{@_fgo?;I$(Efa z`!XU+2}Sl@))-{phlH$SAL}5?*au^V+27me`+fh4_w{2Q%{7}>q2UaoFC9l$t@HrEy<6XGm2ye}RJ)BE-7mq^`8 zs|B4C1RT^-6LTMcooI)P3dR_pU80v5q6SRN@4+kjAC_0ZzN-!Z2PB~`cWJf2sC7Bl zyJxONCw47d0wfewc+P4cQQ!{-t{=MIClk`GQ=>xyT(-D4nnh$T?NIB&ndlTCs?1|$ zCX=!79z4Iu#uHbfpuAJ=zRA2j^+EJSt6|McDp|{d46WUhaku{%_G-|jmNY(J{GGa3 zasb5y-gBO+iq$9wHf6DV``MbT*JAu6fmPx$Rg$1{=NQl=b!d={ee(Z zshbP0;vrnMe5(6T)trlq09^J&AOul2@m(vvXD?JlDC-Mwj(|V+7of0wGX1cEq<_1r zmr4xkb;$E|57Sogud#6W>;_~F4&`a>^ z__VzV+%otLJ@t?hUX(;X3foZ7GAaJr9V=RtcWVpZ#6K=lj*%mBm(`}9;9yBV^RCfAg^m>(z z&gU-A!ML7hs!I-m;!vbgJyZY9n?i%aw;k2ArkNfW4py4k?m$^o8H<96+dOjr*dH?~ z%B)v!oL~$ywDg!I@PvzRI+h?h?7YwlFp4rY8<2dxQ;C)+Zh%XiBa1pL7|!Qc7Qf zg!xtYXxue~F!{51#>{%LT_1fRJadU_O<&KWAX_v12CM{;xHS_MEyhr?a3TauX!?^V z=(2_R1<_5)aEb_#4DfGJ3K(Y=@auwn+3biv^V#%HjjIu6XUsjT7Qnuz|5!A zqNh=OEGEDnSbPk#=QvGPoQ~iVJ5`r>Y*CWK%=p#7%Ny-*u9dnM`M~eKqEy4saNZ|| zsC~ND?IfS|8B=lUUTIA6zaSq^qt=?o8SauN9< z<3%!+h=J_+_+Zk#>?wz}xuKC`h0ioaPaT@zxZ5!q8*u-6#{&P!t!t2N9wVk5ACvZY zZvWZw5@RuOYcs=AGZAuKSGwFVe{Y~CqWGD$WNIN*KF6B!zEI8Oq#k`|5ZY!8UNLlgq?a^t7nZ*eMcdmIUr z?oeyr7l3rSP*&=eXPdfGqQz<^TLOxpobJnPixy_Q$u$Qg{DnR9_KOFv2U%EI?HzA; z8(!GHLCDhGuww)DNRSz!UqRdXe6wGc$au?VgVGY(sb!bLi-6DLQRMl18@4`bzbE4r zy23|6&~@2V>s97}`OJ|IXOB8R>z|pwJ&N5Iu8l8fEM2_mI@h94Ts%A#K;C*giJWB? zXKDXz`b{aqA3t_yk0nBTV|@K$`^I?Q=ib`U=WXWoctbl=-hw~P z0z6)A24}A24T{Nnf67XPY)hg(H&)`fIXScHV?%biMXalVZ&dD|=)5`^2PpxGLu*!zncP`^;QY3z!x1ULwNCf>%iG(mRUM zGH|MyRVLz)G7sEDPSu`>;*kQa#2x=~ePs-4>IPj{W~WM6M*$)enLtxKUC8v)n%{!?#kG;BbSYKy!&$fW`-IXIS z{VgwwG%X6;o5TWqe|P?XUDO7y)?P;U(}{JSvyqZN?nuTgS0>EP9)>sTT+vGh%ULSL`rUH|qKe4;jQw<)CB^SbVZ*fwHktyn~(zQYc#kMI~j}b969^+6k zyPL~T22K0>O>JMl9+i}*82=pAY&+lly8EzJr~&g%Zh zJOLKKZe4{jr~S|7>l~Sx5KT+E+6;`eFKY{Y@3%q_Bk$S9-z*BevtaE%zH_Ld7WDTM ztF|{K1D^F1dwRfpsNS^h*}?Yu;k{C!!7k>M#aE-l`}aV*x1NiXymUsvPt1Fz?YrHI zS(qmS%2eN-BsZ7jp*1+oUv1yD#k=Z+2d9{SxL>kR~?>3agEw8Ki<|9oxX}4Ftc3@*)E3s+pRe|8F1RP%+!wsrSjlIXt=^xew=M7b^iA{(+~KoRwe6IM0|)4b%Cop64+-C1 z)>>b;{MXRVdE_|vF)Oj?pUX274z5meu7kJvv1PVb4aN9Blkt`e7yqPSg#O%glx&|c zAMWkdH(iu0`Z;_d#Pr)??}n*s)c3hSQ}OmoH$B>{N!1l{l%QQjt-!R&O1mB>_6<~7 z9>{vSzZr>c9Mlp5c_6H;80C!fT6TT%&XF{Ww|{$`r{zs=`Z8%Pas$!`nkZR7LEm`( z+jqsY)PH%>CTZ8}+%<#ctQ1T?rj;~lm-&^~!du152V?1&#-gF-{qj5xhl^X=JHaiH zmX@0UJ>co+GA%2g|6L0Nl+YqKmv0u$7GDHB0AzI;rul;Rg7RRktDx~)VJ12p({#VA zX)pF9$0AlXt?@zT>^15zCoKxr>m6ZYqA#dk_&?dihhx37J0rgqu@FD!a_do>nT{A4 z)Y}Jsri&%w3)|7Y#Wipj^b@YWnVBbN&aK0Ywu;`POzBZMnnRGPp%E)4XzHGFceP zmw=b{R0@fVPDzm~c67`?7=q3|Nhb-&xuT!%C4AQUpZVrOUn86TieE6B{QLRnF)v;AqX|u}YbB0Tm97VDz#sQ;f6|o>OmW}oUBnNE zm_ zk?r{LEC3hh`_7G=pw%a`>0$mTYA|cq#t1a$#z(}7n)LFe^BR@rHc5_$r6-MOpn$hc z4vh+lzY1@S8x9B(=*YNQHhS;y|@QprqCzmor>M*?j==f$ZS^J zjL6XWjPp^(nPHM!h+k=k50QaLEA}WER_iN=7?%%pa;9?i^R8&U=WW3^CL{2u4mh#q zbi-O%YS}qEjKXjT%;o;dPa2n6ZuG%iqk>5LEpR+3u41gUXISER?MxoU^!cB9!d^@B zr&D82Q>3>uOu(c(V^khKxyVSb->y}BRdpnYNY1g-tC4jOf@dEa=MhWWw>Gq2*skuI z(-46$GX#muKzmJw#LWr~tDwKoppX}#m!hHsH4KB@YF@P&RgA7R|51Flg+-KQ=V@~v zl}NfE#5@_vZx+@p+!vZjgF{j~Ewo9a4Zf#Mg-yljzIkEl(CBC}3b6HKe_WFKjG~Yk zwC$)J?Es4DF53MTE*;Yy`SbGc4;~NJexBJ z7{pY+vBWfob#W$OTGg?68~7e-YfCK>=VUbXTDsafy!(U~$NyGUP)!``=QpvRnY9B> zDlFDVdJw7rK7>oX83kNVlKd?$&J|xRJF*$ zQB`eye5}GI(!P(U`t`WQ#h0$2E+WK{%x`0(Y^^s`KB~t{8o2=@y5M}>^e34xb-l1K zcbj4hr7zDy{^8Iqy|RMf0(!4F>;<#Q)_6i1bpBut^&B&h^j1#hza^Qo=|G%o_Vary z5BYvA;}M(hK!y%cv%d|2K0OUkGh=BhY!GN_ycTnTvid#Qpg6%^Oeuz4P{F071S-a? zS7iGQ{nLw72g|RO%^h1uo<4mOqR+XvU+Pb}f458R?7mO5(uF<1hF(RE^eJANvC9m| zIacqm5#^&DrHj-Y1XK{fUA|q>kk&m_WfjgxA(K`LxGlUb#$~3~Gsl2f;11Bn2)z(O zR*J7${RRCO8piAULXCg}>DIrp)+J4i6hgjvH8T*eH1o;kVrFK13voro_$~GXZb4i% zbTmdIFj2KMVHab9%>%^cl}NaQs)js9a=zD8@D z)Q=Z8;Pg%pVbeAZ384OS4pmwN0Wu#U7St;!w>;;+(=|G5 z_rw?00)g|90n;}L^9Fm<7pnOwA*X3?e;IpuM4k`0VNNFQDy=RXnh0!^)pi2Y(x4W~ z+w78!I*~h>!qkCumEqUDa84jQy-8$e#46M%x-ob!{gHZXkz0ER`ZOo@m;V{Oy&yvpit6J=~ zbJ<@w2HKchTWDg*RUuSZxqRSK@Ui`H*H!m;Y?Uru1qH>@HoGYgMGqarw z3u!qqet)}hq#Ew<{DI4h*E7CVK+a^W;DB!8?N1}Nlw8P6?b-({gN~>zmSY~_A# z2ZYPB{<7__54AStU22#1C(j&CxwS9|@U<-xi85W7KbRiHpJ(+d|A<@pma*!Rx=?+? zWIQl$@A)~BuTub^ZU5y8VBqIU{hQ#f%g~Fs246V#9uj~L zEiolE=bP5=*%c*W%;ZT=)jJUgZ&4Gg&<{$@UUzL{7PQ<;msYe+SiOC*od6>f__qqq z`g#RulV6ruARl+I(zlnF!V=uj=>V+!<}uLyOS9)4r8WhIN;R_Bkz26$fU8L^TK-FE zM2|};iCq8Vxt(1S^dE4Y%i34-yQ=`PoEhTBS#!8+TJ=U32p+$+W;$*vtx9oGCWBcZ zSGm~d$Bj8D$aEFEy{>N|`G8#2e((-G@OVB&!BrI5F5aB!zgP66EAEByTOV~8f34_C zcFI;Y5L2<;Gd?oo?FRGsMJjLA{$3TIQWa(b7}2R;`n$UuHRlgyIBlc!<+o;wqi1D@ zP3gQado9=bOylv+Vfy|E{mpE{oQ(!6hSH$ax>7_xOi5y;ZDKNwuGCiG67K`zbRmuw z`c=&Eu(GvTysnnn3%1H``i|?!GS>eN<`Wam4Epu~DCx8n5B@zGf3((tc<3{c25-$=i^r*& zm%$ZIp6LDeMQH2$QjI+I7v z&XWpUQREds{_Ji3N5aCO@uo@pozvH3{z{4xKu$g``ikS)>A$-lHn(aE9@T1^DjwI_ z&}P@(P%Nd)C-Ak{uJz0Iea!UseGm}wK}k)@z*h9pp&CX~W#zEh4GOLHi6W{!dh(>g zJ8&i-6QTh7=dc;oSTgnNU|}~|^+k>pEcn#HmFuQ8B?kYx%RBLBYQKEx{X^23LfPJS zv2Wo_7{`1xjnqoGc?TF?*OHr0a&pGvn%x(}40x=sM#?b+sd*nCJCeBt%+#^%cM0B5 z@_nb~N64~l59?|0**FOKj3e#zsZ&%E#lrP6<*BB>V3kVGE_0bLVXuPKSGnOz4Y_*F zgm%QR2DJ}|KXmJOFp?j0={V4P6v%mPKkSxabPG1+46c8h*;NU(Y0UWc4&8*z^@^*U z*TTeTWTdOQWcp3JTit*CI(R9($h5X}U&tzi74cQoFS_zS-GR^4R5hX}kx>9Kus8v< zMrpvW6`$uao1qndHr|hI&rMXoB@a{VesyNC-0z@Zxf;rOL0CY!t==v{oUH5XuJoUJ z=!+e1+(@{SIeaIF@Za5XKA(oJ}i?*>$Xy?d#{gv;dSR zOU9};0*j@z;}k{)A<2bY∨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 AY5)KL literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Reference/Images/history_settings_explained.png.import b/addons/dialogic/Documentation/Content/Reference/Images/history_settings_explained.png.import new file mode 100644 index 0000000..bdfe782 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Reference/Images/history_settings_explained.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/history_settings_explained.png-cfaf538faf67b5a114d0d588774b6c80.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Reference/Images/history_settings_explained.png" +dest_files=[ "res://.import/history_settings_explained.png-cfaf538faf67b5a114d0d588774b6c80.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Reference/Theme.md b/addons/dialogic/Documentation/Content/Reference/Theme.md new file mode 100644 index 0000000..4f3f74d --- /dev/null +++ b/addons/dialogic/Documentation/Content/Reference/Theme.md @@ -0,0 +1,110 @@ +# Theme Editor + +Themes allow you to set how your dialogue looks, sounds, and behaves. + +At the top of the Theme Editor you have a **preview field.** Here, you can set the text to be previewed, the speaker of the preview, and force a preview refresh. + +The settings are sorted into different sections. Most are self-explanatory, but some require a little more in the way of explanation. + +## Dialog Text +Allows you to set the look and behavior of the text inside the dialog box. + +##### Margin +Sets the individual margin between the border of the box and the edge the dialog text for a given side. + +##### Behaviour>Speed +Using this setting, you can change the speed at which the text is shown. Bigger values will result in a slower speed. +Setting this to 0 will result in the text instantly appearing. + +##### Behaviour>Alignment +Use this to align the text inside the box. + +##### Behaviour>Single Portrait Mode +If you enable this mode, there will always only be one portrait visible. This will be the portrait of the character who is currently speaking. + +##### Behaviour>Don't Close After Last Event +If enabled, the dialog box will not delete itself after the last event. Instead you will need to remove it manualy. Usefull if the box is intergrated into your design and should never vanish. + + +## Dialog Box +### Dialog Box>Visuals +You may choose either a solid color or a texture for the background of the box. For the texture, you can also change its modulation. + +## Dialog Box>Visuals>9-Patch Margin Left/Right and Top/Bottom +Allows you to configure 9-Patch Rectangle support on the approprate sides of your image. See this tutorial for details on how a 9-patch rect works [Youtube](https://www.youtube.com/watch?v=1u4817DKvb8). Leaving these values at 0 treats the texture as a normal background texture. + +##### Size and Position>Full width +This setting makes your box stretch to the full extent of the view. + +##### Size and Position>Margin +Sets the individual margin between the border of the box and the edge of the viewport. + + +### Next indicator +An icon that appears once the text is completed. + +### Dialog Box>Behaviour +##### Behaviour>Fade in time +Sets how long the theme takes to fade in. Fading only happens on dialog load and is not triggered by the `Set Theme` event. + +##### Behaviour>Portraits Dim Color +Use this to change the modulation of the active character. Set it to white if you do not want any changes. + +##### Behaviour>Portraits Behind Dialog Box +If you disable this, the portraits will instead be in front of the dialog box. + + +## Name Label +The `Name Label` is the section above the text box that displays the name of the character who is currently speaking. + +##### Behaviour>Hide name labels +If this is enabled, the name label will not be shown. + +##### Text>Use character Color +If you enable this, the name label will always use the color of the currently speaking character. The characters color can be edited in the [Character Editor](./Character.md). + +### Name Label>Box +As for the text box, you can choose between a solid color or a texture. + +##### Box>Box Padding +The padding between the texture border and the text. + +### Name Label>Placement +Here you can set the alignment of the `Name label` as well as setting some additional offset. + + +## Choice Buttons +You can change the look of the buttons four states, although "Disabled" currently does nothing. + + +## Glossary +These setting lets you define the appearance of the box that appears when you hover over a glossary entry. + +##### Visuals>Word color +Sets the color of glossary word inside the dialog. + +##### Behaviour>Show +If this is disabled, the glossary info box won't be shown and glossary entries won't be colored. + + +## Audio +This sections allows you to set audio for your dialogue. Dialogic uses the [RandomAudioPlayer by TimKrief](https://gitlab.com/timkrief/godot-random-audio-stream-player). + +When selecting what audio to play, you can either select a single audio file or a folder where a file will be picked from. +You can set a range for the `volume` - a random level in that range will be picked each time it's called. Likewise, you can set a range for the `pitch`. `Allow interrupt` dictates whether or not the sound can be interrupted by a new sound of that type. + +##### Typing Sound Effects +When the text scrolls across the screen, this will play a sound for each letter. + +##### Next Sound Effects>Waiting +If you set a sound here, it will play once the text has finished typing. + +##### Next Sound Effects>Passing +This plays when the player continues to the next dialogue box. + +##### Choice Sound Effects>Hovered +This sound plays when a character is hovering over a choice button. + +##### Choice Sound Effects>Selecting +Plays when a character selects a choice button. + diff --git a/addons/dialogic/Documentation/Content/Reference/Timeline.md b/addons/dialogic/Documentation/Content/Reference/Timeline.md new file mode 100644 index 0000000..c78a56d --- /dev/null +++ b/addons/dialogic/Documentation/Content/Reference/Timeline.md @@ -0,0 +1,31 @@ +# Timeline Editor + +The `timeline editor` is one of the central parts of Dialogic, allowing you create your dialogue tree using the Events system. + +This editor consists of two parts: the main area, and the event bar on the side. The event bar allows you to add events to the main area, and the main area is where you write your text and arrange the events to create your timeline tree. + +## Building a timeline +Begin by pressing an event button or dragging it onto the main area in a desired location. + +Once in the timeline tree, you can move events by dragging and dropping them. + + +## Shortcuts +By holding CTRL, you can select multiple events by clicking on them. By holding SHIFT, you can select a range of events from the one initially selected to the one you click on. + +The editor supports the following short-cuts: +` +CRTL+C copy selected events +CRTL+P paste selected events +CRTL+X cut selected events +DEL delete selected events +DOWN/UP select the next/previous event +ALT+UP/DOWN move the selected event up or down (only works with one event) +CRTL+A select all events +CRTL+SHIFT+A deselect all events +CRTL+Z undo the last event action +CRTL+Y or CRTL+SHIFT+Z redo the last undone action + +CRTL+T add a new Text event +` + diff --git a/addons/dialogic/Documentation/Content/Tutorials/AddingNewAnimations.md b/addons/dialogic/Documentation/Content/Tutorials/AddingNewAnimations.md new file mode 100644 index 0000000..8148439 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/AddingNewAnimations.md @@ -0,0 +1,37 @@ +# Adding character animations + +Dialogic 1.4 introduced a new animation system ([Anima by Alessandro Senese](https://github.com/ceceppa/anima)). +The files for the animations are stored in the `/dialogic/addons/dialogic/Nodes/Anima/animations` folder. + +There are two different kind of animations: Entrances and exits and attention seekers. +You can add your custom animations by creating new `.gd` files in the `animations/entrances_and_exists` or `animations/attention_seeker` folder. + +## Entrances and exits +These are used when you have a character showing up or leaving a scene using the character event. +A regular fade in animation looks something like this: + +``` +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var opacity_frames = [ + { from = 0, to = 1, easing_points = [0.42, 0, 0.58, 1]}, + ] + anima_tween.add_frames(data, "opacity", opacity_frames) +``` + +## Attention seekers +These are used when you when using the Character event and the Update setting. +They can be used to make a character shake, bounce or any other one to emphasize the character. + +They look something like this: +``` +func generate_animation(anima_tween: Tween, data: Dictionary) -> void: + var frames = [ + { percentage = 0, from = 1 }, + { percentage = 25, to = 0 }, + { percentage = 50, to = 1 }, + { percentage = 75, to = 0 }, + { percentage = 100, to = 1 }, + ] + + anima_tween.add_frames(data, "opacity", frames) +``` \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Tutorials/BeginnersGuideStepByStep.md b/addons/dialogic/Documentation/Content/Tutorials/BeginnersGuideStepByStep.md new file mode 100644 index 0000000..7ddf23b --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/BeginnersGuideStepByStep.md @@ -0,0 +1,166 @@ +# Beginners Guide +Let's walk you through creating dialogue with Dialogic! + + + +## 1. Meeting the Dialogic tab +Everything related to dialogue will be done in the Dialogic tab. You can access it like the 2D and 3D tab at the very top of the editor. +![Dialogic Tab](./Images/Dialogic_Tab.PNG) + + +Let's have a look at the `toolbar` at the top. + +![Toolbar](./Images/Toolbar.PNG) + + +### | The resources +Here you can create Dialogic's five **resources**. You will hear more on each of them later. + +**Timelines** represent a list of events. Show characters, make them talk, change the background, ask questions, emit signals, and more! + +**Characters** can have name, a special color, and different images for expressions. + +**Value Definitions** that can be used as variables to branch your story or be used inside the texts. + +**Glossary Entries** that can contain information that is shown in a popup when the player hovers over the word. + +**Themes** that specify how your dialogue looks. There are many settings you can tweak to suit your need. + +### | The master tree +All your resources are shown in the big `master tree` on the left. You can select which you want to work with there, create sub folders, and move items by dragging them. + +*Let's continue! What's the most important thing in dialogue? Someone to talk to. So, let's create our first character.* + +-------------------- + + +## 2. Creating your first character +Click the little character icon in the toolbar to create a new character. This will take you into the `character editor`. +### | Name +When creating a character, you may start typing in the `name` that the character should have. Hit enter to set the name. You can also double-click on their icon in the Character list on the left to set it. +![Empty Character Editor](./Images/Empty_Character_Editor.PNG) + +### | Color +Go ahead and also set a `color` by clicking on the color block. + +### | A default portrait/expression +Next, let's add a default `portrait` for them. You can select a file by clicking the three dots to the right of the blank path. You can also set a name for the expression on the left. +If you do not have a image to use right now, you can use the example dwarf from the `Example Assets folder` inside the Dialogic folder (res://addons/dialogic/Example Assets/portraits). + + +![grafik](./Images/Character_Editor_With_Portrait.PNG) +This is all for now. You can create as many characters as your story needs. + +*Now, let's create our first dialogue timeline!* + +-------------------- + + +## 3. Creating your first timeline +Timelines specify what events happen in which order. Create a new timeline with the icon in the toolbar. +You can now see the `timeline editor`. + +### | Name +Go ahead and give it a `name`. You can do so right after creating or double-click the item in the tree. + +### | Adding your first event +You can find all possible `events` on the right. +![Empty Timeline](./Images/Empty_Timeline_Editor.PNG) + +Go ahead and add a `Text` event (the very first, grey button), by clicking it or dragging it into the timeline area. + +The `Text` event is what will make text appear on the dialog box. +You can select a character, and this will add their `name` above the dialogue box. Go ahead and let your character say something! + +### | More events! +If we also want our character to be visible in the scene, we use the `Character Join` event (the second, green event). + +Select what character should appear and at which of the 5 available positions. This will add their character to the scene. The portrait position is approximate, and can be adjusted by setting their offset in their Character Editor. + +Make sure the new event is above the Text event. If it's not, you can drag it up (alternatively you can select the event and use `ALT+UP`/`ALT+DOWN`). + +### | Create your dialogue +Now go ahead and try out the other events. If you want to learn more about them, click the little help button on them! This will open up the documentation for that item. + +Keep in mind that, when adding new events with their buttons, they get added beneath the currently selected one. + +If you want to delete an event use `DEL` key or click the three dots on the right and select `Remove`. + +After a little effort, your dialogue tree might look something like this: +![TimelineExample](./Images/TimelineEditor_Example.PNG) + +*Now your dialogue tree is ready to be played! But how? Let's find out!* + +-------------------- + + +## 4. Adding your first DialogNode to a scene + +You can add dialogue trees - in the form of Dialog nodes - by one of two ways: gdscript or the scene editor. + +### | Instancing the scene using gdscript +Using the `Dialogic` class, you can add dialogue trees from code easily: + +```gdscript +var new_dialog = Dialogic.start('Your Timeline Name Here') +add_child(new_dialog) +``` + +### | Instancing the scene using the editor +Using the editor, you can drag and drop the scene located at `/addons/dialogic/Dialog.tscn` and set the current timeline via the inspector. + +### | Run, game, run! +Once you've done one of the previous steps, run your game (F5) or the scene (F6). Check to see if your dialogue begins. If not, check to see if you missed a step. If you're still having trouble, or just want to let us know what you think, you can always join us on our Discord channel. + +*Now that you've mastered the basics, let's introduce some more cool things!* + +-------------------- + + +## 5. Making your first value and glossary entry +This is already pretty cool, but let's make things more complex. There are two other resources that can help provide greater flexibility to your dialogue timelines: `values` and `glossary entries`. + +### | Make a value +Create a new `value` by clicking the X-icon in the toolbar. This will open up the definition editor. + +This allows you to set a name for your value and a default value. +Now you can use this value in your timelines. You can: +- change it with the Set Value event +- use it to have conditions (through the Condition event) +- add conditions to choices +- display it in text by writing [MyValue] + +#### Example value +Here an example value ... +![ValueExample](./Images/Value_Example1.PNG) +... and how it might be used in a timeline. +![ValueExampleTimeline](./Images/Value_ExampleTimeline.PNG) + +### | Make a glossary entry +A `glossary entry` is used for extra information. If the name of this is used in a text or question event, the player can hover over it with their indicator, and it will show a popup with the given information. You can also change the information during the game with the `Set Glossary` event. + +#### Example glossary entry +Here is an example glossary entry... +![GlossaryExample](./Images/Glossary_Example.PNG) +... and how it looks in the game. +![GlossaryExampleLook](./Images/Glossary_ExampleLook.PNG) + +*If you don't like the look of this box, don't worry. The next section is about customizing the look of your dialogue!* + +-------------------- + + +## 6. Create your first dialog theme +Themes are used to change the look. By default you already have a theme. Let's start by clicking it. +You will now see the `theme editor`. + +It has a preview at the top, and all the settings - grouped into multiple tabs - at the bottom. +I won't explain all the settings here. If you need additional information about a setting, the `Theme Editor Reference` can help you out. + +One of the most important settings is the Dialogue Box's `Box Size`. If you are making a pixel art game with a small resolution you will have to change it to be much smaller. You can also change the font size to fit your game's size. + +-------------------- + + +## Behind the scenes +To get an idea for how all of this is built and operated, all the resources are saved as `.json` or `.cfg` in a Dialogic folder in your games root directory `res://dialogic/`. diff --git a/addons/dialogic/Documentation/Content/Tutorials/GettingStarted.md b/addons/dialogic/Documentation/Content/Tutorials/GettingStarted.md new file mode 100644 index 0000000..3bd3d3d --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/GettingStarted.md @@ -0,0 +1,3 @@ +# Getting started + +This video is a bit outdated since it was made using the previous version, but the concepts are the same as what we do now. You can watch the video [here](https://www.youtube.com/watch?v=sYjgDIgD7AY) or use the new and improved guide [here](./BeginnersGuideStepByStep.md) diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Character_Editor_With_Portrait.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Character_Editor_With_Portrait.PNG new file mode 100644 index 0000000000000000000000000000000000000000..7a6d0e55cfbc75ea81914cbc92ecc3694f7598f9 GIT binary patch literal 131805 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 Vqd2F9b(=Ow%+uA+1$a+%69E0_(*OVf literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Character_Editor_With_Portrait.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/Character_Editor_With_Portrait.PNG.import new file mode 100644 index 0000000..53b8e7d --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/Character_Editor_With_Portrait.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Character_Editor_With_Portrait.PNG-88588c77d89d8a1c2f15f9be07073a87.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/Character_Editor_With_Portrait.PNG" +dest_files=[ "res://.import/Character_Editor_With_Portrait.PNG-88588c77d89d8a1c2f15f9be07073a87.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Dialogic_Tab.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Dialogic_Tab.PNG new file mode 100644 index 0000000000000000000000000000000000000000..16dc26bf20f20dbefa07b7a75c9748fcebbf48f2 GIT binary patch literal 27584 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Dialogic_Tab.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/Dialogic_Tab.PNG.import new file mode 100644 index 0000000..d58ab1f --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/Dialogic_Tab.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Dialogic_Tab.PNG-3a868bb7f47fb141608e40d56ba89603.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/Dialogic_Tab.PNG" +dest_files=[ "res://.import/Dialogic_Tab.PNG-3a868bb7f47fb141608e40d56ba89603.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Character_Editor.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Character_Editor.PNG new file mode 100644 index 0000000000000000000000000000000000000000..ee1e6e4c35039898e8c98fc936ad6c0b0859ada4 GIT binary patch literal 43578 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 VxK#~m`k-I<^VIp1xtf=6{U6)+HF*F4 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Character_Editor.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Character_Editor.PNG.import new file mode 100644 index 0000000..3e70046 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Character_Editor.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Empty_Character_Editor.PNG-b81e9a25b7190089d68ae8c2351d5ed6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Character_Editor.PNG" +dest_files=[ "res://.import/Empty_Character_Editor.PNG-b81e9a25b7190089d68ae8c2351d5ed6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Timeline_Editor.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Timeline_Editor.PNG new file mode 100644 index 0000000000000000000000000000000000000000..aedb089ca4782300aedb3481f7ef51a8d8fba70c GIT binary patch literal 36649 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Timeline_Editor.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Timeline_Editor.PNG.import new file mode 100644 index 0000000..dcca54c --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Timeline_Editor.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Empty_Timeline_Editor.PNG-508a5eb2b419ec35635764d597b0d17f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Timeline_Editor.PNG" +dest_files=[ "res://.import/Empty_Timeline_Editor.PNG-508a5eb2b419ec35635764d597b0d17f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c8469dcd58676e94464e86a3f4d01964a31c181b GIT binary patch literal 14927 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 T9i#^)7I68Z=>^nZH)8(>U_!GV literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG.import new file mode 100644 index 0000000..08ad1de --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Glossary_Example.PNG-c2cbcb58bda208cde5fff6ba9306fe10.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG" +dest_files=[ "res://.import/Glossary_Example.PNG-c2cbcb58bda208cde5fff6ba9306fe10.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG new file mode 100644 index 0000000000000000000000000000000000000000..56588fd75255ff8142a08f7f6eefe25c642eeb4e GIT binary patch literal 85254 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�E)i50Qw8Q;5DLm*)-$yO_29xB+O42hn) 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